|
Gearswap Support Thread
By ClaudeusXI 2015-03-27 03:59:01
Fixed! Thanks Martel!
Serveur: Asura
Game: FFXI
Posts: 224
By Asura.Celoria 2015-03-27 04:11:19
Ok..... Help...
Some reason I am not keeping the enhance duration gear on through the actual cast and it is gimping my duration.
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff.Saboteur = buffactive.saboteur or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'None', 'Melee'}
options.DefenseModes = {'Normal', 'Defense'}
options.WeaponskillModes = {'Normal'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.OffenseMode = 'None'
gear.default.obi_waist = "Sekhmet Corset"
select_default_macro_book()
end
-- 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['Chainspell'] = {body="Vitivation Tabard +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Hagondes hat +1",
body="Gendewitha Bliaut",hands="Helios Gloves",
back="Refraction Cape",legs="Orvail Pants +1",feet="Uk'uxkaj boots"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {main="Marin staff +1",sub="Mephitis grip",ammo="Impatiens",
head="Atrophy chapeau +1",neck="Orunmila's torque",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Vitivation Tabard +1",hands="Gendewitha gages +1",ring1="Lebeche Ring",ring2="Veneficium Ring",
back="Ogapepo cape",waist="Witful belt",legs="Artsieq hose",feet="Vivivation boots +1"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Midcast Sets
sets.midcast.Cure = {main="Tamaxchi",sub="Beatific Shield +1",
head="Gendewitha Caubeen",neck="Mizukage-no-Kubikazari",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Vitivation tabard +1",hands="Buremte gloves",ring1="Lebeche Ring",ring2="Aquasoul Ring",
back="Refraction cape",waist="Witful Belt",legs="Atrophy Tights +1",feet="Vitivation boots +1"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.CureSelf = {ring1="Kunaji Ring",ring2="Asklepian Ring",hands="Buremte Gloves"}
sets.midcast['Enhancing Magic'] = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Estoqueur's Chappel +2",neck="Enhancing Torque",
body="Estoqueur's sayon +2",hands="Atrophy gloves +1",ring2="Aquasoul Ring",
back="Ghostfyre Cape",waist="Olympus Sash",legs="Estoqueur's fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}
sets.midcast.Phalanx = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Umuthi hat",neck="Enhancing Torque",ear1="Lifestorm earring",
body="Vitivation tabard +1",hands="Vitivation gloves +1",ring1="Perception ring",ring2="Aquasoul Ring",
back="Estoqueur's Cape",waist="Olympus Sash",legs="Estoqueur's fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Gain = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Umuthi hat",neck="Enhancing Torque",ear1="Lifestorm earring",
body="Vitivation tabard +1",hands="Vitivation gloves +1",ring1="Perception ring",ring2="Aquasoul Ring",
back="Estoqueur's Cape",waist="Olympus Sash",legs="Estoqueur's fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Temper = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Umuthi hat",neck="Enhancing Torque",ear1="Lifestorm earring",
body="Vitivation tabard +1",hands="Vitivation gloves +1",ring1="Perception ring",ring2="Aquasoul Ring",
back="Estoqueur's Cape",waist="Olympus Sash",legs="Estoqueur's fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.En = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Umuthi hat",neck="Enhancing Torque",ear1="Lifestorm earring",
body="Vitivation tabard +1",hands="Vitivation gloves +1",ring1="Perception ring",ring2="Aquasoul Ring",
back="Estoqueur's Cape",waist="Olympus Sash",legs="Estoqueur's fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.midcast.Regen = {main="Bolelabunga",body="Telchine chasuble",sub="Beatific Shield +1"}
sets.midcast.Cursna = {neck="Malison medallion",ring1="Haoma's ring",ring2="Haoma's ring",feet="Gendewitha galoshes +1"}
sets.midcast.Stoneskin = {main="Arendsi Fleuret",sub="Beatific Shield +1",
head="Umuthi hat",neck="Enhancing Torque",ear1="Lifestorm earring",ear2="Earthcry earring",
body="Vitivation tabard +1",hands="Vitivation gloves +1",ring1="Perception ring",ring2="Aquasoul Ring",
back="Estoqueur's Cape",waist="Siegel Sash",legs="Haven Hose",feet="Estoqueur's Houseaux +2"}
sets.midcast['Enfeebling Magic'] = {main="Lehbrailg +2",sub="Mephitis grip",range="Aureole",
head="Artsieq hat",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Ischemia chasuble",hands="Hagondes Cuffs",ring1="Perception Ring",ring2="Sangoma Ring",
back="Ghostfyre Cape",waist="Ovate rope",legs="Mes'yohi Slacks",feet="Uk'uxkaj boots"}
sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1"})
sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1"})
sets.midcast['Elemental Magic'] = {main="Marin staff +1",sub="Mephitis Grip",ammo="Dosis tathlum",
head="Hagondes hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes coat",hands="Helios Gloves",ring1="Shiva Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Aswang sash",legs="Artsieq hose",feet="Helios boots"}
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ranged="Aureole",
head="Artsieq hat",neck="Ardor Pendant +1",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Atrophy Tabard +1",hands="Hagondes Cuffs",ring1="Perception Ring",ring2="Sangoma Ring",
back="Ogapepo Cape",waist="Goading belt",legs="Mes'yohi slacks",feet="Atrophy Boots +1"}
sets.midcast['Stun'] = {main="Marin staff +1",sub="Mephitis grip",ammo="Impatiens",
head="Atrophy chapeau +1",neck="Orunmila's torque",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Vitivation Tabard +1",hands="Gendewitha gages +1",ring1="Perception Ring",ring2="Sangoma Ring",
back="Ogapepo cape",waist="Sailfi belt",legs="Artsieq hose",feet="Vivivation boots +1"}
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})
sets.midcast.Aspir = sets.midcast.Drain
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Paeapua",
head="Taeon chapeau",neck="Asperity Necklace",ear1="Bladeborn earring",ear2="Steelflash Earring",
body="Taeon tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Bleating Mantle",waist="windbuffet belt +1",legs="Taeon tights",feet="Atrophy Boots +1"}
sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {ammo="Yetshila",
head="Hagondes hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes coat",hands="Helios Gloves",ring1="Aquasoul Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Aswang sash",legs="Artsieq hose",feet="Helios boots"})
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {ammo="Yetshila",
head="Atrophy Chapeau +1",neck="Soil gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
body="Telchine chasuble",hands="Taeon Gloves",ring1="Rajas ring",ring2="Aquasoul Ring",
back="Buquwik cape",waist="Soil belt",legs="Mes'yohi slacks",feet="Uk'uxkaj boots"})
sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {ammo="Jukukik feather",
head="Taeon chapeau",neck="Love Torque",ear1="Brutal Earring",ear2="Moonshade Earring",
body="Telchine chasuble",hands="Taeon gloves",ring1="Rajas ring",ring2="Ramuh Ring",
back="Kayapa cape",waist="Artful belt +1",legs="Vitivation tights +1",feet="Taeon boots"})
sets.precast.WS['Death Blossom'] = set_combine(sets.precast.WS, {ammo="Yetshila",
head="Atrophy Chapeau +1",neck="Soil gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
body="Telchine chasuble",hands="Taeon Gloves",ring1="Rajas ring",ring2="Aquasoul Ring",
back="Buquwik cape",waist="Soil belt",legs="Mes'yohi slacks",feet="Uk'uxkaj boots"})
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Claidheamh Soluis",sub="Beatific Shield +1",ammo="Impatiens",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Witful Belt",back="Shadow Mantle",legs="Nares trews",feet="Serpentes Sabots"}
-- Idle sets
sets.idle = {main="Bolelabunga",sub="Beatific Shield +1",ammo="Impatiens",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares trews",feet="Serpentes Sabots"}
sets.idle.Town = {main="Bolelabunga",sub="Beatific Shield +1",ammo="Impatiens",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Beatific Shield +1",ammo="Impatiens",
head="Vitivation Chapeau +1",neck="Wiglen Gorget",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Shadow Mantle",waist="Flume Belt",legs="Hagondes Pants",feet="Vitivation boots +1"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Atrophy Tabard +1",hands="Helios Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Vitivation boots +1"}
sets.Kiting = {legs="Crimson Cuisses"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- Engaged sets
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Normal melee group
sets.engaged = {main="Claidheamh Soluis",sub="Beatific Shield +1",ammo="Paeapua",
head="Taeon chapeau",neck="Asperity Necklace",ear1="Bladeborn earring",ear2="Steelflash Earring",
body="Taeon tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Bleating Mantle",waist="windbuffet belt +1",legs="Taeon tights",feet="Atrophy Boots +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- 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 spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
equip(sets.midcast.EnhancingDuration)
if buffactive.composure and spell.target.type == 'PLAYER' then
equip(sets.buff.ComposureOther)
end
elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'OffenseMode' then
if newValue == 'None' then
enable('main','sub')
else
disable('main','sub')
end
elseif stateField == 'Reset' then
if state.OffenseMode == 'None' then
enable('main','sub')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local meleeString = ''
if state.OffenseMode == 'Melee' then
meleeString = 'Offense: Melee, '
end
add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
'Kiting: '..on_off_names[state.Kiting])
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
set_macro_page(3, 4)
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(2, 4)
elseif player.sub_job == 'NIN' then
set_macro_page(3, 4)
elseif player.sub_job == 'THF' then
set_macro_page(4, 4)
else
set_macro_page(1, 4)
end
end
By Lunareticc 2015-03-27 05:43:12
With the update of the cast of BP, gearswap not equip the pet midcast fast enough.
Anyone know how can we change this?
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6184
By Lakshmi.Byrth 2015-03-27 05:44:56
Matsui just made a post that they're going to increase the time between activating a BP and it going off.
An immediate solution is to use GearSwap.
By Lunareticc 2015-03-27 05:54:52
Thanks Byrth.
For even against gearswap does not change the equipment quickly. I stay in BP Delay - (precast) when I should switch to Boost BP DMG (midcast)
Bahamut.Shirai
Serveur: Bahamut
Game: FFXI
By Bahamut.Shirai 2015-03-27 06:10:09
You may want to look if there are any delay rules there then, my own gearswap swaps from Perpetuation to BP delay to BP set instantly.
Although it might still become problematic in a more laggy surrounding.
I'm at least happy that they are going to increase it again, personally I would have been quite content with Shock Squall's activation time for all Blood Pacts.
Instantly is just too risky.
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6184
By Lakshmi.Byrth 2015-03-27 06:17:42
Are you using pet_midcast or just midcast? pet_midcast might be too late now, but if midcast does not work it would indicate SE flubbed the implementation in such a way that the BP is actually going off before the JA is activated.
By Lunareticc 2015-03-27 06:52:45
Byrth: I use structure found on Kinematics Gearswap. When i use //gs showswaps i see the diiferent set equip but my Damage on mob is too low for confirm the good set is equiped. I need to retest that after my work.
Shirai: You use Kinemtics structure? You damage is same before/after update?
Thanks you answer
Ragnarok.Martel
Serveur: Ragnarok
Game: FFXI
Posts: 2954
By Ragnarok.Martel 2015-03-27 07:23:54
AM3 with Ionis set not working, and I don't know why... This Lua is reworked from Bokura's DRG.lua.
Code function get_sets()
AccIndex = 1
AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
AttIndex = 1
AttArray = {"LowATT","HighATT","LowContent"} -- LowATT Is The Same As LowACC Set. MidACC & HighACC Take Priority Over These 2 Sets(HighATT & LowContent). --
IdleIndex = 1
IdleArray = {"Movement","Regen","Refresh"} -- Default Idle Set Is Movement --
Armor = 'None'
Twilight = 'None'
Brais = 'ON' -- Set Default Brais ON or OFF Here --
Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
target_distance = 5 -- Set Default Distance Here --
select_default_macro_book() -- Change Default Macro Book At The End --
NM_For_Brais = S{} -- Add More NM Here For High Jump --
HB_Mage_SubJob = S{"WHM","RDM","BLM","BLU","SCH"} -- 50% Healing Breath Trigger SubJob --
HB_DD_SubJob = S{"PLD","DRK","BRD","NIN"} -- 33% Healing Breath Trigger SubJob --
sc_map = {SC1="Drakesbane", SC2="SpiritJump", SC3="SoulJump"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
sets.Idle = {}
-- Idle/Town Sets --
sets.Idle.Regen = {
ammo="Ginsen",
head="Twilight Helm",
neck="Wiglen Gorget",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Twilight Mail",
hands="Cizin Mufflers +1",
ring1="Paguroidea Ring",
ring2="Sheltered Ring",
back="Shadow Mantle",
waist="Nierenschutz",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"}
sets.Idle.Movement = set_combine(sets.Idle.Regen,{
ammo="Ginsen",
head="Acro Helm",
neck="Twilight Torque",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring1="Defending Ring",
ring2="Warp Ring",
back="Mecisto. Mantle",
waist="Sweordfaetels +1",
legs="Blood Cuisses",
feet="Huginn Gambieras"})
sets.Idle.Refresh = set_combine(sets.Idle.Regen,{
ammo="Ginsen",
head="Twilight Helm",
neck="Wiglen Gorget",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Ares' Cuirass +1",
hands="Cizin Mufflers +1",
ring1="Paguroidea Ring",
ring2="Sheltered Ring",
back="Shadow Mantle",
waist="Nierenschutz",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"})
sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
-- TP Base Set --
sets.TP = {}
-- Ryunohige(AM3 Down) TP Sets --
sets.TP.Ryunohige = {
main="Ryunohige",
sub="Bloodrain Strap",
ammo="Ginsen",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Brutal Earring",
ear2="Tripudio Earring",
body="Lncr. Plackart +2",
hands="Cizin Mufflers +1",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"}
sets.TP.Ryunohige.MidACC = set_combine(sets.TP.Ryunohige,{
head="Acro Helm",
body="Acro Surcoat",
hands="Acro Gauntlets",
back="Updraft Mantle",
legs="Acro Breeches"})
sets.TP.Ryunohige.HighACC = set_combine(sets.TP.Ryunohige.MidACC,{
neck="Iqabi Necklace",
ring2="Mars's Ring",
feet="Acro Leggings"})
-- Ryunohige(AM3 Up) TP Sets --
sets.TP.Ryunohige.AM3 = set_combine(sets.TP.Ryunohige,{
main="Ryunohige",
sub="Bloodrain Strap",
ammo="Ginsen",
head="Acro Helm",
neck="Ganesha's Mala",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Lncr. Plackart +2",
hands="Acro Gauntlets",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Sweordfaetels +1",
legs="Cizin Breeches +1",
feet="Huginn Gambieras"})
sets.TP.Ryunohige.MidACC.AM3 = set_combine(sets.TP.Ryunohige.AM3,{
body="Acro Surcoat",
legs="Acro Breeches",
feet="Acro Leggings"})
sets.TP.Ryunohige.HighACC.AM3 = set_combine(sets.TP.Ryunohige.MidACC.AM3,{
neck="Iqabi Necklace",
ring2="Mars's Ring",
back="Updraft Mantle"})
-- Ryunohige(AM3 Down: Ionis) TP Sets --
sets.TP.Ryunohige.Ionis = set_combine(sets.TP.Ryunohige,{
main="Ryunohige",
sub="Bloodrain Strap",
ammo="Ginsen",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Brutal Earring",
ear2="Tripudio Earring",
body="Lncr. Plackart +2",
hands="Cizin Mufflers +1",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
sets.TP.Ryunohige.MidACC.Ionis = set_combine(sets.TP.Ryunohige.Ionis,{
head="Acro Helm",
body="Acro Surcoat",
hands="Acro Gauntlets",
legs="Acro Breeches"})
sets.TP.Ryunohige.HighACC.Ionis = set_combine(sets.TP.Ryunohige.MidACC.Ionis,{
neck="Iqabi Necklace",
ring2="Mars's Ring",
back="Updraft Mantle",
waist="Anguinus Belt",
feet="Acro Leggings"})
-- Ryunohige(AM3 Up: Ionis) TP Sets --
sets.TP.Ryunohige.AM3.Ionis = set_combine(sets.TP.Ryunohige.AM3,{
main="Ryunohige",
sub="Bloodrain Strap",
ammo="Ginsen",
head="Acro Helm",
neck="Ganesha's Mala",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Lncr. Plackart +2",
hands="Acro Gauntlets",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Sweordfaetels +1",
legs="Cizin Breeches +1",
feet="Huginn Gambieras"})
sets.TP.Ryunohige.MidACC.AM3.Ionis = set_combine(sets.TP.Ryunohige.AM3.Ionis,{
body="Acro Surcoat",
legs="Acro Breeches",
feet="Acro Leggings"})
sets.TP.Ryunohige.HighACC.AM3.Ionis = set_combine(sets.TP.Ryunohige.MidACC.AM3.Ionis,{
neck="Iqabi Necklace",
ring2="Mars's Ring",
back="Updraft Mantle"})
-- Gungnir Polearm TP Sets --
sets.TP.Gungnir = set_combine{
ammo="Ginsen",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Brutal Earring",
ear2="Tripudio Earring",
body="Acro Surcoat",
hands="Cizin Mufflers +1",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Windbuffet Belt +1",
legs="Cizin Breeches +1",
feet="Acro Leggings"}
sets.TP.Gungnir.MidACC = set_combine(sets.TP.Gungnir,{
head="Acro Helm",
hands="Acro Gauntlets",
legs="Acro Breeches"})
sets.TP.Gungnir.HighACC = set_combine(sets.TP.Gungnir.MidACC,{
neck="Iqabi Necklace",
ring2="Mars's Ring",
back="Updraft Mantle",
waist="Anguinus Belt"})
-- Quint Spear TP Sets --
sets.TP["Quint Spear"] = set_combine{
ammo="Ginsen",
head="Acro Helm",
neck="Iqabi Necklace",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Updraft Mantle",
waist="Sweordfaetels +1",
legs="Acro Breeches",
feet="Acro Leggings"}
sets.TP["Quint Spear"].MidACC = set_combine(sets.TP["Quint Spear"],{})
sets.TP["Quint Spear"].HighACC = set_combine(sets.TP["Quint Spear"].MidACC,{})
-- PDT/MDT Sets --
sets.PDT = {
head="Cizin Helm +1",
neck="Twilight Torque",
ear1="Brutal Earring",
ear2="Tripudio Earring",
body="Cizin Mail +1",
hands="Cizin Mufflers +1",
ring1="Defending Ring",
ring2="Patricius Ring",
back="Shadow Mantle",
waist="Nierenschutz",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"}
sets.MDT = set_combine(sets.PDT,{
ear1="Sanare Earring",
ring2="Shadow Ring",
back="Engulfer Cape +1"})
-- Hybrid Sets --
sets.TP.Hybrid = set_combine(sets.PDT,{
head="Acro Helm",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring2="Patricius Ring",
back="Updraft Mantle",
waist="Sweordfaetels +1"})
sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
-- WS Base Set --
sets.WS = {
ammo="Ginsen",
head="Otomi Helm",
neck="Ganesha's Mala",
ear1="Brutal Earring",
ear2="Moonshade Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring1="Ifrit Ring +1",
ring2="Ifrit Ring +1",
back="Buquwik Cape",
waist="Prosilio Belt +1",
legs="Cizin Breeches +1",
feet="Acro Leggings"}
-- WS Sets --
sets.WS.Drakesbane = {
ammo="Ginsen",
head="Otomi Helm",
neck="Fotia Gorget",
ear1="Brutal Earring",
ear2="Moonshade Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring1="Ifrit Ring +1",
ring2="Ifrit Ring +1",
back="Bleating Mantle",
waist="Prosilio Belt +1",
legs="Lncr. Cuissots +2",
feet="Huginn Gambieras"}
sets.WS.Drakesbane.MidACC = set_combine(sets.WS.Drakesbane,{
waist="Fotia Belt",
legs="Acro Breeches",
feet="Acro Leggings"})
sets.WS.Drakesbane.HighACC = set_combine(sets.WS.Drakesbane.MidACC,{
head="Acro Helm",
ring1="Rajas Ring",
back="Updraft Mantle"})
-- Drakesbane(Low Level Content) Set --
sets.WS.Drakesbane.LowContent = set_combine(sets.WS.Drakesbane,{
neck="Fotia Gorget",
body="Phorcys Korazin",
waist="Prosilio Belt +1",
feet="Huginn Gambieras"})
-- Drakesbane(High Attack) Set --
sets.WS.Drakesbane.HighATT = set_combine(sets.WS.Drakesbane,{
ammo="Ginsen",
body="Acro Surcoat",
waist="Prosilio Belt +1",
legs="Acro Breeches"})
sets.WS.Stardiver = {
ammo="Ginsen",
head="Otomi Helm",
neck="Fotia Gorget",
ear1="Brutal Earring",
ear2="Moonshade Earring",
body="Acro Surcoat",
hands="Acro Gauntlets",
ring1="Ifrit Ring +1",
ring2="Ifrit Ring +1",
back="Buquwik Cape",
waist="Fotia Belt",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"}
sets.WS.Stardiver.MidACC = set_combine(sets.WS.Stardiver,{
legs="Acro Breeches"})
sets.WS.Stardiver.HighACC = set_combine(sets.WS.Stardiver.MidACC,{
head="Acro Helm",
ring1="Rajas Ring"})
-- Stardiver(High Attack) Set --
sets.WS.Stardiver.HighATT = set_combine(sets.WS.Stardiver,{
head="Acro Helm",
body="Acro Surcoat",
legs="Acro Breeches"})
sets.WS["Camlann's Torment"] = {
ammo="Ginsen",
head="Otomi Helm",
neck="Fotia Gorget",
ear1="Brutal Earring",
ear2="Moonshade Earring",
body="Phorcys Korazin",
hands="Acro Gauntlets",
ring1="Ifrit Ring +1",
ring2="Ifrit Ring +1",
back="Buquwik Cape",
waist="Prosilio Belt +1",
legs="Cizin Breeches +1",
feet="Acro Leggings"}
sets.WS["Camlann's Torment"].MidACC = set_combine(sets.WS["Camlann's Torment"],{
back="Updraft Mantle",
legs="Acro Breeches"})
sets.WS["Camlann's Torment"].HighACC = set_combine(sets.WS["Camlann's Torment"].MidACC,{
head="Acro Helm",
body="Acro Surcoat",
ring1="Rajas Ring",
waist="Fotia Belt"})
sets.WS["Raiden Thrust"] = {
ammo="Ginsen",
head="Otomi Helm",
neck="Fotia Gorget",
ear1="Friomisi Earring",
ear2="Moonshade Earring",
body="Phorcys Korazin",
hands="Acro Gauntlets",
ring1="Ifrit Ring +1",
ring2="Ifrit Ring +1",
back="Buquwik Cape",
waist="Fotia Belt",
legs="Acro Breeches",
feet="Acro Leggings"}
-- JA Sets --
sets.JA = {}
sets.JA.Jump = {
ammo="Ginsen",
head="Acro Helm",
neck="Ganesha's Mala",
ear1="Neritic Earring",
ear2="Tripudio Earring",
body="Vishap Mail +1",
hands="Vishap Finger Gauntlets +1",
ring1="Rajas Ring",
ring2="K'ayres Ring",
back="Bleating Mantle",
waist="Sweordfaetels +1",
legs="Lncr. Cuissots +2",
feet="Huginn Gambieras"}
sets.JA.Jump.MidACC = set_combine(sets.JA.Jump,{
back="Updraft Mantle"})
sets.JA.Jump.HighACC = set_combine(sets.JA.Jump.MidACC,{
neck="Iqabi Necklace",
waist="Anguinus Belt"})
sets.JA["High Jump"] = set_combine(sets.JA.Jump,{
feet="Huginn Gambieras"})
sets.JA["High Jump"].MidACC = set_combine(sets.JA.Jump.MidACC,{
feet="Huginn Gambieras"})
sets.JA["High Jump"].HighACC = set_combine(sets.JA.Jump.HighACC,{
feet="Huginn Gambieras"})
sets.JA["Spirit Jump"] = set_combine(sets.JA.Jump,{
body="Lncr. Plackart +2",
hands="Acro Gauntlets",
feet="Lncr. Schynbld. +2"})
sets.JA["Spirit Jump"].MidACC = set_combine(sets.JA["Spirit Jump"],{
body="Acro Surcoat",
back="Updraft Mantle"})
sets.JA["Spirit Jump"].HighACC = set_combine(sets.JA["Spirit Jump"].MidACC,{
neck="Iqabi Necklace"})
sets.JA["Soul Jump"] = set_combine(sets.JA.Jump,{
body="Lncr. Plackart +2",
hands="Acro Gauntlets",
feet="Huginn Gambieras"})
sets.JA["Soul Jump"].MidACC = set_combine(sets.JA["Soul Jump"],{
body="Acro Surcoat",
back="Updraft Mantle"})
sets.JA["Soul Jump"].HighACC = set_combine(sets.JA["Soul Jump"].MidACC,{
neck="Iqabi Necklace",
feet="Acro Leggings"})
sets.JA.Angon = {ammo="Angon",ear1="Dragoon's Earring",hands="Pteroslaver Finger Gauntlets +1"}
sets.JA["Ancient Circle"] = {"Vishap Brais +1"}
sets.JA['Call Wyvern'] = {body="Pteroslaver Mail +1"}
sets.Pet = {}
sets.Pet.WyvernHP = {
head="Pteroslaver Armet +1",
neck="Lancer's Torque",
ear1="Lancer's Earring",
ring1="Defending Ring",
ring2="Patricius Ring",
back="Updraft Mantle",
waist="Glassblower's Belt",
legs="Vishap Brais +1",
feet="Pteroslaver Greaves +1"}
sets.JA["Spirit Link"] = set_combine(sets.Pet.WyvernHP,{head="Vishap Armet +1",hands="Lncr. Vmbrc. +2"})
sets.Pet["Restoring Breath"] = set_combine(sets.Pet.WyvernHP)
sets.Pet["Smiting Breath"] = set_combine(sets.Pet.WyvernHP)
sets.Pet["Steady Wing"] = set_combine(sets.Pet.WyvernHP)
-- Healing Breath Trigger --
sets.HealingBreathTrigger = set_combine(sets.Pet.WyvernHP,{
head="Vishap Armet +1",
body="Ptero. Mail +1",
hands="Ptero. Fin. G. +1",
ring1="Defending Ring",
ring2="K'ayres Ring",
back="Updraft Mantle",
waist="Glassblower's Belt",
legs="Ptero. Brais +1",
feet="Ejekamal Boots"})
-- Waltz Set --
sets.Waltz = {}
sets.Precast = {}
-- Fastcast Set --
sets.Precast.FastCast = {
head="Cizin Helm +1",
body="Cizin Mail +1",
ear1="Loquac. Earring",
ring1="Defending Ring",
ring2="Sheltered Ring",
legs="Blood Cuisses",
feet="Ejekamal Boots"}
sets.Midcast = {}
-- Magic Haste Set --
sets.Midcast.Haste = set_combine(sets.PDT,{
head="Cizin Helm +1",
hands="Cizin Mufflers +1",
ring1="Defending Ring",
ring2="Sheltered Ring",
waist="Sweordfaetels +1",
legs="Cizin Breeches +1",
feet="Ejekamal Boots"})
end
function pretarget(spell,action)
if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
cancel_spell()
send_command('input /item "Echo Drops" <me>')
elseif spell.english == "Spirit Jump" and not pet.isvalid then -- Change Spirit Jump To Jump If Wyvern Is Not Present --
cancel_spell()
send_command('Jump')
elseif spell.english == "Soul Jump" and not pet.isvalid then -- Change Soul Jump To High Jump If Wyvern Is Not Present --
cancel_spell()
send_command('HighJump')
elseif spell.english == "Dismiss" and pet.hpp < 100 then -- Cancel Dismiss If Wyvern's HP Is Under 100% --
cancel_spell()
add_to_chat(123, spell.english .. ' Canceled: [' .. pet.hpp .. ']')
return
elseif spell.english == "Call Wyvern" and pet.isvalid then -- Change Call Wyvern To Dismiss If Wyvern Is Present --
cancel_spell()
send_command('Dismiss')
elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
cancel_spell()
send_command('Aggressor')
elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
cancel_spell()
send_command('ThirdEye')
elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 290 --
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Out of Range]')
return
end
end
function precast(spell,action)
if spell.english == 'Ranged' then
equip({ammo="Pebble"})
elseif spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
equipSet = sets.WS
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if equipSet[AttArray[AttIndex]] then
equipSet = equipSet[AttArray[AttIndex]]
end
if player.tp > 2999 or buffactive.Sekkanoki then
equipSet = set_combine(equipSet,{ear2="Tripudio Earring"})
end
if spell.english == "Drakesbane" and string.find(spell.target.name,'Dynamis Lord') then -- Equip Phorcys Korazin When You Use Drakesbane On DL & ADL --
equipSet = set_combine(equipSet,{body="Phorcys Korazin"})
end
if spell.english == "Stardiver" and (world.day == "Earthsday" or world.day == "Lightsday" or world.day == "Darksday") then
add_to_chat('Used Gavialis Helm')
equipSet = set_combine(equipSet, {head="Gavialis Helm"})
end
if spell.english == "Raiden Thrust" and (world.day == "Lightningday" or world.day == "Lightsday") then
add_to_chat('Used Gavialis Helm')
equipSet = set_combine(equipSet, {head="Gavialis Helm"})
end
if spell.english == "Camlann's Torment" and (world.day == "Firesday" or world.day == "Windsday" or world.day == "Lightningday" or world.day == "Lightsday") then
add_to_chat('Used Gavialis Helm')
equipSet = set_combine(equipSet, {head="Gavialis Helm"})
end
if spell.english == "Drakesbane" and (world.day == "Firesday" or world.day == "Lightsday") then
add_to_chat('Used Gavialis Helm')
equipSet = set_combine(equipSet, {head="Gavialis Helm"})
end
equip(equipSet)
end
elseif spell.type == "JobAbility" then
equipSet = sets.JA
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if spell.english == "High Jump" and NM_For_Brais:contains(spell.target.name) and Brais == 'ON' then -- Use Vishap Brais +1 Toggle To Equip Vishap Brais +1 For High Jump --
equipSet = set_combine(equipSet,{legs="Vishap Brais +1"})
end
equip(equipSet)
elseif spell.action_type == 'Magic' then
if buffactive.silence or spell.target.distance > 16+target_distance then
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
return
else
if string.find(spell.english,'Utsusemi') then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123,'Utsusemi Canceled: [3+ Images]')
return
else
equip(sets.Precast.FastCast)
end
else
equip(sets.Precast.FastCast)
end
end
elseif spell.type == "Waltz" then
refine_waltz(spell,action)
equip(sets.Waltz)
elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
cast_delay(0.2)
send_command('cancel Sneak')
elseif spell.type == "PetCommand" then
equip(sets.Pet[spell.english])
end
if Twilight == 'Twilight' then
equip(sets.Twilight)
end
end
function midcast(spell,action)
if spell.english == 'Ranged' then
equip({ammo="Pebble"})
elseif spell.action_type == 'Magic' then
if string.find(spell.english,'Utsusemi') then
if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
send_command('@wait 1.7;cancel Copy Image*')
end
equip(sets.Midcast.Haste)
elseif spell.english == 'Monomi: Ichi' then
if buffactive['Sneak'] then
send_command('@wait 1.7;cancel sneak')
end
equip(sets.Midcast.Haste)
elseif HB_Mage_SubJob:contains(player.sub_job) and player.hpp < 51 and pet.isvalid then
equip(sets.HealingBreathTrigger)
elseif HB_DD_SubJob:contains(player.sub_job) and player.hpp < 34 and pet.isvalid then
equip(sets.HealingBreathTrigger)
else
equip(sets.Midcast.Haste)
end
end
end
function aftercast(spell,action)
if not string.find(spell.english,'Breath') then
status_change(player.status)
elseif not spell.interrupted then
if spell.type == "WeaponSkill" then
send_command('wait 0.2;gs c TP')
elseif string.find(spell.english,'Jump') then
send_command('wait 0.2;gs c TP')
elseif spell.english == "Angon" then -- Angon Timer/Countdown --
timer_angon()
send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Angon";input /p '..spell.name..': [OFF]')
elseif spell.english == "Ancient Circle" then -- Ancient Circle Countdown --
send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
end
end
end
function status_change(new,old)
if Armor == 'PDT' then
equip(sets.PDT)
elseif Armor == 'MDT' then
equip(sets.MDT)
elseif new == 'Engaged' then
equipSet = sets.TP
if Armor == 'Hybrid' and equipSet["Hybrid"] then
equipSet = equipSet["Hybrid"]
end
if equipSet[player.equipment.main] then
equipSet = equipSet[player.equipment.main]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if buffactive.Ionis and equipSet["Ionis"] then
equipSet = equipSet["Ionis"]
end
if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
equipSet = equipSet["AM3"]
end
if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
equipSet = equipSet["STP"]
end
equip(equipSet)
else
equip(sets.Idle[IdleArray[IdleIndex]])
end
if Twilight == 'Twilight' then
equip(sets.Twilight)
end
end
function buff_change(buff,gain)
buff = string.lower(buff)
if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
if gain then
send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
else
send_command('timers delete "Aftermath: Lv.3"')
add_to_chat(123,'AM3: [OFF]')
end
elseif buff == 'weakness' then -- Weakness Timer --
if gain then
send_command('timers create "Weakness" 300 up')
else
send_command('timers delete "Weakness"')
end
end
if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
equip({neck="Berserker's Torque"})
else
if not midaction() and not pet_midaction() then
status_change(player.status)
end
end
end
function pet_midcast(spell,action)
if string.find(spell.english,'Breath') then
equip(sets.Pet["Restoring Breath"])
end
end
function pet_aftercast(spell,action)
status_change(player.status)
end
function pet_change(pet,gain)
status_change(player.status)
end
-- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
function self_command(command)
if command == 'C1' then -- Accuracy Level Toggle --
AccIndex = (AccIndex % #AccArray) + 1
add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
status_change(player.status)
elseif command == 'C9' then -- Attack Toggle --
AttIndex = (AttIndex % #AttArray) + 1
add_to_chat(158,'Attack Level: '..AttArray[AttIndex])
status_change(player.status)
elseif command == 'C5' then -- Auto Update Gear Toggle --
status_change(player.status)
add_to_chat(158,'Auto Update Gear')
elseif command == 'C2' then -- Hybrid Toggle --
if Armor == 'Hybrid' then
Armor = 'None'
add_to_chat(123,'Hybrid Set: [Unlocked]')
else
Armor = 'Hybrid'
add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
end
status_change(player.status)
elseif command == 'C7' then -- PDT Toggle --
if Armor == 'PDT' then
Armor = 'None'
add_to_chat(123,'PDT Set: [Unlocked]')
else
Armor = 'PDT'
add_to_chat(158,'PDT Set: [Locked]')
end
status_change(player.status)
elseif command == 'C15' then -- MDT Toggle --
if Armor == 'MDT' then
Armor = 'None'
add_to_chat(123,'MDT Set: [Unlocked]')
else
Armor = 'MDT'
add_to_chat(158,'MDT Set: [Locked]')
end
status_change(player.status)
elseif command == 'C10' then -- Vishap Brais +1 Toggle --
if Brais == 'ON' then
Brais = 'OFF'
add_to_chat(123,'Vishap Brais +1: [OFF]')
else
Brais = 'ON'
add_to_chat(158,'Vishap Brais +1: [ON]')
end
status_change(player.status)
elseif command == 'C17' then -- SAM Roll Toggle --
if Samurai_Roll == 'ON' then
Samurai_Roll = 'OFF'
add_to_chat(123,'SAM Roll: [OFF]')
else
Samurai_Roll = 'ON'
add_to_chat(158,'SAM Roll: [ON]')
end
status_change(player.status)
elseif command == 'C3' then -- Twilight Toggle --
if Twilight == 'Twilight' then
Twilight = 'None'
add_to_chat(123,'Twilight Set: [Unlocked]')
else
Twilight = 'Twilight'
add_to_chat(158,'Twilight Set: [locked]')
end
status_change(player.status)
elseif command == 'C8' then -- Distance Toggle --
if player.target.distance then
target_distance = math.floor(player.target.distance*10)/10
add_to_chat(158,'Distance: '..target_distance)
else
add_to_chat(123,'No Target Selected')
end
elseif command == 'C6' then -- Idle Toggle --
IdleIndex = (IdleIndex % #IdleArray) + 1
add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
status_change(player.status)
elseif command == 'TP' then
add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
elseif command:match('^SC%d$') then
send_command('//' .. sc_map[command])
end
end
function timer_angon()
local duration = 90
send_command('timers create "Angon" '..tostring(duration)..' down')
end
function refine_waltz(spell,action)
if spell.type ~= 'Waltz' then
return
end
if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
return
end
local newWaltz = spell.english
local waltzID
local missingHP
if spell.target.type == "SELF" then
missingHP = player.max_hp - player.hp
elseif spell.target.isallymember then
local target = find_player_in_alliance(spell.target.name)
local est_max_hp = target.hp / (target.hpp/100)
missingHP = math.floor(est_max_hp - target.hp)
end
if missingHP ~= nil then
if player.sub_job == 'DNC' then
if missingHP < 40 and spell.target.name == player.name then
add_to_chat(123,'Full HP!')
cancel_spell()
return
elseif missingHP < 150 then
newWaltz = 'Curing Waltz'
waltzID = 190
elseif missingHP < 300 then
newWaltz = 'Curing Waltz II'
waltzID = 191
else
newWaltz = 'Curing Waltz III'
waltzID = 192
end
else
return
end
end
local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
local tpCost = waltzTPCost[newWaltz]
local downgrade
if player.tp < tpCost and not buffactive.trance then
if player.tp < 20 then
add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
cancel_spell()
return
elseif player.tp < 35 then
newWaltz = 'Curing Waltz'
elseif player.tp < 50 then
newWaltz = 'Curing Waltz II'
elseif player.tp < 65 then
newWaltz = 'Curing Waltz III'
elseif player.tp < 80 then
newWaltz = 'Curing Waltz IV'
end
downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
end
if newWaltz ~= spell.english then
send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
if downgrade then
add_to_chat(158, downgrade)
end
cancel_spell()
return
end
if missingHP > 0 then
add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
end
end
function find_player_in_alliance(name)
for i,v in ipairs(alliance) do
for k,p in ipairs(v) do
if p.name == name then
return p
end
end
end
end
function sub_job_change(newSubjob, oldSubjob)
select_default_macro_book()
end
function set_macro_page(set,book)
if not tonumber(set) then
add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
return
end
if set < 1 or set > 10 then
add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
return
end
if book then
if not tonumber(book) then
add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
return
end
if book < 1 or book > 20 then
add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
return
end
send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
else
send_command('@input /macro set '..tostring(set))
end
end
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'SAM' then
set_macro_page(1, 5)
elseif player.sub_job == 'DNC' then
set_macro_page(1, 5)
elseif player.sub_job == 'WAR' then
set_macro_page(1, 5)
elseif player.sub_job == 'WHM' then
set_macro_page(1, 5)
elseif player.sub_job == 'RDM' then
set_macro_page(1, 5)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 5)
else
set_macro_page(1, 5)
end
end Your sets go
sets.TP.Ryunohige.AM3.Ionis
but your rules go
Ionis then AM3.
So it's trying to build a set called sets.TP.Ryunohige.Ionis.AM3 which doesn't exist.
Just move the Ionis rule below your AM3 rule and it should work. The Ionis rule being this, located on line 661.
Code if buffactive.Ionis and equipSet["Ionis"] then
equipSet = equipSet["Ionis"]
end
By ClaudeusXI 2015-03-27 08:17:04
Thanks Martel! Makes sense!
Bahamut.Shirai
Serveur: Bahamut
Game: FFXI
By Bahamut.Shirai 2015-03-27 08:35:47
Shirai: You use Kinemtics structure? You damage is same before/after update?
Yes, I too use the Kinematics structure, although fairly modified.
Both damage as well as Ward buff times were working fine for me.
Keep in mind however that this was all from solo testing, I haven't done any group content yet so things like lag might indeed keep me back as well.
Sylph.Ashiya
Serveur: Sylph
Game: FFXI
Posts: 144
By Sylph.Ashiya 2015-03-27 13:27:38
GS is currently having issues reading the new gear augments. Hence, it won't equip. Fortunately there's a fall-back system but it requires some additional steps.
To get the correct augment table, equip it then do //gs export. Your export folder will contain the lua and aug stats that you need to add to GS.
You can equip like-items, but with different augments, at the proper time by using this in your lua (example). Code
-- augmented gear
QaaxoFeet = {}
QaaxoFeet.R15A = {name="Qaaxo Leggings", augments={'Attack+15','Evasion+15','"Dbl.Atk."+2'}} -- table becomes a variable.
QaaxoFeet.R15B = {name="Qaaxo Leggings", augments={'Accuracy+15','STR+7','Phys. dmg. taken -3'}} -- table becomes a variable.
sets.engaged = {feet=QaaxoFeet.R15B} -- feet=variable. notice no ".
sets.precast.WS = {feet=QaaxoFeet.R15A} -- feet=variable. notice no ".
One of the problems with Mote's Cor example is that the default rollinfo color hardly stands out. In fact, it's nearly the same (to me) as battle spam. I changed the color number so that it stands out. The '158' represents the GS add_to_chat color but you can try other colors. Code
if rollinfo then
add_to_chat(158, spell.english..' provides a bonus to '..rollinfo.bonus..'. Roll size: '..rollsize)
add_to_chat(158, 'Lucky roll is '..tostring(rollinfo.lucky)..', Unlucky roll is '..tostring(rollinfo.unlucky)..'.')
end
It is not possible to have two or more colors in the same chatline. This won't work:
add_to_chat(158, 'This is ', 104, 'one line.')
or this:
add_to_chat(158, 'This is ');add_to_chat(104, 'one line.')
Could you also give an example on how to do the new skirmish gear? I'm still sorta new to GS, so I have 2 sets of helios 1 for drain/aspir 1 for nukes.
Valefor.Seranos
Serveur: Valefor
Game: FFXI
Posts: 193
By Valefor.Seranos 2015-03-27 14:24:51
GS is currently having issues reading the new gear augments. Hence, it won't equip. Fortunately there's a fall-back system but it requires some additional steps.
To get the correct augment table, equip it then do //gs export. Your export folder will contain the lua and aug stats that you need to add to GS.
You can equip like-items, but with different augments, at the proper time by using this in your lua (example). Code
-- augmented gear
QaaxoFeet = {}
QaaxoFeet.R15A = {name="Qaaxo Leggings", augments={'Attack+15','Evasion+15','"Dbl.Atk."+2'}} -- table becomes a variable.
QaaxoFeet.R15B = {name="Qaaxo Leggings", augments={'Accuracy+15','STR+7','Phys. dmg. taken -3'}} -- table becomes a variable.
sets.engaged = {feet=QaaxoFeet.R15B} -- feet=variable. notice no ".
sets.precast.WS = {feet=QaaxoFeet.R15A} -- feet=variable. notice no ".
Could you also give an example on how to do the new skirmish gear? I'm still sorta new to GS, so I have 2 sets of helios 1 for drain/aspir 1 for nukes.
Equip the gear, then type //gs export into chat.
Check the "Export" folder and open the file with the date and time. Copy the code from that file and paste into your lua. Note that dual augments are in one set of apostrophes ('Mag. Acc.+17 "Mag.Atk.Bns."+17').
[+]
Serveur: Asura
Game: FFXI
Posts: 224
By Asura.Celoria 2015-03-27 14:43:16
Anyone know why Ghostfyre Cape isn't recognized in gearswap?
I went through and put it in every single gearset I have just to see if it loads it won't load in any set used //gs showswaps to see
Serveur: Asura
Game: FFXI
Posts: 224
By Asura.Celoria 2015-03-27 15:17:22
Got it fixed thanks to Fiv
Shiva.Hiep
Serveur: Shiva
Game: FFXI
Posts: 669
By Shiva.Hiep 2015-03-28 07:59:35
Really new to gearswap and have a few questions. How do I apply the 8 ToM (Atar I etc.) to my precast sets? How do I swap to sets such as PDT or MDT? Lastly, what do I type in the game to look at a certain gear set w/o GS swapping it back to idle gear?
Serveur: Bismarck
Game: FFXI
Posts: 21
By Bismarck.Alkalinescissor 2015-03-28 09:07:19
just dusted off DRK and lua is not equipping gear when i ws...
http://pastebin.com/NntXF7Gy saying 590 is a nil value anyone can take a look for me?
Asura.Rinuko
Serveur: Asura
Game: FFXI
Posts: 144
By Asura.Rinuko 2015-03-28 11:33:52
I sort of miss SC scripts but gotta move to GS i guess since SC isnt supported. Anyway.. I found this mnk lua file which i used for my in progress mnk but i can't get the add_to_chat to work, maybe anyone here got an idea?
http://pastebin.com/6ZcDwYXH
Serveur: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2015-03-28 23:33:23
I never had this problem until today and I haven't touched this lua file in forever. Every time I switch into my enfeebling set, it gives me that "Unable to equip aureole" but showswaps clearly show it equipping, I am confused. Any way to fix this?
SS of it.
My enfeebling set is as follow
Code sets.midcast.Enfeebling = {
main="Twebuliij",
sub="Mephitis Grip",
range="Aureole",
head="Artsieq Hat",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Enchntr. Earring +1",
body="Ischemia Chasu.",
hands="Lurid Mitts",
ring1="Perception Ring",
ring2="Sangoma Ring",
back="Ogapepo Cape",
waist="Ovate Rope",
legs="Mes'yohi Slacks",
feet="Artsieq Boots"}
sets.midcast.EnfeeblingMND = set_combine(sets.midcast.Enfeebling, {
main="Twebuliij",
sub="Benthos Grip",
ammo="Oreiad's Tathlum",
ear1="Psystorm Earring",
ear2="Lifestorm Earring",
ring1="Levia. Ring +1",
ring2="Levia. Ring +1",
back="Refraction Cape"})
And the rule for it: Code if spell.skill == 'Enfeebling Magic' then
equip(sets.midcast.Enfeebling)
if enfMND:contains(spell.name) then
equip(sets.midcast.EnfeeblingMND)
end
end
Cerberus.Conagh
Serveur: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2015-03-29 00:08:19
I never had this problem until today and I haven't touched this lua file in forever. Every time I switch into my enfeebling set, it gives me that "Unable to equip aureole" but showswaps clearly show it equipping, I am confused. Any way to fix this?
SS of it.
My enfeebling set is as follow
Code sets.midcast.Enfeebling = {
main="Twebuliij",
sub="Mephitis Grip",
range="Aureole",
head="Artsieq Hat",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Enchntr. Earring +1",
body="Ischemia Chasu.",
hands="Lurid Mitts",
ring1="Perception Ring",
ring2="Sangoma Ring",
back="Ogapepo Cape",
waist="Ovate Rope",
legs="Mes'yohi Slacks",
feet="Artsieq Boots"}
sets.midcast.EnfeeblingMND = set_combine(sets.midcast.Enfeebling, {
main="Twebuliij",
sub="Benthos Grip",
ammo="Oreiad's Tathlum",
ear1="Psystorm Earring",
ear2="Lifestorm Earring",
ring1="Levia. Ring +1",
ring2="Levia. Ring +1",
back="Refraction Cape"})
And the rule for it: Code if spell.skill == 'Enfeebling Magic' then
equip(sets.midcast.Enfeebling)
if enfMND:contains(spell.name) then
equip(sets.midcast.EnfeeblingMND)
end
end
Your file is stating that you can't have a ranged and an ammo at once, it isn't equipping Aeurole, your rules have you putting a ranged weapon on generic enfeebling, but then in the other set you dont have range = "empty" so it over rides the first one, but the error pops up due to your having an ammo in place.
Just add range = "empty" in the redefined set (the bottom one) and it'll fix, Gearswap working as intended there
Sylph.Ashiya
Serveur: Sylph
Game: FFXI
Posts: 144
By Sylph.Ashiya 2015-03-29 10:19:26
I followed Seranos' instructions on pulling augmented gear, now for some reason it's telling me I am having an error at line 106 "Expexted near '('"
and I don't see it? Maybe I'm blind?? >< Augmented gear is a pain in the arse.
Code --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {head="Helios Band",waist="Fucho-no-Obi",feet={ name="Helios Boots", augments={'"Drain" and "Aspir" potency +10',}})
Lakshmi.Byrth
VIP
Serveur: Lakshmi
Game: FFXI
Posts: 6184
By Lakshmi.Byrth 2015-03-29 10:27:52
You need one more curly bracket before the ) on that bottom line.
By Fujilives 2015-03-29 11:08:23
I've been using gearswap and it's excellent, but for the first time I'm trying to dabble with fast-cast to see how much of a difference it can really make and if it's worth upgrading certain new pieces and/or spending a fortune on tweaking the set. For my testing I chose Blue mage since it had some nice long delay self-casts available for testing in town.
What I am experiencing is a very "slight" delay reduction when I have a fastcast set getting called via precast (like, maybe a piece or two's effect is kicking in somehow?), which is nice, but it didn't seem large enough to me to be right... So I started digging into things and disabled Midcast entirely to see if the recast delay improved *(ensuring I cast in all the fastcast items I equipped).
Sure enough, I saw a significant drop in recast - on longer spells it was a difference of over 10 seconds.
I enabled show_swaps to visualize whats happening to see if maybe I made a mistake somewhere, but it doesn't seem to be the case.
Can anyone help me troubleshoot this - is there a need to forcefully add a delay of some kind prior to allowing midcast to take place? Or perhaps since this is my first venture into pre-casting Fastcast via the gearswap system, is there a chance this is something that was broken in the most recent update and I just have unfortunate timing?
I made a screenshot to show what I mean (sorry, used MS Paint... so it's pretty shitty but hopefully explains it better than my text here).
Edit: Again, I'm new to making fastcast sets, so I've been doing some reading on the topic this morning. I am coming to understand that "recast" is only reduced via gear equipped while the cast is finished (aka midcast set via gearswap) - so perhaps everything is working as intended and it's just not practical to do fastcast or mavi gloves with respect to offensive spells, but rather only equip them for buff spells I've predefined in the gearswap LUA (and possibly healing spells as well, if the difference in stat change is minimal)?. Any insight to this would be helpful. Thanks in advance!
Sylph.Aeo
Serveur: Sylph
Game: FFXI
Posts: 22
By Sylph.Aeo 2015-03-29 15:18:16
So confused... my Blue Mage nukes never want to put on obi/cape on the correct day of the week... but my light elemental cures want to put it on even when it isn't Lightsday. What am I missing?
This is my nukes:
if
spell.english == 'Cursed Sphere' or
spell.english == 'Blastbomb' or
spell.english == 'Poison Breath' or
spell.english == 'Bomb Toss' or
spell.english == 'Death Ray' or
spell.english == 'Digest'or
spell.english == 'Venom Shell' or
spell.english == 'Stinking Gas' or
spell.english == 'Blitzstrahl' or
spell.english == 'Gates of Hades' or
spell.english == 'Leafstorm' or
spell.english == 'Firespit' or
spell.english == 'Acrid Stream' or
spell.english == 'Regurgitation' or
spell.english == 'Corrosive Ooze' or
spell.english == 'Thermal Pulse' or
spell.english == 'Magic Hammer' or
spell.english == 'Evryone. Grudge' or
spell.english == 'Water Bomb' or
spell.english == 'Dark Orb' or
spell.english == 'Thunderbolt' or
spell.english == 'Tem. Upheaval' or
spell.english == 'Embalming Earth' or
spell.english == 'Foul Waters' or
spell.english == 'Rending Deluge' or
spell.english == 'Droning Whirlwind' or
spell.english == 'Subduction' or
spell.english == 'Blazing Bound' or
spell.english == 'Charged Whisker' then
if buffactive['Burst Affinity'] then
if spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi.NukeAffinity)
send_command('@input /echo <----- Weather/Day & Burst Affinity!----->')
else
equip(sets.Midcast.BurstAffinity)
send_command('@input /echo <----- Burst Affinity gear applied! ----->')
end
elseif spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi.nuke)
send_command('@input /echo <----- Weather/Day detected!----->')
else
equip(sets.Magical[sets.Magical.index[Magical_index]])
end
end
This is my cures:
if
spell.english == 'Magic Fruit' or
spell.english == 'Plenilune Embrace' or
spell.english == 'Wild Carrot' or
spell.english == 'Healing Breeze' or
spell.english == 'White Wind' or
spell.english == 'Restoral' or
spell.english == 'Pollen' then
if spell.element == world.weather_element or spell_element == world.day_element then
equip(sets.Obi.Cure)
send_command('@input /echo <----- Weather/Day detected!----->')
else
equip(sets.Midcast.Cures)
end
end
FIXED/EDIT:
I'm an idiot. Should be spell.element, not spell_element... This solved my issue with nukes. However, apparently according to GS Magic Fruit is a non-elemental spell? That's why it was activating my obi/cape with no weather-- because spell.element was None and world.weather_element was None. I worked around it by using:
if world.weather_element == 'Light' or world.day_element == 'Light' then
Serveur: Odin
Game: FFXI
Posts: 170
By Odin.Quixacotl 2015-03-29 19:59:19
Really new to gearswap and have a few questions. How do I apply the 8 ToM (Atar I etc.) to my precast sets? Code
sets.precast = {main="Atar I"}
How do I swap to sets such as PDT or MDT? Lastly, what do I type in the game to look at a certain gear set w/o GS swapping it back to idle gear? You have to type out the setname in its' entirety like so (note that the command is case-sensitive): //gs equip sets.precast.WS['Chant du Cygne']. You can do this in your MH.
These questions are basic Gearswap 101. Here's the most comprehensive tutorial to date. I highly suggest you check it out. http://www.ffxiah.com/node/145
If you are this new to Gearswap then I suggest you copy an example, edit your own gear into the sets and leave the mechanics up to the author. GS has a high learning curve and it takes time before anyone can successfully create his/her own lua and rules.
If you already have a lua then post it so we can better help fix it.
Serveur: Odin
Game: FFXI
Posts: 170
By Odin.Quixacotl 2015-03-29 20:24:05
Bismarck.Alkalinescissor said: »just dusted off DRK and lua is not equipping gear when i ws...
http://pastebin.com/NntXF7Gy saying 590 is a nil value anyone can take a look for me? Your using Kinematics rules with a non-Kinematics lua. There is no function user_setup() to define the 'state' variables. So every place you have a 'state', it will be a nil value. Thus you won't be able to load it properly (<- key word).
I know Kinematics doesn't have a Drk example but you can copy from his Sam example which is fairly similar. https://raw.githubusercontent.com/Kinematics/GearSwap-Jobs/master/SAM.lua
Serveur: Asura
Game: FFXI
Posts: 334
By Asura.Krystela 2015-03-29 20:55:48
I never had this problem until today and I haven't touched this lua file in forever. Every time I switch into my enfeebling set, it gives me that "Unable to equip aureole" but showswaps clearly show it equipping, I am confused. Any way to fix this?
SS of it.
My enfeebling set is as follow
Code sets.midcast.Enfeebling = {
main="Twebuliij",
sub="Mephitis Grip",
range="Aureole",
head="Artsieq Hat",
neck="Imbodla Necklace",
ear1="Gwati Earring",
ear2="Enchntr. Earring +1",
body="Ischemia Chasu.",
hands="Lurid Mitts",
ring1="Perception Ring",
ring2="Sangoma Ring",
back="Ogapepo Cape",
waist="Ovate Rope",
legs="Mes'yohi Slacks",
feet="Artsieq Boots"}
sets.midcast.EnfeeblingMND = set_combine(sets.midcast.Enfeebling, {
main="Twebuliij",
sub="Benthos Grip",
ammo="Oreiad's Tathlum",
ear1="Psystorm Earring",
ear2="Lifestorm Earring",
ring1="Levia. Ring +1",
ring2="Levia. Ring +1",
back="Refraction Cape"})
And the rule for it: Code if spell.skill == 'Enfeebling Magic' then
equip(sets.midcast.Enfeebling)
if enfMND:contains(spell.name) then
equip(sets.midcast.EnfeeblingMND)
end
end
Your file is stating that you can't have a ranged and an ammo at once, it isn't equipping Aeurole, your rules have you putting a ranged weapon on generic enfeebling, but then in the other set you dont have range = "empty" so it over rides the first one, but the error pops up due to your having an ammo in place.
Just add range = "empty" in the redefined set (the bottom one) and it'll fix, Gearswap working as intended there Oh wow, that was rather simple, I almost feel stupid for asking, Thanks!
Valefor.Yankke
Serveur: Valefor
Game: FFXI
Posts: 34
By Valefor.Yankke 2015-03-29 21:33:24
ItemSet 334145
if i want to add this hands when i have Rainstorm up and switch to relic gloves back when Rainstorm down how it should be?
if buffactive.Rainstorm then
equipSet = set_combine(equipSet,{hands="Shigure Tekko +1"})
end
end
equip(equipSet)
end
function precast(spell,action)
if spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
equipSet = sets.WS
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if Attack == 'ON' then
equipSet = equipSet["ATT"]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if spell.english == "Victory Smite" or spell.english == "Ascetic's Fury" then
if buffactive.Impetus then -- Equip Bhikku Cyclas When You Have Impetus On For Victory Smite or Ascetic's Fury --
equipSet = set_combine(equipSet,{body="Bhikku Cyclas"})
elseif player.tp > 299 then -- Equip Vulcan's Pearl When You Have 300 TP --
equipSet = set_combine(equipSet,{ear1="Vulcan's Pearl"})
end
end
equip(equipSet)
end
Valefor.Caivian
Serveur: Valefor
Game: FFXI
Posts: 21
By Valefor.Caivian 2015-03-29 22:10:45
ItemSet 334145
if i want to add this hands when i have Rainstorm up and switch to relic gloves back when Rainstorm down how it should be?
if buffactive.Rainstorm then
equipSet = set_combine(equipSet,{hands="Shigure Tekko +1"})
end
end
equip(equipSet)
end
function precast(spell,action)
if spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
equipSet = sets.WS
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if Attack == 'ON' then
equipSet = equipSet["ATT"]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if spell.english == "Victory Smite" or spell.english == "Ascetic's Fury" then
if buffactive.Impetus then -- Equip Bhikku Cyclas When You Have Impetus On For Victory Smite or Ascetic's Fury --
equipSet = set_combine(equipSet,{body="Bhikku Cyclas"})
elseif player.tp > 299 then -- Equip Vulcan's Pearl When You Have 300 TP --
equipSet = set_combine(equipSet,{ear1="Vulcan's Pearl"})
end
end
equip(equipSet)
end What you have for that should only work with scholar's rainstorm buff I think. To do what you want, I think you could create a variable that is defined by an if statement within your job_setup() function, and then use that variable in your sets:
Code function job_setup()
if world.weather_element == 'Water' then
my_gloves = "Shigure Tekko +1"
else
my_gloves = "Melee Gloves +2"
end
end
and for each of your sets: Code sets.precast.WS["Ascetic's Fury"] = set_combine(sets.precast.WS, {
hands=my_gloves})
*I haven't tested this at all, but I think it should work. If it doesn't work within job_setup, then you could do this: Code windower.register_event('weather change', function(...)
if world.weather_element == 'Water' then
my_gloves = "Shigure Tekko +1"
else
my_gloves = "Melee Gloves +2"
end
end)
As an aside, you have a check for > 299 tp which would be the old tp value. As that code stands now, you're never going to ws in moonshade earring unless you switch your 299 to 2990.
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.
|
|