|
Gearswap Support Thread
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-05-02 04:11:44
Hey guys.
I use Motenten's gearswap as a base..
I was wondering if there's an easy way to code in a piece some gear depending on songs for certain TP sets?
Basically..
under sets.engaged={} , I would have something like "left_ear=gear.BardSong1" if Bard Songs were active?
shameless bump ^^; This is possible - it's how motes handles the elemental obi.
I don't use/have experience with Motenten's files, but in motes you have a bunch of set customising functions, such as customize_melee_set, that allows you to add set logic. As an example, you can equip a specific set for Honor March like this:
Code
function customize_melee_set(meleeSet)
if buffactive['Honor March'] and meleeSet.march then
meleeSet = meleeSet.march
end
-- other conditions here...
return meleeSet
end
Asura.Keja
サーバ: Asura
Game: FFXI
Posts: 50
By Asura.Keja 2020-05-03 20:28:34
[+]
サーバ: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2020-05-07 14:55:42
Trying to figure out how to equip gear that enhances holy water, when i use holy water from the menue, not a macro. Possible?
If it cant be done with gs, can it be done with react?
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-05-07 15:31:51
Unless something changed in the past couple years, no - assuming this is still the answer: https://www.ffxiah.com/forum/topic/41580/gearswap-support-thread/136/#3344223
The conversation following that answer does suggest options though so worth checking out.
サーバ: Asura
Game: FFXI
Posts: 2
By Asura.Chrillix 2020-05-22 12:33:07
Hello! (Long time observer, first time poster!)
I'm attempting to have GS equip my Councilor's Garb automatically when I enter an Adoulin Zone. I've got it to the point where if I update my status (cyclying TH Mode for example), the garb will equip. However, it won't just automatically happen on zone change.
I'm using Byrth's set of files to start from.
In Mote-Mappings.lua I added the following line: Code areas.AdoulinCity = S{'Eastern Adoulin','Western Adoulin','Mog Garden','Celennia Memorial Library'}
In my THF.lua I have the following: Code function customize_idle_set(idleSet)
if player.hpp < 80 then
idleSet = set_combine(idleSet, sets.ExtraRegen)
end
if areas.AdoulinCity:contains(world.area) then
idleSet = set_combine(idleSet, {body="Councilor's Garb"})
end
return idleSet
end
Any suggestions? Also is there a better file I could put this under so it occurs not just when I'm on THF?
Thanks!
By militades 2020-05-24 21:57:01
Just realized this is a sticky post and all the gearswap questions come here, copying my query post I made and pasting it here
Hi All,
Not sure if this question has been asked before, if there is something similar and I didn't see it, you can refer me to that thread. I'm no programmer so I'm struggling to alter the lua I ripped of the internet to do the following: -
1. Change weapon based on keystroke
This is what I added not sure what I am doing wrong (bold are what I added)
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
end
function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'HP', 'Reraise', 'Charm')
state.MagicalDefenseMode:options('MDT', 'HP', 'Reraise', 'Charm')
state.ExtraDefenseMode = M{['description']='Extra Defense Mode', 'None', 'MP', 'Knockback', 'MP_Knockback'}
state.CombatWeapon = M('KOTR','Savage')
state.EquipShield = M(false, 'Equip Shield w/Defense')
update_defense_mode()
-- Allows the use of Ctrl + ~ and Alt + ~ for 2 more macros of your choice.
send_command('bind !` input /ja "Intervene" <stnpc>') --Ctrl'~'
send_command('bind ^` input /ja "Invincible" <me>') --Alt'~'
send_command('bind ^f11 gs c cycle MagicalDefenseMode') --^ means ctrl
send_command('bind !f11 gs c cycle ExtraDefenseMode') -- ! means alt
send_command('bind @f1 gs c cycle CombatWeapon')
send_command('bind @f10 gs c toggle EquipShield') --@ means windows button
send_command('bind @f11 gs c toggle EquipShield')
select_default_macro_book()
end
function init_gear_sets()
--------------------------------------
-- Weapons
--------------------------------------
sets.weapon = {}
sets.weapon.KOTR = {main="Excalibur",}
sets.weapon.Savage = {main="Kaja Sword",}
end
-- Equip Weapon
function equip_weapon(weaponSet)
if state.weapon.value ~= 'KOTR' then
equip(sets.weapon.KOTR)
end
if state.weapon.value ~= 'Savage' then
equip(sets.weapon.Savage)
end
return weaponSet
end
Any help is greatly appreciated
My lua file if anyone needs it to see what went wrong
-------------------------------------------------------------------------------------------------------------------
-- 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.Sentinel = buffactive.sentinel or false
state.Buff.Cover = buffactive.cover or false
state.Buff.Doom = buffactive.Doom or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'HP', 'Reraise', 'Charm')
state.MagicalDefenseMode:options('MDT', 'HP', 'Reraise', 'Charm')
state.ExtraDefenseMode = M{['description']='Extra Defense Mode', 'None', 'MP', 'Knockback', 'MP_Knockback'}
state.CombatWeapon = M('KOTR','Savage')
state.EquipShield = M(false, 'Equip Shield w/Defense')
update_defense_mode()
-- Allows the use of Ctrl + ~ and Alt + ~ for 2 more macros of your choice.
send_command('bind !` input /ja "Intervene" <stnpc>') --Ctrl'~'
send_command('bind ^` input /ja "Invincible" <me>') --Alt'~'
send_command('bind ^f11 gs c cycle MagicalDefenseMode') --^ means ctrl
send_command('bind !f11 gs c cycle ExtraDefenseMode') -- ! means alt
send_command('bind @f1 gs c cycle CombatWeapon')
send_command('bind @f10 gs c toggle EquipShield') --@ means windows button
send_command('bind @f11 gs c toggle EquipShield')
select_default_macro_book()
end
function user_unload()
send_command('unbind ^f11')
send_command('unbind !f11')
send_command('unbind @f10')
send_command('unbind @f11')
send_command('unbind @f1')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Enmity sets
--------------------------------------
-- Extra Full Enmity sets. Apply these on top of melee or defense sets.
sets.Enmity = {
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Moonlight Necklace",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Cab. Gauntlets +2", augments={'Enhances "Chivalry" effect',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
back={ name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Damage taken-5%',}},
left_ring="Provocare Ring",
right_ring="Eihwaz Ring",
}
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs
sets.precast.JA = sets.Enmity
sets.precast.JA['Invincible'] = set_combine(sets.Enmity, {legs={ name="Cab. Breeches +2", augments={'Enhances "Invincible" effect',}},})
sets.precast.JA['Holy Circle'] = set_combine(sets.Enmity, {feet={ name="Cab. Leggings +2", augments={'Enhances "Guardian" effect',}},})
sets.precast.JA['Shield Bash'] = set_combine(sets.Enmity, {hands={ name="Cab. Gauntlets +2", augments={'Enhances "Chivalry" effect',}},left_ear="Knightly Earring",})
sets.precast.JA['Sentinel'] = set_combine(sets.Enmity, {feet={ name="Cab. Leggings +2", augments={'Enhances "Guardian" effect',}},})
sets.precast.JA['Rampart'] = set_combine(sets.Enmity, {head={ name="Cab. Coronet +2", augments={'Enhances "Iron Will" effect',}},})
sets.precast.JA['Fealty'] = set_combine(sets.Enmity, {body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},})
sets.precast.JA['Divine Emblem'] = set_combine(sets.Enmity, {feet={ name="Cab. Leggings +2", augments={'Enhances "Guardian" effect',}},})
sets.precast.JA['Cover'] = set_combine(sets.Enmity, {body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},})
-- add mnd for Chivalry
sets.precast.JA['Chivalry'] = set_combine(sets.Enmity,
{
head="Caballarius Coronet +2",
body="Caballarius Surcoat +1",
hands="Caballarius Gauntlets +1",
legs="Caballarius Breeches +2",
feet="Caballarius Leggings +1",
left_ring="Star Ring",
right_ring="Star Ring",
})
-- Fast cast sets for spells
sets.precast.FC =
{
ammo="Incantor Stone",
head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
feet={ name="Odyssean Greaves", augments={'Pet: Attack+30 Pet: Rng.Atk.+30','Chance of successful block +2','"Fast Cast"+3','Mag. Acc.+12 "Mag.Atk.Bns."+12',}},
right_ear="Enchntr. Earring +1",
left_ear="Loquac. Earring",
left_ring="Prolix Ring",
back={ name="Rudianos's Mantle", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','"Fast Cast"+10','Spell interruption rate down-10%',}},
}
sets.precast.FC['Enhancing Magic'] = sets.precast.FC
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
left_ear="Zwazo Earring",
neck="Sanctity Necklace",
body="Sulevia's Plate. +2",
feet="Sulev. Leggings +2",
waist="Caudata Belt",
back={ name="Rudianos's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Acc = {
left_ear="Zwazo Earring",
neck="Sanctity Necklace",
body="Sulevia's Plate. +2",
feet="Sulev. Leggings +2",
waist="Caudata Belt",
back={ name="Rudianos's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS,
{
neck={ name="Kgt. Beads +2", augments={'Path: A',}},
waist="Soil Belt",
})
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS.Acc,
{
neck={ name="Kgt. Beads +2", augments={'Path: A',}},
waist="Soil Belt",
})
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ring1="Leviathan Ring",ring2="Aquasoul Ring"})
sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS.Acc, {ring1="Leviathan Ring"})
sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {hands="Buremte Gloves",waist="Zoran's Belt"})
sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS.Acc, {waist="Zoran's Belt"})
sets.precast.WS['Sanguine Blade'] =
{
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Moonlight Necklace",
body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +2", augments={'Enhances "Chivalry" effect',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
back="Moonlight Cape",
}
sets.precast.WS['Atonement'] = {ammo="Iron Gobbet",
head="Reverence Coronet +1",neck=gear.ElementalGorget,ear1="Creed Earring",ear2="Steelflash Earring",
body="Reverence Surcoat +1",hands="Reverence Gauntlets +1",ring1="Rajas Ring",ring2="Vexer Ring",
back="Fierabras's Mantle",waist=gear.ElementalBelt,legs="Reverence Breeches +1",feet="Caballarius Leggings"}
--------------------------------------
-- Midcast sets
--------------------------------------
sets.midcast.FastRecast = {
ammo="Staunch Tathlum +1",
left_ear="Knightly Earring",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Moonlight Necklace",
legs={ name="Cab. Breeches +2", augments={'Enhances "Invincible" effect',}},
feet={ name="Odyssean Greaves", augments={'Pet: Attack+30 Pet: Rng.Atk.+30','Chance of successful block +2','"Fast Cast"+3','Mag. Acc.+12 "Mag.Atk.Bns."+12',}},
back={ name="Rudianos's Mantle", augments={'MND+20','Eva.+20 /Mag. Eva.+20','MND+10','"Fast Cast"+10','Spell interruption rate down-10%',}},
}
sets.midcast.Flash = set_combine(sets.Enmity, sets.midcast.FastRecast,
{
right_ear="Beatific Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring +1",
})
sets.midcast.Stun = sets.midcast.Flash
sets.midcast.Cure = set_combine(sets.Enmity,sets.midcast.FastRecast,{
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Odyssean Greaves", augments={'Pet: Attack+30 Pet: Rng.Atk.+30','Chance of successful block +2','"Fast Cast"+3','Mag. Acc.+12 "Mag.Atk.Bns."+12',}},
right_ear="Beatific Earring",
right_ring="Stikini Ring +1",
left_ring="Stikini Ring +1",
waist="Chuq'aba Belt",
})
sets.midcast['Enhancing Magic'] = set_combine(sets.Enmity,sets.midcast.FastRecast,{
right_ear="Beatific Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring +1",
})
sets.midcast.Protect = {right_ring="Sheltered Ring", left_ring="Stikini Ring +1",head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},}
sets.midcast.Shell = {right_ring="Sheltered Ring", left_ring="Stikini Ring +1",head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},}
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
sets.Reraise = {}
sets.resting = {
neck="Coatl Gorget +1",
body="Vermillion Cloak",
left_ring="Star Ring",
right_ring="Star Ring",
}
sets.fashion = {
main="Excalibur",
sub="Ochain",
ammo="Staunch Tathlum +1",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Moonlight Necklace",
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Coatl Gorget +1",
waist="Chuq'aba Belt",
left_ear="Upsurge Earring",
right_ear="Impreg. Earring",
left_ring="Stikini Ring +1",
right_ring="Stikini Ring +1",
back="Aptitude Mantle +1",
}
-- Idle sets
sets.idle = {
main="Kaja Sword",
ammo="Staunch Tathlum +1",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Coatl Gorget +1",
waist="Chuq'aba Belt",
left_ear="Upsurge Earring",
right_ear="Impreg. Earring",
left_ring="Stikini Ring +1", -- Magic skill +8 Refresh +1
right_ring="Stikini Ring +1", -- Magic skill +8 Refresh +1
back="Aptitude Mantle +1",
}
sets.idle.Town = {
main="Kaja Sword",
sub="Ochain",
ammo="Staunch Tathlum +1",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Coatl Gorget +1",
waist="Chuq'aba Belt",
left_ear="Upsurge Earring",
right_ear="Impreg. Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.idle.Weak = {
main="Kaja Sword",
ammo="Staunch Tathlum +1",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck="Coatl Gorget +1",
waist="Chuq'aba Belt",
left_ear="Upsurge Earring",
right_ear="Impreg. Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.idle.Weak.Reraise = set_combine(sets.idle.Weak, sets.Reraise)
sets.Kiting = {}
sets.latent_refresh = {}
--------------------------------------
-- Defense sets
--------------------------------------
-- Extra defense sets. Apply these on top of melee or defense sets.
sets.Knockback = {}
sets.MP = {}
sets.MP_Knockback = {}
-- If EquipShield toggle is on (Win+F10 or Win+F11), equip the weapon/shield combos here
-- when activating or changing defense mode:
sets.PhysicalShield = {sub="Ochain",} -- Ochain
sets.MagicalShield = {sub="Aegis",} -- Aegis
-- Basic defense sets.
sets.defense.PDT = {
neck={ name="Kgt. Beads +2", augments={'Path: A',}},
head={ name="Cab. Coronet +2", augments={'Enhances "Iron Will" effect',}},
body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +2", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +2", augments={'Enhances "Invincible" effect',}},
feet={ name="Cab. Leggings +2", augments={'Enhances "Guardian" effect',}},
back={ name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Damage taken-5%',}},
waist="Flume Belt +1",
left_ring="Provocare Ring",
right_ring="Eihwaz Ring",
}
sets.defense.HP = {
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
neck={ name="Kgt. Beads +2", augments={'Path: A',}},
body={ name="Souv. Cuirass +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
back={ name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Damage taken-5%',}},
waist="Flume Belt +1",
left_ring="Provocare Ring",
right_ring="Eihwaz Ring",
}
sets.defense.Reraise = {}
sets.defense.Charm = {}
sets.defense.Capacity = {
back="Aptitude Mantle +1",
}
-- To cap MDT with Shell IV (52/256), need 76/256 in gear.
-- Shellra V can provide 75/256, which would need another 53/256 in gear.
sets.defense.MDT = {sub="Aegis",}
--------------------------------------
-- Weapons
--------------------------------------
sets.weapon = {}
sets.weapon.KOTR = {main="Excalibur",}
sets.weapon.Savage = {main="Kaja Sword",}
--------------------------------------
-- Engaged sets
--------------------------------------
sets.engaged = {
ammo="Aurgelmir Orb +1",
head="Sulevia's Mask +1",
body="Sulevia's Plate. +2",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Sanctity Necklace",
waist="Tempus Fugit +1",
left_ear="Mache Earring +1",
right_ear="Balder Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.engaged.Acc = {
ammo="Aurgelmir Orb +1",
head="Sulevia's Mask +1",
body="Sulevia's Plate. +2",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Sanctity Necklace",
waist="Tempus Fugit +1",
left_ear="Mache Earring +1",
right_ear="Balder Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.engaged.DW = {
main="Kaja Sword",
main="Iztaasu +2",
head="Sulevia's Mask +1",
body="Sulevia's Plate. +2",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Moonlight Necklace",
waist="Tempus Fugit +1",
left_ear="Mache Earring +1",
right_ear="Balder Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.engaged.DW.Acc = {
main="Kaja Sword",
main="Iztaasu +2",
head="Sulevia's Mask +1",
body="Sulevia's Plate. +2",
hands="Sulev. Gauntlets +2",
legs="Sulev. Cuisses +2",
feet="Sulev. Leggings +2",
neck="Moonlight Necklace",
waist="Tempus Fugit +1",
left_ear="Mache Earring +1",
right_ear="Balder Earring",
left_ring="Moonlight Ring",
right_ring="Moonlight Ring",
back="Aptitude Mantle +1",
}
sets.engaged.PDT = set_combine(sets.engaged, {
neck="Unmoving Collar",
head={ name="Souv. Schaller +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},
hands={ name="Souv. Handsch. +1", augments={'HP+65','Shield skill +15','Phys. dmg. taken -4',}},
legs={ name="Souv. Diechlings +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
feet={ name="Souveran Schuhs +1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
back={ name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Damage taken-5%',}},
waist="Flume Belt +1",
})
sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, {
neck="Unmoving Collar",
head={ name="Cab. Coronet +2", augments={'Enhances "Iron Will" effect',}},
body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},
hands={ name="Cab. Gauntlets +2", augments={'Enhances "Chivalry" effect',}},
legs={ name="Cab. Breeches +2", augments={'Enhances "Invincible" effect',}},
feet={ name="Cab. Leggings +2", augments={'Enhances "Guardian" effect',}},
back={ name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Damage taken-5%',}},
waist="Flume Belt +1",
})
sets.engaged.Reraise = set_combine(sets.engaged, sets.Reraise)
sets.engaged.Acc.Reraise = set_combine(sets.engaged.Acc, sets.Reraise)
sets.engaged.DW.PDT = set_combine(sets.engaged.DW, {})
sets.engaged.DW.Acc.PDT = set_combine(sets.engaged.DW.Acc, {})
sets.engaged.DW.Reraise = set_combine(sets.engaged.DW, sets.Reraise)
sets.engaged.DW.Acc.Reraise = set_combine(sets.engaged.DW.Acc, sets.Reraise)
--------------------------------------
-- Custom buff sets
--------------------------------------
sets.buff.Doom = {}
sets.buff.Cover = {body={ name="Cab. Surcoat +2", augments={'Enhances "Fealty" effect',}},}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
function job_midcast(spell, action, spellMap, eventArgs)
-- If DefenseMode is active, apply that gear over midcast
-- choices. Precast is allowed through for fast cast on
-- spells, but we want to return to def gear before there's
-- time for anything to hit us.
-- Exclude Job Abilities from this restriction, as we probably want
-- the enhanced effect of whatever item of gear applies to them,
-- and only one item should be swapped out.
if state.DefenseMode.value ~= 'None' and spell.type ~= 'JobAbility' then
handle_equipping_gear(player.status)
eventArgs.handled = true
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_state_change(field, new_value, old_value)
classes.CustomDefenseGroups:clear()
classes.CustomDefenseGroups:append(state.ExtraDefenseMode.current)
if state.EquipShield.value == true then
classes.CustomDefenseGroups:append(state.DefenseMode.current .. 'Shield')
end
classes.CustomMeleeGroups:clear()
classes.CustomMeleeGroups:append(state.ExtraDefenseMode.current)
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- 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_defense_mode()
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
if state.Buff.Doom then
idleSet = set_combine(idleSet, sets.buff.Doom)
end
return idleSet
end
-- Equip Weapon
function equip_weapon(weaponSet)
if state.weapon.value == 'KOTR' then
equip(sets.weapon.KOTR)
end
if state.weapon.value == 'Savage' then
equip(sets.weapon.Savage)
end
return weaponSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if state.Buff.Doom then
meleeSet = set_combine(meleeSet, sets.buff.Doom)
end
return meleeSet
end
function customize_defense_set(defenseSet)
if state.ExtraDefenseMode.value ~= 'None' then
defenseSet = set_combine(defenseSet, sets[state.ExtraDefenseMode.value])
end
if state.EquipShield.value == true then
defenseSet = set_combine(defenseSet, sets[state.DefenseMode.current .. 'Shield'])
end
if state.Buff.Doom then
defenseSet = set_combine(defenseSet, sets.buff.Doom)
end
return defenseSet
end
function display_current_job_state(eventArgs)
local msg = 'Melee'
if state.CombatForm.has_value then
msg = msg .. ' (' .. state.CombatForm.value .. ')'
end
msg = msg .. ': '
msg = msg .. state.OffenseMode.value
if state.HybridMode.value ~= 'Normal' then
msg = msg .. '/' .. state.HybridMode.value
end
msg = msg .. ', WS: ' .. state.WeaponskillMode.value
if state.DefenseMode.value ~= 'None' then
msg = msg .. ', Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
end
if state.ExtraDefenseMode.value ~= 'None' then
msg = msg .. ', Extra: ' .. state.ExtraDefenseMode.value
end
if state.EquipShield.value == true then
msg = msg .. ', Force Equip Shield'
end
if state.Kiting.value == true then
msg = msg .. ', Kiting'
end
if state.PCTargetMode.value ~= 'default' then
msg = msg .. ', Target PC: '..state.PCTargetMode.value
end
if state.SelectNPCTargets.value == true then
msg = msg .. ', Target NPCs'
end
add_to_chat(122, msg)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function update_defense_mode()
if player.equipment.main == 'Kaja Sword' and not classes.CustomDefenseGroups:contains('Kheshig Blade') then
classes.CustomDefenseGroups:append('Kaja Sword')
end
if player.sub_job == 'NIN' or player.sub_job == 'DNC' then
if player.equipment.sub and not player.equipment.sub:contains('Shield') and
player.equipment.sub ~= 'Aegis' and player.equipment.sub ~= 'Ochain' then
state.CombatForm:set('DW')
else
state.CombatForm:reset()
end
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' then
set_macro_page(4, 1)
elseif player.sub_job == 'DNC' then
set_macro_page(4, 2)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 2)
else
set_macro_page(2, 2)
end
end
--[[ ******************************************************
Code that runs once, when we first swap to our PLD job
****************************************************** --]]
-- Puts on our fashion set, lockstyle it, then switch
-- to our idle set.
send_command('wait 1;gs equip fashion;wait 1;input /lockstyle on;wait 1;gs equip idle')
By Boshi 2020-05-26 20:32:36
Does anyone know a way to modify a macro where if i press one button vs another I can add a certain piece of gear to the WS (or w/e) when it fires off.
basically just trying to figure out a way where one button Rudra goes off normal, but it I press another macro it fires off but just adds in Sacro MantLe.
サーバ: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2020-05-26 21:04:32
Set up a toggle: Code state.Sacro = M(false, 'Sacro Mantle')
Create a post precast check to equip mantle if toggle is true: Code function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == "WeaponSkill" then
if state.Sacro.value == true then
equip({back="Sacro Mantle"})
state.Sacro:reset()
end
end
end
Then set up your macro like this:
Code /console gs c set Sacro true
/ws "Rudra's Storm" <t>
Or you can use a keybind:
Code send_command('bind ^YOURKEY gs c set Sacro true;input /ws "Rudra\'s Storm" <t>')
[+]
Asura.Arico
サーバ: Asura
Game: FFXI
Posts: 535
By Asura.Arico 2020-05-26 21:08:20
Does anyone know a way to modify a macro where if i press one button vs another I can add a certain piece of gear to the WS (or w/e) when it fires off.
basically just trying to figure out a way where one button Rudra goes off normal, but it I press another macro it fires off but just adds in Sacro MantLe.
The best way would be to not use a macro, but program into your gearswap the situations you want the Sacro mantle, and have it swap accordingly.
Otherwise you could make a toggle for using sacro mantle for rudras and add that to your macro. If you want to post your whole gearswap I can probably add it for you.
By Boshi 2020-05-26 22:11:14
Set up a toggle: Code state.Sacro = M(false, 'Sacro Mantle')
Create a post precast check to equip mantle if toggle is true: Code function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == "WeaponSkill" then
if state.Sacro.value == true then
equip({back="Sacro Mantle"})
state.Sacro:reset()
end
end
end
Then set up your macro like this:
Code /console gs c set Sacro true
/ws "Rudra's Storm" <t>
Or you can use a keybind:
Code send_command('bind ^YOURKEY gs c set Sacro true;input /ws "Rudra\'s Storm" <t>')
Thanks! ill try it when i get on, tyvm
By Thornhill21 2020-06-03 11:37:41
Hi everyone, recently returned to Final Fantasy after 10+ years away. I have leveled and somewhat geared my Sch, but keep getting bad GS Luas off the internet ; ; i would like a completely automated GS Sch Lua, the closest one i have is added below. but i keep getting 2 errors! one is related to aftercast and the other is related to SoloSC. i know nothing about coding unfortunately and i have had enough after 3 weeks of trying to get a Lua working and keep failing please help!!
gearswap-scholarFFxi-master\SCH.lua from Github
not sure how to post it like others have in the thread sorry.
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-06-04 05:38:16
Hi everyone, recently returned to Final Fantasy after 10+ years away. I have leveled and somewhat geared my Sch, but keep getting bad GS Luas off the internet ; ; i would like a completely automated GS Sch Lua, the closest one i have is added below. but i keep getting 2 errors! one is related to aftercast and the other is related to SoloSC. i know nothing about coding unfortunately and i have had enough after 3 weeks of trying to get a Lua working and keep failing please help!!
gearswap-scholarFFxi-master\SCH.lua from Github
not sure how to post it like others have in the thread sorry. Do you have the link to it?
When you say completely automated, it sounds more like a bot - what is it you're looking for Gearswap to automate?
Bahamut.Sephiran
サーバ: Bahamut
Game: FFXI
Posts: 40
By Bahamut.Sephiran 2020-06-10 09:02:59
This is a very general question. Is the equip(...) user function executed synchronously? There certain cases where I have macros in that execute self-commands for WS's under special circumstances that can't really fall into processing done in precast and I'd like to know if I need to call user_sleep(delay) after calling equip(...) to give the system time to actually swap my equipment before executing the next command in sequence.
As an example, the macro: Code
/console gs c ExampleCommand
And the code behind the command: Code
function self_command(command)
if command == "ExampleCommand"
equip(sets.set1)
send_command('input /ws "Fast Blade" <t>"')
equip(sets.set2)
end
end
Could Fast Blade possibly execute if the logic going on in equip(sets.set1) is still actively "working" to equip the contents of set1? Or could set2 begin equipping before Fast Blade is executed?
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-06-12 06:00:36
Using Motenten's gearswap for PLD, which is working fine except for I have no swaps at all happening for Enlight II. It's the only spell not doing any swapping and I don't have any specific set for it defined, but I would still expect to be equipping my fast cast gear for it at least.
Anyone have any ideas where I should look to try to fix this? I checked his mappings file but it's listed there, and in his utility file it equips precast.FC for anything classified as "Magic", but I can't figure out where that mapping lives. Using //gs debugmode shows zero events firing when casting Enlight II, but all the ones I would expect for Enlight.
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-06-15 14:02:10
Figured out the issue.
If you're not using the shortcuts addon, wrapping your spell names in single quotes seems to prevent gearswap from parsing the action properly, and no events fire as a result (which means nothing is triggering a gear swap).
/ma "Enlight II" <me> will work fine
/ma 'Enlight II' <me> will break gearswap, even though it's legal syntax for a spell command in vanilla.
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-06-16 19:00:36
I'm no expert on the inner-workings of GS, but I'm pretty sure it reads outgoing/incoming packets to make decisions. I'd be interested to see how the quotes made any difference.
Could you share your file?
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-06-16 21:21:01
My PLD lua is just the standard template from Motenten's github, slightly modified with my gear plugged in mostly.
It does have to read the text buffer to do things though. Byrth posted a bit on why it was happening in the BG gearswap help thread:
Quote: So, when you use a spell from the magic menu, it actually creates a text command and sends it to the outgoing text buffer as if you had typed it.
GearSwap was intended to parse exactly that syntax, which uses double quotes (and is well defined).
Shortcuts was the one that was supposed to handle converting every other command format to the standard input format.
Arguably Shortcuts should only touch invalid commands and GearSwap should interpret any commands that the game would interpret, but that isn't how it was designed (and there isn't a description of what commands the vanilla game can interpret).
[+]
By Jetackuu 2020-06-16 22:07:51
pretty sure you have to escape quotes, who uses single quotes in game?
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-06-18 16:13:05
Using /item requires single quotes I believe.
Ragnarok.Martel
サーバ: Ragnarok
Game: FFXI
Posts: 2973
By Ragnarok.Martel 2020-06-18 17:01:54
Using /item requires single quotes I believe. I've never used single quotes for an item command, even before shortcuts, gearswap, and even spellcast.
So that can't possibly be an FFXI requirement. It could maybe be relevant if you're using gearswap, but not using shortcuts? I'd have to test. But seriously, just load shortcuts.
[+]
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-06-18 19:23:39
Yeah I already have it all sorted. Just didn't want to be one of those people with an obscure problem and the next poor sap to run into it only finds a "yup, I figured it out" and gets blue-ball'd with no solution.
It's just that the cause and solution turned into a discussion of why I was doing it that way originally, to which I can only answer "because it worked," until it didn't.
Bahamut.Leonof
サーバ: Bahamut
Game: FFXI
Posts: 32
By Bahamut.Leonof 2020-06-27 05:45:56
Anyone know what im doing wrong.
When i cast a geo/indi spell its giving the wrong value for the spell, ie indi str giving 33 str.
When i unload gearswap and just equip my geo/indi set it gives the correct value 35 str.
Code
-- 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()
indi_timer = ''
indi_duration = 180
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
gear.default.weaponskill_waist = "Windbuffet Belt +1"
select_default_macro_book()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Precast sets
--------------------------------------
-- Precast sets to enhance JAs-
sets.precast.JA.Bolster = {body="Bagua Tunic +1"}
sets.precast.JA['Life cycle'] = {body="Geomancy Tunic +1",back="Nantosuelta's Cape"}
sets.precast.JA['Full Circle'] = {head="Azimuth Hood +1"}
sets.precast.JA['Curative Recantation'] = {hands="Bagua Mitaines +1"}
sets.precast.JA['Mending Halation'] = {legs="Bagua Pants +1"}
sets.precast.JA['Radial Arcana'] = {feet="Bagua Sandals +1"}
-- Fast cast sets for spells
sets.precast.FC = {
main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
body="Geo. Tunic +1",
hands="Geo. Mitaines +1",
legs="Geo. Pants +1",
feet="Regal Pumps +1",
neck="Voltsurge Torque",
waist="Austerity Belt",
left_ear="Loquac. Earring",
right_ear="Etiolation Earring",
left_ring="Kishar Ring",
right_ring="Defending Ring",
back={ name="Lifestream Cape", augments={'Geomancy Skill +10','Indi. eff. dur. +13','Pet: Damage taken -3%',}},
}
--Includes not gotten
--sets.precast.FC.Cure = set_combine(sets.precast.FC, {main="Tamaxchi",sub="Genbu's Shield",body="Heka's Kalasiris",back="Pahtli Cape",legs="Doyen Pants",feet="Vanya Clogs"})
--sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal",hands="Bagua Mitaines +1",ear1="Barkarole earring"})
--sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Nahtirah Hat",
neck="Fotia Gorget",
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="Hagondes Pants",
feet="Hagondes Sabots"
}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Flash Nova'] = {ammo="Dosis Tathlum",
head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Acumen Ring",ring2="Strendu Ring",
back="Toro Cape",waist="Snow Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.precast.WS['Starlight'] = {ear2="Moonshade Earring"}
sets.precast.WS['Moonlight'] = {ear2="Moonshade Earring"}
--------------------------------------
-- Midcast sets
--------------------------------------
-- Base fast recast for spells
sets.midcast.FastRecast = {
hands="Bagua Mitaines +1",
back="Lifestream Cape",
waist="Ninurta's Sash",
legs="Assiduity Pants +1",
feet="Azimuth Gaiters +1"
}
sets.midcast.Geomancy = {
main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
hands="Geo. Mitaines +1",
legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
feet="Regal Pumps +1",
neck="Incanter's Torque",
waist="Austerity Belt",
left_ear="Loquac. Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Lifestream Cape"
}
sets.midcast.Geomancy.Indi = {
main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
hands="Geo. Mitaines +1",
legs={ name="Bagua Pants +1", augments={'Enhances "Mending Halation" effect',}},
feet="Azimuth Gaiters +1",
neck="Incanter's Torque",
waist="Austerity Belt",
left_ear="Loquac. Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Lifestream Cape"
}
sets.midcast.Cure = {
main="Gada",
sub="Genbu Shield",
head="Vanya Hood",
neck="Incanter's Torque",
body="Heka's Kalasiris",
hands="Vanya Cuffs",
left_ring="Haoma's Ring",
right_ring="Sirona's Ring",
back="Solemnity Cape",
legs="Gyve Trousers",
feet="Vanya Clogs"
}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.Protectra = {ring1="Sheltered Ring"}
sets.midcast.Shellra = {ring1="Sheltered Ring"}
-- Elemental Magic sets
sets.midcast['Elemental Magic'] = {
main="Idris",
sub="Culminus",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','Magic burst mdg.+11%','INT+8','Mag. Acc.+15',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+10%','CHR+3','"Mag.Atk.Bns."+14',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+28','Magic burst mdg.+11%','Mag. Acc.+4',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
neck="Mizu. Kubikazari",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring",
right_ring="Mujin Band",
back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Elemental Magic'].Resistant = {
main="Idris",
sub="Culminus",
ammo="Pemphredo Tathlum",
head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','Magic burst mdg.+11%','INT+8','Mag. Acc.+15',}},
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+10%','CHR+3','"Mag.Atk.Bns."+14',}},
hands={ name="Amalric Gages", augments={'MP+60','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+28','Magic burst mdg.+11%','Mag. Acc.+4',}},
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
neck="Mizu. Kubikazari",
waist="Refoccilation Stone",
left_ear="Barkaro. Earring",
right_ear="Friomisi Earring",
left_ring="Shiva Ring",
right_ring="Mujin Band",
back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Culminus",
head="Amalric Coif",neck="Incanter's Torque",ear1="Barkaro Earring",ear2="Dignitary's Earring",
body="Shango Robe",hands="Lurid mitts",ring1="sangoma ring",ring2="Evanescence Ring",
back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
waist="ovate robe",legs="Azimuth Tights +1",feet="Artsieq boots"
}
sets.midcast['Enfeebling Magic'] = {main="Idris",sub="m",ammo="Dunna",
head="Befouled Crown",neck="Incanter's Torque",ear1="Barkaro Earring",ear2="Dignitary's Earring",
body="Shango Robe",hands="Azimuth Gloves +1",ring1="sangoma ring",ring2="Perception ring",
back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
waist="Yamabuki-no-Obi",legs="Psycloth Lappas",feet="Medium's Sabots"
}
sets.midcast.Drain = {
main={ name="Rubicundity", augments={'Mag. Acc.+10','"Mag.Atk.Bns."+10','Dark magic skill +10','"Conserve MP"+7',}},
sub="Culminus",
ammo="Pemphredo Tathlum",
head="Pixie Hairpin +1",
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','"Drain" and "Aspir" potency +8','Mag. Acc.+11','"Mag.Atk.Bns."+6',}},
hands="Amalric Gages",
legs="Azimuth Tights +1",
feet={ name="Merlinic Crackows", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','INT+5','Mag. Acc.+2','"Mag.Atk.Bns."+4',}},
neck="Incanter's Torque",
waist="Fucho-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Dignitary's Earring",
left_ring="Archon Ring",
right_ring="Evanescence Ring",
back={ name="Nantosuelta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast['Aspir III'] = sets.midcast.Drain
sets.midcast.Impact = { main="A",
sub="Wi",
ammo="Pemphredo Tathlum",
body="Twilight Cloak",
hands="Azimuth Gloves +1",
legs="Merlinic Shalwar",
feet="Bagua Sandals +1",
neck="Sanctity Necklace",
waist="Yamabuki-no-Obi",
left_ear="Barkaro. Earring",
right_ear="Hecate's Earring",
left_ring="Shiva Ring",
right_ring="Shiva Ring",
back="Toro Cape",}
--------------------------------------
-- Idle/resting/defense/etc sets
--------------------------------------
-- Resting sets
--[[sets.resting = {head="Befouled Crown",neck="Loricate Torque",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Austerity Belt",legs="Assiduity Pants +1",feet="Chelona Boots +1"}]]--
-- Idle sets
sets.idle = {
main="Bolelabunga",
sub="Genbu's Shield",
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body="Jhakri Robe +1",
hands={ name="Bagua Mitaines", augments={'Enhances "Curative Recantation" effect',}},
legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
feet="Geo. Sandals +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Genmei Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Solemnity Cape",
}
--[[sets.idle.PDT = {
main="Idris",sub="Genmei Shield",range="Dunna",
head="Nahtirah Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Witching Robe",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Solemnity Cape",waist="Goading Belt",legs="Assiduity Pants +1",feet="Geomancy Sandals +1"
}]]--
-- .Pet sets are for when Luopan is present.
sets.idle.Pet = {
main="Mafic Cudgel",
sub="Genbu's Shield",
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body="Jhakri Robe +1",
hands="Geo. Mitaines +1",
legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
feet={ name="Bagua Sandals +1", augments={'Enhances "Radial Arcana" effect',}},
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Genmei Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Nantosuelta's Cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Pet: "Regen"+10',}},
}
--[[sets.idle.PDT.Pet = {main="Idris",sub="Genmei Shield",range="Dunna",
head="Azimuth Hood +1",neck="Loricate Torque +1",ear1="Handler's Earring +1",ear2="Ethereal Earring",
body="Witching Robe",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2="Warden's Ring",
back="Lifestream Cape",waist="Ninurta's Sash",legs="Psycloth Lappas",feet="Azimuth Gaiters"}]]--
-- .Indi sets are for when an Indi-spell is active.
sets.idle.Indi = sets.idle
sets.idle.Pet.Indi = sets.idle.Pet
--sets.idle.PDT.Indi = set_combine(sets.idle.PDT, {head="Azimuth Hood",body="Gyve Doublet",back="Lifestream Ca",legs="Bagua Pant",feet="Azimuth Gait"})
--sets.idle.PDT.Pet.Indi = set_combine(sets.idle.PDT.Pet, {head="Azimuth Ho",body="Azimuth Co",back="Lifestream e",legs="Bagua Pan",feet="Azimuth G"})
sets.idle.Town = {
main={ name="Solstice", augments={'Mag. Acc.+20','Pet: Damage taken -4%','"Fast Cast"+5',}},
sub="Genbu's Shield",
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body={ name="Bagua Tunic +1", augments={'Enhances "Bolster" effect',}},
hands="Geo. Mitaines +1",
legs="Geo. Pants +1",
feet="Geo. Sandals +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Genmei Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Lifestream Cape", augments={'Geomancy Skill +10','Indi. eff. dur. +13','Pet: Damage taken -3%',}},
}
sets.idle.Weak = {
main="Bolelabunga",
sub="Genbu's Shield",
range={ name="Dunna", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
head="Azimuth Hood +1",
body="Jhakri Robe +1",
hands={ name="Bagua Mitaines", augments={'Enhances "Curative Recantation" effect',}},
legs={ name="Lengo Pants", augments={'INT+9','Mag. Acc.+15','"Mag.Atk.Bns."+14',}},
feet="Geo. Sandals +1",
neck="Sanctity Necklace",
waist="Eschan Stone",
left_ear="Genmei Earring",
right_ear="Etiolation Earring",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back="Solemnity Cape",
}
-- Defense sets
sets.defense.PDT = {range="Dunna",
head="Hagondes Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Solemnity Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.defense.MDT = {range="Dunna",
head="Nahtirah Hat",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Solemnity Cape",waist="Goading Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}
sets.Kiting = {feet="Geomancy Sandals +1"}
sets.latent_refresh = {waist="Fucho-no-obi"}
--------------------------------------
-- Engaged sets
--------------------------------------
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Normal melee group
sets.engaged = {main="Idris",sub="Genmei Shield",range="Dunna",
head="Befouled Crown",neck="Lissome Necklace",ear1="Cessance Earring",ear2="Brutal Earring",
body="Onca Suit",hands="Bokw",ring1="Petrov Ring",ring2="Paguroidea Ring",
back="Solemnity Cape",waist="Windbuffet Belt +1",legs="Hagond",feet="Hagondes Sabots"}
--------------------------------------
-- Custom buff sets
--------------------------------------
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if spell.english:startswith('Indi') then
if not classes.CustomIdleGroups:contains('Indi') then
classes.CustomIdleGroups:append('Indi')
end
send_command('@timers d "'..indi_timer..'"')
indi_timer = spell.english
send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
end
elseif not player.indi then
classes.CustomIdleGroups:clear()
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 player.indi and not classes.CustomIdleGroups:contains('Indi')then
classes.CustomIdleGroups:append('Indi')
handle_equipping_gear(player.status)
elseif classes.CustomIdleGroups:contains('Indi') and not player.indi then
classes.CustomIdleGroups:clear()
handle_equipping_gear(player.status)
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
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
end
end
end
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
classes.CustomIdleGroups:clear()
if player.indi then
classes.CustomIdleGroups:append('Indi')
end
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(1, 15)
end
サーバ: Asura
Game: FFXI
Posts: 1
By Asura.Tilbert 2020-06-27 19:28:19
Does anyone know if there's a way for gearswap to recognize custom aliases from the addon "Shortcuts" and swap gear in response to them?
This isn't an immediate need, but sometime in the far future I'd like to build Gambanteinn for Cursna on White Mage. However, using Gambanteinn instead of Yagrush means I'll lose AoE so I'd only be using it in situations where only a single person is Cursed/Doomed.
Ideally I'd like to use my either my Shortcuts addon / Windower aliases / a combination of the two to be able to do something like "/cursna2" and have gearswap equip my Gambanteinn.
I realize it would be simpler to just make a hotkey that does that but I heal almost exclusively through typing shortcuts so I don't actually target anyone to heal. It would majorly interrupt my flow to use a hotkey especially in that time sensitive situation
Bahamut.Leonof
サーバ: Bahamut
Game: FFXI
Posts: 32
By Bahamut.Leonof 2020-06-29 19:34:58
Nvm my issue seems to be with the fastfollow addon.
If anyone else is having the issue, theres a workaround on the fastfollow github page under issues.
サーバ: Asura
Game: FFXI
Posts: 91
By Asura.Hiraishinsenna 2020-07-16 07:13:06
Sorry if it has been asked before, how do you add consumable items in your lua to be moved in your inventory with organizer?
Asura.Arico
サーバ: Asura
Game: FFXI
Posts: 535
By Asura.Arico 2020-07-16 08:38:48
Code organizer_items = {
food="Sublime Sushi",
food2="Sublime Sushi +1",
food3="Sole Sushi",
"Altana's Repast",
"Altana's Repast +1,}
サーバ: Asura
Game: FFXI
Posts: 91
By Asura.Hiraishinsenna 2020-07-16 08:56:23
thanks man
By LightningHelix 2020-07-22 06:09:29
I'm trying to get off the ground with a modified version of Mote's BLU lua and having zero success. Gearswap doesn't seem to "recognize" any of the sets in the file - by which I mean the file loads without any errors about indexing fields, but then when I try //gs equip sets.idle for instance, debug mode gives me "Entering equip_command" but doesn't change any of my gear. That's true for almost every set in the file, even the first one. Somehow sets.Kiting works and almost none of the others do. (Specific list available on request, but I'm not getting "that set does not exist" for any of them.) I've omitted the spell mapping at the beginning because I haven't changed a thing.
Code -- 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['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
state.Buff.Convergence = buffactive.Convergence or false
state.Buff.Diffusion = buffactive.Diffusion or false
state.Buff.Efflux = buffactive.Efflux or false
--initialize
blue_magic_maps = {}
[magic maps omitted here]
no_swap_gear = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
"Trizek Ring", "Echad Ring", "Facility Ring", "Capacity Ring", "Aptitude Mantle +1"}
elemental_ws = S{'Flash Nova', 'Sanguine Blade'}
include('Mote-TreasureHunter')
-- For th_action_check():
-- JA IDs for actions that always have TH: Provoke, Animated Flourish
info.default_ja_ids = S{35, 204}
-- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
info.default_u_ja_ids = S{201, 202, 203, 205, 207}
lockstyleset = 0
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('STP', 'Normal', 'LowAcc', 'MidAcc', 'HighAcc')
state.HybridMode:options('Normal', 'DT')
state.RangedMode:options('Normal', 'Acc')
state.WeaponskillMode:options('Normal', 'Acc')
state.CastingMode:options('Normal', 'Resistant')
state.PhysicalDefenseMode:options('PDT', 'MDT')
state.IdleMode:options('Normal', 'DT')
state.MagicBurst = M(false, 'Magic Burst')
state.Auto_Kite = M(false, 'Auto_Kite')
Haste = 0
DW_needed = 0
DW = false
moving = false
update_combat_form()
determine_haste_group()
end
-- Define sets and vars used by this job file.
function init_gear_sets()
------------------------------------------------------------------------------------------------
---------------------------------------- Precast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
--initialize with null sets, this seems to be fixing issues
sets.precast = {}
sets.precast.JA = {}
sets.idle = {}
sets.buff = {}
sets.WS = {}
--Enmity set?
sets.Enmity = {} --{
--ammo="Sapience Orb", --2
--head="Halitus Helm", --8
--body="Emet Harness +1", --10
--hands="Kurys Gloves", --9
--feet="Ahosi Leggings", --7
--neck="Unmoving Collar +1", --10
--left_ear="Cryptic Earring", --4
--right_ear="Trux Earring", --5
--left_ring="Pernicious Ring", --5
--right_ring="Eihwaz Ring", --5
--waist="Kasiri Belt", --3
--}
sets.buff['Burst Affinity'] = {legs="Assim. Shalwar +1"}
sets.buff['Diffusion'] = {} --{feet="Luhlaza Charuqs +3"}
sets.buff['Efflux'] = {} --{legs="Hashishin Tayt +1"}
sets.precast.JA['Azure Lore'] = {} --{hands="Luh. Bazubands +1"}
sets.precast.JA['Chain Affinity'] = {feet="Assim. Charuqs +1"}
sets.precast.JA['Convergence'] = {} --{head="Luh. Keffiyeh +3"}
sets.precast.JA['Enchainment'] = {} --{body="Luhlaza Jubbah +3"}
sets.precast.FC = {
--Colada 4
--ammo="Sapience Orb", --2
head="Haruspex Hat", --8
body="Taeon Tabard", --4
--hands="Leyline Gloves", --8
legs="Orvail Pants +1", --5
--feet="Carmine Greaves +1", --8
--neck="Orunmila's Torque", --5
--left_ear="Loquacious Earring", --2
--right_ear="Enchntr. Earring +1", --2
--left_ring="Kishar Ring", --4
--right_ring="Weather. Ring +1", --6(4)
back="Swith Cape", --3
}
--uncomment the below when I have these items
sets.precast.FC['Blue Magic'] = sets.precast.FC --set_combine(sets.precast.FC, {body="Hashishin Mintan +1"})
sets.precast.FC['Enhancing Magic'] = sets.precast.FC --set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.Cure = sets.precast.FC --set_combine(sets.precast.FC, {ammo="Impatiens", left_ear="Mendi. Earring"})
--this is Occultation too? maybe?
sets.precast.FC.Utsusemi = sets.precast.FC --set_combine(sets.precast.FC, {ammo="Impatiens", left_ring="Lebeche Ring", waist="Rumination Sash",})
end
------------------------------------------------------------------------------------------------
------------------------------------- Weapon Skill Sets ----------------------------------------
------------------------------------------------------------------------------------------------
sets.WS = {
ammo="Cheruski Needle",
--head=gear.Herc_WSD_head,
body="Taeon Tabard",
--hands="Jhakri Cuffs +2",
--legs="Luhlaza Shalwar +3",
--feet=gear.Herc_WS_feet,
--neck="Fotia Gorget",
--left_ear="Moonshade Earring",
--right_ear="Ishvara Earring",
--left_ring="Epaminondas's Ring",
right_ring="Rajas Ring",
back="Cornflower Cape",
--waist="Fotia Belt",
}
sets.WS.Acc = sets.WS --set_combine(sets.WS, {
--ammo="Voluspa Tathlum",
--head="Dampening Tam",
--hands=gear.Herc_WS_hands,
--right_ear="Telos Earring",
-- })
sets.WS['Chant du Cygne'] = sets.WS --set_combine(sets.WS, {
--head=gear.Adhemar_B_head,
--body="Abnoba Kaftan",
--hands=gear.Adhemar_B_hands,
--legs="Zoar Subligar +1",
--feet="Thereoid Greaves",
--neck="Mirage Stole +2",
--right_ear="Brutal Earring",
--left_ring="Begrudging Ring",
--right_ring="Rajas Ring",
--back=gear.BLU_WS1_Cape,
-- })
sets.WS['Chant du Cygne'].Acc = sets.WS --set_combine(sets.WS['Chant du Cygne'], {
--ammo="Voluspa Tathlum",
--head="Dampening Tam",
--body=gear.Adhemar_B_body,
--hands=gear.Adhemar_A_hands,
--feet=gear.Herc_STP_feet,
--right_ear="Mache Earring +1",
-- })
sets.WS['Vorpal Blade'] = sets.WS --sets.WS['Chant du Cygne']
sets.WS['Vorpal Blade'].Acc = sets.WS --sets.WS['Chant du Cygne'].Acc
--uncomment "real" set when I have even one piece
sets.WS['Savage Blade'] = sets.WS --set_combine(sets.WS, {
--body="Assim. Jubbah +3",
--neck="Mirage Stole +2",
--right_ring="Rufescent Ring",
--waist="Sailfi Belt +1",
-- })
sets.WS['Savage Blade'].Acc = sets.WS --set_combine(sets.WS['Savage Blade'], {
--ammo="Voluspa Tathlum",
--feet=gear.Herc_STP_feet,
--right_ear="Telos Earring",
--waist="Grunfeld Rope",
-- })
sets.WS['Requiescat'] = sets.WS --{
--head="Luh. Keffiyeh +3",
--body="Luhlaza Jubbah +3",
--hands="Jhakri Cuffs +2",
--legs="Luhlaza Shalwar +3",
--feet="Luhlaza Charuqs +3",
--neck="Fotia Gorget",
--left_ear="Moonshade Earring",
--right_ear="Brutal Earring",
--left_ring="Rufescent Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_WS1_Cape,
--waist="Fotia Belt",
--}
sets.WS['Requiescat'].Acc = sets.WS --set_combine(sets.WS['Requiescat'], {
--ammo="Voluspa Tathlum",
--head="Dampening Tam",
--feet=gear.Herc_STP_feet,
--left_ear="Cessance Earring",
--right_ear="Telos Earring",
--})
sets.WS['Expiacion'] = sets.WS --sets.WS['Savage Blade']
sets.WS['Expiacion'].Acc = sets.WS --set_combine(sets.WS['Expiacion'], {
--body=gear.Adhemar_B_body,
--feet=gear.Herc_STP_feet,
--right_ear="Telos Earring",
--})
sets.WS['Sanguine Blade'] = sets.WS --{
--ammo="Pemphredo Tathlum",
--head="Pixie Hairpin +1",
--body="Amalric Doublet +1",
--hands="Amalric Gages +1",
--legs="Luhlaza Shalwar +3",
--feet="Amalric Nails +1",
--neck="Baetyl Pendant",
--left_ear="Moonshade Earring",
--right_ear="Regal Earring",
--left_ring="Epaminondas's Ring",
--right_ring="Archon Ring",
--back=gear.BLU_MAB_Cape,
--waist="Sacro Cord",
--}
sets.WS['True Strike'] = sets.WS['Savage Blade']
sets.WS['True Strike'].Acc = sets.WS --sets.WS['Savage Blade'].Acc
sets.WS['Judgment'] = sets.WS['True Strike']
sets.WS['Judgment'].Acc = sets.WS['True Strike'].Acc
sets.WS['Black Halo'] = sets.WS --set_combine(sets.WS['Savage Blade'], {
--right_ear="Regal Earring",
--waist="Sailfi Belt +1",
--})
sets.WS['Black Halo'].Acc = sets.WS --set_combine(sets.WS['Black Halo'], {
--feet=gear.Herc_STP_feet,
--right_ear="Telos Earring",
-- })
sets.WS['Realmrazer'] = sets.WS['Requiescat']
sets.WS['Realmrazer'].Acc = sets.WS['Requiescat'].Acc
sets.WS['Flash Nova'] = sets.WS --set_combine(sets.WS['Sanguine Blade'], {
--head=gear.Herc_MAB_head,
--right_ring="Weather. Ring +1",
--})
------------------------------------------------------------------------------------------------
---------------------------------------- Midcast Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.midcast = {}
sets.midcast.SpellInterrupt = {} --{
--ammo="Impatiens", --10
--left_ring="Evanescence Ring", --5
--waist="Rumination Sash", --10
--}
--not currently referenced anywhere but hey, maybe someday
--sets.midcast.FastRecast = sets.precast.FC
sets.midcast['Blue Magic'] = {
ammo="Mavi Tathlum",
--head="Luh. Keffiyeh +3",
body="Assim. Jubbah +1",
--hands="Rawhide Gloves",
--legs="Hashishin Tayt +1",
--feet="Luhlaza Charuqs +3",
--neck="Mirage Stole +2",
--left_ear="Njordr Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
back="Cornflower Cape",
}
sets.midcast['Blue Magic'].Physical = sets.midcast['Blue Magic'] --{
--ammo="Aurgelmir Orb +1",
--head="Luh. Keffiyeh +3",
--body="Luhlaza Jubbah +3",
--hands="Jhakri Cuffs +2",
--legs="Luhlaza Shalwar +3",
--feet="Luhlaza Charuqs +3",
--neck="Caro Necklace",
--left_ring="Shukuyu Ring",
--right_ring="Ilabrat Ring",
--back=gear.BLU_WS2_Cape,
--waist="Sailfi Belt +1",
--}
sets.midcast['Blue Magic'].PhysicalAcc = set_combine(sets.midcast['Blue Magic'].Physical, {
--ammo="Voluspa Tathlum",
--head="Carmine Mask +1",
--hands=gear.Adhemar_A_hands,
legs="Carmine Cuisses +1",
feet="Assim. Charuqs +1",
--neck="Mirage Stole +2",
--right_ear="Telos Earring",
--back="Cornflower Cape",
--waist="Grunfeld Rope",
})
sets.midcast['Blue Magic'].PhysicalStr = sets.midcast['Blue Magic'].Physical
sets.midcast['Blue Magic'].PhysicalDex = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
--right_ear="Mache Earring +1",
--right_ring="Ilabrat Ring",
--back=gear.BLU_WS1_Cape,
--waist="Grunfeld Rope",
--})
sets.midcast['Blue Magic'].PhysicalVit = sets.midcast['Blue Magic'].Physical
sets.midcast['Blue Magic'].PhysicalAgi = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
--hands=gear.Adhemar_B_hands,
--right_ring="Ilabrat Ring",
--})
sets.midcast['Blue Magic'].PhysicalInt = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
--right_ear="Regal Earring",
--left_ring="Shiva Ring +1",
--right_ring="Metamor. Ring +1",
--back=gear.BLU_MAB_Cape,
--waist="Acuity Belt +1",
--})
sets.midcast['Blue Magic'].PhysicalMnd = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {
--right_ear="Regal Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--})
sets.midcast['Blue Magic'].PhysicalChr = sets.midcast['Blue Magic'].Physical --set_combine(sets.midcast['Blue Magic'].Physical, {left_ear="Regal Earring", right_ear="Enchntr. Earring +1"})
sets.midcast['Blue Magic'].Magical = {
ammo="Mavi Tathlum",
head="Assim. Keffiyeh +1",
--body="Amalric Doublet +1",
--hands="Amalric Gages +1",
--legs="Amalric Slops +1",
--feet="Amalric Nails +1",
--neck="Baetyl Pendant",
--left_ear="Friomisi Earring",
--right_ear="Regal Earring",
--left_ring="Shiva Ring +1",
--right_ring="Metamor. Ring +1",
--back=gear.BLU_MAB_Cape,
--waist="Orpheus's Sash",
}
sets.midcast['Blue Magic'].Magical.Resistant = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--head="Assim. Keffiyeh +1",
--hands="Jhakri Cuffs +2",
--legs="Luhlaza Shalwar +3",
--neck="Mirage Stole +2",
--left_ear="Digni. Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--waist="Acuity Belt +1",
--})
sets.midcast['Blue Magic'].MagicalDark = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--head="Pixie Hairpin +1",
--right_ring="Archon Ring",
--})
sets.midcast['Blue Magic'].MagicalMnd = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--})
sets.midcast['Blue Magic'].MagicalDex = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--ammo="Aurgelmir Orb +1",
--right_ear="Mache Earring +1",
--right_ring="Ilabrat Ring", --lmao this is off kin, so I doubt I'll ever have it
--})
sets.midcast['Blue Magic'].MagicalVit = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--ammo="Aurgelmir Orb +1",
--})
sets.midcast['Blue Magic'].MagicalChr = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {
--ammo="Voluspa Tathlum",
--left_ear="Regal Earring", --this drops off Ou, let's not assume I'll ever see it
--right_ear="Enchntr. Earring +1"
--})
sets.midcast['Blue Magic'].MagicAccuracy = {
--ammo="Pemphredo Tathlum",
head="Assim. Keffiyeh +1",
--body="Amalric Doublet +1",
--hands="Malignance Gloves",
legs="Orvail Pants +1",
--feet="Malignance Boots",
--neck="Mirage Stole +2",
--left_ear="Digni. Earring",
--right_ear="Regal Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--back=gear.BLU_MAB_Cape,
--waist="Acuity Belt +1",
}
sets.midcast['Blue Magic'].Breath = sets.midcast['Blue Magic'].Magical --set_combine(sets.midcast['Blue Magic'].Magical, {head="Luh. Keffiyeh +3"})
sets.midcast['Blue Magic'].StunPhysical = sets.midcast['Blue Magic'].MagicAccuracy --set_combine(sets.midcast['Blue Magic'].MagicAccuracy, {
--ammo="Voluspa Tathlum",
--head="Malignance Chapeau",
--body="Malignance Tabard",
--hands="Malignance Gloves",
--legs="Malignance Tights",
--feet="Malignance Boots",
--neck="Mirage Stole +2",
--right_ear="Mache Earring +1",
--back=gear.BLU_TP_Cape,
--waist="Eschan Stone",
--})
sets.midcast['Blue Magic'].StunMagical = sets.midcast['Blue Magic'].MagicAccuracy
sets.midcast['Blue Magic'].Healing = {
--ammo="Staunch Tathlum +1",
--head="Carmine Mask +1",
--body="Vrikodara Jupon", -- 13
--hands=gear.Telchine_ENH_hands, -- 10
--legs="Assim. Shalwar +3",
--feet="Medium's Sabots", -- 12
neck="Nuna Gorget",
--left_ear="Mendi. Earring", -- 5
--right_ear="Regal Earring",
--left_ring="Lebeche Ring", -- 3
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--back="Oretan. Cape +1", --6
--waist="Luminary Sash",
}
--uncomment the below lines when I have cure potency
sets.midcast['Blue Magic'].HealingSelf = sets.midcast['Blue Magic'].Healing --set_combine(sets.midcast['Blue Magic'].Healing, {
--hands="Buremte Gloves", -- (13)
--legs="Gyve Trousers", -- 10
--neck="Phalaina Locket", -- 4(4)
--right_ring="Asklepian Ring", -- (3)
--back="Solemnity Cape", --7
--waist="Gishdubar Sash", -- (10)
--})
--max HP matters for white wind, so it's not just cure potency, but cure potency should still be king, right?
sets.midcast['Blue Magic']['White Wind'] = set_combine(sets.midcast['Blue Magic'].Healing, {
--head=gear.Adhemar_D_head,
neck="Cuamiz Collar"
--right_ear="Etiolation Earring",
--left_ring="Eihwaz Ring",
--back="Moonlight Cape",
--waist="Kasiri Belt",
})
sets.midcast['Blue Magic'].Buff = sets.midcast['Blue Magic']
sets.midcast['Blue Magic'].Refresh = sets.midcast['Blue Magic'] --set_combine(sets.midcast['Blue Magic'], {head="Amalric Coif +1", waist="Gishdubar Sash", back="Grapevine Cape"})
sets.midcast['Blue Magic'].SkillBasedBuff = sets.midcast['Blue Magic']
sets.midcast['Blue Magic']['Occultation'] = set_combine(sets.midcast['Blue Magic'], {
--hands="Hashi. Bazu. +1",
--left_ear="Njordr Earring",
--right_ear="Enchntr. Earring +1",
--right_ring="Weather. Ring +1",
back="Cornflower Cape",
})
-- 1 shadow per 50 blue magic skill, so there are breakpoints that matter
sets.midcast['Blue Magic']['Carcharian Verve'] = sets.midcast['Blue Magic'].Buff --set_combine(sets.midcast['Blue Magic'].Buff, {
--head="Amalric Coif +1",
--waist="Emphatikos Rope",
--})
sets.midcast['Enhancing Magic'] = {
--ammo="Pemphredo Tathlum",
--head="Carmine Mask +1",
--body=gear.Telchine_ENH_body,
--hands=gear.Telchine_ENH_hands,
legs="Carmine Cuisses +1",
--feet=gear.Telchine_ENH_feet,
--neck="Incanter's Torque",
--left_ear="Mimir Earring",
--right_ear="Andoaa Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
--back="Fi Follet Cape +1",
--waist="Olympus Sash",
}
sets.midcast.EnhancingDuration = sets.midcast['Enhancing Magic'] --{
--head=gear.Telchine_ENH_head,
--body=gear.Telchine_ENH_body,
--hands=gear.Telchine_ENH_hands,
--legs=gear.Telchine_ENH_legs,
--feet=gear.Telchine_ENH_feet,
--}
sets.midcast.Refresh = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {head="Amalric Coif +1", waist="Gishdubar Sash", back="Grapevine Cape"})
sets.midcast.Stoneskin = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {waist="Siegel Sash"})
sets.midcast.Phalanx = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {
--body=gear.Taeon_Phalanx_body, --3(10)
--hands=gear.Taeon_Phalanx_hands, --3(10)
--legs=gear.Taeon_Phalanx_legs, --3(10)
--feet=gear.Taeon_Phalanx_feet, --3(10)
--})
sets.midcast.Aquaveil = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {
--head="Amalric Coif +1",
--hands="Regal Cuffs",
--waist="Emphatikos Rope",
--})
sets.midcast.Protect = sets.midcast.EnhancingDuration --set_combine(sets.midcast.EnhancingDuration, {left_ring="Sheltered Ring"})
sets.midcast.Protectra = sets.midcast.Protect
sets.midcast.Shell = sets.midcast.Protect
sets.midcast.Shellra = sets.midcast.Protect
sets.midcast['Enfeebling Magic'] = sets.midcast['Blue Magic'].MagicAccuracy --set_combine(sets.midcast['Blue Magic'].MagicAccuracy, {
--right_ear="Vor Earring",
--})
sets.midcast.Utsusemi = sets.midcast.SpellInterrupt
------------------------------------------------------------------------------------------------
----------------------------------------- Idle Sets --------------------------------------------
------------------------------------------------------------------------------------------------
-- Idle sets (defining them all but I don't know if it's actually needed?
sets.idle = {
--ammo="Staunch Tathlum +1",
--head=gear.Herc_Idle_head,
body="Assim. Jubbah +1", --refresh
--hands="Malignance Gloves",
legs="Carmine Cuisses +1", --movespeed
--feet="Malignance Boots",
--neck="Bathy Choker +1",
--left_ear="Eabani Earring",
--right_ear="Sanare Earring",
--left_ring={name="Stikini Ring +1", bag="wardrobe3"},
--right_ring={name="Stikini Ring +1", bag="wardrobe4"},
back="Cornflower Cape", --no reason really, was testing whether it works this way
--waist="Carrier's Sash",
}
--once I have any DT gear, uncomment this for use with later uncommented sets
sets.idle.DT = sets.idle --set_combine(sets.idle, {
--ammo="Staunch Tathlum +1", --3/3
--head="Malignance Chapeau", --6/6
--body="Malignance Tabard", --9/9
--hands="Malignance Gloves", --5/5
--legs="Malignance Tights", --7/7
--feet="Malignance Boots", --4/4
--neck="Warder's Charm +1",
--left_ring="Purity Ring", --0/4
--right_ring="Defending Ring", --10/10
--back="Moonlight Cape", --6/6
--})
--this may not just be for bragging, this is weird
sets.idle.town = sets.idle --set_combine(sets.idle, {
--ammo="Aurgelmir Orb +1",
--head="Luh. Keffiyeh +3",
--body="Assim. Jubbah +1", --refresh
--hands=gear.Adhemar_B_hands,
--legs="Carmine Cuisses +1", --movespeed
--feet="Luhlaza Charuqs +3",
--neck="Mirage Stole +2",
--left_ear="Eabani Earring",
--right_ear="Telos Earring",
--back="Cornflower Cape",
--waist="Windbuffet Belt +1",
--})
--sets.idle.Weak = sets.idle.DT
------------------------------------------------------------------------------------------------
---------------------------------------- Defense Sets ------------------------------------------
------------------------------------------------------------------------------------------------
--once I have any DT gear, uncomment sets.idle.DT and then uncomment these
--sets.defense.PDT = sets.idle.DT
--sets.defense.MDT = sets.idle.DT
------------------------------------------------------------------------------------------------
---------------------------------------- Engaged Sets ------------------------------------------
------------------------------------------------------------------------------------------------
-- 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
sets.engaged = {
--ammo="Aurgelmir Orb +1",
head="Taeon Chapeau",
body="Taeon Tabard",
--hands=gear.Adhemar_B_hands,
legs="Carmine Cuisses +1",
feet="Taeon Boots",
--neck="Ainia Collar",
left_ear="Suppanomimi",
right_ear="Eabani Earring",
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
back="Cornflower Cape",
waist="Windbuffet Belt +1",
}
sets.engaged.LowAcc = sets.engaged --set_combine(sets.engaged, {
--head="Dampening Tam-",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--})
sets.engaged.MidAcc = sets.engaged --set_combine(sets.engaged.LowAcc, {
--ammo="Voluspa Tathlum",
--right_ear="Telos Earring",
--left_ring="Regal Ring",
--right_ring="Ilabrat Ring",
--waist="Kentarch Belt +1",
--})
sets.engaged.HighAcc = sets.engaged --set_combine(sets.engaged.MidAcc, {
--head="Carmine Mask +1",
--legs="Carmine Cuisses +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.STP = sets.engaged --set_combine(sets.engaged, {
--head=gear.Herc_STP_head,
--feet="Carmine Greaves +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--})
-- Base Dual-Wield Values:
-- * DW6: +37%
-- * DW5: +35%
-- * DW4: +30%
-- * DW3: +25% (NIN Subjob)
-- * DW2: +15% (DNC Subjob)
-- * DW1: +10%
-- No Magic Haste (74% DW to cap)
-- every one of these will require modifications for me to figure out what I'm rocking at every given point
sets.engaged.DW = {
--ammo="Aurgelmir Orb +1",
--head=gear.Adhemar_B_head,
body="Taeon Tabard", --0
--hands=gear.Adhemar_B_hands,
legs="Carmine Cuisses +1", --0
--feet=gear.Taeon_DW_feet, --9
--neck="Ainia Collar",
left_ear="Suppanomimi", --5
right_ear="Eabani Earring", --4
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_TP_Cape,
--waist="Reiki Yotai", --7
} -- 37%
sets.engaged.DW.LowAcc = sets.engaged.DW --set_combine(sets.engaged.DW, {
--head="Dampening Tam",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--})
sets.engaged.DW.MidAcc = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc, {
--ammo="Voluspa Tathlum",
--right_ear="Telos Earring",
--right_ring="Ilabrat Ring",
--waist="Kentarch Belt +1",
--})
sets.engaged.DW.HighAcc = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc, {
--head="Carmine Mask +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--left_ear="Cessance Earring",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.DW.STP = sets.engaged.DW --set_combine(sets.engaged.DW, {
--head=gear.Herc_STP_head,
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--})
-- 15% Magic Haste (67% DW to cap)
sets.engaged.DW.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW, {
--ammo="Aurgelmir Orb +1",
--head=gear.Adhemar_B_head,
--body=gear.Adhemar_B_body, --6
--hands=gear.Adhemar_B_hands,
--legs="Carmine Cuisses +1", --6
--feet=gear.Taeon_DW_feet, --9
--neck="Ainia Collar",
--left_ear="Eabani Earring", --4
--right_ear="Suppanomimi", --5
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_TP_Cape,
--waist="Reiki Yotai", --7
--}) -- 37%
sets.engaged.DW.LowAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowHaste, {
--head="Dampening Tam",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--})
sets.engaged.DW.MidAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.LowHaste, {
--ammo="Voluspa Tathlum",
--right_ear="Telos Earring",
--right_ring="Ilabrat Ring",
--waist="Kentarch Belt +1",
--})
sets.engaged.DW.HighAcc.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.LowHaste, {
--head="Carmine Mask +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--left_ear="Cessance Earring",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.DW.STP.LowHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowHaste, {
--head=gear.Herc_STP_head,
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--})
-- 30% Magic Haste (56% DW to cap)
sets.engaged.DW.MidHaste = sets.engaged.DW --{
--ammo="Aurgelmir Orb +1",
--head=gear.Adhemar_B_head,
--body=gear.Adhemar_B_body, --6
--hands=gear.Adhemar_B_hands,
--legs="Samnuha Tights",
--feet=gear.Taeon_DW_feet, --9
--neck="Ainia Collar",
--left_ear="Cessance Earring",
--right_ear="Suppanomimi", --5
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_TP_Cape,
--waist="Reiki Yotai", --7
--} -- 27%
sets.engaged.DW.LowAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidHaste, {
--head="Dampening Tam",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--})
sets.engaged.DW.MidAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.MidHaste, {
--ammo="Voluspa Tathlum",
--feet=gear.Herc_TA_feet,
--right_ear="Telos Earring",
--right_ring="Ilabrat Ring",
--waist="Kentarch Belt +1",
--})
sets.engaged.DW.HighAcc.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.MidHaste, {
--head="Carmine Mask +1",
--legs="Carmine Cuisses +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--left_ear="Cessance Earring",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.DW.STP.MidHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidHaste, {
--head=gear.Herc_STP_head,
--left_ear="Dedition Earring",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--})
-- 35% Magic Haste (51% DW to cap)
sets.engaged.DW.HighHaste = sets.engaged.DW --{
--ammo="Aurgelmir Orb +1",
--head=gear.Adhemar_B_head,
--body=gear.Adhemar_B_body, --6
--hands=gear.Adhemar_B_hands,
--legs="Samnuha Tights",
--feet=gear.Herc_TA_feet,
--neck="Ainia Collar",
--left_ear="Eabani Earring", --4
--right_ear="Suppanomimi", --5
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_TP_Cape,
--waist="Reiki Yotai", --7
--} -- 22%
sets.engaged.DW.LowAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.HighHaste, {
--head="Dampening Tam",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Kentarch Belt +1",
--})
sets.engaged.DW.MidAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.HighHaste, {
--ammo="Voluspa Tathlum",
--right_ear="Telos Earring",
--right_ring="Ilabrat Ring",
--})
sets.engaged.DW.HighAcc.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.HighHaste, {
--head="Carmine Mask +1",
--legs="Carmine Cuisses +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--left_ear="Cessance Earring",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.DW.STP.HighHaste = sets.engaged.DW --set_combine(sets.engaged.DW.HighHaste, {
--head=gear.Herc_STP_head,
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--})
-- 45% Magic Haste (36% DW to cap)
sets.engaged.DW.MaxHaste = sets.engaged.DW --{
--ammo="Aurgelmir Orb +1",
--head=gear.Adhemar_B_head,
--body=gear.Adhemar_B_body, --6
--hands=gear.Adhemar_B_hands,
--legs="Samnuha Tights",
--feet=gear.Herc_TA_feet,
--neck="Ainia Collar",
--left_ear="Cessance Earring",
--right_ear="Telos Earring",
--left_ring="Hetairoi Ring",
--right_ring="Epona's Ring",
--back=gear.BLU_TP_Cape,
--waist="Windbuffet Belt +1",
--} -- 6%
sets.engaged.DW.LowAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MaxHaste, {
--head="Dampening Tam",
--hands=gear.Adhemar_A_hands,
--neck="Combatant's Torque",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--})
sets.engaged.DW.MidAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.LowAcc.MaxHaste, {
--ammo="Voluspa Tathlum",
--right_ring="Ilabrat Ring",
--waist="Kentarch Belt +1",
--})
sets.engaged.DW.HighAcc.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MidAcc.MaxHaste, {
--head="Carmine Mask +1",
--legs="Carmine Cuisses +1",
--feet=gear.Herc_STP_feet,
--neck="Mirage Stole +2",
--right_ear="Mache Earring +1",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--waist="Olseni Belt",
--})
sets.engaged.DW.STP.MaxHaste = sets.engaged.DW --set_combine(sets.engaged.DW.MaxHaste, {
--head=gear.Herc_STP_head,
--left_ear="Dedition Earring",
--right_ear="Telos Earring",
--left_ring={name="Chirich Ring +1", bag="wardrobe3"},
--right_ring={name="Chirich Ring +1", bag="wardrobe4"},
--waist="Kentarch Belt +1",
--})
------------------------------------------------------------------------------------------------
---------------------------------------- Hybrid Sets -------------------------------------------
------------------------------------------------------------------------------------------------
--honestly, I have no idea what hybrid sets are, this is the highest bang-for-buck DT pieces
--maybe it's for AOE-heavy situations where you're nonetheless melee DPSing?
sets.engaged.Hybrid = {} --{
--head="Malignance Chapeau", --6/6
--body="Malignance Tabard", --9/9
--hands="Malignance Gloves", --5/5
--legs="Malignance Tights", --7/7
--feet="Malignance Boots", --4/4
--right_ring="Defending Ring", --10/10
--}
sets.engaged.DT = set_combine(sets.engaged, sets.engaged.Hybrid)
sets.engaged.LowAcc.DT = set_combine(sets.engaged.LowAcc, sets.engaged.Hybrid)
sets.engaged.MidAcc.DT = set_combine(sets.engaged.MidAcc, sets.engaged.Hybrid)
sets.engaged.HighAcc.DT = set_combine(sets.engaged.HighAcc, sets.engaged.Hybrid)
sets.engaged.STP.DT = set_combine(sets.engaged.STP, sets.engaged.Hybrid)
sets.engaged.DW.DT = set_combine(sets.engaged.DW, sets.engaged.Hybrid)
sets.engaged.DW.LowAcc.DT = set_combine(sets.engaged.DW.LowAcc, sets.engaged.Hybrid)
sets.engaged.DW.MidAcc.DT = set_combine(sets.engaged.DW.MidAcc, sets.engaged.Hybrid)
sets.engaged.DW.HighAcc.DT = set_combine(sets.engaged.DW.HighAcc, sets.engaged.Hybrid)
sets.engaged.DW.STP.DT = set_combine(sets.engaged.DW.STP, sets.engaged.Hybrid)
sets.engaged.DW.DT.LowHaste = set_combine(sets.engaged.DW.LowHaste, sets.engaged.Hybrid)
sets.engaged.DW.LowAcc.DT.LowHaste = set_combine(sets.engaged.DW.LowAcc.LowHaste, sets.engaged.Hybrid)
sets.engaged.DW.MidAcc.DT.LowHaste = set_combine(sets.engaged.DW.MidAcc.LowHaste, sets.engaged.Hybrid)
sets.engaged.DW.HighAcc.DT.LowHaste = set_combine(sets.engaged.DW.HighAcc.LowHaste, sets.engaged.Hybrid)
sets.engaged.DW.STP.DT.LowHaste = set_combine(sets.engaged.DW.STP.LowHaste, sets.engaged.Hybrid)
sets.engaged.DW.DT.MidHaste = set_combine(sets.engaged.DW.MidHaste, sets.engaged.Hybrid)
sets.engaged.DW.LowAcc.DT.MidHaste = set_combine(sets.engaged.DW.LowAcc.MidHaste, sets.engaged.Hybrid)
sets.engaged.DW.MidAcc.DT.MidHaste = set_combine(sets.engaged.DW.MidAcc.MidHaste, sets.engaged.Hybrid)
sets.engaged.DW.HighAcc.DT.MidHaste = set_combine(sets.engaged.DW.HighAcc.MidHaste, sets.engaged.Hybrid)
sets.engaged.DW.STP.DT.MidHaste = set_combine(sets.engaged.DW.STP.MidHaste, sets.engaged.Hybrid)
sets.engaged.DW.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste, sets.engaged.Hybrid)
sets.engaged.DW.LowAcc.DT.HighHaste = set_combine(sets.engaged.DW.LowAcc.HighHaste, sets.engaged.Hybrid)
sets.engaged.DW.MidAcc.DT.HighHaste = set_combine(sets.engaged.DW.MidAcc.HighHaste, sets.engaged.Hybrid)
sets.engaged.DW.HighAcc.DT.HighHaste = set_combine(sets.engaged.DW.HighAcc.HighHaste, sets.engaged.Hybrid)
sets.engaged.DW.STP.DT.HighHaste = set_combine(sets.engaged.DW.HighHaste.STP, sets.engaged.Hybrid)
sets.engaged.DW.DT.MaxHaste = set_combine(sets.engaged.DW.MaxHaste, sets.engaged.Hybrid)
sets.engaged.DW.LowAcc.DT.MaxHaste = set_combine(sets.engaged.DW.LowAcc.MaxHaste, sets.engaged.Hybrid)
sets.engaged.DW.MidAcc.DT.MaxHaste = set_combine(sets.engaged.DW.MidAcc.MaxHaste, sets.engaged.Hybrid)
sets.engaged.DW.HighAcc.DT.MaxHaste = set_combine(sets.engaged.DW.HighAcc.MaxHaste, sets.engaged.Hybrid)
sets.engaged.DW.STP.DT.MaxHaste = set_combine(sets.engaged.DW.STP.MaxHaste, sets.engaged.Hybrid)
------------------------------------------------------------------------------------------------
---------------------------------------- Special Sets ------------------------------------------
------------------------------------------------------------------------------------------------
sets.magic_burst = {} --set_combine(sets.midcast['Blue Magic'].Magical, {
--body="Samnuha Coat", --(8)
--hands="Amalric Gages +1", --(5)
--legs="Assim. Shalwar +3", --10
--feet="Jhakri Pigaches +2", --5
--left_ring="Mujin Band", --(5)
--back="Seshaw Cape", --5
--})
sets.Kiting = {legs="Carmine Cuisses +1"}
--uncomment this when I have this
sets.latent_refresh = {} --{waist="Fucho-no-obi"}
--this is Holy Water buffing stuff to cure my own doom, uncomment when I have it
--sets.buff.Doom = {
--neck="Nicander's Necklace", --20
--left_ring={name="Eshmun's Ring", bag="wardrobe3"}, --20
--right_ring={name="Eshmun's Ring", bag="wardrobe4"}, --20
--waist="Gishdubar Sash", --10
--}
sets.CP = {back="Aptitude Mantle +1"}
--uncomment the following if I ever have a treasure hunter set
--sets.TreasureHunter = {head="Volte Cap", hands=gear.Herc_TH_hands, waist="Chaac Belt"}
--sets.midcast.Dia = sets.TreasureHunter
--sets.midcast.Diaga = sets.TreasureHunter
--sets.midcast.Bio = sets.TreasureHunter
--uncomment this once I finish Adoulin
--sets.Reive = {neck="Ygnas's Resolve +1"}
--there's an end here and I don't know why but it threw an error when I had it:
--end
edit: oh my god, it was literally the final line, I had an "end" too early and this was all supposed to be part of function init_gear_sets(), preserving this for my own idiocy but also in case anyone else Googles this six years later.
サーバ: Asura
Game: FFXI
Posts: 741
By Asura.Lunafreya 2020-07-24 08:51:13
My NIN lua is acting very odd. I have a magic burst on/off toggle, and the section that handles the equipping of my magic burst set looks like this:
Code if default_spell_map == 'ElementalNinjutsu' then
if state.MagicBurst.value then
equip(sets.magic_burst)
end
if (spell.element == world.day_element or spell.element == world.weather_element) then
equip(sets.Obi)
end
if state.Buff.Futae then
equip(sets.precast.JA['Futae'])
end
end
Seems pretty straight forward right? For some reason when I toggle my burst mode to on, it doesn't equip sets.magic_burst.
First thing I thought was "it's gotta be the spell mappings". I checked Mote-Mappings.lua and scrolled towards the bottom of the spell_maps section:
Code ['Katon: Ichi'] = 'ElementalNinjutsu',['Suiton: Ichi'] = 'ElementalNinjutsu',['Raiton: Ichi'] = 'ElementalNinjutsu',
['Doton: Ichi'] = 'ElementalNinjutsu',['Huton: Ichi'] = 'ElementalNinjutsu',['Hyoton: Ichi'] = 'ElementalNinjutsu',
['Katon: Ni'] = 'ElementalNinjutsu',['Suiton: Ni'] = 'ElementalNinjutsu',['Raiton: Ni'] = 'ElementalNinjutsu',
['Doton: Ni'] = 'ElementalNinjutsu',['Huton: Ni'] = 'ElementalNinjutsu',['Hyoton: Ni'] = 'ElementalNinjutsu',
['Katon: San'] = 'ElementalNinjutsu',['Suiton: San'] = 'ElementalNinjutsu',['Raiton: San'] = 'ElementalNinjutsu',
['Doton: San'] = 'ElementalNinjutsu',['Huton: San'] = 'ElementalNinjutsu',['Hyoton: San'] = 'ElementalNinjutsu',
Odd. it should work then. But it's not recognizing the nukes as being in the spell map. So I changed the "if default_spell_map = elemental ninjutsu then" statement at the very top of that initial section to this:
Code if spell.english == 'Raiton: San' or spell.english == 'Raiton: Ni' or spell.english == 'Hyoton: San' or spell.english == 'Hyoton: Ni' or spell.english == 'Katon: San' or spell.english == 'Katon: Ni' or spell.english == 'Suiton: San' or spell.english == 'Suiton: Ni' or spell.english == 'Doton: San' or spell.english == 'Doton: Ni' or spell.english == 'Huton: San' or spell.english == 'Huton: Ni' then
Basically just brute forced that if I cast a Ni or San nuke then check my toggle value and equip it if necessary. And it works just fine. I just don't get why the spell map isn't working properly. Not a huge deal but left me scratching my head.
EDIT:
Also realized that when under futae it isn't equipping the empy hands. Even with the brute force method above. Wtf??
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.
|
|