|
Gearswap Support Thread
Cerberus.Rabies
Serveur: Cerberus
Game: FFXI
Posts: 57
By Cerberus.Rabies 2014-11-23 03:57:20
I don't understand this, what exactly does this do? If I make a "If buffactive.elementalseal etc etc" then it will cancel my ElementalSeal or what?
yes, it sends a comand to check if a buff is still active and cancels it before the refreshed buff finish casting.
People used to do that alot with stoneskin or sneak/invisible. Avoid casting the spell and get a "no effect" message.
Ok, that's what I thought it did. Thanks for the info!
Leviathan.Arcon
VIP
Serveur: Leviathan
Game: FFXI
Posts: 666
By Leviathan.Arcon 2014-11-23 06:14:24
I actually missed a "don't" there, you don't need to check if the buff exists before canceling it (the cancel addon does that itself). So just doing the following is enough to cancel invisible, you don't have to check if it's up first: Code windower.send_command('cancel invisible')
Serveur: Bahamut
Game: FFXI
Posts: 62
By Bahamut.Phidruran 2014-11-23 13:38:04
Thanks Arcon!!!
Bahamut.Ballzack
Serveur: Bahamut
Game: FFXI
Posts: 54
By Bahamut.Ballzack 2014-11-24 20:35:26
Code -- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Diabolic Eye'] = {hands="Fall. Fin. Gaunt. +1"}
sets.precast.JA['Arcane Circle'] = {feet="Igno. Sollerets +1"}
sets.precast.JA['Nether Void'] = {legs="Bale Flanchard +2"}
sets.precast.JA['Dark Seal'] = {head="Fall. Burgeonet +1"}
sets.precast.JA['Souleater'] = {head="Igno. Burgeonet +1"}
--sets.precast.JA['Last Resort'] = {feet="Fall. Sollerets +1"}
sets.precast.JA['Blood Weapon'] = {body="Fall. Cuirass +1"}
sets.precast.JA['Weapon Bash'] = {hands="Igno. Gauntlets +1"}
sets.CapacityMantle = { back="Mecistopins Mantle" }
--sets.Berserker = { neck="Berserker's Torque" }
sets.WSDayBonus = { head="Gavialis Helm" }
-- Waltz set (chr and vit)
sets.precast.Waltz = {
ammo="Brigantia Pebble",
head="Fall. Burgeonet +1",
neck="Ganesha's Mala",
body="Fall. Cuirass +1",
hands="Umuthi Gloves",
ring1="Titan Ring +1",
ring2="Titan Ring +1",
back="Iximulew Cape",
waist="Caudata Belt",
legs="Fall. Flanchard +1",
feet="Fall. Sollerets +1"}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Impatiens",
head="Cizin Helm +1",
neck="Jeweled Collar",
ear1="Loquac. Earring",
ear2="Enchntr. Earring +1",
body="Nuevo Coselete",
hands="Buremete Gloves",
ring2="Prolix Ring",
ring1="Weather. Ring",
back="Mollusca Mantle",
waist="Dynamic Belt +1",
legs="Homam Cosciales",
feet="Cizin Greaves +1"}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC,{
neck="Magoraga Beads"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC,{
ammo="Floestone",
head="Highwing Helm",
neck="Eddy Necklace",
ear1="Friomisi Earring",
ear2="Hecate's Earring",
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Acumen Ring",
ring2="Fenrir Ring",
back="Toro Cape",
waist="Caudata Belt",
legs="Wayfarer Slops",
feet="Igno. Sollerets +1"})
sets.precast.FC['Absorb-TP'] = set_combine(sets.precast.FC,{
hands="Bale Gauntlets +2"})
sets.precast.FC['Dark Magic'] = set_combine(sets.precast.FC, {
head="Fall. Burgeonet +1"})
-- Midcast Sets
sets.midcast.FastRecast = {
ammo="Impatiens",
hands="Cizin Mufflers +1",
feet="Ejekamal Boots"}
-- Specific spells
sets.midcast.Utsusemi = {
feet="Ejekamal Boots"}
sets.midcast['Dark Magic'] = {
head="Igno. Burgeonet +1",
neck="Aesir Torque",
ear1="Abyssal Earring",
ear2="Dark Earring",
body="Demon's Harness +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Weather. Ring",
ring2="Sangoma Ring",
back={name="Niht Mantle", augments={'Attack +15','Dark magic skill +5','"Drain" and "Aspir" potency +15'}},
waist="Casso Sash",
legs="Bale Flanchard +2",
feet="Igno. Sollerets +1"}
sets.midcast['Enfeebling Magic'] = set_combine(sets.midcast['Dark Magic'], {
body="Igno. Cuirass +1",})
sets.midcast['Elemental Magic'] = {
ammo="Floestone",-- Ombre Tathlum +1
head="Highwing Helm",
neck="Eddy Necklace",
ear1="Friomisi Earring",
ear2="Hecate's Earring",-- Crematio Earring
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Acumen Ring",-- Fenrir Ring +1
ring2="Fenrir Ring",-- Fenrir Ring +1
back="Toro Cape",-- Aput Mantle +1
waist="Wanion Belt",
legs="Wayfarer Slops",-- Augury Cuisses +1
feet="Igno. Sollerets +1"}
sets.midcast['Dread Spikes'] = set_combine(sets.midcast['Dark Magic'],{
ammo="Egoist's Tathlum",
head="Ganesha's Mask",
neck="Bloodbead Gorget",
ear1="Upsurge Earring",
ear2="Cassie Earring",
body="Bale Cuirass +2",
hands="Gorney Moufles +1",
ring1="Bomb Queen Ring",
ring2="Meridian Ring",
back="Aenoth. Mantle +1",
waist="Oneiros Belt",-- Gold Moogle Belt
legs="Gor. Brayettes +1",
feet="Llwyd's Clogs"})
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'],{
head="Striga Crown",
ear2="Hirudinea Earring",
ring1="Excelsis Ring",
waist="Austerity Belt +1"})
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Absorb = set_combine(sets.midcast['Dark Magic'],{
-- head="Onyx Sallet",
hands="Pavor Gauntlets",
back="Chuparrosa Mantle",
-- legs="Onyx Cuisses",
feet="Black Sollerets"})-- Onyx Sollerets
sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb,{
hands="Bale Gauntlets +2"})
sets.midcast['Absorb-STR'] = sets.midcast.Absorb
sets.midcast['Absorb-DEX'] = sets.midcast.Absorb
sets.midcast['Absorb-AGI'] = sets.midcast.Absorb
sets.midcast['Absorb-MND'] = sets.midcast.Absorb
sets.midcast['Absorb-VIT'] = sets.midcast.Absorb
sets.midcast['Absorb-Attri'] = sets.midcast.Absorb
sets.midcast['Absorb-Acc'] = sets.midcast.Absorb
-- WEAPONSKILL SETS
-- General sets
sets.precast.WS = {
ammo="Aqreqaq Bomblet",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Bale Earring",
ear2="Brutal Earring",
body="Igno. Cuirass +1",
hands="Miki. Gauntlets",
ring1="Ifrit Ring",
ring2="Ifrit Ring",
back={name="Niht Mantle", augments={'Attack +15','Dark magic skill +5','"Drain" and "Aspir" potency +15'}},
waist="Windbuffet Belt +1",
legs="Igno. Flan. +1",
feet="Gigan. Boots +1"}
sets.precast.WS.Mid = set_combine(sets.precast.WS,{
head="Yaoyotl Helm",
back="Letalis Mantle",
feet="Ejekamal Boots"})
sets.precast.WS.Acc = set_combine(sets.precast.WS.Mid,{})
-- RESOLUTION
-- 86-100% STR
sets.precast.WS.Resolution = set_combine(sets.precast.WS,{
neck="Soil Gorget",
ear1="Moonshade Earring",
hands="Boor Bracelets",
waist="Soil Belt"})
sets.precast.WS.Resolution.Mid = set_combine(sets.precast.WS.Resolution,{
hands="Miki. Gauntlets",
back="Niht Mantle",
feet="Xaddi Boots"})
sets.precast.WS.Resolution.Acc = set_combine(sets.precast.WS.Resolution.Mid, sets.precast.WS.Acc)
-- TORCLEAVER
-- VIT 80%
sets.precast.WS.Torcleaver = set_combine(sets.precast.WS,{
ammo="Brigantia Pebble",
head="Fallen's Burgeonet +1",
ear1="Moonshade Earring",
body="Phorcys Korazin",
hands="Igno. Gauntlets +1",
ring1="Titan Ring +1",
ring2="Titan Ring +1",
back="Iximulew Cape",
waist="Snow Belt",
feet="Fall. Sollerets +1"})
sets.precast.WS.Torcleaver.Mid = set_combine(sets.precast.WS.Mid,{
neck="Snow Gorget",
hands="Igno. Gauntlets +1",
back="Niht Mantle",
waist="Caudata Belt"})
sets.precast.WS.Torcleaver.Acc = set_combine(sets.precast.WS.Torcleaver.Mid, sets.precast.WS.Acc)
-- INSURGENCY
-- 20% STR / 20% INT
sets.precast.WS.Insurgency = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Ganesha's Mala",
ear1="Moonshade Earring",
hands="Cizin Mufflers +1",
back="Bleating Mantle",
feet="Ejekamal Boots"})
sets.precast.WS.Insurgency.AM3 = set_combine(sets.precast.WS.Insurgency,{})
sets.precast.WS.Insurgency.Mid = set_combine(sets.precast.WS.Insurgency,{
ammo="Ginsen",-- Tengu-no-Hana(Daytime)
hands="Miki. Gauntlets",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Insurgency.Acc = set_combine(sets.precast.WS.Insurgency.Mid,{})
-- CROSS REAPER
-- 60% STR / 60% MND
sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS,{
ear1="Moonshade Earring",
hands="Fall. Fnin. Gaunt. +1",
back="Bleating Mantle",
--legs="Scuffler's Cosciales",
feet="Ejekamal Boots"})
sets.precast.WS['Cross Reaper'].Mid = set_combine(sets.precast.WS.Mid,{
ammo="Ginsen",-- Tengu-no-Hana(Daytime)
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'].Mid, sets.precast.WS.Acc)
-- ENTROPY
-- 86-100% INT
sets.precast.WS.Entropy = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Soil Gorget",
ear1="Moonshade Earring",
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Shiva Ring",
ring2="Shiva Ring",
back="Bleating Mantle",
waist="Soil Belt",
feet="Ejekamal Boots"})
sets.precast.WS.Entropy.Mid = set_combine(sets.precast.WS.Entropy,{
hands="Miki. Gauntlets",
ring2="Mars's Ring",
back="Niht Mantle",
feet="Mikinaak Greaves"})
sets.precast.WS.Entropy.Acc = set_combine(sets.precast.WS.Entropy.Mid, sets.precast.WS.Acc)
-- Quietus
-- 60% STR / MND
sets.precast.WS.Quietus = set_combine(sets.precast.WS,{
neck="Snow Gorget",
ear1="Bladeborn Earring",
ear2="Steelflash Earring",
body="Phorcys Korazin",
hands="Fall. Fin. Gaunt. +1",
back="Bleating Mantle",
waist="Snow Belt",
feet="Ejekamal Boots"})
sets.precast.WS.Quietus.Mid = set_combine(sets.precast.WS.Quietus,{
ammo="Floesotne",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Quietus.Acc = set_combine(sets.precast.WS.Quietus.Mid, sets.precast.WS.Acc)
-- SPIRAL HELL
-- 50% STR / 50% INT
sets.precast.WS['Spiral Hell'] = set_combine(sets.precast.WS['Entropy'],{
body="Phorcys Korazin",
ring1="Ifrit Ring",
ring2="Ifrit Ring",
feet="Ejekamal Boots"})
sets.precast.WS['Spiral Hell'].Mid = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Mid)
sets.precast.WS['Spiral Hell'].Acc = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Acc)
-- SHADOW OF DEATH
-- 40% STR 40% INT - Darkness Elemental
sets.precast.WS['Shadow of Death'] = set_combine(sets.precast.WS['Spiral Hell'],{})
sets.precast.WS['Shadow of Death'].Mid = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Mid)
sets.precast.WS['Shadow of Death'].Acc = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Acc)
-- CATASTROPHE
sets.precast.WS.Catastrophe = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Soil Gorget",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Phorcys Korazin",
back="Buquwik Cape",
waist="Soil Belt"})
sets.precast.WS.Catastrophe.Mid = set_combine(sets.precast.WS.Catastrophe,{
head="Otomi Helm",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Catastrophe.Acc = set_combine(sets.precast.WS.Acc,{})
-- Sword WS's
-- SANGUINE BLADE
-- 50% MND / 50% STR Darkness Elemental
sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS,{})
sets.precast.WS['Sanguine Blade'].Mid = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Mid)
sets.precast.WS['Sanguine Blade'].Acc = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Acc)
-- REQUISCAT
-- 73% MND - breath damage
sets.precast.WS.Requiescat = set_combine(sets.precast.WS,{})
sets.precast.WS.Requiescat.Mid = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Mid)
sets.precast.WS.Requiescat.Acc = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Acc)
-- Resting sets
sets.resting = {}
-- Idle sets
sets.idle.Town = {
ammo="Ginsen",
head="Igno. Burgeonet +1",
neck="Orochi Nodowa +1",
ear1="Trux Earring",
ear2="Tripudio Earring",
body="Ares' Cuirass +1",
hands="Ares' Gauntlets +1",
ring1="Dark Ring",
ring2="Defending Ring",
back="Engulfer Cape +1",
waist="Flume Belt +1",
legs="Blood Cuisses",
feet="Igno. Sollerets +1"}
sets.idle.Field = set_combine(sets.idle.Town, {
ammo="Vanir Battery",
head="Otomi Helm",
ear1="Merman's Earring",
ear2="Sanare Earring",
hands="Cizin Mufflers +1",
back="Engulfer Cape +1"})
sets.idle.Regen = set_combine(sets.idle.Field,{})
sets.idle.Weak = {}
sets.refresh = {
body="Twilight Mail",
neck="Bale Choker"}
-- Defense sets
sets.defense.PDT = {
ammo="Brigantia Pebble",
head="Ighwa Cap",
neck="Twilight Torque",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Cizin Mail +1",
hands="Umuthi Gloves",
ring2="Defending Ring",
ring1="Patricius Ring",
back="Mollusca Mantle",
waist="Flume Belt +1",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"}
sets.defense.Reraise = sets.idle.Weak
sets.defense.MDT = set_combine(sets.defense.PDT, {
ammo="Vanir Battery",
head="Wayfarer Circlet",
ear1="Merman's Earring",
ear2="Sanare Earring",
body="Wayfarer Robe",
hands="Medb's Gaunt. +1",
ring1="Shadow Ring",
back="Engulfer Cape +1",--Lieutenant's Sash--
waist="Resolute Belt",
legs="Fall. Flanchard +1",
feet="Xaddi Boots"})--Vanir Boots--
sets.Kiting = {legs="Blood Cuisses"}
sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
-- Defensive sets to combine with various weapon-specific sets below
-- These allow hybrid acc/pdt sets for difficult content
sets.Defensive = set_combine(sets.defense.PDT,{
body="Xaddi Mail",-- Path A
back="Bleating Mantle",})-- PDT 4%
sets.Defensive_Mid = set_combine(sets.Defensive,{
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
feet="Xaddi Boots"})
sets.Defensive_Acc = set_combine(sets.Defensive_Mid,{
--neck="Agitator's Collar",
hands="Xaddi Gauntlets",
back="Mollusca Mantle",
legs="Xaddi Cuisses"})
-- Engaged set
-- Crobaci +2 = needs 35 STP TP & 24 STP in WS
sets.engaged ={}
sets.engaged.Mid = set_combine(sets.engaged,{})
sets.engaged.Acc = set_combine(sets.engaged.Mid,{})
sets.engaged.PDT = set_combine(sets.engaged, sets.Defensive)
sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, sets.Defensive_Mid)
sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, sets.Defensive_Acc)
-- lower delay greatswords
sets.engaged.LDGS = set_combine(sets.engaged,{
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.LDGS.Mid = set_combine(sets.engaged.LDGS,{
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
ring1="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle"})
sets.engaged.LDGS.Acc = set_combine(sets.engaged.LDGS.Mid,{
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring2="Patricius Ring",-- Ramuh Ring +1
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses",
feet="Xaddi Boots"})
sets.engaged.LDGS.PDT = set_combine(sets.engaged.LDGS, sets.Defensive)
sets.engaged.LDGS.Mid.PDT = set_combine(sets.engaged.LDGS.Mid, sets.Defensive_Mid)
sets.engaged.LDGS.Acc.PDT = sets.engaged.Acc.PDT
-- GS war sub
sets.engaged.War = set_combine(sets.engaged,{
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.War.Mid = set_combine(sets.engaged.War, {
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
feet="Xaddi Boots"})
sets.engaged.War.Acc = set_combine(sets.engaged.War.Mid, {
ammo="Ginsen",
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",-- Ramuh Ring +1
ring2="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle",
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.War.PDT = set_combine(sets.engaged.War, sets.Defensive)
sets.engaged.War.Mid.PDT = set_combine(sets.engaged.War.Mid, sets.Defensive_Mid)
sets.engaged.War.Acc.PDT = set_combine(sets.engaged.War.Acc, sets.Defensive_Acc)
-- Scythe
sets.engaged.Scythe = {
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"}
sets.engaged.Scythe.Mid = set_combine(sets.engaged.Scythe, {
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
ring1="Mars's Ring",-- Ramuh Ring +1
feet="Xaddi Boots"})
sets.engaged.Scythe.Acc = set_combine(sets.engaged.Scythe.Mid, {
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring2="Patricius Ring",-- Ramuh Ring +1
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.Scythe.AM3 = set_combine(sets.engaged.Scythe,{})
sets.engaged.Scythe.Mid.AM3 = set_combine(sets.engaged.Scythe.AM3,{})
sets.engaged.Scythe.Acc.AM3 = set_combine(sets.engaged.Scythe.Mid.AM3,{})
sets.engaged.Scythe.PDT = set_combine(sets.engaged.Scythe, sets.Defensive)
sets.engaged.Scythe.Mid.PDT = set_combine(sets.engaged.Scythe.Mid, sets.Defensive_Mid)
sets.engaged.Scythe.Acc.PDT = set_combine(sets.engaged.Scythe.Acc, sets.Defensive_Acc)
-- Scythe war sub (aim for 40 stp)
sets.engaged.War.Scythe = set_combine(sets.engaged.Scythe, {
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.War.Scythe.Mid = set_combine(sets.engaged.War.Scythe, {
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
feet="Xaddi Boots"})
sets.engaged.War.Scythe.Acc = set_combine(sets.engaged.War.Scythe.Mid, {
ammo="Ginsen",
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",-- Ramuh Ring +1
ring2="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle",
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.War.Scythe.PDT = set_combine(sets.engaged.War.Scythe, sets.Defensive)
sets.engaged.War.Scythe.Mid.PDT = set_combine(sets.engaged.War.Scythe.Mid, sets.Defensive_Mid)
sets.engaged.War.Scythe.Acc.PDT = set_combine(sets.engaged.War.Scythe.Acc, sets.Defensive_Acc)
sets.engaged.Reraise = set_combine(sets.engaged, {
head="Twilight Helm",
body="Twilight Mail"})
sets.buff['Last Resort'] = {
feet="Fall. Sollerets +1"}
sets.buff.Souleater = {
head="Igno. Burgeonet +1"}
end
Code --[[
=== Notes ===
-- Set format is as follows:
sets.engaged.[CombatForm][CombatWeapon][Offense or DefenseMode][CustomGroup]
CombatForm = War
CombatWeapon = Scythe
CustomGroups = AM3 SamRoll
The default sets are for Sam subjob with a Greatsword.
The above set format allows you to build sets for war and sam sub with either scythe or gs
--]]
--
-- 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.
function job_setup()
state.CapacityMode = M(false, 'Capacity Point Mantle')
-- SE can be used full time, or after WS then cancel
state.SouleaterMode = M(true, 'Soul Eater Mode')
state.Buff.Souleater = buffactive.souleater or false
state.Buff['Last Resort'] = buffactive['Last Resort'] or false
-- any scythe that should use sets.engaged.Scythe
scytheList = S{ 'Apocalypse','Anahera Scythe','Twilight Scythe','Liberator'}
-- low delay great swords only. Leave the others out
gsList = S{'Ragnarok'}
-- list of weaponskills that make better use of otomi helm in attack capped situations
wsList = S{'Spiral Hell'}
get_combat_weapon()
get_combat_form()
update_melee_groups()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
state.OffenseMode:options('Normal', 'Mid', 'Acc')
state.HybridMode:options('Normal', 'PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Mid', 'Acc')
state.CastingMode:options('Normal')
state.IdleMode:options('Normal')
state.RestingMode:options('Normal')
state.PhysicalDefenseMode:options('PDT', 'Reraise')
state.MagicalDefenseMode:options('MDT')
war_sj = player.sub_job == 'WAR' or false
-- Additional local binds
send_command('bind != gs c toggle CapacityMode')
send_command('bind @f9 gs c toggle SouleaterMode')
send_command('bind ^` input /ws "Hasso" <me>')
send_command('bind !` input /ja "Seigan" <me>')
send_command('bind ^[ input /lockstyle on')
send_command('bind ![ input /lockstyle off')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
send_command('unbind ^`')
send_command('unbind !=')
send_command('unbind ^[')
send_command('unbind ![')
send_command('unbind @f9')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
-- gear located in Drk_Gear.lua
end
function job_pretarget(spell, action, spellMap, eventArgs)
if spell.type:endswith('Magic') and buffactive.silence then
cancel_spell()
send_command('input /item "Echo Drops" <me>')
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if state.OffenseMode.current == 'Normal' and wsList:contains(spell.english)then
-- use normal head piece
else
equip(sets.WSDayBonus)
end
end
if state.CapacityMode.value then
equip(sets.CapacityMantle)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.HybridMode.current == 'Reraise' or
(state.HybridMode.current == 'Physical' and state.PhysicalDefenseMode.current == 'Reraise') then
equip(sets.Reraise)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
function job_post_aftercast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if state.Buff.Souleater and state.SouleaterMode.value then
send_command('@wait 1.0;cancel souleater')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 50 then
idleSet = set_combine(idleSet, sets.refresh)
end
if player.hpp < 90 then
idleSet = set_combine(idleSet, sets.idle.Regen)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
meleeSet = set_combine(meleeSet, sets.Ammo)
--if state.Buff['Last Resort'] then
-- meleeSet = set_combine(meleeSet, sets.buff['Last Resort'])
--end
if state.CapacityMode.value then
meleeSet = set_combine(meleeSet, sets.CapacityMantle)
end
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)
if newStatus == "Engaged" then
get_combat_weapon()
end
if newStatus == "Engaged" or newStatus == "Idle" then
if player.equipment.ammo == 'Oxidant Bolt' then
disable('ammo')
else
enable('ammo')
end
end
end
function aftercast(spell,action)
if not spell.interrupted then
elseif spell.english == "Arcane Circle" then -- Arcane Circle Countdown --
send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
elseif spell.english == "Sleep II" then -- Sleep II Countdown --
send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Sleep" then -- Sleep Countdown --
send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
end
end
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
if buff == 'Aftermath: Lv.3' or buff == 'Samurai Roll' then
classes.CustomMeleeGroups:clear()
if (buff == "Aftermath: Lv.3" and gain) or buffactive['Aftermath: Lv.3'] then
classes.CustomMeleeGroups:append('AM3')
end
if (buff == "Samurai Roll" and gain) or buffactive['Samurai Roll'] then
classes.CustomMeleeGroups:append('SamRoll')
end
handle_equipping_gear(player.status)
end
if player.equipment.ammo == 'Oxidant Bolt' then
disable('ammo')
else
enable('ammo')
end
if string.lower(buff) == "sleep" and gain and player.hp > 200 then
equip(sets.Berserker)
else
if not midaction() then
handle_equipping_gear(player.status)
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
war_sj = player.sub_job == 'WAR' or false
get_combat_weapon()
get_combat_form()
update_melee_groups()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function get_combat_form()
if war_sj then
state.CombatForm:set("War")
else
state.CombatForm:reset()
end
end
function get_combat_weapon()
if scytheList:contains(player.equipment.main) then
--add_to_chat(122, "Scythe Mode")
state.CombatWeapon:set("Scythe")
elseif gsList:contains(player.equipment.main) then
state.CombatWeapon:set("LDGS")
else -- use regular set
state.CombatWeapon:reset()
end
end
function select_static_ammo()
if state.OffenseMode.current == 'Acc' or state.OffenseMode.current == 'Mid' then
if world.time >= (18*60) or world.time <= (6*60) then
return sets.NightAccAmmo
else
return sets.DayAccAmmo
end
else
return sets.RegularAmmo
end
end
--function adjust_melee_groups()
-- classes.CustomMeleeGroups:clear()
-- if state.Buff.Aftermath then
-- classes.CustomMeleeGroups:append('AM')
-- end
--end
function update_melee_groups()
classes.CustomMeleeGroups:clear()
if buffactive['Aftermath: Lv.3'] then
classes.CustomMeleeGroups:append('AM3')
end
if buffactive['Samurai Roll'] then
classes.CustomRangedGroups:append('SamRoll')
end
end
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'WAR' then
set_macro_page(2, 1)
elseif player.sub_job == 'SAM' then
set_macro_page(1, 1)
elseif player.sub_job == 'NIN' then
set_macro_page(3, 1)
elseif player.sub_job == 'DNC' then
set_macro_page(4, 1)
elseif player.sub_job == 'SCH' then
set_macro_page(5, 1)
elseif player.sub_job == 'RDM' then
set_macro_page(6, 1)
else
set_macro_page(1, 1)
end
end
Was wondering if anyone could help me out with this Gearswap for Drk. Only problems im having atm is its perma Gavalis Helm for WS's, basically what I want is just to use Gav Helm on day bonus and my reg WS heads on days without bonus. Thanks in advance!
Quetzalcoatl.Orestes
Serveur: Quetzalcoatl
Game: FFXI
Posts: 430
By Quetzalcoatl.Orestes 2014-11-24 21:51:46
Code -- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Diabolic Eye'] = {hands="Fall. Fin. Gaunt. +1"}
sets.precast.JA['Arcane Circle'] = {feet="Igno. Sollerets +1"}
sets.precast.JA['Nether Void'] = {legs="Bale Flanchard +2"}
sets.precast.JA['Dark Seal'] = {head="Fall. Burgeonet +1"}
sets.precast.JA['Souleater'] = {head="Igno. Burgeonet +1"}
--sets.precast.JA['Last Resort'] = {feet="Fall. Sollerets +1"}
sets.precast.JA['Blood Weapon'] = {body="Fall. Cuirass +1"}
sets.precast.JA['Weapon Bash'] = {hands="Igno. Gauntlets +1"}
sets.CapacityMantle = { back="Mecistopins Mantle" }
--sets.Berserker = { neck="Berserker's Torque" }
sets.WSDayBonus = { head="Gavialis Helm" }
-- Waltz set (chr and vit)
sets.precast.Waltz = {
ammo="Brigantia Pebble",
head="Fall. Burgeonet +1",
neck="Ganesha's Mala",
body="Fall. Cuirass +1",
hands="Umuthi Gloves",
ring1="Titan Ring +1",
ring2="Titan Ring +1",
back="Iximulew Cape",
waist="Caudata Belt",
legs="Fall. Flanchard +1",
feet="Fall. Sollerets +1"}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Impatiens",
head="Cizin Helm +1",
neck="Jeweled Collar",
ear1="Loquac. Earring",
ear2="Enchntr. Earring +1",
body="Nuevo Coselete",
hands="Buremete Gloves",
ring2="Prolix Ring",
ring1="Weather. Ring",
back="Mollusca Mantle",
waist="Dynamic Belt +1",
legs="Homam Cosciales",
feet="Cizin Greaves +1"}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC,{
neck="Magoraga Beads"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC,{
ammo="Floestone",
head="Highwing Helm",
neck="Eddy Necklace",
ear1="Friomisi Earring",
ear2="Hecate's Earring",
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Acumen Ring",
ring2="Fenrir Ring",
back="Toro Cape",
waist="Caudata Belt",
legs="Wayfarer Slops",
feet="Igno. Sollerets +1"})
sets.precast.FC['Absorb-TP'] = set_combine(sets.precast.FC,{
hands="Bale Gauntlets +2"})
sets.precast.FC['Dark Magic'] = set_combine(sets.precast.FC, {
head="Fall. Burgeonet +1"})
-- Midcast Sets
sets.midcast.FastRecast = {
ammo="Impatiens",
hands="Cizin Mufflers +1",
feet="Ejekamal Boots"}
-- Specific spells
sets.midcast.Utsusemi = {
feet="Ejekamal Boots"}
sets.midcast['Dark Magic'] = {
head="Igno. Burgeonet +1",
neck="Aesir Torque",
ear1="Abyssal Earring",
ear2="Dark Earring",
body="Demon's Harness +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Weather. Ring",
ring2="Sangoma Ring",
back={name="Niht Mantle", augments={'Attack +15','Dark magic skill +5','"Drain" and "Aspir" potency +15'}},
waist="Casso Sash",
legs="Bale Flanchard +2",
feet="Igno. Sollerets +1"}
sets.midcast['Enfeebling Magic'] = set_combine(sets.midcast['Dark Magic'], {
body="Igno. Cuirass +1",})
sets.midcast['Elemental Magic'] = {
ammo="Floestone",-- Ombre Tathlum +1
head="Highwing Helm",
neck="Eddy Necklace",
ear1="Friomisi Earring",
ear2="Hecate's Earring",-- Crematio Earring
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Acumen Ring",-- Fenrir Ring +1
ring2="Fenrir Ring",-- Fenrir Ring +1
back="Toro Cape",-- Aput Mantle +1
waist="Wanion Belt",
legs="Wayfarer Slops",-- Augury Cuisses +1
feet="Igno. Sollerets +1"}
sets.midcast['Dread Spikes'] = set_combine(sets.midcast['Dark Magic'],{
ammo="Egoist's Tathlum",
head="Ganesha's Mask",
neck="Bloodbead Gorget",
ear1="Upsurge Earring",
ear2="Cassie Earring",
body="Bale Cuirass +2",
hands="Gorney Moufles +1",
ring1="Bomb Queen Ring",
ring2="Meridian Ring",
back="Aenoth. Mantle +1",
waist="Oneiros Belt",-- Gold Moogle Belt
legs="Gor. Brayettes +1",
feet="Llwyd's Clogs"})
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'],{
head="Striga Crown",
ear2="Hirudinea Earring",
ring1="Excelsis Ring",
waist="Austerity Belt +1"})
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Absorb = set_combine(sets.midcast['Dark Magic'],{
-- head="Onyx Sallet",
hands="Pavor Gauntlets",
back="Chuparrosa Mantle",
-- legs="Onyx Cuisses",
feet="Black Sollerets"})-- Onyx Sollerets
sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb,{
hands="Bale Gauntlets +2"})
sets.midcast['Absorb-STR'] = sets.midcast.Absorb
sets.midcast['Absorb-DEX'] = sets.midcast.Absorb
sets.midcast['Absorb-AGI'] = sets.midcast.Absorb
sets.midcast['Absorb-MND'] = sets.midcast.Absorb
sets.midcast['Absorb-VIT'] = sets.midcast.Absorb
sets.midcast['Absorb-Attri'] = sets.midcast.Absorb
sets.midcast['Absorb-Acc'] = sets.midcast.Absorb
-- WEAPONSKILL SETS
-- General sets
sets.precast.WS = {
ammo="Aqreqaq Bomblet",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Bale Earring",
ear2="Brutal Earring",
body="Igno. Cuirass +1",
hands="Miki. Gauntlets",
ring1="Ifrit Ring",
ring2="Ifrit Ring",
back={name="Niht Mantle", augments={'Attack +15','Dark magic skill +5','"Drain" and "Aspir" potency +15'}},
waist="Windbuffet Belt +1",
legs="Igno. Flan. +1",
feet="Gigan. Boots +1"}
sets.precast.WS.Mid = set_combine(sets.precast.WS,{
head="Yaoyotl Helm",
back="Letalis Mantle",
feet="Ejekamal Boots"})
sets.precast.WS.Acc = set_combine(sets.precast.WS.Mid,{})
-- RESOLUTION
-- 86-100% STR
sets.precast.WS.Resolution = set_combine(sets.precast.WS,{
neck="Soil Gorget",
ear1="Moonshade Earring",
hands="Boor Bracelets",
waist="Soil Belt"})
sets.precast.WS.Resolution.Mid = set_combine(sets.precast.WS.Resolution,{
hands="Miki. Gauntlets",
back="Niht Mantle",
feet="Xaddi Boots"})
sets.precast.WS.Resolution.Acc = set_combine(sets.precast.WS.Resolution.Mid, sets.precast.WS.Acc)
-- TORCLEAVER
-- VIT 80%
sets.precast.WS.Torcleaver = set_combine(sets.precast.WS,{
ammo="Brigantia Pebble",
head="Fallen's Burgeonet +1",
ear1="Moonshade Earring",
body="Phorcys Korazin",
hands="Igno. Gauntlets +1",
ring1="Titan Ring +1",
ring2="Titan Ring +1",
back="Iximulew Cape",
waist="Snow Belt",
feet="Fall. Sollerets +1"})
sets.precast.WS.Torcleaver.Mid = set_combine(sets.precast.WS.Mid,{
neck="Snow Gorget",
hands="Igno. Gauntlets +1",
back="Niht Mantle",
waist="Caudata Belt"})
sets.precast.WS.Torcleaver.Acc = set_combine(sets.precast.WS.Torcleaver.Mid, sets.precast.WS.Acc)
-- INSURGENCY
-- 20% STR / 20% INT
sets.precast.WS.Insurgency = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Ganesha's Mala",
ear1="Moonshade Earring",
hands="Cizin Mufflers +1",
back="Bleating Mantle",
feet="Ejekamal Boots"})
sets.precast.WS.Insurgency.AM3 = set_combine(sets.precast.WS.Insurgency,{})
sets.precast.WS.Insurgency.Mid = set_combine(sets.precast.WS.Insurgency,{
ammo="Ginsen",-- Tengu-no-Hana(Daytime)
hands="Miki. Gauntlets",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Insurgency.Acc = set_combine(sets.precast.WS.Insurgency.Mid,{})
-- CROSS REAPER
-- 60% STR / 60% MND
sets.precast.WS['Cross Reaper'] = set_combine(sets.precast.WS,{
ear1="Moonshade Earring",
hands="Fall. Fnin. Gaunt. +1",
back="Bleating Mantle",
--legs="Scuffler's Cosciales",
feet="Ejekamal Boots"})
sets.precast.WS['Cross Reaper'].Mid = set_combine(sets.precast.WS.Mid,{
ammo="Ginsen",-- Tengu-no-Hana(Daytime)
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'].Mid, sets.precast.WS.Acc)
-- ENTROPY
-- 86-100% INT
sets.precast.WS.Entropy = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Soil Gorget",
ear1="Moonshade Earring",
body="Fall. Cuirass +1",
hands="Fall. Fin. Gaunt. +1",
ring1="Shiva Ring",
ring2="Shiva Ring",
back="Bleating Mantle",
waist="Soil Belt",
feet="Ejekamal Boots"})
sets.precast.WS.Entropy.Mid = set_combine(sets.precast.WS.Entropy,{
hands="Miki. Gauntlets",
ring2="Mars's Ring",
back="Niht Mantle",
feet="Mikinaak Greaves"})
sets.precast.WS.Entropy.Acc = set_combine(sets.precast.WS.Entropy.Mid, sets.precast.WS.Acc)
-- Quietus
-- 60% STR / MND
sets.precast.WS.Quietus = set_combine(sets.precast.WS,{
neck="Snow Gorget",
ear1="Bladeborn Earring",
ear2="Steelflash Earring",
body="Phorcys Korazin",
hands="Fall. Fin. Gaunt. +1",
back="Bleating Mantle",
waist="Snow Belt",
feet="Ejekamal Boots"})
sets.precast.WS.Quietus.Mid = set_combine(sets.precast.WS.Quietus,{
ammo="Floesotne",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Quietus.Acc = set_combine(sets.precast.WS.Quietus.Mid, sets.precast.WS.Acc)
-- SPIRAL HELL
-- 50% STR / 50% INT
sets.precast.WS['Spiral Hell'] = set_combine(sets.precast.WS['Entropy'],{
body="Phorcys Korazin",
ring1="Ifrit Ring",
ring2="Ifrit Ring",
feet="Ejekamal Boots"})
sets.precast.WS['Spiral Hell'].Mid = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Mid)
sets.precast.WS['Spiral Hell'].Acc = set_combine(sets.precast.WS['Spiral Hell'], sets.precast.WS.Acc)
-- SHADOW OF DEATH
-- 40% STR 40% INT - Darkness Elemental
sets.precast.WS['Shadow of Death'] = set_combine(sets.precast.WS['Spiral Hell'],{})
sets.precast.WS['Shadow of Death'].Mid = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Mid)
sets.precast.WS['Shadow of Death'].Acc = set_combine(sets.precast.WS['Shadow of Death'], sets.precast.WS.Acc)
-- CATASTROPHE
sets.precast.WS.Catastrophe = set_combine(sets.precast.WS,{
ammo="Floestone",
neck="Soil Gorget",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Phorcys Korazin",
back="Buquwik Cape",
waist="Soil Belt"})
sets.precast.WS.Catastrophe.Mid = set_combine(sets.precast.WS.Catastrophe,{
head="Otomi Helm",
back="Niht Mantle",
feet="Fall. Sollerets +1"})
sets.precast.WS.Catastrophe.Acc = set_combine(sets.precast.WS.Acc,{})
-- Sword WS's
-- SANGUINE BLADE
-- 50% MND / 50% STR Darkness Elemental
sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS,{})
sets.precast.WS['Sanguine Blade'].Mid = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Mid)
sets.precast.WS['Sanguine Blade'].Acc = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Acc)
-- REQUISCAT
-- 73% MND - breath damage
sets.precast.WS.Requiescat = set_combine(sets.precast.WS,{})
sets.precast.WS.Requiescat.Mid = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Mid)
sets.precast.WS.Requiescat.Acc = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Acc)
-- Resting sets
sets.resting = {}
-- Idle sets
sets.idle.Town = {
ammo="Ginsen",
head="Igno. Burgeonet +1",
neck="Orochi Nodowa +1",
ear1="Trux Earring",
ear2="Tripudio Earring",
body="Ares' Cuirass +1",
hands="Ares' Gauntlets +1",
ring1="Dark Ring",
ring2="Defending Ring",
back="Engulfer Cape +1",
waist="Flume Belt +1",
legs="Blood Cuisses",
feet="Igno. Sollerets +1"}
sets.idle.Field = set_combine(sets.idle.Town, {
ammo="Vanir Battery",
head="Otomi Helm",
ear1="Merman's Earring",
ear2="Sanare Earring",
hands="Cizin Mufflers +1",
back="Engulfer Cape +1"})
sets.idle.Regen = set_combine(sets.idle.Field,{})
sets.idle.Weak = {}
sets.refresh = {
body="Twilight Mail",
neck="Bale Choker"}
-- Defense sets
sets.defense.PDT = {
ammo="Brigantia Pebble",
head="Ighwa Cap",
neck="Twilight Torque",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Cizin Mail +1",
hands="Umuthi Gloves",
ring2="Defending Ring",
ring1="Patricius Ring",
back="Mollusca Mantle",
waist="Flume Belt +1",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"}
sets.defense.Reraise = sets.idle.Weak
sets.defense.MDT = set_combine(sets.defense.PDT, {
ammo="Vanir Battery",
head="Wayfarer Circlet",
ear1="Merman's Earring",
ear2="Sanare Earring",
body="Wayfarer Robe",
hands="Medb's Gaunt. +1",
ring1="Shadow Ring",
back="Engulfer Cape +1",--Lieutenant's Sash--
waist="Resolute Belt",
legs="Fall. Flanchard +1",
feet="Xaddi Boots"})--Vanir Boots--
sets.Kiting = {legs="Blood Cuisses"}
sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
-- Defensive sets to combine with various weapon-specific sets below
-- These allow hybrid acc/pdt sets for difficult content
sets.Defensive = set_combine(sets.defense.PDT,{
body="Xaddi Mail",-- Path A
back="Bleating Mantle",})-- PDT 4%
sets.Defensive_Mid = set_combine(sets.Defensive,{
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
feet="Xaddi Boots"})
sets.Defensive_Acc = set_combine(sets.Defensive_Mid,{
--neck="Agitator's Collar",
hands="Xaddi Gauntlets",
back="Mollusca Mantle",
legs="Xaddi Cuisses"})
-- Engaged set
-- Crobaci +2 = needs 35 STP TP & 24 STP in WS
sets.engaged ={}
sets.engaged.Mid = set_combine(sets.engaged,{})
sets.engaged.Acc = set_combine(sets.engaged.Mid,{})
sets.engaged.PDT = set_combine(sets.engaged, sets.Defensive)
sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, sets.Defensive_Mid)
sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, sets.Defensive_Acc)
-- lower delay greatswords
sets.engaged.LDGS = set_combine(sets.engaged,{
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.LDGS.Mid = set_combine(sets.engaged.LDGS,{
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
ring1="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle"})
sets.engaged.LDGS.Acc = set_combine(sets.engaged.LDGS.Mid,{
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring2="Patricius Ring",-- Ramuh Ring +1
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses",
feet="Xaddi Boots"})
sets.engaged.LDGS.PDT = set_combine(sets.engaged.LDGS, sets.Defensive)
sets.engaged.LDGS.Mid.PDT = set_combine(sets.engaged.LDGS.Mid, sets.Defensive_Mid)
sets.engaged.LDGS.Acc.PDT = sets.engaged.Acc.PDT
-- GS war sub
sets.engaged.War = set_combine(sets.engaged,{
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.War.Mid = set_combine(sets.engaged.War, {
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
feet="Xaddi Boots"})
sets.engaged.War.Acc = set_combine(sets.engaged.War.Mid, {
ammo="Ginsen",
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",-- Ramuh Ring +1
ring2="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle",
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.War.PDT = set_combine(sets.engaged.War, sets.Defensive)
sets.engaged.War.Mid.PDT = set_combine(sets.engaged.War.Mid, sets.Defensive_Mid)
sets.engaged.War.Acc.PDT = set_combine(sets.engaged.War.Acc, sets.Defensive_Acc)
-- Scythe
sets.engaged.Scythe = {
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"}
sets.engaged.Scythe.Mid = set_combine(sets.engaged.Scythe, {
ammo="Ginsen",
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
ring1="Mars's Ring",-- Ramuh Ring +1
feet="Xaddi Boots"})
sets.engaged.Scythe.Acc = set_combine(sets.engaged.Scythe.Mid, {
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring2="Patricius Ring",-- Ramuh Ring +1
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.Scythe.AM3 = set_combine(sets.engaged.Scythe,{})
sets.engaged.Scythe.Mid.AM3 = set_combine(sets.engaged.Scythe.AM3,{})
sets.engaged.Scythe.Acc.AM3 = set_combine(sets.engaged.Scythe.Mid.AM3,{})
sets.engaged.Scythe.PDT = set_combine(sets.engaged.Scythe, sets.Defensive)
sets.engaged.Scythe.Mid.PDT = set_combine(sets.engaged.Scythe.Mid, sets.Defensive_Mid)
sets.engaged.Scythe.Acc.PDT = set_combine(sets.engaged.Scythe.Acc, sets.Defensive_Acc)
-- Scythe war sub (aim for 40 stp)
sets.engaged.War.Scythe = set_combine(sets.engaged.Scythe, {
sub="Bloodrain Strap",
ammo="Yetshila",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.engaged.War.Scythe.Mid = set_combine(sets.engaged.War.Scythe, {
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",-- Zennaroi Earring
feet="Xaddi Boots"})
sets.engaged.War.Scythe.Acc = set_combine(sets.engaged.War.Scythe.Mid, {
ammo="Ginsen",
neck="Iqabi Necklace",
--body="Mes. Haubergeon",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",-- Ramuh Ring +1
ring2="Mars's Ring",-- Ramuh Ring +1
back="Letalis Mantle",
waist="Anguinus Belt",--Olseni Belt
legs="Xaddi Cuisses"})
sets.engaged.War.Scythe.PDT = set_combine(sets.engaged.War.Scythe, sets.Defensive)
sets.engaged.War.Scythe.Mid.PDT = set_combine(sets.engaged.War.Scythe.Mid, sets.Defensive_Mid)
sets.engaged.War.Scythe.Acc.PDT = set_combine(sets.engaged.War.Scythe.Acc, sets.Defensive_Acc)
sets.engaged.Reraise = set_combine(sets.engaged, {
head="Twilight Helm",
body="Twilight Mail"})
sets.buff['Last Resort'] = {
feet="Fall. Sollerets +1"}
sets.buff.Souleater = {
head="Igno. Burgeonet +1"}
end
Code --[[
=== Notes ===
-- Set format is as follows:
sets.engaged.[CombatForm][CombatWeapon][Offense or DefenseMode][CustomGroup]
CombatForm = War
CombatWeapon = Scythe
CustomGroups = AM3 SamRoll
The default sets are for Sam subjob with a Greatsword.
The above set format allows you to build sets for war and sam sub with either scythe or gs
--]]
--
-- 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.
function job_setup()
state.CapacityMode = M(false, 'Capacity Point Mantle')
-- SE can be used full time, or after WS then cancel
state.SouleaterMode = M(true, 'Soul Eater Mode')
state.Buff.Souleater = buffactive.souleater or false
state.Buff['Last Resort'] = buffactive['Last Resort'] or false
-- any scythe that should use sets.engaged.Scythe
scytheList = S{ 'Apocalypse','Anahera Scythe','Twilight Scythe','Liberator'}
-- low delay great swords only. Leave the others out
gsList = S{'Ragnarok'}
-- list of weaponskills that make better use of otomi helm in attack capped situations
wsList = S{'Spiral Hell'}
get_combat_weapon()
get_combat_form()
update_melee_groups()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
state.OffenseMode:options('Normal', 'Mid', 'Acc')
state.HybridMode:options('Normal', 'PDT', 'Reraise')
state.WeaponskillMode:options('Normal', 'Mid', 'Acc')
state.CastingMode:options('Normal')
state.IdleMode:options('Normal')
state.RestingMode:options('Normal')
state.PhysicalDefenseMode:options('PDT', 'Reraise')
state.MagicalDefenseMode:options('MDT')
war_sj = player.sub_job == 'WAR' or false
-- Additional local binds
send_command('bind != gs c toggle CapacityMode')
send_command('bind @f9 gs c toggle SouleaterMode')
send_command('bind ^` input /ws "Hasso" <me>')
send_command('bind !` input /ja "Seigan" <me>')
send_command('bind ^[ input /lockstyle on')
send_command('bind ![ input /lockstyle off')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
send_command('unbind ^`')
send_command('unbind !=')
send_command('unbind ^[')
send_command('unbind ![')
send_command('unbind @f9')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
-- gear located in Drk_Gear.lua
end
function job_pretarget(spell, action, spellMap, eventArgs)
if spell.type:endswith('Magic') and buffactive.silence then
cancel_spell()
send_command('input /item "Echo Drops" <me>')
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = true
end
end
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if state.OffenseMode.current == 'Normal' and wsList:contains(spell.english)then
-- use normal head piece
else
equip(sets.WSDayBonus)
end
end
if state.CapacityMode.value then
equip(sets.CapacityMantle)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if state.HybridMode.current == 'Reraise' or
(state.HybridMode.current == 'Physical' and state.PhysicalDefenseMode.current == 'Reraise') then
equip(sets.Reraise)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
function job_post_aftercast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if state.Buff.Souleater and state.SouleaterMode.value then
send_command('@wait 1.0;cancel souleater')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 50 then
idleSet = set_combine(idleSet, sets.refresh)
end
if player.hpp < 90 then
idleSet = set_combine(idleSet, sets.idle.Regen)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
meleeSet = set_combine(meleeSet, sets.Ammo)
--if state.Buff['Last Resort'] then
-- meleeSet = set_combine(meleeSet, sets.buff['Last Resort'])
--end
if state.CapacityMode.value then
meleeSet = set_combine(meleeSet, sets.CapacityMantle)
end
return meleeSet
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)
if newStatus == "Engaged" then
get_combat_weapon()
end
if newStatus == "Engaged" or newStatus == "Idle" then
if player.equipment.ammo == 'Oxidant Bolt' then
disable('ammo')
else
enable('ammo')
end
end
end
function aftercast(spell,action)
if not spell.interrupted then
elseif spell.english == "Arcane Circle" then -- Arcane Circle Countdown --
send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
elseif spell.english == "Sleep II" then -- Sleep II Countdown --
send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Sleep" then -- Sleep Countdown --
send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
end
end
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
state.Buff[buff] = gain
end
if buff == 'Aftermath: Lv.3' or buff == 'Samurai Roll' then
classes.CustomMeleeGroups:clear()
if (buff == "Aftermath: Lv.3" and gain) or buffactive['Aftermath: Lv.3'] then
classes.CustomMeleeGroups:append('AM3')
end
if (buff == "Samurai Roll" and gain) or buffactive['Samurai Roll'] then
classes.CustomMeleeGroups:append('SamRoll')
end
handle_equipping_gear(player.status)
end
if player.equipment.ammo == 'Oxidant Bolt' then
disable('ammo')
else
enable('ammo')
end
if string.lower(buff) == "sleep" and gain and player.hp > 200 then
equip(sets.Berserker)
else
if not midaction() then
handle_equipping_gear(player.status)
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
war_sj = player.sub_job == 'WAR' or false
get_combat_weapon()
get_combat_form()
update_melee_groups()
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function get_combat_form()
if war_sj then
state.CombatForm:set("War")
else
state.CombatForm:reset()
end
end
function get_combat_weapon()
if scytheList:contains(player.equipment.main) then
--add_to_chat(122, "Scythe Mode")
state.CombatWeapon:set("Scythe")
elseif gsList:contains(player.equipment.main) then
state.CombatWeapon:set("LDGS")
else -- use regular set
state.CombatWeapon:reset()
end
end
function select_static_ammo()
if state.OffenseMode.current == 'Acc' or state.OffenseMode.current == 'Mid' then
if world.time >= (18*60) or world.time <= (6*60) then
return sets.NightAccAmmo
else
return sets.DayAccAmmo
end
else
return sets.RegularAmmo
end
end
--function adjust_melee_groups()
-- classes.CustomMeleeGroups:clear()
-- if state.Buff.Aftermath then
-- classes.CustomMeleeGroups:append('AM')
-- end
--end
function update_melee_groups()
classes.CustomMeleeGroups:clear()
if buffactive['Aftermath: Lv.3'] then
classes.CustomMeleeGroups:append('AM3')
end
if buffactive['Samurai Roll'] then
classes.CustomRangedGroups:append('SamRoll')
end
end
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'WAR' then
set_macro_page(2, 1)
elseif player.sub_job == 'SAM' then
set_macro_page(1, 1)
elseif player.sub_job == 'NIN' then
set_macro_page(3, 1)
elseif player.sub_job == 'DNC' then
set_macro_page(4, 1)
elseif player.sub_job == 'SCH' then
set_macro_page(5, 1)
elseif player.sub_job == 'RDM' then
set_macro_page(6, 1)
else
set_macro_page(1, 1)
end
end
Was wondering if anyone could help me out with this Gearswap for Drk. Only problems im having atm is its perma Gavalis Helm for WS's, basically what I want is just to use Gav Helm on day bonus and my reg WS heads on days without bonus. Thanks in advance!
That's mine. I assume you have a copy of User-Globals.lua. If you don't, make sure you grab that from my github here so the ws day detection works.
If you don't want Gav helm for a particular WS, add it to the wsList array. i.e. wsList = { "Torcleaver", "Spiral Hell"} etc.
I also have it setup to use Gav helm when you're in Mid or Acc modes, even for WS in the excludes list. If you don't want this behavior, replace job_post_precast() with this.
Code
function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if wsList:contains(spell.english)then
-- use normal head piece
else
equip(sets.WSDayBonus)
end
end
if state.CapacityMode.value then
equip(sets.CapacityMantle)
end
end
Bahamut.Ballzack
Serveur: Bahamut
Game: FFXI
Posts: 54
By Bahamut.Ballzack 2014-11-24 22:08:11
Nope I cant believe I overlooked that, I feel like a moron now haha. You are #1 my friend lol I love the Gearswap, I was using Bokura's his was perfect but it was just missing some more key features that yours had! But thanks man! Edit!: Wouldnt happen to have some binds or a pro tip for creating binds for WS's would you?
Quetzalcoatl.Crystalchan
Serveur: Quetzalcoatl
Game: FFXI
Posts: 1184
By Quetzalcoatl.Crystalchan 2014-11-24 23:06:34
I'm getting this error after I relogged? Something updated since I haven't logged out in a few days! I'm really not sure what it could be, most likely something that'll make me feel like a banana...
Both of these give the same error when loaded, it seems all my other Gearswaps were affected, not just GEO!
Kinetic's Updated GEO.lua
Kinetic's super old GEO.lua that's been working fine even though it's been yelling at me to update it
WHM.lua that doesn't even use Mote-includes?
Cerberus.Fthis
Serveur: Cerberus
Game: FFXI
Posts: 54
By Cerberus.Fthis 2014-11-25 01:27:45
This same thing has happend to me also but only with a GEO lua, not for any of my other jobs.
Cerberus.Rabies
Serveur: Cerberus
Game: FFXI
Posts: 57
By Cerberus.Rabies 2014-11-26 10:03:19
Well figuring things out, but my next question might be simple? I can see F9 changes my gear sets from Normal > Acc. My F10 does PDT, F11 MDT. Now I have this in my gearswap gear code
Code sets.precast.WS = {head="Otomi Helm",
neck="Ganesha's Mala",ear1="Moonshade Earring",ear2="Brutal Earring",
body="Phorcys Korazin",hands="Boor Bracelets",ring1="Karieyh Ring",ring2="Pyrosoul Ring",
back="Buquwik Cape",waist="Windbuffet Belt +1",legs="Otronif brais +1",feet="Sakonji sune-ate +1"}
[b]sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Letalis Mantle"})[/b]
I can't find the buttons that switches WS from Normal to ACC.
I have this in my .lua also.
Code function user_setup()
state.OffenseMode:options('Normal', 'Acc')
state.HybridMode:options('Normal', 'Reraise')
state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
state.PhysicalDefenseMode:options('PDT', 'Reraise')
update_combat_form()
Anyone know the key/keys which will allow me to toggle WS set?
Bismarck.Inference
Serveur: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-11-26 23:44:46
Default Keybinding should be WindowsKey+F9.
Serveur: Fenrir
Game: FFXI
Posts: 183
By Fenrir.Brimstonefox 2014-11-27 10:11:22
Using Mote's v2, I'm confused about this error, if you want to see everything I can probably strip it down to a simple example, otherwise I'm hoping this snippet will suffice:
Inside init_gear_sets(): Code
add_to_chat(123, 'combat Form set to '..state.CombatForm.value)
add_to_chat(123, 'combat Weapon set to '..state.CombatWeapon.value)
sets.engaged.DW.Sword = set_combine(sets.engaged, {main="Buramenk'ah",sub="Xiutleato"})
CombatForm is DW
CombatWeapon is Sword
Says "attempt to index field 'DW' (a nil value)
in reference to the sets.engaged line. Doesn't like my set name for some reason but I don't know why just attempting to follow the example here: https://github.com/Kinematics/GearSwap-Jobs/wiki/Sets
Serveur: Fenrir
Game: FFXI
Posts: 183
By Fenrir.Brimstonefox 2014-11-27 10:17:08
My previous post can be ignored, my problem appears to be in not initializing sets.engaged.DW first.
By bubba37343 2014-11-28 19:08:09
I have just started messing around with Gearswap, and I have run into the problem of it sometimes switching to my midcast gear, and sometimes not. Any help to get this fixed would be great. I'll try to load it into this, but I'm not very good at embedding into a post. Here goes:
Code
function get_sets()
--Idle Sets--
sets.Idle = {}
sets.Idle.Standard = {main="Coeus",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah hat",neck="Twilight torque",ear1="Savant's earring",ear2="Moonshade earring",
body="Hagondes coat",hands="Serpentes cuffs",ring1="Defending ring",ring2="Patricius ring",
back="Cheviot cape",waist="Fucho-no-obi",legs="Nares trews",feet="Serpentes sabots"}
sets.Idle.TP = {ammo="Plumose Sachet",
head="artsieq hat",neck="asperity necklace",ear1="Steelflash earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Otomi Gloves",ring1="Defending ring",ring2="Patricius ring",
back="Cheviot cape",waist="Cetl Belt",legs="Academic's Pants +1",feet="Pedagogy Loafers +1"}
--Precast Sets--
sets.Precast = {}
sets.Precast.FC = {}
sets.Precast.FC.Standard = {ammo='Incantor stone',
head="Nahtirah Hat",ear1='Loquac. earring',body="Anhur Robe",
hands='Gendewitha gages',ring2='Prolix ring',
back='Swith cape',waist='Witful belt',legs='Artsieq hose',feet='Pedagogy loafers +1'}
sets.Precast.FC.Cures = {ammo='Incantor Stone',
ear1='Loquac. earring',body="Heka's Kalasiris",
hands='Gendewitha gages',ring2='Prolix ring',
back='Swith cape',waist='Witful belt',legs='Artsieq hose',feet='Pedagogy loafers +1'}
sets.Precast.WS = {ammo="incantor stone",
head="Artsieq Hat",neck="Asperity Necklace",ear1="Lifestorm earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Lurid Mitts",ring1="Spiral ring",ring2="Rajas ring",
back="Refraction cape",waist="Prosilio Belt +1",legs="Academic's Pants +1",feet="Umbani Boots"}
sets.Precast.FC.Impact = {ammo="Witchstone",
neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Twilight Cloak',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Precast.JA = {}
--Midcast Sets--
sets.Midcast = {}
sets.Midcast.Cures = {ammo='Plumose Sachet',
head='Gende. caubeen', neck="Colossus's torque",ear1='Lifestorm Earring',ear2='Aqua Pearl',
body="Heka's Kalasiris",hands='Bokwus gloves',ring1='Ephedra ring',ring2="Ephedra ring",
back="Refraction cape",waist='Austerity belt',legs="Academic's Pants +1",feet='Gendewitha Galoshes'}
sets.Midcast.LowNukes = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.HighNukes = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Helix = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Stun = {ammo="Savant's Treatise",
head='Nahtirah hat',neck="Orunmila's Torque",ear1='Psystorm earring',ear2='Lifestorm earring',
body='Hagondes coat',hands='Lurid Mitts',ring1="Fenrir ring +1",ring2="Fenrir ring +1",
back='Refraction cape',waist='Witful belt',legs="Academic's Pants +1",feet='Pedagogy loafers +1'}
sets.Midcast.Enhancing = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Colossus's torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Enfeebling ={ammo="Savant's treatise",
head="Nahtirah hat",neck="Orunmila's Torque",ear1="Psystorm earring",ear2="Lifestorm earring",
body="Hagondes coat",hands="Lurid Mitts",ring1="Fenrir ring +1",ring2="Fenrir ring +1",
back="Refraction cape",waist="Witful Belt",legs="Academic's pants +1",feet="Umbani boots"}
sets.Midcast.Stoneskin = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Enhancing torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Regen = {head="Savant's bonnet +2",hands="Savant's bracers +2"}
sets.Midcast.Barspells = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Colossus's torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Impact = {ammo="Witchstone",
neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Dark = {ammo="Savant's Treatise",
head="Nahtirah Hat",neck="Stoicheion Medal",ear1="Psystorm earring",ear2='Lifestorm earring',
body="Hagondes Coat",hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Fucho-no-obi',legs="Artsieq Hose",feet='Umbani boots'}
sets.Midcast.WS = {ammo="Plumose Sachet",
head="Nahtirah hat",neck="Asperity Necklace",ear1="Steelflash earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Otomi Gloves",ring1="Spiral ring",ring2="Rajas ring",
back="Refraction cape",waist="Prosilio Belt +1",legs="Academic's Pants +1",feet="Umbani Boots"}
sets.Obi = {}
sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
--Aftercast Sets--
sets.Aftercast = {}
end
function status_change(new,tab)
if new == 'Engaged' then
equip(sets.Idle.TP)
else
equip(sets.Idle.Standard)
end
end
function precast(spell)
if spell.action_type == 'Magic' then
equip(sets.Precast.FC.Standard)
if string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
equip(sets.Precast.FC.Cure)
end
end
if spell.english == 'Impact' then
equip(sets.Precast.FC.Impact)
end
if spell.action_type == 'WeaponSkill' then
equip(sets.Precast.WS)
end
end
function midcast(spell)
if spell.english == 'Cure' or spell.english == 'Cure II' or spell.english == 'Cure III' or spell.english == 'Cure IV' then
equip(sets.Midcast.Cures)
if spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi[spell.element])
end
end
if string.find(spell.english,'helix') then
equip(sets.Midcast.Helix)
end
if spell.english == 'Stone' or spell.english == 'Thunder' or spell.english == 'Water' or spell.english == 'Fire' or spell.english == 'Blizzard' or spell.english == 'Aero' or spell.english == 'Stone II' or spell.english == 'Thunder II' or spell.english == 'Water II' or spell.english == 'Fire II' or spell.english == 'Blizzard II' or spell.english == 'Aero II' or spell.english == 'Stonega' or spell.english == 'Thundaga' or spell.english == 'Waterga' or spell.english == 'Firaga' or spell.english == 'Blizzaga' or spell.english == 'Aeroga' or spell.english == 'Stonega II' or spell.english == 'Thundaga II' or spell.english == 'Waterga II' or spell.english == 'Firaga II' or spell.english == 'Blizzaga II' or spell.english == 'Aeroga II' then
equip(sets.Midcast.LowNukes)
end
if spell.english == 'Stone III' or spell.english == 'Thunder III' or spell.english == 'Water III' or spell.english == 'Fire III' or spell.english == 'Blizzard III' or spell.english == 'Aero III' or spell.english == 'Stone IV' or spell.english == 'Thunder IV' or spell.english == 'Water IV' or spell.english == 'Fire IV' or spell.english == 'Blizzard IV' or spell.english == 'Aero IV' or spell.english == 'Stone V' or spell.english == 'Thunder V' or spell.english == 'Water V' or spell.english == 'Fire V' or spell.english == 'Blizzard V' or spell.english == 'Aero V'then
equip(sets.Midcast.HighNukes)
end
if spell.skill == 'EnhancingMagic' then
if spell.english == 'Embrava' then
equip(sets.Midcast.Enhancing)
end
if spell.english == 'Embrava' then
equip(sets.Midcast.Enhancing)
end
if string.find(spell.english,'Regen') then
equip(sets.Midcast.Regen)
end
if string.find(spell.english,'Protect') then
equip(sets.Midcast.Enhancing)
end
if string.find(spell.english,'Shell') then
equip(sets.Midcast.Enhancing)
end
if spell.english == "Haste" or spell.english == 'Phalanx' or spell.english == 'Stoneskin' then
equip(sets.Midcast.Enhancing)
end
if spell.english == 'Slow' or spell.english == 'Paralyze' or spell.english == 'Blind' or spell.english == 'Silence' or spell.english == 'Break' or spell.english == 'Sleep' or spell.english == 'Sleep II' or spell.english == 'Sleepga' or spell.english == 'Dispel' then
equip(sets.Midcast.Enfeebling)
end
if string.find(spell.english,'Bar') then
equip(sets.Midcast.Barspells)
end
if spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Drain' or spell.english == 'Drain II' then
equip(sets.Midcast.Dark)
end
if spell.english == 'Impact' then
equip(sets.Midcast.Impact)
end
if spell.type == 'WeaponSkill' then
equip(sets.Midcast.WS)
end
end
function aftercast(spell)
if player.status == 'Engaged' then
equip(sets.Idle.TP)
else
equip(sets.Idle.Standard)
end
end
end
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-29 00:19:35
Ok got a Weird one.
I'm trying to make an Auto Curaga correct rule for Gearswap, I know you can make it check if someone is a Party member etc, but I want it to change say ~ Cure to Curaga if Party member 1 2 and 3 have say ~ 550+ hp missing for example.
Is there a method to do this?
I know with LuaCast on Ashita you could (I had a working version a while ago) by checking Party Member Struts for HP% and such (or a direct check to see HP difference).
By gdiShun 2014-11-29 13:58:32
[+]
By bubba37343 2014-11-29 18:25:52
I have just started messing around with Gearswap, and I have run into the problem of it sometimes switching to my midcast gear, and sometimes not. Any help to get this fixed would be great. I'll try to load it into this, but I'm not very good at embedding into a post. Here goes:
Code
function get_sets()
--Idle Sets--
sets.Idle = {}
sets.Idle.Standard = {main="Coeus",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah hat",neck="Twilight torque",ear1="Savant's earring",ear2="Moonshade earring",
body="Hagondes coat",hands="Serpentes cuffs",ring1="Defending ring",ring2="Patricius ring",
back="Cheviot cape",waist="Fucho-no-obi",legs="Nares trews",feet="Serpentes sabots"}
sets.Idle.TP = {ammo="Plumose Sachet",
head="artsieq hat",neck="asperity necklace",ear1="Steelflash earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Otomi Gloves",ring1="Defending ring",ring2="Patricius ring",
back="Cheviot cape",waist="Cetl Belt",legs="Academic's Pants +1",feet="Pedagogy Loafers +1"}
--Precast Sets--
sets.Precast = {}
sets.Precast.FC = {}
sets.Precast.FC.Standard = {ammo='Incantor stone',
head="Nahtirah Hat",ear1='Loquac. earring',body="Anhur Robe",
hands='Gendewitha gages',ring2='Prolix ring',
back='Swith cape',waist='Witful belt',legs='Artsieq hose',feet='Pedagogy loafers +1'}
sets.Precast.FC.Cures = {ammo='Incantor Stone',
ear1='Loquac. earring',body="Heka's Kalasiris",
hands='Gendewitha gages',ring2='Prolix ring',
back='Swith cape',waist='Witful belt',legs='Artsieq hose',feet='Pedagogy loafers +1'}
sets.Precast.WS = {ammo="incantor stone",
head="Artsieq Hat",neck="Asperity Necklace",ear1="Lifestorm earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Lurid Mitts",ring1="Spiral ring",ring2="Rajas ring",
back="Refraction cape",waist="Prosilio Belt +1",legs="Academic's Pants +1",feet="Umbani Boots"}
sets.Precast.FC.Impact = {ammo="Witchstone",
neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Twilight Cloak',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Precast.JA = {}
--Midcast Sets--
sets.Midcast = {}
sets.Midcast.Cures = {ammo='Plumose Sachet',
head='Gende. caubeen', neck="Colossus's torque",ear1='Lifestorm Earring',ear2='Aqua Pearl',
body="Heka's Kalasiris",hands='Bokwus gloves',ring1='Ephedra ring',ring2="Ephedra ring",
back="Refraction cape",waist='Austerity belt',legs="Academic's Pants +1",feet='Gendewitha Galoshes'}
sets.Midcast.LowNukes = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.HighNukes = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Helix = {ammo="Witchstone",
head='Hagondes Hat', neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
body='Hagondes coat',hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Stun = {ammo="Savant's Treatise",
head='Nahtirah hat',neck="Orunmila's Torque",ear1='Psystorm earring',ear2='Lifestorm earring',
body='Hagondes coat',hands='Lurid Mitts',ring1="Fenrir ring +1",ring2="Fenrir ring +1",
back='Refraction cape',waist='Witful belt',legs="Academic's Pants +1",feet='Pedagogy loafers +1'}
sets.Midcast.Enhancing = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Colossus's torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Enfeebling ={ammo="Savant's treatise",
head="Nahtirah hat",neck="Orunmila's Torque",ear1="Psystorm earring",ear2="Lifestorm earring",
body="Hagondes coat",hands="Lurid Mitts",ring1="Fenrir ring +1",ring2="Fenrir ring +1",
back="Refraction cape",waist="Witful Belt",legs="Academic's pants +1",feet="Umbani boots"}
sets.Midcast.Stoneskin = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Enhancing torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Regen = {head="Savant's bonnet +2",hands="Savant's bracers +2"}
sets.Midcast.Barspells = {ammo="Savant's treatise",
head="Savant's bonnet +2",neck="Colossus's torque",ear1="Savant's Earring",ear2='Andoaa Earring',
body='Anhur Robe',hands="Savant's bracers +2",ring1="Defending ring",ring2='Prolix ring',
back='Merciful cape',waist='Olympus sash',legs="Academic's pants +1",feet='Regal Pumps'}
sets.Midcast.Impact = {ammo="Witchstone",
neck="Stoicheion Medal",ear1="Novio earring",ear2='Friomisi earring',
hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Oneiros sash',legs="Hagondes pants",feet='Umbani boots'}
sets.Midcast.Dark = {ammo="Savant's Treatise",
head="Nahtirah Hat",neck="Stoicheion Medal",ear1="Psystorm earring",ear2='Lifestorm earring',
body="Hagondes Coat",hands='Otomi Gloves',ring1='Fenrir ring +1',ring2="Fenrir ring +1",
back="Bookworm's cape",waist='Fucho-no-obi',legs="Artsieq Hose",feet='Umbani boots'}
sets.Midcast.WS = {ammo="Plumose Sachet",
head="Nahtirah hat",neck="Asperity Necklace",ear1="Steelflash earring",ear2="Bladeborn earring",
body="Hagondes coat",hands="Otomi Gloves",ring1="Spiral ring",ring2="Rajas ring",
back="Refraction cape",waist="Prosilio Belt +1",legs="Academic's Pants +1",feet="Umbani Boots"}
sets.Obi = {}
sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',ring1='Zodiac Ring'}
--Aftercast Sets--
sets.Aftercast = {}
end
function status_change(new,tab)
if new == 'Engaged' then
equip(sets.Idle.TP)
else
equip(sets.Idle.Standard)
end
end
function precast(spell)
if spell.action_type == 'Magic' then
equip(sets.Precast.FC.Standard)
if string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
equip(sets.Precast.FC.Cure)
end
end
if spell.english == 'Impact' then
equip(sets.Precast.FC.Impact)
end
if spell.action_type == 'WeaponSkill' then
equip(sets.Precast.WS)
end
end
function midcast(spell)
if spell.english == 'Cure' or spell.english == 'Cure II' or spell.english == 'Cure III' or spell.english == 'Cure IV' then
equip(sets.Midcast.Cures)
if spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi[spell.element])
end
end
if string.find(spell.english,'helix') then
equip(sets.Midcast.Helix)
end
if spell.english == 'Stone' or spell.english == 'Thunder' or spell.english == 'Water' or spell.english == 'Fire' or spell.english == 'Blizzard' or spell.english == 'Aero' or spell.english == 'Stone II' or spell.english == 'Thunder II' or spell.english == 'Water II' or spell.english == 'Fire II' or spell.english == 'Blizzard II' or spell.english == 'Aero II' or spell.english == 'Stonega' or spell.english == 'Thundaga' or spell.english == 'Waterga' or spell.english == 'Firaga' or spell.english == 'Blizzaga' or spell.english == 'Aeroga' or spell.english == 'Stonega II' or spell.english == 'Thundaga II' or spell.english == 'Waterga II' or spell.english == 'Firaga II' or spell.english == 'Blizzaga II' or spell.english == 'Aeroga II' then
equip(sets.Midcast.LowNukes)
end
if spell.english == 'Stone III' or spell.english == 'Thunder III' or spell.english == 'Water III' or spell.english == 'Fire III' or spell.english == 'Blizzard III' or spell.english == 'Aero III' or spell.english == 'Stone IV' or spell.english == 'Thunder IV' or spell.english == 'Water IV' or spell.english == 'Fire IV' or spell.english == 'Blizzard IV' or spell.english == 'Aero IV' or spell.english == 'Stone V' or spell.english == 'Thunder V' or spell.english == 'Water V' or spell.english == 'Fire V' or spell.english == 'Blizzard V' or spell.english == 'Aero V'then
equip(sets.Midcast.HighNukes)
end
if spell.skill == 'EnhancingMagic' then
if spell.english == 'Embrava' then
equip(sets.Midcast.Enhancing)
end
if spell.english == 'Embrava' then
equip(sets.Midcast.Enhancing)
end
if string.find(spell.english,'Regen') then
equip(sets.Midcast.Regen)
end
if string.find(spell.english,'Protect') then
equip(sets.Midcast.Enhancing)
end
if string.find(spell.english,'Shell') then
equip(sets.Midcast.Enhancing)
end
if spell.english == "Haste" or spell.english == 'Phalanx' or spell.english == 'Stoneskin' then
equip(sets.Midcast.Enhancing)
end
if spell.english == 'Slow' or spell.english == 'Paralyze' or spell.english == 'Blind' or spell.english == 'Silence' or spell.english == 'Break' or spell.english == 'Sleep' or spell.english == 'Sleep II' or spell.english == 'Sleepga' or spell.english == 'Dispel' then
equip(sets.Midcast.Enfeebling)
end
if string.find(spell.english,'Bar') then
equip(sets.Midcast.Barspells)
end
if spell.english == 'Aspir' or spell.english == 'Aspir II' or spell.english == 'Drain' or spell.english == 'Drain II' then
equip(sets.Midcast.Dark)
end
if spell.english == 'Impact' then
equip(sets.Midcast.Impact)
end
if spell.type == 'WeaponSkill' then
equip(sets.Midcast.WS)
end
end
function aftercast(spell)
if player.status == 'Engaged' then
equip(sets.Idle.TP)
else
equip(sets.Idle.Standard)
end
end
end
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 01:00:49
HI~
Thanks for the answer earlier on Party position, didn't see that when I skimmed through it (it's working btw and I don't have to reload when people join party!).
Next issue, This one hopefully is super simple, but I've overlooked it.
Is there a way to add a Delay to this? Code add_to_chat(159,'Sublimation Completed: MP Mid Range')
I'm trying to make AM3 timers appear in chat log when say 15 seconds left etc however I can do this with Echo, and would rather have it giant red letters from Gearswap if at all possible using this function..
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 01:06:56
Code function midcast(spell)
if spell.english == 'Cure' or spell.english == 'Cure II' or spell.english == 'Cure III' or spell.english == 'Cure IV' then
equip(sets.Midcast.Cures)
if spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi[spell.element])
end
end
This has alot of tries to check if it's working...
Try this instead for these rules, makes it easier to add.
Code if T{"Cure","Cure II","Cure III","Cure IV","Cure V","Cure VI","Curaga","Curaga II","Curaga III","Curaga IV","Curaga V"}:contains(spell.name) then
equip(sets.midcast_Cure)
elseif T{"Paralyna","Silena","Viruna","Erase","Cursna","Stona","Blindna","Poisona"}:contains(spell.name) then
equip (sets['midcast_DebuffRemoval'])
elseif T{"Protectra V","Shellra V"}:contains(spell.name) then
equip(sets['midcast_Barspell'])
elseif T{"Regen V","Regen IV","Regen III"}:contains(spell.name) then
equip(sets['midcast_Regen'])
else
equip(sets.midcast_DebuffRemoval)
end
A Brief look at the code suggest it should work, are you "eye balling" the swaps not happeneing because gearswap is too fast to do that.
try typing this //gs showswaps
It will display al precast / midcast swaps and show you what spells it does / doesn't equip on to help ID the issue
By Belgae 2014-11-30 06:21:21
I currently use Mote's GS files. I've been trying to find a solution online, and by messing with the codes. I'm struggling to figure out the best way to write the code for a couple different things.
a) Councilor's Garb - How is the best way to customize an Idle/Town set specific to equip the Councilor's Garb when areas its active for.
b) Oneiros Ring - What is the most effective way to write the code for utilizing a Oneiros ring. Looking at Motes MNK file, there is a function customize_idle_set rule that engages when hpp is less then 75%. Can something be written to combine engaged/combat sets when latent for Oneiros Ring is met?
Quetzalcoatl.Valli
Serveur: Quetzalcoatl
Game: FFXI
Posts: 1420
By Quetzalcoatl.Valli 2014-11-30 06:55:02
I'm not going to read 40 pages, I really need to learn how to use this damn thing though...
I know the mechanics of it, it just follows rules you set, the thing I don't understand, is how you actually make it work.
Like, if I just download and tweak a file, and turn GS on, that's it? I menu use a ws and it'll auto change gear etc, based on the set rules? Is it that straight forward?
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 07:07:26
Quetzalcoatl.Valli said: »I'm not going to read 40 pages, I really need to learn how to use this damn thing though...
I know the mechanics of it, it just follows rules you set, the thing I don't understand, is how you actually make it work.
Like, if I just download and tweak a file, and turn GS on, that's it? I menu use a ws and it'll auto change gear etc, based on the set rules? Is it that straight forward?
Yes
You can bind a Key.
Macro it
TYpe it
Select it manually.
It will Swap gear as per your sets.
Quetzalcoatl.Valli
Serveur: Quetzalcoatl
Game: FFXI
Posts: 1420
By Quetzalcoatl.Valli 2014-11-30 07:09:59
Ok see thats the ***I don't understand. Literally everything you just said lol.
I meant, can I just have macros say: use ws > and be activated via the macros, without the binding, and the confusion.
The bound key is for cycling sets/settings right? high acc/no acc all that ***?
"You damn kids and your new fangled do-dads, I can't even set the time on the VCR"
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 09:49:11
Quetzalcoatl.Valli said: »Ok see thats the ***I don't understand. Literally everything you just said lol.
I meant, can I just have macros say: use ws > and be activated via the macros, without the binding, and the confusion.
The bound key is for cycling sets/settings right? high acc/no acc all that ***?
"You damn kids and your new fangled do-dads, I can't even set the time on the VCR"
I mean you can do any of them!!!
You can Literally just have it as a Normal Macro!
Or Manually Select it!!
OR TYPE!!
It's as Simple as you though
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 09:52:26
ok really really simple.
Depending on how it's Built a Bind can do anything you like! In Motes Gearswaps he uses F9~12 for Cylcing different gears, I use Macros so I call a Macro "TP Cycle" then pop a command in it for Gearswap to recognise (You make the command in GS so its w.e you use) I personally used C15 so~ Macro is
/console GS c C15
Cap Sensitive.
for WS's I just do those like I'm using Normal game just without any gear thing in it and gearswap does the rest.
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-11-30 16:54:45
For those interested in the Curaga Amend rule.. here it is it causes an error with Lua Flow occasionally (if it triesto cure immeiately after its done curaga seems to have an issue with Player struts hpp.
Code function pretarget(spell)
if T{"Cure","Cure II","Cure III","Cure IV"}:contains(spell.name) then
if spell.target.type == 'PLAYER' and not spell.target.charmed and AutoAga == 1 then
if party.count == 3 then
if party[2].hpp < 80 then
if party[3].hpp < 80 or party[4].hpp < 80 or party[5].hpp < 80 or party[6].hpp < 80 then
cancel_spell()
send_command(';input /ma "Curaga III" '..spell.target.name..';')
return
end
end
elseif party.count == 4 then
if party[3].hpp < 80 then
if party[2].hpp < 80 or party[4].hpp < 80 or party[5].hpp < 80 or party[6].hpp < 80 then
cancel_spell()
send_command(';input /ma "Curaga III" '..spell.target.name..';')
return
end
end
elseif party.count == 5 then
if party[4].hpp < 80 then
if party[2].hpp < 80 or party[3].hpp < 80 or party[5].hpp < 80 or party[6].hpp < 80 then
cancel_spell()
send_command(';input /ma "Curaga III" '..spell.target.name..';')
return
end
end
elseif party.count == 6 then
if party[5].hpp < 80 then
if party[2].hpp < 80 or party[3].hpp < 80 or party[4].hpp < 80 or party[6].hpp < 80 then
cancel_spell()
send_command(';input /ma "Curaga III" '..spell.target.name..';')
return
end
end
end
end
end
end
If anyone knows a better way to condense or handle this feel free to let me know! this was just something I threw together in a few minutes and there's no examples online anywhere.
I was considering doing Manual Math checks for each player which might? get around the flow errors.
Ragnarok.Flippant
Serveur: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2014-11-30 17:47:25
I have just started messing around with Gearswap, and I have run into the problem of it sometimes switching to my midcast gear, and sometimes not. Any help to get this fixed would be great. I'll try to load it into this, but I'm not very good at embedding into a post. Here goes:
You are not ending your "if spell.skill == 'EnhancingMagic'" condition correctly, causing a number of issues (every condition after that statement will only be checked if the spell's skill is Enhancing Magic, which makes no sense for many of the conditions, and your aftercast function is inside your midcast).
Remove the final "end" in the file and place an "end" after line 217.
@Conagh
There are a couple things that don't quite make sense. First being, that even after you determine that there are only 3, etc. people in party, you are still checking for the hpp of persons at index 4, 5, and 6, who you know don't exist. This will cause an indexing error whenever the previous statement is satisfied, but the previous conditions within the same statement are not.
Second issue is that you are requiring that a person at a specific index is less than 80% HP, rather than the person you are targeting, in addition to other players. For example, if you are in a 4-person party, and person2 and person4 are at 70% HP, but person3 is at 90% HP, it will not register the curaga rule because person3 is not below the threshold (even if you are casting on person2 or person4).
If you don't really care whether your target itself is one of the people that is bleeding, you could do
Code
function pretarget(spell)
if T{"Cure","Cure II","Cure III","Cure IV"}:contains(spell.name) and spell.target.type == 'PLAYER' and not spell.target.charmed and AutoAga == 1 then
target_count = 0
for i=1,party.count
if party[i].hpp<80 then
target_count = target_count + 1
end
end
if target_count > 1 then
cancel_spell()
send_command(';input /ma "Curaga III" '..spell.target.name..';')
end
end
end
I include yourself as a player because I don't really see a reason not to, but if you don't want to, you can change the 1 on line 4 to 2.
Also, if memory serves me correctly, you can also obtain their hp and, using hpp, calculate an estimated max hp to approximate the missing hp rather than use hpp. Another improvement would to then determine what level of curaga would be most appropriate. You may also want to think about using the curaga on the person missing the most HP--just in case people are not standing together.
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.
|
|