-----------------------------------------------------3--------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
-- CTRL Numpad Binds --
send_command('bind ^%numpad4 input /ma "Aquaveil" <me>')
send_command('bind ^%numpad5 input /ma "Stoneskin" <me>')
send_command('bind ^%numpad6 input /ma "Blink" <me>')
-- Windows Keybinds --
-- Itemizer Addon --
-- Sack --
send_command('input //get "Solstice" sack')
send_command('input //get "Tamaxchi" sack')
send_command('input //get "Dunna" sack')
send_command('input //get "Culminus" sack')
send_command('input //get "Sors shield" sack')
send_command('input //get "Merlinic hood" sack')
send_command('input //get "Azimuth hood +1" sack')
send_command('input //get "Vanya hood" sack')
send_command('input //get "Bagua tunic +1" sack')
send_command('input //get "Merlinic dastanas" sack')
send_command('input //get "Bagua mitaines +1" sack')
send_command('input //get "Vanya cuffs" sack')
send_command('input //get "Geomancy mitaines" sack')
send_command('input //get "Merlinic shalwar" sack')
send_command('input //get "Geo. pants +1" sack')
send_command('input //get "Bagua sandals" sack')
send_command('input //get "Geo. sandals +1" sack')
send_command('input //get "Vanya clogs" sack')
send_command('input //get "Mizu. kubikazari" sack')
send_command('input //get "Sekhmet corset" sack')
send_command('input //get "Pythia sash" sack')
send_command('input //get "Tempered cape +1" sack')
send_command('input //get "Seshaw cape" sack')
send_command('input //get "Toro cape" sack')
send_command('input //get "Lifestream cape" sack')
send_command('input //get "Barkaro. earring" sack')
send_command('input //get "Novia earring" sack')
send_command('input //get "Static earring" sack')
send_command('input //get "Evanescence ring" sack')
-- Case --
send_command('input //get "Grapevine cape" case')
-- Lockstyle --
send_command('input /lockstyleset 79')
-- </itemizer> --
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'None','Normal'}
options.DefenseModes = {'Normal'}
options.WeaponskillModes = {'Normal'}
options.IdleModes = {'Normal', 'PDT'}
options.RestingModes = {'Normal'}
options.CastingModes = {'Normal','Resistant','MagicBurst'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
-- Default macro set/book
set_macro_page(1, 18)
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
-- Itemizer Addon --
-- Sack --
send_command('input //put "Solstice" sack')
send_command('input //put "Tamaxchi" sack')
send_command('input //put "Dunna" sack')
send_command('input //put "Culminus" sack')
send_command('input //put "Sors shield" sack')
send_command('input //put "Merlinic hood" sack')
send_command('input //put "Azimuth hood +1" sack')
send_command('input //put "Vanya hood" sack')
send_command('input //put "Bagua tunic +1" sack')
send_command('input //put "Merlinic dastanas" sack')
send_command('input //put "Bagua mitaines +1" sack')
send_command('input //put "Vanya cuffs" sack')
send_command('input //put "Geomancy mitaines" sack')
send_command('input //put "Merlinic shalwar" sack')
send_command('input //put "Geo. pants +1" sack')
send_command('input //put "Bagua sandals" sack')
send_command('input //put "Geo. sandals +1" sack')
send_command('input //put "Vanya clogs" sack')
send_command('input //put "Mizu. kubikazari" sack')
send_command('input //put "Sekhmet corset" sack')
send_command('input //put "Pythia sash" sack')
send_command('input //put "Tempered cape +1" sack')
send_command('input //put "Seshaw cape" sack')
send_command('input //put "Toro cape" sack')
send_command('input //put "Lifestream cape" sack')
send_command('input //put "Barkaro. earring" sack')
send_command('input //put "Novia earring" sack')
send_command('input //put "Static earring" sack')
send_command('input //put "Evanescence ring" sack')
-- Case --
send_command('input //put "Grapevine cape" case')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
--~~// Augments Shop \\~~--
--Fast Cast--
MerlHeadFC = { name="Merlinic Hood", augments={'"Fast Cast"+6','CHR+10','Mag. Acc.+6','"Mag.Atk.Bns."+3',}}
MerlHandFC = { name="Merlinic Dastanas", augments={'"Fast Cast"+6','INT+7','Mag. Acc.+4','"Mag.Atk.Bns."+3',}}
MerlFeetFC = { name="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Fast Cast"+5','INT+4','Mag. Acc.+3','"Mag.Atk.Bns."+11',}}
--Magic Burst--
MerlHeadMB = { name="Merlinic Hood", augments={'"Mag.Atk.Bns."+29','Magic burst mdg.+9%','INT+10','Mag. Acc.+5',}}
MerlLegsMB = { name="Merlinic Shalwar", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic Damage +6','INT+15','"Mag.Atk.Bns."+14',}}
MerlFeetMB = { name="Merlinic Crackows", augments={'Mag. Acc.+8 "Mag.Atk.Bns."+8','Magic burst mdg.+10%',}}
--Drain/Aspir--
MerlHandDA = { name="Merlinic Dastanas", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','"Drain" and "Aspir" potency +8','MND+1','"Mag.Atk.Bns."+13',}}
MerlLegsDA = { name="Merlinic Shalwar", augments={'"Drain" and "Aspir" potency +9','CHR+6','"Mag.Atk.Bns."+13',}}
MerlFeetDA = { name="Merlinic Crackows", augments={'Mag. Acc.+21','"Drain" and "Aspir" potency +9','STR+4','"Mag.Atk.Bns."+8',}}
-- Miscellaneous --
sets.warpring = {ring2="Warp ring"}
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Bolster'] = {body="Bagua Tunic +1"}
sets.precast.JA['Life Cycle'] = {body="Geo. Tunic +1"}
sets.precast.JA['Mending Halation'] = {legs="Bagua Pants"}
sets.precast.JA['Full Circle'] = {head="azimuth hood +1",hands="Bagua Mitaines +1"}
sets.precast.JA['Radial Arcana'] = {feet="Bagua Sandals"}
-- Fast cast sets for spells
sets.precast.FC = {range="Dunna", --78 fc--
head=MerlHeadFC,neck="Orunmila's torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Anhur robe",hands=MerlHandFC,ring1="Weatherspoon ring",ring2="Prolix Ring",
back="Lifestream cape",waist="Witful belt",legs="geo. Pants +1",feet=MerlFeetFC}
sets.precast.FC.Stoneskin = set_combine(sets.precast.FC, {
neck="Nodens gorget",})
sets.precast.FC.EnhancingMagic = set_combine(sets.precast.FC, {})
sets.precast.FC.Impact = set_combine(sets.precast.FC, {ammo="Impatiens",head=empty,body="Twilight Cloak"})
sets.precast.FC.Cure = {main="Malevolence",sub="Chanter's shield",range="Dunna",
head="Amalric coif",neck="Orunmila's torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Anhur robe",hands="Merlinic dastanas",ring1="Weatherspoon ring",ring2="Prolix Ring",
back="Lifestream cape",waist="Witful belt",legs="geo. Pants +1",feet="Merlinic crackows"}
sets.precast['Elemental Magic'] = {range="Dunna", --83 fc--
head=MerlHeadFC,neck="Orunmila's torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Anhur robe",hands="Bagua mitaines",ring1="Weatherspoon ring",ring2="Prolix Ring",
back="Lifestream cape",waist="Witful belt",legs="geo. Pants +1",feet=MerlFeetFC}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS = {}
sets.precast.WS['Flash Nova'] = {}
sets.precast.WS['Starlight'] = {}
sets.precast.WS['Moonlight'] = {}
-- Midcast Sets
gear.default.obi_waist = "Eschan stone"
sets.midcast.FastRecast = {main="Malevolence",sub="Chanter's shield",range="Dunna",
head="Amalric coif",neck="Orunmila's torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Anhur robe",hands="Telchine gloves",ring1="Weatherspoon ring",ring2="Prolix Ring",
back="Lifestream cape",waist="Witful belt",legs="geo. Pants +1",feet="Merlinic crackows"}
sets.midcast.Geomancy = {main="Solstice",range="Dunna",head="azimuth hood +1",body="Bagua Tunic +1",hands="Geomancy Mitaines",back="Lifestream Cape",}
sets.midcast.Cure = {main="Tamaxchi",sub="Sors shield",ammo="Esper stone +1",
head="Vanya hood",neck="Incanter's torque",ear1="Mendi. earring",ear2="Novia earring",
body="Vanya robe",hands="Vanya cuffs",ring1="Kuchekula ring",ring2="Sirona's ring",
back="Tempered cape +1",waist="Pythia sash",legs="Vanya slops",feet="Vanya clogs"}
sets.midcast['Elemental Magic'] = {main="Solstice",sub="Culminus",ammo="Ghastly tathlum",
head="Amalric coif",neck="Eddy necklace",ear1="Barkarole earring",ear2="Friomisi earring",
body="Witching robe",hands="Amalric gages",ring1="Shiva ring +1",ring2="Shiva ring +1",
back="Seshaw cape",waist=gear.ElementalObi,legs="Vanya slops",feet="Vanya clogs"}
sets.midcast['Elemental Magic'].Resistant = {main="Solstice",sub="Culminus",ammo="Ghastly tathlum",
head=MerlHeadMB,neck="Eddy necklace",ear1="Barkarole earring",ear2="friomisi Earring",
body="Merlinic jubbah",hands="Amalric gages",ring1="Shiva ring +1",ring2="Shiva ring +1",
back="Toro cape",waist=gear.ElementalObi,legs=MerlLegsMB,feet =MerlFeetFC}
sets.midcast['Elemental Magic'].MagicBurst = {main="Solstice",sub="Culminus",ammo="Ghastly tathlum",
head=MerlHeadMB,neck="Mizu. kubikazari",ear1="Barkaro. earring",ear2="Friomisi earring",
body="Merlinic jubbah",hands="Amalric gages",ring1="Shiva ring +1",ring2="Shiva ring +1",
back="Seshaw cape",waist=gear.ElementalObi,legs="Merlinic shalwar",feet=MerlFeetMB}
sets.midcast['Stoneskin'] = {neck="Nodens gorget",}
sets.midcast['Aquaveil'] = {head="Amalric coif"}
sets.midcast['Refresh'] = {head="Amalric coif",body="Telchine chas.",legs="Telchine braconi",feet="Telchine Pigaches",back="Grapevine cape"}
sets.midcast['Haste'] = {head="Telchine cap",body="Telchine chas.",legs="Telchine braconi",feet="Telchine Pigaches"}
sets.midcast.Stun = set_combine(sets.midcast.FastRecast, {})
sets.midcast['Dark Magic'] = {main="Solstice",ammo="Hydrocera",
head="Pixie hairpin +1",neck="Incanter's torque",ear1="Barkarole earring",ear2="Gwati earring",
body="Amalric doublet",hands=MerlHandDA,ring1="Archon ring",ring2="Evanescence ring",
back="Toro cape",waist="fucho-no-obi",legs=MerlLegsDA,feet=MerlFeetDA}
sets.midcast['Enfeebling Magic'] = {main="Solstice",ammo="Hydrocera",
head="Amalric coif",neck="Incanter's torque",ear1="Barkarole earring",ear2="Gwati earring",
body="Amalric doublet",hands="Amalric gages",ring1="Weather. ring",ring2="Sangoma ring",
back="Lifestream cape",waist="Eschan stone",legs="Psycloth lappas",feet="Amalric nails"}
sets.midcast['Enhancing Magic'] = {
head="Telchine cap",neck="Incanter's torque",
body="Telchine chas.",hands="Telchine gloves",
legs="Telchine braconi",feet="Telchine pigaches"}
sets.midcast.EnhancingDuration = {head="Telchine cap",body="Telchine chas.",legs="Telchine braconi",feet="Telchine Pigaches"}
sets.midcast.Protectra = {}
sets.midcast.Shellra = {}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {main="bolelabunga",sub="Genbu's Shield",range="Dunna",
head="Befouled crown",neck="Loricate torque +1",ear1="Barkarole earring",ear2="Moonshade earring",
body="Witching robe",hands="Bagua Mitaines +1",ring1="Gelatinous ring +1",ring2="Defending ring",
back="Umbra cape",waist="Fucho-no-obi",legs="assiduity pants +1",feet="Geomancy sandals +1"}
sets.idle.Town = set_combine(sets.idle, {body="Councilor's garb"})
sets.idle.PDT = {main="bolelabunga",sub="Genbu's Shield",range="Dunna",
head="Hagondes hat +1",neck="Loricate torque +1",ear1="Barkarole earring",ear2="Moonshade earring",
body="Witching robe",hands="Hagondes cuffs +1",ring1="Gelatinous ring +1",ring2="Defending ring",
back="Umbra cape",waist="Fucho-no-obi",legs="Assiduity pants +1",feet="Hag. sabots +1"}
sets.Kiting = {feet="Herald's Gaiters"}
-- Defense sets
sets.defense.PDT = set_combine(sets.idle, {body="Councilor's garb"})
sets.defense.MDT = set_combine(sets.idle, {body="Councilor's garb"})
-- 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 = {}
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.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
end
-- Run after the general precast() is done.
function job_post_precast(spell, action, spellMap, eventArgs)
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer of fast recast.
equip(sets.midcast.FastRecast)
end
end
-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)
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)
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
function customize_idle_set(idleSet)
return idleSet
end
function customize_melee_set(meleeSet)
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_status_change(newStatus,oldStatus)
end
-- 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)
--handle_equipping_gear(player.status)
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'OffenseMode' then
if newValue == 'Normal' then
disable('main','sub')
else
enable('main','sub')
end
elseif stateField == 'Reset' then
if state.OffenseMode == 'None' then
enable('main','sub')
end
end
end
--- ..:: Pet Status change ::.. ---
function pet_change(pet,gain_or_loss)
status_change(player.status)
if not gain_or_loss then
add_to_chat(123,'Your luopan has vanished.')
windower.play_sound('C:\\Users\\Shirley\\Documents \\Windower4\\addons\\GearSwap\\data\\wav\\Chime.wa v')
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called for custom player commands.
function job_self_command(cmdParams, eventArgs)
end
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
end
-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------