|
Afflatus Solace problem
Server: Asura
Game: FFXI
Posts: 27
By Asura.Xxpoure 2021-10-10 11:57:21
ok so my problem is that when i do Afflatus solace it does switch to the gear to enhance it...
i have tried all sorts so any help would be amazing please?
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['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Fast cast sets for spells
sets.precast.FC = {main="Yagrush",
sub="Sors shield",
ammo="Impatiens",
head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
body="Inyanga Jubbah +2",
hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -1%',}},
legs={ name="Lengo Pants", augments={'INT+4','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
feet="Regal Pumps +1",
neck="Voltsurge torque",
waist="Witful belt",
left_ear="Orison earring",
right_ear="Loquac. Earring",
left_ring="Prolix Ring",
right_ring="Lebeche ring1",
back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},
}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {head="Umuthi Hat"})
sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Ebers Pantaloons +1"})
sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {main="",sub="",ammo="Impatiens"})
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.CureSolace = sets.precast.FC.Cure
-- CureMelee spell map should default back to Healing Magic.
-- Precast sets to enhance JAs
sets.precast.JA.Benediction = {body="Piety Bliaut +3"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
gear.default.weaponskill_neck = ""
gear.default.weaponskill_waist = ""
sets.precast.WS['Flash Nova'] = {}
sets.precast.WS = {}
-- Midcast Sets
sets.midcast.FastRecast = {}
-- Cure sets
gear.default.obi_waist = ""
gear.default.obi_back = ""
sets.midcast.CureSolace = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Cure = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Curaga = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.CureMelee = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Cursna = {
main="Yagrush",
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Ebers Bliaud +1",
hands="Fanatic Gloves",
legs="Th. Pantaloons +2",
feet={ name="Vanya Clogs", augments={'"Cure" potency +5%','"Cure" spellcasting time -15%','"Conserve MP"+6',}},
neck="Malison Medallion",
waist="Austerity Belt",
left_ear="Glorious Earring",
right_ear="Nourish. Earring",
left_ring="Ephedra Ring",
right_ring="",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
}
sets.midcast.StatusRemoval = {main="Yagrush",head="Ebers Cap +1",neck="Clr. Torque +1",legs="Ebers Pantaloons +1"}
-- 110 total Enhancing Magic Skill; caps even without Light Arts
sets.midcast['Enhancing Magic'] = {
main="Gada",
sub="Ammurapi Shield",
ammo="Impatiens",
head="Befouled Crown",
body="Telchine Chasuble",
hands="Dynasty Mitts",
legs={ name="Piety Pantaloons", augments={'Enhances "Afflatus Misery" effect',}},
feet="Theo. Duckbills +2",
neck="Incanter's Torque",
waist="Embla sash",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
left_ring="Stikini Ring",
right_ring="Ephedra Ring",
back={ name="Mending Cape", augments={'Healing magic skill +5','Enha.mag. skill +9','Mag. Acc.+5',}},
}
sets.midcast.Stoneskin = {
head="Nahtirah Hat",
neck="Nodens gorget",
ear2="Loquacious Earring",
body="Telchine Chasuble",
hands="Telchine gloves",
back="Mending Cape",
waist="Siegel Sash",
legs="Doyen pants",
feet="Telchine pigaches"
}
sets.midcast.Auspice = {hands="Dynasty Mitts",feet="Ebers Duckbills +1"}
sets.midcast.Sublimation = {waist="Embla sash"}
sets.midcast.AfflatusSolace = {feet="Piety duckbills +1", body="Ebers bliaut",back="Alaunus's cape"}
sets.midcast.BarElement = {main="Beneficus",
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts +1",
legs={ name="Piety Pantaloons", augments={'Enhances "Afflatus Misery" effect',}},
feet="Ebers Duckbills +1",
neck="Incanter's Torque",
waist="Embla sash",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10','Phys. dmg. taken-6%',}},
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",}
sets.midcast.Regen = {main="Bolelabunga",sub="Ammurapi Shield",
ammo="Impatiens",
head="Inyanga Tiara +2",
body={ name="Piety Bliaut +3", augments={'Enhances "Benediction" effect',}},
hands="Ebers Mitts",
legs="Th. Pantaloons +2",
feet="Theo. Duckbills +1",
neck="Incanter's Torque",
waist="Austerity Belt",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back="Perimede Cape",}
sets.midcast.Protectra = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Protect = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Shellra = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Shell = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Haste = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast['Divine Magic'] = {main="Gada",sub="Ammurapi Shield",
ammo="Impatiens",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
sets.midcast['Dark Magic'] = {main="Bolelabunga", sub="Genbu's Shield",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Bokwus Slops",feet="Piety Duckbills +1 +1"}
-- Custom spell classes
sets.midcast.MndEnfeebles = {main="Yagrush",sub="Ammurapi Shield",
ammo="Hydrocera",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
sets.midcast.IntEnfeebles = {main="Yagrush",sub="Ammurapi Shield",
ammo="Hydrocera",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main=gear.Staff.HMP,
body="",hands="",
waist="",legs="",feet=""}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Mendi. Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.PDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.Town = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.Weak = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
-- Defense sets
sets.defense.PDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.defense.MDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.Kiting = {}
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
-- Basic set for if no TP weapon is defined.
sets.engaged = {}
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Divine Caress'] = {hands="Ebers mitts",back="Mending Cape"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spell.english == "Paralyna" and buffactive.Paralyzed then
-- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
eventArgs.handled = true
end
if spell.skill == 'Healing Magic' then
gear.default.obi_back = "Mending Cape"
else
gear.default.obi_back = ""
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
-- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
equip(sets.buff['Divine Caress'])
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 == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
return "CureMelee"
elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
return "CureSolace"
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
local needsArts =
player.sub_job:lower() == 'sch' and
not buffactive['Light Arts'] and
not buffactive['Addendum: White'] and
not buffactive['Dark Arts'] and
not buffactive['Addendum: Black']
if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
if needsArts then
send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
else
send_command('@input /ja "Afflatus Solace" <me>')
end
end
end
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
set_macro_page(1, 7)
end
Fenrir.Aladeus
Server: Fenrir
Game: FFXI
Posts: 352
By Fenrir.Aladeus 2021-10-10 15:36:04
I'm no lua expert, but I did want to mention that things like your aceso choker thats in your midcast solace set should be in your precast set. you could have a cleric torque in there for midcast to get some cure potency, for example.
Server: Asura
Game: FFXI
Posts: 27
By Asura.Xxpoure 2021-10-10 16:37:26
I'm no lua expert, but I did want to mention that things like your aceso choker thats in your midcast solace set should be in your precast set. you could have a cleric torque in there for midcast to get some cure potency, for example.
i know mate .. im still working on it but i didnt notice that so thank you ...
Bahamut.Ayasha
Server: Bahamut
Game: FFXI
Posts: 98
By Bahamut.Ayasha 2021-10-10 17:30:55
It looks like your Cure and CureSolace sets are exactly the same. There's no visible indication that it isn't working, so you should use debugmode and/or showswaps features with GearSwap (//gs debugmode, //gs showswaps) to see if it is indeed swapping to your solace sets. You don't have any rules in place to tell it to use your Afflatus Solace gear. Maybe add in your Solace gear to your CureSolace set, or combine the sets together with something like: Code sets.midcast.CureSolace = set_combine(sets.midcast.Cure, sets.midcast.AfflatusSolace) Unless I am incorrect here and there's some under-the-hood handling of Afflatus Solace using that set name, GearSwap will see the sets.midcast.AfflatusSolace set as what to do in the middle of using the job ability only, and special handling will need to be defined for it to use that set in combination with your cure sets.
[+]
Server: Asura
Game: FFXI
Posts: 1464
By Asura.Pergatory 2021-10-11 13:29:38
It looks to me like you're capturing the buff active status just once when the Lua initially loads, in job_setup(), then never updating it after that.
So it probably doesn't realize you have the buff up unless you reload the lua (//gs reload) while already having the Solace buff active.
You'd probably want to do something like use the buff_change() function to monitor when the Solace buff is gained and update your state variable as necessary.
Edit: I just saw the Mote's comment suggesting they'll automatically be tracked and updated, so that may not be it after all. I don't know Mote's crazy logic so I can't help you with specifics there, but if you want to confirm if this is the problem just do what I mentioned above: Activate Solace, then do "//gs reload" and see if it uses the correct set then. If so, the buff state isn't being updated.
Server: Asura
Game: FFXI
Posts: 138
By Asura.Chendar 2021-10-11 16:36:57
Afflatus solace gear does not need to be on for JA use, just when you actually cast cures/barspells with it active.
Any gear with bonuses to solace for cures should go in this set:
For barspells I would just put them in my normal barspell sets cause why not?
ok so my problem is that when i do Afflatus solace it does switch to the gear to enhance it...
i have tried all sorts so any help would be amazing please?
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['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Fast cast sets for spells
sets.precast.FC = {main="Yagrush",
sub="Sors shield",
ammo="Impatiens",
head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
body="Inyanga Jubbah +2",
hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -1%',}},
legs={ name="Lengo Pants", augments={'INT+4','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
feet="Regal Pumps +1",
neck="Voltsurge torque",
waist="Witful belt",
left_ear="Orison earring",
right_ear="Loquac. Earring",
left_ring="Prolix Ring",
right_ring="Lebeche ring1",
back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','Evasion+10','"Fast Cast"+10','Phys. dmg. taken-10%',}},
}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {head="Umuthi Hat"})
sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Ebers Pantaloons +1"})
sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {main="",sub="",ammo="Impatiens"})
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.CureSolace = sets.precast.FC.Cure
-- CureMelee spell map should default back to Healing Magic.
-- Precast sets to enhance JAs
sets.precast.JA.Benediction = {body="Piety Bliaut +3"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
gear.default.weaponskill_neck = ""
gear.default.weaponskill_waist = ""
sets.precast.WS['Flash Nova'] = {}
sets.precast.WS = {}
-- Midcast Sets
sets.midcast.FastRecast = {}
-- Cure sets
gear.default.obi_waist = ""
gear.default.obi_back = ""
sets.midcast.CureSolace = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Cure = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Curaga = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.CureMelee = {
main={ name="Queller Rod", augments={'MP+80','"Cure" potency +15%','Enmity-5',}},
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Theo. Bliaut +2",
hands="Bokwus Gloves",
legs="Ebers Pant. +1",
feet="Kaykaus boots",
neck="Aceso's Choker +1",
waist="Acerbic Sash +1",
left_ear="Glorious Earring",
right_ear="Mendi. Earring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
left_ring="Lebeche Ring",
right_ring="Sirona's Ring"
}
sets.midcast.Cursna = {
main="Yagrush",
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Ebers Bliaud +1",
hands="Fanatic Gloves",
legs="Th. Pantaloons +2",
feet={ name="Vanya Clogs", augments={'"Cure" potency +5%','"Cure" spellcasting time -15%','"Conserve MP"+6',}},
neck="Malison Medallion",
waist="Austerity Belt",
left_ear="Glorious Earring",
right_ear="Nourish. Earring",
left_ring="Ephedra Ring",
right_ring="",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Enmity-10','Phys. dmg. taken-10%',}},
}
sets.midcast.StatusRemoval = {main="Yagrush",head="Ebers Cap +1",neck="Clr. Torque +1",legs="Ebers Pantaloons +1"}
-- 110 total Enhancing Magic Skill; caps even without Light Arts
sets.midcast['Enhancing Magic'] = {
main="Gada",
sub="Ammurapi Shield",
ammo="Impatiens",
head="Befouled Crown",
body="Telchine Chasuble",
hands="Dynasty Mitts",
legs={ name="Piety Pantaloons", augments={'Enhances "Afflatus Misery" effect',}},
feet="Theo. Duckbills +2",
neck="Incanter's Torque",
waist="Embla sash",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
left_ring="Stikini Ring",
right_ring="Ephedra Ring",
back={ name="Mending Cape", augments={'Healing magic skill +5','Enha.mag. skill +9','Mag. Acc.+5',}},
}
sets.midcast.Stoneskin = {
head="Nahtirah Hat",
neck="Nodens gorget",
ear2="Loquacious Earring",
body="Telchine Chasuble",
hands="Telchine gloves",
back="Mending Cape",
waist="Siegel Sash",
legs="Doyen pants",
feet="Telchine pigaches"
}
sets.midcast.Auspice = {hands="Dynasty Mitts",feet="Ebers Duckbills +1"}
sets.midcast.Sublimation = {waist="Embla sash"}
sets.midcast.AfflatusSolace = {feet="Piety duckbills +1", body="Ebers bliaut",back="Alaunus's cape"}
sets.midcast.BarElement = {main="Beneficus",
sub="Sors shield",
ammo="Impatiens",
head="Ebers Cap +1",
body="Ebers Bliaud +1",
hands="Ebers Mitts +1",
legs={ name="Piety Pantaloons", augments={'Enhances "Afflatus Misery" effect',}},
feet="Ebers Duckbills +1",
neck="Incanter's Torque",
waist="Embla sash",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
back={ name="Alaunus's Cape", augments={'MND+20','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10','Phys. dmg. taken-6%',}},
left_ring="Ephedra Ring",
right_ring="Ephedra Ring",}
sets.midcast.Regen = {main="Bolelabunga",sub="Ammurapi Shield",
ammo="Impatiens",
head="Inyanga Tiara +2",
body={ name="Piety Bliaut +3", augments={'Enhances "Benediction" effect',}},
hands="Ebers Mitts",
legs="Th. Pantaloons +2",
feet="Theo. Duckbills +1",
neck="Incanter's Torque",
waist="Austerity Belt",
left_ear="Andoaa Earring",
right_ear="Nourish. Earring +1",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back="Perimede Cape",}
sets.midcast.Protectra = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Protect = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Shellra = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Shell = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast.Haste = {main="Gada",ring1="Sheltered Ring",head="Telchine cap",body="Telchine Chasuble",
hands="Telchine gloves",legs="Telchine braconi",feet="Telchine pigaches",waist=""}
sets.midcast['Divine Magic'] = {main="Gada",sub="Ammurapi Shield",
ammo="Impatiens",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
sets.midcast['Dark Magic'] = {main="Bolelabunga", sub="Genbu's Shield",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Demonry Sash",legs="Bokwus Slops",feet="Piety Duckbills +1 +1"}
-- Custom spell classes
sets.midcast.MndEnfeebles = {main="Yagrush",sub="Ammurapi Shield",
ammo="Hydrocera",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
sets.midcast.IntEnfeebles = {main="Yagrush",sub="Ammurapi Shield",
ammo="Hydrocera",
head="Inyanga Tiara +1",
body="Inyanga Jubbah +2",
hands={ name="Fanatic Gloves", augments={'MP+40','Healing magic skill +5',}},
legs="Th. Pantaloons +2",
feet={ name="Chironic Slippers", augments={'Pet: Crit.hit rate +1','"Snapshot"+3','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}},
neck="Incanter's Torque",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Stikini Ring",
right_ring="Kuchekula Ring",
back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main=gear.Staff.HMP,
body="",hands="",
waist="",legs="",feet=""}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Mendi. Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.PDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.Town = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.idle.Weak = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
-- Defense sets
sets.defense.PDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.defense.MDT = {main="Queller rod",
sub="Genbu's Shield",
ammo="Homiliary",
head="Befouled Crown",
body="Piety bliaut +3",
hands="Serpentes cuffs",
legs="Assid. Pants +1",
feet="Serpentes sabots",
neck="Loricate torque +1",
waist="Fucho-no-Obi",
left_ear="Etiolation Earring",
right_ear="Moonshade earring",
left_ring="Sheltered ring",
right_ring="Woltaris Ring",
back="Moonbeam Cape"}
sets.Kiting = {}
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
-- Basic set for if no TP weapon is defined.
sets.engaged = {}
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Divine Caress'] = {hands="Ebers mitts",back="Mending Cape"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spell.english == "Paralyna" and buffactive.Paralyzed then
-- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
eventArgs.handled = true
end
if spell.skill == 'Healing Magic' then
gear.default.obi_back = "Mending Cape"
else
gear.default.obi_back = ""
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
-- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
equip(sets.buff['Divine Caress'])
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 == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
return "CureMelee"
elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
return "CureSolace"
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
local needsArts =
player.sub_job:lower() == 'sch' and
not buffactive['Light Arts'] and
not buffactive['Addendum: White'] and
not buffactive['Dark Arts'] and
not buffactive['Addendum: Black']
if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
if needsArts then
send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
else
send_command('@input /ja "Afflatus Solace" <me>')
end
end
end
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
set_macro_page(1, 7)
end
|
|