|
Gearswap Support Thread
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 21:49:36
On which job does this happen on? The error isn't necessarily in that file and most likely in your job.lua file instead.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 21:50:26
This isn't working, what's the correct way to write this? Code
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if spell.english == "Chant du Cygne" or spell.english == "Savage Blade" and player.tp > 2900 then
equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
end
end
end
Server: Asura
Game: FFXI
Posts: 27
By Asura.Halestrum 2016-03-12 21:53:03
It's happened on both my rdm and blu, the only two jobs i've really used since i've been back but i'm pretty sure these lua's were just copy pasted for the shop thread and i changed the gear to what i wanted it to be
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 21:57:25
Does the error appear when you're casting something or does it happen on load?
Paste your BLU.lua here in spoiler tags or on pastebin.com and I'll test it out.
Server: Asura
Game: FFXI
Posts: 27
By Asura.Halestrum 2016-03-12 21:59:42
the first time it appears is after i've tried casting or using an ability i believe after that it just kinda spamms down the screen, also it looks like my character is randomly changing locally, some times i'll turn into a taru sometimes i'll be human with my torso see through etc etc i'm not sure if that is related at all though except usually when the error starts spamming i can expect that to happen as well
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 22:03:12
You may be using the Blinkmenot plugin. It was causing these errors many months ago. Unload and disable it, then download the Dressup addon as it's replacement.
Server: Asura
Game: FFXI
Posts: 27
By Asura.Halestrum 2016-03-12 22:03:27
My lua -------------------------------------------------------------------------------------------------------------------
-- 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['Burst Affinity'] = buffactive['Burst Affinity'] or false
state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
state.Buff.Convergence = buffactive.Convergence or false
state.Buff.Diffusion = buffactive.Diffusion or false
state.Buff.Efflux = buffactive.Efflux or false
state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
blue_magic_maps = {}
-- Mappings for gear sets to use for various blue magic spells.
-- While Str isn't listed for each, it's generally assumed as being at least
-- moderately signficant, even for spells with other mods.
-- Physical Spells --
-- Physical spells with no particular (or known) stat mods
blue_magic_maps.Physical = S{
'Bilgestorm'
}
-- Spells with heavy accuracy penalties, that need to prioritize accuracy first.
blue_magic_maps.PhysicalAcc = S{
'Heavy Strike',
}
-- Physical spells with Str stat mod
blue_magic_maps.PhysicalStr = S{
'Battle Dance','Bloodrake','Death Scissors','Dimensional Death',
'Empty Thrash','Quadrastrike','Sinker Drill','Spinal Cleave',
'Uppercut','Vertical Cleave'
}
-- Physical spells with Dex stat mod
blue_magic_maps.PhysicalDex = S{
'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment',
'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad',
'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault',
'Vanity Dive'
}
-- Physical spells with Vit stat mod
blue_magic_maps.PhysicalVit = S{
'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam',
'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash'
}
-- Physical spells with Agi stat mod
blue_magic_maps.PhysicalAgi = S{
'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream',
'Pinecone Bomb','Spiral Spin','Wild Oats'
}
-- Physical spells with Int stat mod
blue_magic_maps.PhysicalInt = S{
'Mandibular Bite','Queasyshroom'
}
-- Physical spells with Mnd stat mod
blue_magic_maps.PhysicalMnd = S{
'Ram Charge','Screwdriver','Tourbillion'
}
-- Physical spells with Chr stat mod
blue_magic_maps.PhysicalChr = S{
'Bludgeon'
}
-- Physical spells with HP stat mod
blue_magic_maps.PhysicalHP = S{
'Final Sting'
}
-- Magical Spells --
-- Magical spells with the typical Int mod
blue_magic_maps.Magical = S{
'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray',
'Diffusion Ray','Droning Whirlwind','Embalming Earth','Firespit','Foul Waters',
'Ice Break','Leafstorm','Maelstrom','Rail Cannon','Regurgitation','Rending Deluge',
'Retinal Glare','Subduction','Tem. Upheaval','Water Bomb','Entomb','Spectral Floe'
}
-- Magical spells with a primary Mnd mod
blue_magic_maps.MagicalMnd = S{
'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast'
}
-- Magical spells with a primary Chr mod
blue_magic_maps.MagicalChr = S{
'Eyes On Me','Mysterious Light'
}
-- Magical spells with a Vit stat mod (on top of Int)
blue_magic_maps.MagicalVit = S{
'Thermal Pulse'
}
-- Magical spells with a Dex stat mod (on top of Int)
blue_magic_maps.MagicalDex = S{
'Charged Whisker','Gates of Hades'
}
-- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage.
-- Add Int for damage where available, though.
blue_magic_maps.MagicAccuracy = S{
'1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye',
'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye',
'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest',
'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar',
'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance',
'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind',
'Sandspin','Sandspray','Sheep Song','Soporific','Sound Blast','Stinking Gas',
'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn'
}
-- Breath-based spells
blue_magic_maps.Breath = S{
'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath',
'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct',
'Thunder Breath','Vapor Spray','Wind Breath'
}
-- Stun spells
blue_magic_maps.Stun = S{
'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift',
'Thunderbolt','Whirl of Rage'
}
-- Healing spells
blue_magic_maps.Healing = S{
'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','White Wind',
'Wild Carrot'
}
-- Buffs that depend on blue magic skill
blue_magic_maps.SkillBasedBuff = S{
'Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge',
'Pyric Bulwark','Reactor Cool',
}
-- Other general buffs
blue_magic_maps.Buff = S{
'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon',
'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell',
'Memento Mori','Nat. Meditation','Occultation','Orcish Counterstance','Refueling',
'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion',
'Zephyr Mantle'
}
-- Spells that require Unbridled Learning to cast.
unbridled_spells = S{
'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
'Crashing Thunder','Droning Whirlwind','Gates of Hades','Harden Shell','Polar Roar',
'Pyric Bulwark','Thunderbolt','Tourbillion','Uproot'
}
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal', 'Acc', 'Refresh', 'Learning')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT', 'Learning')
gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
-- Additional local binds
send_command('bind ^` input /ja "Chain Affinity" <me>')
send_command('bind !` input /ja "Efflux" <me>')
send_command('bind @` input /ja "Burst Affinity" <me>')
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
send_command('unbind @`')
end
-- Set up gear sets.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
sets.buff['Burst Affinity'] = {feet="Hashishin Basmak" }
sets.buff['Chain Affinity'] = {head="Hashishin Kavuk", feet="Assimilator's Charuqs"}
sets.buff.Convergence = {head="Luhlaza Keffiyeh"}
sets.buff.Diffusion = {feet="Luhlaza Charuqs"}
sets.buff.Enchainment = {body="Luhlaza Jubbah"}
sets.buff.Efflux = {legs="Mavi Tayt +2"}
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Azure Lore'] = {hands="Mirage Bazubands +2"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Uk'uxkaj Cap",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Hagondes Pants",feet="Iuitl Gaiters +1"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Haruspex Hat",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Thaumas Gloves",ring1="Prolix Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Hashishin Mintan +2"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Adhemar Bonnet",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Qaaxo Harness",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist=gear.ElementalBelt,legs="Taeon Tights",feet= {name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.precast.WS.acc = set_combine(sets.precast.WS, {hands="Buremte Gloves"})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Aquasoul Ring",feet="Luhlaza Charuqs"})
sets.precast.WS['Sanguine Blade'] = {
head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes Coat",hands="Mavi Bazubands +2",ring1="Acumen Ring",ring2="Strendu Ring",
back="Toro Cape",legs="Hagondes Pants",feet="Iuitl Gaiters +1"}
-- Midcast Sets
sets.midcast.FastRecast = {
head="Haruspex Hat",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Hashishin Bazubands",ring1="Prolix Ring",
back="Swith Cape +1",waist="Hurch'lan Sash",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'] = {}
-- Physical Spells --
sets.midcast['Blue Magic'].Physical = {ammo="Mavi Tathlum",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring",
body="Helios Jacket",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Spiral Ring",
back="Cornflower Cape",waist="Caudata Belt",legs="Taeon Tights",feet="Qaaxo Leggings"}
sets.midcast['Blue Magic'].PhysicalAcc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Patricius Ring",
back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Iuitl Vest",hands="Assimilator's Bazubands +1"})
sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical,
{ammo="Jukukik Feather",body="Iuitl Vest",hands="Assimilator's Bazubands +1",
waist="Chaac Belt",legs="Manibozho Brais"})
sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",back="Iximulew Cape"})
sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Iuitl Wristbands",ring2="Stormsoul Ring",
waist="Chaac Belt",feet="Iuitl Gaiters +1"})
sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical,
{ear1="Psystorm Earring",body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",
ring2="Icesoul Ring",back="Toro Cape",feet="Hagondes Sabots"})
sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical,
{ear1="Lifestorm Earring",body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",
ring2="Aquasoul Ring",back="Refraction Cape"})
sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",back="Refraction Cape",
waist="Chaac Belt"})
sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical)
-- Magical Spells --
sets.midcast['Blue Magic'].Magical = {ammo="Dosis Tathlum",
head={ name="Herculean Helm", augments={'"Store TP"+2','"Mag.Atk.Bns."+25','Accuracy+12 Attack+12','Mag. Acc.+7 "Mag.Atk.Bns."+7',}},
body={ name="Helios Jacket", augments={'"Mag.Atk.Bns."+17','"Conserve MP"+4','INT+5 MND+5',}},
hands={ name="Helios Gloves", augments={'"Mag.Atk.Bns."+24',}},
legs={ name="Hagondes Pants", augments={'Phys. dmg. taken -2%','"Fast Cast"+3',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +2%','"Mag.Atk.Bns."+14',}},
neck="Eddy Necklace",
waist="Aswang Sash",
left_ear="Hecate's Earring",
right_ear="Moldavite Earring",
left_ring="Sangoma Ring",
right_ring="Mediator's Ring",
back="Cornflower Cape"}
sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical,
{body="Vanir Cotehardie",ring1="Sangoma Ring",legs="Iuitl Tights",feet="Mavi Basmak +2"})
sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical,
{ring1="Aquasoul Ring"})
sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical)
sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical,
{ring1="Spiral Ring"})
sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical)
sets.midcast['Blue Magic'].MagicAccuracy = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Vanir Cotehardie",hands=gear.macc_hagondes,ring2="Sangoma Ring",
back="Cornflower Cape",legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
-- Breath Spells --
sets.midcast['Blue Magic'].Breath = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",ring1="K'ayres Ring",ring2="Beeline Ring",
back="Refraction Cape",legs="Enif Cosciales",feet="Iuitl Gaiters +1"}
-- Other Types --
sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy,
{waist="Chaac Belt"})
sets.midcast['Blue Magic']['White Wind'] = {
head="Whirlpool Mask",neck="Lavalier +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="K'ayres Ring",ring2="Meridian Ring",
back="Fravashi Mantle",waist="Hurch'lan Sash",legs="Enif Cosciales",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'].Healing = {
head="Uk'uxkaj Cap",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Aquasoul Ring",ring2="Sirona's Ring",
back="Pahtli Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'].SkillBasedBuff = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",
body="Assimilator's Jubbah",
back="Cornflower Cape",legs="Mavi Tayt +2",feet="Luhlaza Charuqs"}
sets.midcast['Blue Magic'].Buff = {}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Protectra = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
sets.midcast.Shellra = {ring1="Sheltered Ring"}
-- Sets to return to when not performing an action.
-- Gear for learning spells: +skill and AF hands.
sets.Learning = {ammo="Mavi Tathlum",hands="Assimilator's Bazubands +1"}
--head="Luhlaza Keffiyeh",
--body="Assimilator's Jubbah",hands="Assimilator's Bazubands +1",
--back="Cornflower Cape",legs="Mavi Tayt +2",feet="Luhlaza Charuqs"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- Resting sets
sets.resting = {
head="Ocelomeh Headpiece +1",neck="Wiglen Gorget",
body="Hagondes Coat",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Austerity Belt",feet="Chelona Boots +1"}
-- Idle sets
sets.idle = {ammo="Impatiens",
main="xiutleato",sub="Genbu's Shield",
head="Iuitl Headgear",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Loquacious Earring",
body="Hagondes Coat +1",hands="Iuitl Wristbands +1",ring1="Dark Ring",ring2="Dark Ring",
back="Umbra Cape",waist="Flume Belt",legs="Crimson Cuisses",feet="Iuitl Gaiters +1"}
sets.idle.PDT = {ammo="Impatiens",
head="Iuitl headgear",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Iuitl Gaiters +1"}
sets.idle.Town = {main="Buramenk'ah",ammo="Impatiens",
head="Mavi Kavuk +2",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Atheling Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Luhlaza Charuqs"}
sets.idle.Learning = set_combine(sets.idle, sets.Learning)
-- Defense sets
sets.defense.PDT = {ammo="Iron Gobbet",
head="Whirlpool Mask",neck="Wiglen Gorget",ear1="Bloodgem Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Whirlpool Mask",neck="Twilight Torque",ear1="Bloodgem Earring",
body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.Kiting = {legs="Crimson Cuisses"}
-- 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="Jukukik Feather",
main="Buramenk'ah",sub="Usonmunku",
ammo="honed tathlum",head="Whirlpool Mask",neck="Clotharius torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Thaumas Coat",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Taeon Tights",feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.engaged.Acc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.Refresh = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.DW = {ammo="Jukukik Feather",
ammo="honed tathlum",head="Adhemar Bonnet",neck="Clotharius torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Thaumas Coat",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Taeon Tights",feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.engaged.DW.Acc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring",
body="Thaumas Coat",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Taeon Boots"}
sets.engaged.DW.Refresh = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring",
back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.Learning = set_combine(sets.engaged, sets.Learning)
sets.engaged.DW.Learning = set_combine(sets.engaged.DW, sets.Learning)
sets.self_healing = {ring1="Kunaji Ring",ring2="Asklepian Ring"}
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 unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then
eventArgs.cancel = true
windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name)
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)
-- Add enhancement gear for Chain Affinity, etc.
if spell.skill == 'Blue Magic' then
for buff,active in pairs(state.Buff) do
if active and sets.buff[buff] then
equip(sets.buff[buff])
end
end
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end
-- If in learning mode, keep on gear intended to help with that, regardless of action.
if state.OffenseMode.value == 'Learning' then
equip(sets.Learning)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
-- Return custom spellMap value that can override the default spell mapping.
-- Don't return anything to allow default spell mapping to be used.
function job_get_spell_map(spell, default_spell_map)
if spell.skill == 'Blue Magic' then
for category,spell_list in pairs(blue_magic_maps) do
if spell_list:contains(spell.english) then
return category
end
end
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- 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()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function update_combat_form()
-- Check for H2H or single-wielding
if player.equipment.sub == "Genbu's Shield" or player.equipment.sub == 'empty' then
state.CombatForm:reset()
else
state.CombatForm:set('DW')
end
end
-- 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, 7)
else
set_macro_page(1, 7)
end
end
Server: Asura
Game: FFXI
Posts: 27
By Asura.Halestrum 2016-03-12 22:04:40
I'm pretty sure i am using that plugin let me try disabling it
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 22:19:56
I got zero errors when I loaded your file and casted a few spells. Try unloading gearswap (//lua u gearswap) then loading it back (//lua l gearswap) and see if it goes away. If not, then hopefully somebody more knowledgeable can help.
I noticed you don't have the newest UL spells. Add them to the unbridled_spells list on line 170: 'Mighty Guard','Cruel Joke','Cesspool','Tearing Gust'
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-12 22:24:43
I use the same lua with some modifications. I took the liberty of pasting your gear in it. Can try this out to see if it fixes your issue?
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')
include('organizer-lib')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false
state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
state.Buff.Convergence = buffactive.Convergence or false
state.Buff.Diffusion = buffactive.Diffusion or false
state.Buff.Efflux = buffactive.Efflux or false
state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
blue_magic_maps = {}
-- Mappings for gear sets to use for various blue magic spells.
-- While Str isn't listed for each, it's generally assumed as being at least
-- moderately signficant, even for spells with other mods.
-- Physical Spells --
-- Physical spells with no particular (or known) stat mods
blue_magic_maps.Physical = S{
'Bilgestorm'
}
-- Spells with heavy accuracy penalties, that need to prioritize accuracy first.
blue_magic_maps.PhysicalAcc = S{
'Heavy Strike',
}
-- Physical spells with Str stat mod
blue_magic_maps.PhysicalStr = S{
'Battle Dance','Bloodrake','Death Scissors','Dimensional Death',
'Empty Thrash','Quadrastrike','Sinker Drill','Spinal Cleave',
'Uppercut','Vertical Cleave'
}
-- Physical spells with Dex stat mod
blue_magic_maps.PhysicalDex = S{
'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment',
'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad',
'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault',
'Vanity Dive'
}
-- Physical spells with Vit stat mod
blue_magic_maps.PhysicalVit = S{
'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam',
'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash'
}
-- Physical spells with Agi stat mod
blue_magic_maps.PhysicalAgi = S{
'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream',
'Pinecone Bomb','Spiral Spin','Wild Oats'
}
-- Physical spells with Int stat mod
blue_magic_maps.PhysicalInt = S{
'Mandibular Bite','Queasyshroom'
}
-- Physical spells with Mnd stat mod
blue_magic_maps.PhysicalMnd = S{
'Ram Charge','Screwdriver','Tourbillion'
}
-- Physical spells with Chr stat mod
blue_magic_maps.PhysicalChr = S{
'Bludgeon'
}
-- Physical spells with HP stat mod
blue_magic_maps.PhysicalHP = S{
'Final Sting'
}
-- Magical Spells --
-- Magical spells with the typical Int mod
blue_magic_maps.Magical = S{
'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray',
'Diffusion Ray','Droning Whirlwind','Embalming Earth','Firespit','Foul Waters',
'Ice Break','Leafstorm','Maelstrom','Rail Cannon','Regurgitation','Rending Deluge',
'Retinal Glare','Subduction','Tem. Upheaval','Water Bomb', 'Searing Tempest', 'Blinding Fulgor',
'Spectral Floe', 'Scouring Spate', 'Anvil Lightning', 'Silent Storm', 'Entomb', 'Tenebral Crush'
}
-- Magical spells with a primary Mnd mod
blue_magic_maps.MagicalMnd = S{
'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast'
}
-- Magical spells with a primary Chr mod
blue_magic_maps.MagicalChr = S{
'Eyes On Me','Mysterious Light'
}
-- Magical spells with a Vit stat mod (on top of Int)
blue_magic_maps.MagicalVit = S{
'Thermal Pulse'
}
-- Magical spells with a Dex stat mod (on top of Int)
blue_magic_maps.MagicalDex = S{
'Charged Whisker','Gates of Hades'
}
-- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage.
-- Add Int for damage where available, though.
blue_magic_maps.MagicAccuracy = S{
'1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye',
'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye',
'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest',
'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar',
'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance',
'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind',
'Sandspin','Sandspray','Sheep Song','Soporific','Sound Blast','Stinking Gas',
'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn'
}
-- Breath-based spells
blue_magic_maps.Breath = S{
'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath',
'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct',
'Thunder Breath','Vapor Spray','Wind Breath'
}
-- Stun spells
blue_magic_maps.Stun = S{
'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift',
'Thunderbolt','Whirl of Rage'
}
-- Healing spells
blue_magic_maps.Healing = S{
'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','White Wind',
'Wild Carrot'
}
-- Buffs that depend on blue magic skill
blue_magic_maps.SkillBasedBuff = S{
'Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge',
'Pyric Bulwark','Reactor Cool',
}
-- Other general buffs
blue_magic_maps.Buff = S{
'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon',
'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell',
'Memento Mori','Nat. Meditation','Occultation','Orcish Counterstance','Refueling',
'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion',
'Zephyr Mantle'
}
-- Spells that require Unbridled Learning to cast.
unbridled_spells = S{
'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
'Crashing Thunder','Droning Whirlwind','Gates of Hades','Harden Shell','Polar Roar',
'Pyric Bulwark','Thunderbolt','Tourbillion','Uproot','Mighty Guard','Cruel Joke','Cesspool','Tearing Gust'
}
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
function user_setup()
state.OffenseMode:options('Normal', 'Acc', 'Refresh', 'Learning')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT', 'Learning')
gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
-- Additional local binds
send_command('bind ^` input /ja "Chain Affinity" <me>')
send_command('bind !` input /ja "Efflux" <me>')
send_command('bind @` input /ja "Burst Affinity" <me>')
update_combat_form()
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
send_command('unbind @`')
end
-- Set up gear sets.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
sets.buff['Burst Affinity'] = {feet="Hashishin Basmak" }
sets.buff['Chain Affinity'] = {head="Hashishin Kavuk", feet="Assimilator's Charuqs"}
sets.buff.Convergence = {head="Luhlaza Keffiyeh"}
sets.buff.Diffusion = {feet="Luhlaza Charuqs"}
sets.buff.Enchainment = {body="Luhlaza Jubbah"}
sets.buff.Efflux = {legs="Mavi Tayt +2"}
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Azure Lore'] = {hands="Mirage Bazubands +2"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {ammo="Sonia's Plectrum",
head="Uk'uxkaj Cap",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Spiral Ring",
back="Iximulew Cape",waist="Caudata Belt",legs="Hagondes Pants",feet="Iuitl Gaiters +1"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Haruspex Hat",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Thaumas Gloves",ring1="Prolix Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Hashishin Mintan +2"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Adhemar Bonnet",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Qaaxo Harness",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist=gear.ElementalBelt,legs="Taeon Tights",feet= {name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.precast.WS.acc = set_combine(sets.precast.WS, {hands="Buremte Gloves"})
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Aquasoul Ring",feet="Luhlaza Charuqs"})
sets.precast.WS['Sanguine Blade'] = {
head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes Coat",hands="Mavi Bazubands +2",ring1="Acumen Ring",ring2="Strendu Ring",
back="Toro Cape",legs="Hagondes Pants",feet="Iuitl Gaiters +1"}
-- Midcast Sets
sets.midcast.FastRecast = {
head="Haruspex Hat",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Hashishin Bazubands",ring1="Prolix Ring",
back="Swith Cape +1",waist="Hurch'lan Sash",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'] = {}
-- Physical Spells --
sets.midcast['Blue Magic'].Physical = {ammo="Mavi Tathlum",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring",
body="Helios Jacket",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Spiral Ring",
back="Cornflower Cape",waist="Caudata Belt",legs="Taeon Tights",feet="Qaaxo Leggings"}
sets.midcast['Blue Magic'].PhysicalAcc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Patricius Ring",
back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Iuitl Vest",hands="Assimilator's Bazubands +1"})
sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical,
{ammo="Jukukik Feather",body="Iuitl Vest",hands="Assimilator's Bazubands +1",
waist="Chaac Belt",legs="Manibozho Brais"})
sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",back="Iximulew Cape"})
sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Iuitl Wristbands",ring2="Stormsoul Ring",
waist="Chaac Belt",feet="Iuitl Gaiters +1"})
sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical,
{ear1="Psystorm Earring",body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",
ring2="Icesoul Ring",back="Toro Cape",feet="Hagondes Sabots"})
sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical,
{ear1="Lifestorm Earring",body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",
ring2="Aquasoul Ring",back="Refraction Cape"})
sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical,
{body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",back="Refraction Cape",
waist="Chaac Belt"})
sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical)
-- Magical Spells --
sets.midcast['Blue Magic'].Magical = {ammo="Dosis Tathlum",
head={ name="Herculean Helm", augments={'"Store TP"+2','"Mag.Atk.Bns."+25','Accuracy+12 Attack+12','Mag. Acc.+7 "Mag.Atk.Bns."+7',}},
body={ name="Helios Jacket", augments={'"Mag.Atk.Bns."+17','"Conserve MP"+4','INT+5 MND+5',}},
hands={ name="Helios Gloves", augments={'"Mag.Atk.Bns."+24',}},
legs={ name="Hagondes Pants", augments={'Phys. dmg. taken -2%','"Fast Cast"+3',}},
feet={ name="Herculean Boots", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','Crit. hit damage +2%','"Mag.Atk.Bns."+14',}},
neck="Eddy Necklace",
waist="Aswang Sash",
left_ear="Hecate's Earring",
right_ear="Moldavite Earring",
left_ring="Sangoma Ring",
right_ring="Mediator's Ring",
back="Cornflower Cape"}
sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical,
{body="Vanir Cotehardie",ring1="Sangoma Ring",legs="Iuitl Tights",feet="Mavi Basmak +2"})
sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical,
{ring1="Aquasoul Ring"})
sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical)
sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical,
{ring1="Spiral Ring"})
sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical)
sets.midcast['Blue Magic'].MagicAccuracy = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Vanir Cotehardie",hands=gear.macc_hagondes,ring2="Sangoma Ring",
back="Cornflower Cape",legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
-- Breath Spells --
sets.midcast['Blue Magic'].Breath = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",neck="Ej Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Vanir Cotehardie",hands="Assimilator's Bazubands +1",ring1="K'ayres Ring",ring2="Beeline Ring",
back="Refraction Cape",legs="Enif Cosciales",feet="Iuitl Gaiters +1"}
-- Other Types --
sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy,
{waist="Chaac Belt"})
sets.midcast['Blue Magic']['White Wind'] = {
head="Whirlpool Mask",neck="Lavalier +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="K'ayres Ring",ring2="Meridian Ring",
back="Fravashi Mantle",waist="Hurch'lan Sash",legs="Enif Cosciales",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'].Healing = {
head="Uk'uxkaj Cap",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Aquasoul Ring",ring2="Sirona's Ring",
back="Pahtli Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.midcast['Blue Magic'].SkillBasedBuff = {ammo="Mavi Tathlum",
head="Luhlaza Keffiyeh",
body="Assimilator's Jubbah",
back="Cornflower Cape",legs="Mavi Tayt +2",feet="Luhlaza Charuqs"}
sets.midcast['Blue Magic'].Buff = {}
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Protectra = {ring1="Sheltered Ring"}
sets.midcast.Shell = {ring1="Sheltered Ring"}
sets.midcast.Shellra = {ring1="Sheltered Ring"}
-- Sets to return to when not performing an action.
-- Gear for learning spells: +skill and AF hands.
sets.Learning = {ammo="Mavi Tathlum",hands="Assimilator's Bazubands +1"}
--head="Luhlaza Keffiyeh",
--body="Assimilator's Jubbah",hands="Assimilator's Bazubands +1",
--back="Cornflower Cape",legs="Mavi Tayt +2",feet="Luhlaza Charuqs"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- Resting sets
sets.resting = {
head="Ocelomeh Headpiece +1",neck="Wiglen Gorget",
body="Hagondes Coat",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Austerity Belt",feet="Chelona Boots +1"}
-- Idle sets
sets.idle = {ammo="Impatiens",
main="xiutleato",sub="Genbu's Shield",
head="Iuitl Headgear",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Loquacious Earring",
body="Hagondes Coat +1",hands="Iuitl Wristbands +1",ring1="Dark Ring",ring2="Dark Ring",
back="Umbra Cape",waist="Flume Belt",legs="Crimson Cuisses",feet="Iuitl Gaiters +1"}
sets.idle.PDT = {ammo="Impatiens",
head="Iuitl headgear",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Iuitl Gaiters +1"}
sets.idle.Town = {main="Buramenk'ah",ammo="Impatiens",
head="Mavi Kavuk +2",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Atheling Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Luhlaza Charuqs"}
sets.idle.Learning = set_combine(sets.idle, sets.Learning)
-- Defense sets
sets.defense.PDT = {ammo="Iron Gobbet",
head="Whirlpool Mask",neck="Wiglen Gorget",ear1="Bloodgem Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Whirlpool Mask",neck="Twilight Torque",ear1="Bloodgem Earring",
body="Hagondes Coat",hands="Iuitl Wristbands",ring1="Defending Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.Kiting = {legs="Crimson Cuisses"}
-- 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="Jukukik Feather",
main="Buramenk'ah",sub="Usonmunku",
ammo="honed tathlum",head="Whirlpool Mask",neck="Clotharius torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Thaumas Coat",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Taeon Tights",feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.engaged.Acc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Letalis Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.Refresh = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.DW = {ammo="Jukukik Feather",
ammo="honed tathlum",head="Adhemar Bonnet",neck="Clotharius torque",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Thaumas Coat",hands="Herculean Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt +1",legs="Taeon Tights",feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','STR+7',}}}
sets.engaged.DW.Acc = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Ej Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring",
body="Thaumas Coat",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Taeon Boots"}
sets.engaged.DW.Refresh = {ammo="Jukukik Feather",
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Heartseeker Earring",ear2="Dudgeon Earring",
body="Luhlaza Jubbah",hands="Assimilator's Bazubands +1",ring1="Rajas Ring",ring2="Epona's Ring",
back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Manibozho Brais",feet="Qaaxo Leggings"}
sets.engaged.Learning = set_combine(sets.engaged, sets.Learning)
sets.engaged.DW.Learning = set_combine(sets.engaged.DW, sets.Learning)
sets.self_healing = {ring1="Kunaji Ring",ring2="Asklepian Ring"}
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_pretarget(spell,action)
if spell.type == "WeaponSkill" and player.status == 'Engaged' and spell.target.distance > target_distance then -- Cancel WS If You Are Out Of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Out of Range]')
return
end
end
function job_precast(spell, action, spellMap, eventArgs)
if unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then
eventArgs.cancel = true
windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name)
end
if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
cancel_spell()
send_command('input /item "Echo Drops" <me>')
end
if spell.english == 'Berserk' then
if buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
cancel_spell()
send_command('input /ja Aggressor <me>')
end
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)
-- Add enhancement gear for Chain Affinity, etc.
if spell.skill == 'Blue Magic' then
for buff,active in pairs(state.Buff) do
if active and sets.buff[buff] then
print(buff) equip(sets.buff[buff])
end
end
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end
-- If in learning mode, keep on gear intended to help with that, regardless of action.
if state.OffenseMode.value == 'Learning' then
equip(sets.Learning)
end
if buffactive['Burst Affinity'] or buffactive['Azure Lore'] then
if state.MagicBurst.value then
equip(sets.MagicBurst)
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 (buffactive['Burst Affinity'] or buffactive['Azure Lore']) then
state.MagicBurst:reset()
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
-- Return custom spellMap value that can override the default spell mapping.
-- Don't return anything to allow default spell mapping to be used.
function job_get_spell_map(spell, default_spell_map)
if spell.skill == 'Blue Magic' then
for category,spell_list in pairs(blue_magic_maps) do
if spell_list:contains(spell.english) then
return category
end
end
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
set_combine(idleSet, sets.latent_refresh)
end
if world.area:contains('Adoulin') then
idleSet = set_combine(sets.idle.Town, {body="Councilor's Garb"})
end
return idleSet
end
-- 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()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function update_combat_form()
-- Check for H2H or single-wielding
if player.equipment.sub == "Genbu's Shield" or player.equipment.sub == 'empty' then
state.CombatForm:reset()
else
state.CombatForm:set('DW')
end
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'WAR' or 'NIN' or 'DNC' then
set_macro_page(2, 7)
else
set_macro_page(1, 7)
end
end
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-03-13 03:01:35
Bismarck.Speedyjim said: »This isn't working, what's the correct way to write this? Code
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if spell.english == "Chant du Cygne" or spell.english == "Savage Blade" and player.tp > 2900 then
equipSet = set_combine(equipSet,{ear1="Ishvara Earring",ear2="Brutal Earring"})
end
end
end
You copied this bit from a non-Mote Gearswap that uses a local variable called equipSet, which is used to collect the equipment you want to use so that only one equip command is executed at the end. You don't have any such variable in your function (nor access to such information coming from Mote's functions), so you're just stacking the earrings on top of nothing and assigning it to a new variable, which you then do nothing with. If you just put "equip({ear1="Ishvara Earring",ear2="Brutal Earring"})", it will equip them, in addition to whatever gear Mote's functions handle automatically.
However, I think you want to be using job_post_precast, since I believe Mote's generic precast functions run after job_precast, thus overwriting your earrings.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-13 06:11:09
Thanks Flippant, you're totally right as I see it in some of my other LUA's.
Quetzalcoatl.Orestes
Server: Quetzalcoatl
Game: FFXI
Posts: 430
By Quetzalcoatl.Orestes 2016-03-13 13:02:26
To add to what Flippant said, Mote also provides a function for users to set custom weaponskill modes on the fly.
I would still handle the moonshade earring issue in job_post_precast like you're doing, but this could be helpful for more complex stuff.
For example Code
-- creating a set to hold WS's in job_setup()
function job_setup()
ws_list = S{"Chant du Cygne", "Savage Blade"}
end
function get_custom_wsmode(spell, spellMap, default_wsmode)
if ws_list:contains(spell.english) and player.tp > 2900 then
if state.OffenseMode.current == 'Acc' then
return 'HighTPAcc'
else
return 'HighTP'
end
end
end
You could then use the following sets. Code
sets.precast.WS.HighTP = set_combine(sets.precast.WS, {
--stuff
})
sets.precast.WS.HighTPAcc = set_combine(sets.precast.WS.Acc, {
--stuff
})
Server: Sylph
Game: FFXI
Posts: 51
By Sylph.Parshias 2016-03-14 13:46:43
I'm trying to define a custom spell map to handle certain enhancing spells I'd want duration+ gear on for, but I can't get it to work. I've mostly copied this code out of my BLU lua that has working spells maps. Here are the different pieces:
Code function job_setup()
enh_magic_maps = {}
enh_magic_maps.EnhDur = S{
'Haste','Protect','Protect II','Protect III','Shell','Shell II',
'Flurry','Sneak','Invisible','Deodorize'
}
end
Code 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
elseif spell.skill == 'Geomancy' then
if spell.english:startswith('Indi') then
return 'Indi'
end
elseif spell.skill == 'Enhancing Magic' then
for category,spell_list in pairs(enh_magic_maps) do
if spell_list:contains(spell.english) then
return category
end
end
end
end
end
Then finally
Code sets.midcast['Enhancing Magic'].EnhDur = set_combine(sets.midcast.FastRecast,{head="Telchine Cap",body="Telchine Chasuble",
hands="Telchine Gloves",legs="Telchine Braconi",feet="Telchine Pigaches"})
But then this set doesn't actually equip when I cast Haste. I could make individual sets for each of these spells, but I'd rather have it all done in a single set.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-14 14:15:07
Go to Windower4/addons/gearswap/libs/Mote-Mappings, scroll down until no_skill_spells_list and remove Haste and any other spell there.
Mine looks like this: Code no_skill_spells_list = S{
'Raise', 'Reraise', 'Arise', 'Sneak', 'Invisible', 'Deodorize', 'Teleport', 'Warp',
'Blink', 'Dia', 'Animus'}
I don't want enhancing gear for Raise, RR and Teleports; FC only.
Back to your lua, simply edit the sets.midcast['Enhancing Magic'] set with your duration gear. No need for extra sets unless there's a spell that benefits from something else. In that case, you can make a separate set for it.
By cocl 2016-03-14 15:30:20
I tried to include a piece of code that I found on a post in the WHM forums that RolandJ made and for some reason, it's not working in my gearswap and I have no idea why. I don't play WHM often, but now it's bugging me. I'm not sure if it's something that isn't configured properly or if the code itself isn't in the right place. Here is my full file: Code -------------------------------------------------------------------------------------------------------------------
-- 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.
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Mappings.lua')
include('Mote-Include.lua')
include('organizer-lib')
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
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.CastingModes = {'Normal', 'Resistant', 'Dire'}
options.IdleModes = {'Normal', 'PDT'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.OffenseMode = 'None'
select_default_macro_book()
Cures = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'}
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="Marin Staff +1",
sub="Benthos Grip",
ammo="Impatiens",
head="Nahtirah Hat",
body="Anhur Robe",
hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -1%','"Cure" spellcasting time -1%',}},
legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
feet="Regal Pumps +1",
neck="Orison Locket",
waist="Witful Belt",
left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring",
left_ring="Prolix Ring",
right_ring="Weather. Ring",
back="Swith Cape +1",
}
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="Ababinili +1",
sub="Benthos Grip",
ammo="Impatiens",
head="Nahtirah Hat",
body="Heka's Kalasiris",
hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -1%','"Cure" spellcasting time -1%',}},
legs="Ebers Pant. +1",
feet={ name="Vanya Clogs", augments={'System: 2 ID: 124 Val: 4','System: 2 ID: 123 Val: 14','System: 2 ID: 177 Val: 5',}},
neck="Orison Locket",
waist="Witful Belt",
left_ear="Nourish. Earring +1",
right_ear="Nourish. Earring",
left_ring="Prolix Ring",
right_ring="Weather. Ring",
back="Ogapepo Cape",
})
sets.precast.FC.Curaga = sets.precast.FC.Cure
-- Precast sets to enhance JAs
sets.precast.JA.Benediction = {body="Piety Briault"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Nahtirah Hat",ear1="Roundel Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",
back="Refraction Cape",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
gear.default.weaponskill_neck = "Asperity Necklace"
gear.default.weaponskill_waist = ""
sets.precast.WS = {
head="Nahtirah Hat",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Refraction Cape",waist=gear.ElementalBelt,legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.precast.WS['Flash Nova'] = {
head="Nahtirah Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="Strendu Ring",}
-- Midcast Sets
sets.midcast.FastRecast = {
main="Marin Staff +1",
sub="Benthos Grip",
ammo="Impatiens",
head="Nahtirah Hat",
body="Anhur Robe",
hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -1%','"Cure" spellcasting time -1%',}},
legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
feet="Regal Pumps +1",
neck="Orison Locket",
waist="Witful Belt",
left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring",
left_ring="Prolix Ring",
right_ring="Weather. Ring",
back="Swith Cape +1",
}
-- Cure sets
gear.default.obi_waist = "Goading Belt"
gear.default.obi_back = "Twilight Cape"
sets.midcast.CureSolace = {
main={ name="Queller Rod", augments={'Healing magic skill +15','System: 2 ID: 124 Val: 9','System: 2 ID: 123 Val: 6',}},
sub="Sors Shield",
ammo="Oreiad's Tathlum",
head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -1%','"Cure" potency +6%',}},
body="Ebers Bliaud +1",
hands="Theo. Mitts +1",
legs="Ebers Pant. +1",
feet={ name="Vanya Clogs", augments={'System: 2 ID: 124 Val: 4','System: 2 ID: 123 Val: 14','System: 2 ID: 177 Val: 5',}},
neck="Colossus's Torque",
waist="Bishop's Sash",
left_ear="Nourish. Earring +1",
right_ear="Beatific Earring",
left_ring="Sirona's Ring",
right_ring="Haoma's Ring",
back="Tempered cape +1",
}
sets.midcast.Cure = {
main={ name="Queller Rod", augments={'Healing magic skill +15','System: 2 ID: 124 Val: 9','System: 2 ID: 123 Val: 6',}},
sub="Sors Shield",
ammo="Oreiad's Tathlum",
head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -1%','"Cure" potency +6%',}},
body="Ebers Bliaud +1",
hands="Theo. Mitts +1",
legs="Ebers Pant. +1",
feet={ name="Vanya Clogs", augments={'System: 2 ID: 124 Val: 4','System: 2 ID: 123 Val: 14','System: 2 ID: 177 Val: 5',}},
neck="Colossus's Torque",
waist="Bishop's Sash",
left_ear="Nourish. Earring +1",
right_ear="Beatific Earring",
left_ring="Sirona's Ring",
right_ring="Haoma's Ring",
back="Tempered cape +1",
}
sets.midcast.Curaga = {
main={ name="Queller Rod", augments={'Healing magic skill +15','System: 2 ID: 124 Val: 9','System: 2 ID: 123 Val: 6',}},
sub="Sors Shield",
ammo="Oreiad's Tathlum",
head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -1%','"Cure" potency +6%',}},
body="Ebers bliaud +1",
hands="Theo. Mitts +1",
legs="Ebers Pant. +1",
feet={ name="Vanya Clogs", augments={'System: 2 ID: 124 Val: 4','System: 2 ID: 123 Val: 14','System: 2 ID: 177 Val: 5',}},
neck="Colossus's Torque",
waist="Bishop's Sash",
left_ear="Nourish. Earring +1",
right_ear="Beatific Earring",
left_ring="Sirona's Ring",
right_ring="Haoma's Ring",
back="Tempered cape +1",
}
sets.midcast.CureMelee = {main="Tamaxchi",sub="sors Shield",ammo="kalboron stone",
head="Gendewitha Caubeen",neck="nuna gorget +1",ear1="novia Earring",ear2="beatific Earring",
body="Orison Bliaud +2",hands="yaoyotl gloves",ring1="sirona's Ring",ring2="haoma's Ring",
back="pahtli Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Piety Duckbills +1"}
sets.midcast.Cursna = {main="yagrush",sub="Genbu's Shield",
head="Orison Cap +2",neck="Malison Medallion",
body="ebers briault +1",hands="Hieros Mittens",ring1="haoma's Ring",ring2="haoma's Ring",
back="Mending Cape",waist="Goading Belt",legs="Ebers pantaloons +1",feet="Gendewitha Galoshes +1"}
sets.midcast.StatusRemoval = {main="yagrush",sub="sors shield",ammo="impatiens",
head="haruspex hat +1",neck="orison locket",ear1="henchanter Earring +1",ear2="loquacious Earring",
body="vanir cotehardie",hands="theopany mitts +1",ring1="prolix Ring",ring2="weatherspoon Ring",
back="swith cape +1",waist="ninurta's sash",legs="ebers pantaloons +1",feet="regal pumps +1"}
-- 110 total Enhancing Magic Skill; caps even without Light Arts
sets.midcast['Enhancing Magic'] = {
main="Beneficus",
sub={ name="Genbu's Shield", augments={'"Cure" potency +3%','"Cure" spellcasting time -8%','Wind resistance+9',}},
ammo="Vanir Battery",
head="Umuthi Hat",
body="Anhur Robe",
hands="Dynasty Mitts",
legs={ name="Piety Pantaln. +1", augments={'Enhances "Shellra V" effect',}},
feet="Orsn. Duckbills +2",
neck="Colossus's Torque",
waist="Olympus Sash",
left_ear="Andoaa Earring",
right_ear={ name="Moonshade Earring", augments={'MP+25','Latent effect: "Refresh"+1',}},
left_ring="Prolix Ring",
right_ring="Weather. Ring",
back="Merciful Cape",
}
sets.midcast.Stoneskin = {
head="Nahtirah Hat",neck="Orison Locket",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Dynasty Mitts",
back="Swith Cape +1",waist="Siegel Sash",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.midcast.Auspice = {hands="Dynasty Mitts",feet="Orison Duckbills +2"}
sets.midcast.BarElement = {
main="Beneficus",
sub={ name="Genbu's Shield", augments={'"Cure" potency +3%','"Cure" spellcasting time -8%','Wind resistance+9',}},
ammo="Vanir Battery",
head="Orison Cap +2",
body="ebers bliaud +1",
hands="Orison Mitts +2",
legs={ name="Piety Pantaln. +1", augments={'Enhances "Shellra V" effect',}},
feet="Orsn. Duckbills +2",
neck="Colossus's Torque",
waist="Olympus Sash",
left_ear="Andoaa Earring",
right_ear={ name="Moonshade Earring", augments={'MP+25','Latent effect: "Refresh"+1',}},
left_ring="Prolix Ring",
right_ring="Weather. Ring",
back="Merciful Cape",
}
sets.midcast.Regen = {main="Bolelabunga",sub="Genbu's Shield",
body="Piety Briault +1",hands="Orison Mitts +2",
legs="Theophany Pantaloons"}
sets.midcast.Protectra = {ring1="Sheltered Ring",feet="Piety Duckbills +1"}
sets.midcast.Shellra = {ring1="Sheltered Ring",legs="Piety Pantaloons +1"}
sets.midcast['Divine Magic'] = {
main="Marin Staff +1",
sub="Elder's Grip +1",
ammo="Ghastly Tathlum",
head={ name="Helios Band", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Occult Acumen"+10','INT+10',}},
body={ name="Witching Robe", augments={'MP+45','Mag. Acc.+14','"Mag.Atk.Bns."+14',}},
hands={ name="Helios Gloves", augments={'Mag. Acc.+18 "Mag.Atk.Bns."+18','"Occult Acumen"+3','INT+9',}},
legs={ name="Lengo Pants", augments={'INT+8','Mag. Acc.+14','"Mag.Atk.Bns."+13',}},
feet={ name="Helios Boots", augments={'"Mag.Atk.Bns."+25','"Fast Cast"+5','INT+4 MND+4',}},
neck="Eddy Necklace",
waist="Othila Sash",
left_ear="Friomisi Earring",
right_ear="Hecate's Earring",
left_ring="Fenrir Ring +1",
right_ring="Fenrir Ring +1",
back="Toro Cape",
}
sets.midcast['Dark Magic'] = {main="ngqoqwanb", sub="mephitis grip",
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"}
-- Custom spell classes
sets.midcast.MndEnfeebles = {
main={ name="Twebuliij", augments={'MP+60','Mag. Acc.+15','MND+12',}},
sub="Benthos Grip",
ammo="Oreiad's Tathlum",
head={ name="Artsieq Hat", augments={'MP+30','Mag. Acc.+20','MND+7',}},
body="Vanir Cotehardie",
hands="Lurid Mitts",
legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
feet={ name="Piety Duckbills +1", augments={'Enhances "Protectra V" effect',}},
neck="Nuna Gorget +1",
waist="Cascade Belt",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Levia. Ring +1",
right_ring="Levia. Ring +1",
back="Merciful Cape",
}
sets.midcast.IntEnfeebles = {
main={ name="Twebuliij", augments={'MP+60','Mag. Acc.+15','MND+12',}},
sub="Benthos Grip",
ammo="Oreiad's Tathlum",
head={ name="Artsieq Hat", augments={'MP+30','Mag. Acc.+20','MND+7',}},
body="Vanir Cotehardie",
hands="Lurid Mitts",
legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
feet={ name="Piety Duckbills +1", augments={'Enhances "Protectra V" effect',}},
neck="Imbodla Necklace",
waist="Ovate Rope",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Levia. Ring +1",
right_ring="Levia. Ring +1",
back="Merciful Cape",
}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main=gear.Staff.HMP,
body="Gendewitha Bliaut",hands="Serpentes Cuffs",
waist="Austerity Belt",legs="Nares Trews",feet="Chelona Boots +1"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {
main="Bolelabunga",
sub={ name="Genbu's Shield", augments={'"Cure" potency +3%','"Cure" spellcasting time -8%','Wind resistance+9',}},
ammo="Vanir Battery",
body="Respite Cloak",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Twilight Torque",
waist="Slipor Sash",
left_ear="Ethereal Earring",
right_ear="moonshade Earring",
left_ring="Paguroidea Ring",
right_ring="Sheltered Ring",
back="Shadow Mantle",}
sets.idle.PDT = {main="owleyes", sub="Genbu's Shield",ammo="sihirik",
head="wivre hairpin",neck="twilight torque",ear1="ethereal Earring",ear2="Loquacious Earring",
body="gendewitha bliaut",hands="Serpentes Cuffs",ring1="dark Ring",ring2="dark Ring",
back="shadow mantle",waist="slipor sash",legs="Nares Trews",feet="serpentes sabots"}
sets.idle.Town = {
main="Bolelabunga",
sub={ name="Genbu's Shield", augments={'"Cure" potency +3%','"Cure" spellcasting time -8%','Wind resistance+9',}},
ammo="Vanir Battery",
body="Respite Cloak",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Twilight Torque",
waist="Slipor Sash",
left_ear="Ethereal Earring",
right_ear="moonshade Earring",
left_ring="Paguroidea Ring",
right_ring="Sheltered Ring",
back="Shadow Mantle",
}
sets.idle.Weak = {
main="Bolelabunga",
sub={ name="Genbu's Shield", augments={'"Cure" potency +3%','"Cure" spellcasting time -8%','Wind resistance+9',}},
ammo="Vanir Battery",
body="Respite Cloak",
hands="Serpentes Cuffs",
legs="Assid. Pants +1",
feet="Serpentes Sabots",
neck="Twilight Torque",
waist="Slipor Sash",
left_ear="Ethereal Earring",
right_ear="moonshade Earring",
left_ring="Paguroidea Ring",
right_ring="Sheltered Ring",
back="Shadow Mantle",
}
-- Defense sets
sets.defense.PDT = {main=gear.Staff.PDT,sub="Achaq Grip",
head="Gendewitha Caubeen",neck="Twilight Torque",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Umbra Cape",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.defense.MDT = {main=gear.Staff.PDT,sub="Achaq Grip",
head="Nahtirah Hat",neck="Twilight Torque",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Tuilha Cape",legs="Bokwus Slops",feet="Gendewitha Galoshes"}
sets.Kiting = {feet="Herald's Gaiters"}
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 = {
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Vanir Cotehardie",hands="Dynasty Mitts",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Umbra Cape",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Divine Caress'] = {hands="Orison Mitts +2",back="Mending Cape"}
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)
if map == 'Cure' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
if map == 'Curaga' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
end
function job_precast(spell, action, spellMap, eventArgs)
if spell.english == "Paralyna" and buffactive.Paralyzed then
eventArgs.handled = true
end
if spell.skill == 'Healing Magic' then
gear.default.obi_back = "Mending Cape"
else
gear.default.obi_back = "Toro Cape"
end
end
function job_precast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
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
-- Return true if we handled the aftercast work. Otherwise it will fall back
-- to the general aftercast() code in Mote-Include.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- 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
-------------------------------------------------------------------------------------------------------------------
-- 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
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- 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
-- Handle notifications of general user state change.
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
-- 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(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local meleeString = ''
if state.OffenseMode == 'Normal' then
meleeString = 'Melee: Weapons locked, '
end
add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
'Kiting: '..on_off_names[state.Kiting])
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(4, 14)
This is the actual piece of code in question: Code
function job_precast(spell, action, spellMap, eventArgs)
if map == 'Cure' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
if map == 'Curaga' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
end
Server: Sylph
Game: FFXI
Posts: 51
By Sylph.Parshias 2016-03-14 17:12:31
I know this is generally more of a coding help thread, but has anyone ever had an issue with gearswap where it won't recognize your gear?
When I load my COR lua, and run //gs validate afterward, it tells me I am missing my Pixie Hairpin +1, but my hairpin is sitting in my inventory. Since GS doesn't realize this piece of gear is there, it doesn't equip it when needed. It also doesn't recognize my AF3 body.
The bizarre thing is that this only happens with my COR lua. I use Pixie Hairpin +1 for BLM GEO and BLU, and its always recognized when I load up those jobs.
Fenrir.Caiir
VIP
Server: Fenrir
Game: FFXI
Posts: 199
By Fenrir.Caiir 2016-03-14 17:30:34
This is the actual piece of code in question: Code
function job_precast(spell, action, spellMap, eventArgs)
if map == 'Cure' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
if map == 'Curaga' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
end
"map", line 3 and line 8, is an undeclared variable and holds a default value of nil. nil will never match "Cure" or "Curaga". Maybe you're looking for spellMap? Not even sure what that is.
Asura.Cair
VIP
Server: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-03-14 17:32:23
I know this is generally more of a coding help thread, but has anyone ever had an issue with gearswap where it won't recognize your gear?
When I load my COR lua, and run //gs validate afterward, it tells me I am missing my Pixie Hairpin +1, but my hairpin is sitting in my inventory. Since GS doesn't realize this piece of gear is there, it doesn't equip it when needed. It also doesn't recognize my AF3 body.
The bizarre thing is that this only happens with my COR lua. I use Pixie Hairpin +1 for BLM GEO and BLU, and its always recognized when I load up those jobs.
If you copy and paste your gear from some sources, they may use different unicode characters to represent things like spaces, apostrophes, etc.. Try typing your gear directly.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-14 17:47:47
I know this is generally more of a coding help thread, but has anyone ever had an issue with gearswap where it won't recognize your gear?
When I load my COR lua, and run //gs validate afterward, it tells me I am missing my Pixie Hairpin +1, but my hairpin is sitting in my inventory. Since GS doesn't realize this piece of gear is there, it doesn't equip it when needed. It also doesn't recognize my AF3 body.
The bizarre thing is that this only happens with my COR lua. I use Pixie Hairpin +1 for BLM GEO and BLU, and its always recognized when I load up those jobs. Can you paste your COR.lua please?
By cocl 2016-03-14 17:54:35
This is the actual piece of code in question: Code
function job_precast(spell, action, spellMap, eventArgs)
if map == 'Cure' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
if map == 'Curaga' and player.sub_job == "SCH" and not buffactive.Aurorastorm then
add_to_chat(123,'Aurorastorm not active.')
windower.play_sound(windower.addon_path..'wav/Chime.wav')
end
end
"map", line 3 and line 8, is an undeclared variable and holds a default value of nil. nil will never match "Cure" or "Curaga". Maybe you're looking for spellMap? Not even sure what that is.
To be fair, all I did was copy and paste the code and it didn't work. I change it to spellMap and have Code Cures = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'} under function user_setup() but it's still not working.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-14 18:03:11
Timers can flash an xx amount of times, notifying you a buff is off. Also, you can use your eyes to check your buff icons and see it's off too.
If you want to use the former, change the <BuffsFlashDuration> in the timers.xml file to whatever seconds you want it to flash.
Edit: Why not just create a timer in your lua for it? Find out the duration of your storm spell and write it in the job_aftercast section.
Code if spell.english == 'Aurorastorm' then
send_command('@wait xx;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
end
Server: Sylph
Game: FFXI
Posts: 51
By Sylph.Parshias 2016-03-14 18:04:47
Bismarck.Speedyjim said: »I know this is generally more of a coding help thread, but has anyone ever had an issue with gearswap where it won't recognize your gear?
When I load my COR lua, and run //gs validate afterward, it tells me I am missing my Pixie Hairpin +1, but my hairpin is sitting in my inventory. Since GS doesn't realize this piece of gear is there, it doesn't equip it when needed. It also doesn't recognize my AF3 body.
The bizarre thing is that this only happens with my COR lua. I use Pixie Hairpin +1 for BLM GEO and BLU, and its always recognized when I load up those jobs. Can you paste your COR.lua please?
I retyped all instance of Pixie Hairpin +1, and that one got fixed, but retyping everything didn't do anything for my AF3 body. Here's every time I reference it:
Code sets.precast.JA['Triple Shot'] = {body="Chasseur's Frac +1"}
Code sets.precast.CorsairRoll["Tactician's Roll"] = set_combine(sets.precast.CorsairRoll, {body="Chasseur's Frac +1"})
Code sets.midcast.RA.TS = {ammo=gear.RAbullet,
head="Chass. Tricorne +1",neck="Marked Gorget",ear1="Volley Earring",ear2="Telos Earring",
body="Chasseur's Frac +1",hands={name="Herculean Gloves",augments={'Rng.Acc.+27','AGI+6',}},
ring1="Cacoethic Ring +1",ring2="Hajduk Ring",back="Gunslinger's Cape",waist="Aquiline Belt",
legs={name="Herculean Trousers",augments={'Rng.Acc.+24 Rng.Atk.+24','Weapon skill damage +1%','Rng.Acc.+11',}},
feet={name="Herculean Boots",augments={'Rng.Acc.+22 Rng.Atk.+22','Enmity-1','DEX+6','Rng.Acc.+15','Rng.Atk.+8',}}}
Code sets.buff['Triple Shot'] = {body="Chasseur's Frac +1"}
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-14 18:09:36
I know that's how the piece is spelled, but is it the same in game? Could SE have made a mistake on the spelling?
Server: Sylph
Game: FFXI
Posts: 51
By Sylph.Parshias 2016-03-14 18:14:19
Bismarck.Speedyjim said: »I know that's how the piece is spelled, but is it the same in game? Could SE have made a mistake on the spelling?
The spelling wasn't off, but I just put it on and did a //gs export and copied what I got out of that file and it worked.
Server: Asura
Game: FFXI
Posts: 24
By Asura.Kareman 2016-03-14 18:24:27
Can I assign a button, let's say F.
So that when I press it I go into -dt mode and if I press it again I go into TP mode?
Right now f9-f12 does all that, I'd like something a little closer so to say.
By cocl 2016-03-14 18:37:34
Bismarck.Speedyjim said: »Timers can flash an xx amount of times, notifying you a buff is off. Also, you can use your eyes to check your buff icons and see it's off too.
If you want to use the former, change the <BuffsFlashDuration> in the timers.xml file to whatever seconds you want it to flash.
Edit: Why not just create a timer in your lua for it? Find out the duration of your storm spell and write it in the job_aftercast section.
Code if spell.english == 'Aurorastorm' then
send_command('@wait xx;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
end
I realize you can do that. I was going to use it mainly on my whm mule and since i have the same GS for both my main and mule, i figured why not just use it for both. Would just make using aurorastorm a bit easier, but now i'm seeing it's not really worth the effort anymore.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-03-14 19:04:06
Bismarck.Speedyjim said: »I know that's how the piece is spelled, but is it the same in game? Could SE have made a mistake on the spelling?
The spelling wasn't off, but I just put it on and did a //gs export and copied what I got out of that file and it worked. So was is spelled differently?
Can I assign a button, let's say F.
So that when I press it I go into -dt mode and if I press it again I go into TP mode?
Right now f9-f12 does all that, I'd like something a little closer so to say. You can but why would you want to go into dt mode every time you spell a word with the letter F in it?
Asura.Cair
VIP
Server: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-03-14 20:24:45
To be fair, all I did was copy and paste the code and it didn't work. I change it to spellMap and have Code Cures = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'} under function user_setup() but it's still not working.
Well then you probably want if spellMap == Cures or something like that. I've never used Motes, honestly, so I don't know where those variables go. :s When in doubt, print() your variables.
Server: Asura
Game: FFXI
Posts: 24
By Asura.Kareman 2016-03-15 01:40:44
Bismarck.Speedyjim said: »Asura.Kareman said: ยป
Can I assign a button, let's say F.
So that when I press it I go into -dt mode and if I press it again I go into TP mode?
Right now f9-f12 does all that, I'd like something a little closer so to say. Bismarck.Speedyjim said: »You can but why would you want to go into dt mode every time you spell a word with the letter F in it?
I do not want that! Is there any way around it?
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.
|
|