|
Gearswap Support Thread
Server: Odin
Game: FFXI
Posts: 943
By Odin.Calipso 2015-11-08 00:51:07
Is there a way to create a custom timer for whatever spell (say haste) using gearswap? Motetenten has something along that line in his brd GS, I was hoping to make custom timers for haste and other buffs as Timers can't recognize the enh duration on Telchine stuff. Thanks!
Server: Bahamut
Game: FFXI
Posts: 16
By Bahamut.Alteubent 2015-11-10 03:55:12
Quote: Ratchety said: ยป
Here is another post with the same issue. It doesn't appear that Conagh was ever answered. I didn't see that Conagh showed the file in question but this may work for both of you.
On the original file download Grouf_WHM.lua line 7 include('Obi_Check') should be inside of function get_sets().
If you don't want the include('Obi_Check') just delete lines:
7 include('Obi_Check')
166 obi_check(spell.element)
182 obi_check(spell.element)
187 obi_check(spell.element)
The functions they were in should work without them.
Server: Asura
Game: FFXI
Posts: 40
By Asura.Extract 2015-11-10 15:55:32
Aye, So I want to know if there is a way to automatically use Trizek ring while I'm afk. Is that possible? Also, is there a way to automatically pass or drop ***items like insect wings, beetle shells etc etc.. Thanks in advance!
By Selindrile 2015-11-11 05:00:39
Aye, So I want to know if there is a way to automatically use Trizek ring while I'm afk. Is that possible? Also, is there a way to automatically pass or drop ***items like insect wings, beetle shells etc etc.. Thanks in advance!
There's about a gazillion ways, but your easiest is probably a script, make a file in your windower\scripts directory and copy paste this into it:
Code alias loop exec trizek.txt
input /item "Trizek Ring" <me>
wait 500
loop
To start, type: //exec trizek.txt
To stop, type: //alias loop off
I'm not sure if you can actually wait as long as 500 but that probably works as written, also for auto pass/drop, you're looking for the Treasury addon.
[+]
By Selindrile 2015-11-11 05:26:14
Is there any way to tell the value of a roll on you, or perhaps capture the name and value of a roll that you just did and put it into a variable? I'd rather not have to use a register_event and take all incoming messages and then filter it for just the rolls I'm looking for but I'm open to suggestions.
I'm pretty frustrated trying to create an auto-corsair roller, surely someone has done this before either as a standalone addon or as part of gearswap, I'd love to see anyone's implementation if they'll share it.
Ragnarok.Azryel
Server: Ragnarok
Game: FFXI
Posts: 317
By Ragnarok.Azryel 2015-11-12 15:49:18
Hello, I haven't played in a while and logged in for the free-to-play to basically run around and goof off. That being said, it appears that my gearswap is all wonky as I casted cure on myself and transformed into a different race. I'm getting a nil value '?' in my refresh.lua on line 234 that's presently written as this:
if player_mob_table.race ~= nil then
player.race_id = player.race
player.race = res.races[player.race][language]
end
Anyone see anything wrong here? Most of the rest of it seems ok, just so long as I don't try to cast cure lol
Sylph.Jrpg
Server: Sylph
Game: FFXI
Posts: 161
By Sylph.Jrpg 2015-11-12 22:41:28
The changing races thing is caused by blinkmenot, unload that. But I'm getting the same error with refresh.lua. Also getting an error with libs/tables.lua on my brd mule on line 172: bad argument #1 to 'pairs' (line 3 here)
Code -- Removes all elements from a table.
function table.clear(t)
for key in pairs(t) do
rawset(t, key, nil)
end
return t
end
The error only seems to happen on my brd mule...guess it's because I'm using Motenten's brd.lua (rip in peace ;_;)
edit: ^ problem seems to have fixed itself for now
Also getting an error on my slightly modded Bokura SAM lua on line 570: attempt to compare number with nil. I deleted the elseif and it started working again, but wondering if there's a simple fix.
http://pastebin.com/AUzhB5TU
By orphenPUP 2015-11-13 03:32:47
Im just returning after a long break, and need some help with Gearswap coding.
In regards to Puppetmaster, I am working with Motes preset PUP file to learn and would like to make some small adjustments for the way I intend to play. Here are the first four changes I need help with.
Work in Progress PUP.lua
1) Manually adjust Pet Modes.
I would like to manually set which PetMode I'm using, rather than it be set by the Automaton head. I intent to use AutoControl, and would like to set both which automaton (and attachments) via an ingame macro, and in same macro set which pet mode to use. I believe it would look like:
If this would work, can someone please confirm which extra code I would remove from the PUP lua so that it doesnt override my input.
2) Idle set (due to no Pet Precast/fastcast)
Challenge: I want to use an augmented Naga Set with "Automaton Fastcast". I want set to be equipped before Automaton starts casting.
Thought:
Since there is no defined Pet Precast rules/values, and Id assume that GearSwap cannot tell when a pet/automaton is going to start an action (thus my understanding why the weaponskill portion isnt working). I would like to create a trigger flagged by a yes or no. If the trigger is yes, then Id like the automaton to use one "Cureset" and if no then use another. I tried writing a function in lines 162-168. Im not sure if this will work, or if Im missing something.
3) Cure Sets (to help build Enmity) Working Now.
Challenge: Using one macro I want to trigger pet to cast Cure on me (with Light Maneuver up). With a trigger, I want to switch to an "Enmity" Cure set that gear switches to.
Thought:
I believe I have this working (see set below). Using a macro where I switch to HP Minus, then Max sets. It will trigger my automaton to cast cure. Then using a variable (CureEnmity) in same macro it will switch which gear I use.
http://pastebin.com/0xE8PXz4
(Forgive the gear, it is just to easily visualize the change between Enmity and regular Pet Cure sets).
4) Sheltered Ring for Automaton Protect/Shell (only)[/u] Working Now.
Challenge:
What I would like is that when my automaton is using Protect(ra) or Shell(ra) it equips my Sheltered Ring. Initially it was in the following set:
But this was causing it to switch to the ring when it was casting Haste or Stoneskin.
Thought:
Can I run it with the same sets as a whm would? Maybe something like:
Would this work? or do I need to create a custom set like the midcast function for pet weaponskills?
All help will be greatly appreciated, as Im not familiar with coding.
By rookie6256 2015-11-13 23:12:16
Hey quick question, i'm trying to set up my BLM Gearswap to use my reforged AF +1 body when im below 35% mana but for some reason i cant get it to work correctly any suggestions would be great thanks! Here's what I've currently got.
Code -------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
include('organizer-lib')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant', 'Proc')
state.IdleMode:options('Normal', 'PDT')
state.MagicBurst = M(false, 'Magic Burst')
lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
-- Additional local binds
send_command('bind ^` input /ma Stun <t>')
send_command('bind @` gs c activate MagicBurst')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind @`')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
organizer_items = {
echos="Echo Drops",
bestitem="Warp Ring",
CPcape="Aptitude Mantle"
}
---- Precast Sets ----
-- Precast sets to enhance JAs
sets.precast.JA['Mana Wall'] = {feet="Goetia Sabots +2"}
sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
-- equip to maximize HP (for Tarus) and minimize MP loss before using convert
sets.precast.JA.Convert = {}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head="Nahtirah Hat",ear2="Loquacious Earring",
body="Vanir Cotehardie",ring1="Prolix Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Orvail Pants +1",feet="Regal Pumps +1"}
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash", head="Umuthi Hat"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal"})
sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris", back="Pahtli Cape"})
sets.precast.FC.Curaga = sets.precast.FC.Cure
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Hagondes Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Hagondes Coat +1",hands=HelioshandsNuke,ring1="Shiva Ring",ring2="Rajas Ring",
back="Refraction Cape",waist="Cognition Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Vidohunir'] = {ammo="Dosis Tathlum",
head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes Coat +1",hands=HelioshandsNuke,ring1="Shiva Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Thunder Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
---- Midcast Sets ----
sets.midcast.FastRecast = {
head="Nahtirah Hat",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Bokwus Gloves",ring1="Prolix Ring",
back="Swith Cape +1",waist="Goading Belt",legs="Hagondes Pants +1",feet="Hagondes Sabots +1"}
sets.midcast.Cure = {main="Surya's Staff +1",sub="Curatio Grip",
head="Nahtirah Hat",neck="Phalaina Locket",ear2="Roundel Earring", ear1="Beatific Earring",
body="Chelona Blazer",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
back="Tempered Cape",waist=gear.ElementalObi,legs="Orvail Pants +1",feet="Zenith Pumps +1"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast['Enhancing Magic'] = {
main="Kirin's Pole", sub="Fulcio Grip",
head="Umuthi Hat", neck="Colossus's Torque",
body="Telchine Chasuble",hands="Augur's Gloves",
waist="Olympus Sash", legs="Portent Pants", feet="Regal Pumps +1"}
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash", legs="Haven Hose"})
sets.midcast['Enfeebling Magic'] = {main=KeraunosNuke,sub="Mephitis Grip",ammo="Sturm's Report",
head=HeliosheadNuke,neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Artsieq Jubbah",hands=HelioshandsNuke,ring1="Mediator's Ring",ring2="Sangoma Ring",
back="Bane Cape", waist="Ovate Rope", legs="Bokwus Slops",feet=HeliosfeetNuke}
sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
sets.midcast['Dark Magic'] = {main=KeraunosNuke,sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands=HelioshandsNuke,ring1="Strendu Ring",ring2="Sangoma Ring",
back="Bane Cape",waist="Austerity Belt +1",legs="Bokwus Slops",feet=HeliosfeetNuke}
sets.midcast.Drain = {main=KeraunosNuke,sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands=HelioshandsNuke,ring1="Excelsis Ring",ring2="Sangoma Ring",
back="Bane Cape",waist="Austerity Belt +1",legs="Bokwus Slops",feet="Goetia Sabots +2"}
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Stun = {main=KeraunosNuke,sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Hagondes Coat +1",hands=HelioshandsNuke,ring1="Strendu Ring",ring2="Sangoma Ring",
back="Bane Cape",waist="Witful Belt",legs="Orvail Pants +1",feet=HeliosfeetNuke}
sets.midcast.BardSong = {main=KerauosNuke,sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands=HelioshandsNuke,ring1="Strendu Ring",ring2="Sangoma Ring",
back="Refraction Cape",legs="Bokwus Slops",feet="Bokwus Boots"}
-- Elemental Magic sets
sets.midcast['Elemental Magic'] = {main=KeraunosNuke,sub="Zuuxowu Grip",ammo="Dosis Tathlum",
head=HeliosheadNuke,neck="Eddy Necklace",ear1="Barkarole Earring",ear2="Friomisi Earring",
body="Hagondes coat +1",hands=HelioshandsNuke,ring1="Shiva Ring",ring2="Acumen Ring",
back="Bane Cape",waist="Belisama's Rope +1",legs="Hagondes Pants +1",feet=HeliosfeetNuke}
sets.midcast['Elemental Magic'].Resistant = {main=KeraunosNuke,sub="Elder's Grip +1",ammo="Dosis Tathlum",
head=HeliosheadNuke,neck="Stoicheon medal",ear1="Barkarole Earring",ear2="Friomisi Earring",
body="Hagondes coat +1",hands=HelioshandsNuke,ring1="Shiva Ring",ring2="Acumen Ring",
back="Bane Cape",waist="Belisama's Rope +1",legs="Wicce Chausses +1",feet=HeliosfeetNuke}
sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Elder's Grip +1",waist="Aswang Sash",back="Toro Cape"})
sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], {sub="Elder's Grip +1",waist="Aswang Sash"})
-- Minimal damage gear for procs.
sets.midcast['Elemental Magic'].Proc = {main="Earth Staff", sub="Mephitis Grip",ammo="Impatiens",
head="Helios Band", neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Manasa Chasuble",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Assiduity Pants +1",feet="Regal Pumps +1"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Chatoyant Staff",ammo="Clarus Stone",
head="Nefer Khat +1",neck="Grandiose Chain",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Austerity Belt",legs="Assiduity Pants +1",feet="Chelona Boots"}
-- Idle sets
-- Normal refresh idle set
sets.idle = {main="Bolelabunga", sub="Genbu's Shield",ammo="Esper Stone +1",
head="Hike khat",neck="Twilight Torque",ear1="Novia Earring",ear2="Musical Earring",
body="Hagondes Coat +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Umbra Cape",waist="Fucho-no-obi",legs="Assiduity Pants +1",feet="Serpentes Sabots"}
-- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
sets.idle.PDT = {main="Terra's Staff", sub="Zuuxowu Grip",ammo="Brigantia Pebble",
head="Hike khat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Hagondes Coat +1",hands="Hagondes cuffs +1",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Umbra Cape",waist="Fucho-no-obi",legs="Hagondes Pants +1",feet="Regal Pumps +1"}
-- Idle mode scopes:
-- Defense sets
sets.defense.PDT = {main="Terra's Staff", sub="Zuuxowu Grip",ammo="Brigantia Pebble",
head="Hike khat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Hagondes Coat +1",hands="Hagondes cuffs +1",ring1="Defending Ring",ring2="Paguroidea Ring",
back="Umbra Cape",waist="Fucho-no-obi",legs="Hagondes Pants +1",feet="Regal Pumps +1"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Nahtirah Hat",neck="Twilight Torque",
body="Vanir Cotehardie",hands=HelioshandsNuke,ring1="Defending Ring",ring2="Shadow Ring",
back="Tuilha Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}
sets.Kiting = {feet="Herald's Gaiters"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Mana Wall'] = {feet="Goetia Sabots +2"}
sets.magic_burst = {neck="Mizukage-no-Kubikazari"}
sets.LowMana = {main=KeraunosNuke,sub="Elder's Grip +1",ammo="Dosis Tathlum",
head=HeliosheadNuke,neck="Stoicheon medal",ear1="Barkarole Earring",ear2="Friomisi Earring",
body="Spaekona's Coat +1",hands=HelioshandsNuke,ring1="Shiva Ring",ring2="Acumen Ring",
back="Bane Cape",waist="Aswang Sash",legs="Wicce Chausses +1",feet=HeliosfeetNuke}
-- 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 = {
head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Hagondes Coat +1",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spellMap == 'Cure' or spellMap == 'Curaga' then
gear.default.obi_waist = "Goading Belt"
elseif spell.skill == 'Elemental Magic' then
gear.default.obi_waist = "Sekhmet Corset"
if state.CastingMode.value == 'Proc' then
classes.CustomClass = 'Proc'
end
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)
if spell.skill == "Elemental Magic" then
if player.mpp < 35 then
equip(sets.LowMana)
end
end
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
equip(sets.magic_burst)
end
end
function job_aftercast(spell, action, spellMap, eventArgs)
-- Lock feet after using Mana Wall.
if not spell.interrupted then
if spell.english == 'Mana Wall' then
enable('feet')
equip(sets.buff['Mana Wall'])
disable('feet')
elseif spell.skill == 'Elemental Magic' then
state.MagicBurst:reset()
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
-- Unlock feet when Mana Wall buff is lost.
if buff == "Mana Wall" and not gain then
enable('feet')
handle_equipping_gear(player.status)
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
--[[ No real need to differentiate with current gear.
if lowTierNukes:contains(spell.english) then
return 'LowTierNuke'
else
return 'HighTierNuke'
end
--]]
end
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(2, 16)
end
The line in question is:
Code function job_midcast(spell, action, spellMap, eventArgs)
if spell.skill == "Elemental Magic" then
if player.mpp < 35 then
equip(sets.LowMana)
end
end
end
By Selindrile 2015-11-14 03:05:10
Put it in post midcast
here's my post midcast for reference:
Code function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
if state.MagicBurst.value then equip(sets.MagicBurst) end
if player.mpp <51 then equip(sets.RecoverMP) end
if spell.element == 'Wind' then equip(sets.WindNuke) end
end
end
By rookie6256 2015-11-14 06:41:49
Worked like a charm, thanks!
[+]
Server: Asura
Game: FFXI
Posts: 127
By Asura.Brennski 2015-11-16 08:52:51
So I have amended two different BLU Gear Swaps to try to get the right gear for all spells. However I keep getting an issue of no index set for any of IDle or TP Sets. Can anyone see where I've gone wrong?
Code -- Initialization function for this job file.
function init_get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
send_command('bind f9 gs c toggle TP set')
send_command('bind f10 gs c toggle Idle set')
send_command('bind f11 gs c toggle CDC set')
send_command('bind f12 gs c toggle Req set')
send_command('bind !f12 gs c toggle Rea set')
send_command('bind ^` gs c toggle MB set')
function file_unload()
send_command('unbind ^f9')
send_command('unbind ^f10')
send_command('unbind ^f11')
send_command('unbind ^f12')
send_command('unbind ^`')
send_command('unbind !f9')
send_command('unbind !f10')
send_command('unbind !f11')
send_command('unbind !f12')
send_command('unbind f9')
send_command('unbind f10')
send_command('unbind f11')
send_command('unbind f12')
end
--Idle Sets--
sets.Idle = {}
sets.Idle.index = {'Standard','DT'}
Idle_ind = 1
sets.Idle.Standard = {ammo="Hagneia stone",
head="Ocelomeh headpiece +1",neck="Orochi Nodowa", ear1="Ethereal earring",
body="Mirage Jubbah",hands="Garden Bangles",ring1="Dark ring",ring2="Sheltered ring",
waist="Flume belt",legs="Blood cuisses",feet="Iuitl gaiters"}
sets.Idle.DT = {main="Terra's Staff",sub="Umbra strap",ammo="Ginsen",
head="Rabid Visor",neck="Wiglen Gorget", ear1="Etiolation earring", ear2="Handler's earring +1",
body="Emet Harness +1",hands="Umuthi Gloves",ring1="Dark ring",ring2="Succor ring",
back="Iximulew Cape",waist="Flume belt",legs="Osmium Cuisses",feet="Hippomenes socks"}
--TP Sets--
sets.TP = {}
sets.TP.index = {'Standard', 'AccuracyLite', 'AccuracyFull', 'DT', 'DTAccuracy', 'CP'}
--1=Standard, 2 = AccuracyLite, 3=AccuracyFull, 4=DT, 5=DTAccuracy, 7=CP--
TP_ind = 1
sets.TP.Standard = { ammo="Honed tathlum",
head="Whirlpool Mask", neck="Peacock Amulet", ear1="Steelflash Earring",ear2="Bladeborn earring",
body="Rawhide Vest",hands="Iuitl wristbands",ring1="Enlivened Ring",ring2="Vehemence Ring",
back="Bleating mantle",waist="Windbuffet belt",legs="Taeon Tights",feet="Taeon Boots"}
sets.TP.AccuracyLite = {ammo="Hagneia stone",
head="Whirlpool mask",neck="Asperity necklace", ear1="Steelflash earring", ear2="Bladeborn earring",
body="Thaumas coat",hands="Buremte gloves",ring1="Epona's ring",ring2="Rajas ring",
back="Evasionist's cape",waist="Windbuffet belt",legs="Iuitl tights",feet="Manibozho boots"}
sets.TP.AccuracyFull = {ammo="Honed tathlum",
head="Whirlpool mask",neck="Ziel charm", ear1="Steelflash earring", ear2="Bladeborn earring",
body="Rawhide Vest",hands="Buremte gloves",ring1="Epona's ring",ring2="Mars's ring",
back="Evasionist's cape",waist="Hurch'lan sash",legs="Iuitl tights",feet="Manibozho boots"}
sets.TP.DT = {ammo="Honed tathlum",
head="Futhark bandeau",neck="Twilight torque", ear1="Steelflash earring", ear2="Bladeborn earring",
body="Emet Hareness",hands="Iuitl wristbands",ring1="Dark ring",ring2="Epona's ring",
back="Mollusca mantle",waist="Flume belt",legs="Iuitl tights",feet="Iuitl gaiters"}
sets.TP.DTAccuracy = {ammo="Honed tathlum",
head="Futhark bandeau",neck="Twilight torque", ear1="Steelflash earring", ear2="Bladeborn earring",
body="Emet Hareness",hands="Iuitl wristbands",ring1="Dark ring",ring2="Mars's ring",
back="Evasionist's cape",waist="Flume belt",legs="Iuitl tights",feet="Iuitl gaiters"}
sets.TP.DW = {ammo="Honed tathlum",
head="Whirlpool Mask", neck="Peacock Amulet", ear1="Dudgeon earring", ear2="Heartseeker earring",
body="Rawhide Vest",hands="Iuitl wristbands",ring1="Enlivened Ring",ring2="Vehemence Ring",
back="Bleating mantle",waist="Windbuffet belt",legs="Taeon Tights",feet="Taeon Boots"}
sets.TP.CP = {ammo="Honed tathlum",
head="Whirlpool Mask", neck="Peacock Amulet", ear1="Steelflash earring", ear2="Bladeborn earring",
body="Rawhide Vest",hands="Iuitl wristbands",ring1="Enlivened Ring",ring2="Vehemence Ring",
back="Aptitude mantle",waist="Windbuffet belt",legs="Taeon Tights",feet="Taeon Boots"}
--Weaponskill Sets--
sets.WS = {}
sets.Requiescat = {}
sets.Requiescat.index = {'Attack'}
Requiescat_ind = 1
sets.Requiescat.Attack = {ammo="Potestas bomblet",
head="Whirlpool mask",neck="Soil gorget",ear1="Brutal earring",ear2="Moonshade earring",
body="Wayfarer robe",hands="Wayfarer cuffs",ring1="Epona's ring",ring2="Aquasoul ring",
back="Atheling mantle",waist="Soil belt",legs="Quiahuiz leggings",feet="Wayfarer clogs"}
sets.SavageBlade = {}
sets.SavageBlade.index = {'Attack'}
SavageBlade_ind = 1
sets.SavageBlade.Attack = {ammo="Aqreqaq bomblet",
head="Whirlpool mask",neck="Breeze gorget",ear1="Corybant Pearl",ear2="Kemas Earring",
body="Manibozho jerkin",hands="Manibozho gloves",ring1="Epona's ring",ring2="Vulcan's ring",
back="Buquwik cape",waist="Dynamic belt",legs="Quiahuiz leggings",feet="Manibozho boots"}
sets.ChantDuCygne = {}
sets.ChantDuCygne.index = {'Attack'}
ChantDuCygne_ind = 1
sets.ChantDuCygne.Attack = {ammo="Jukukik Feather",
head="Whirlpool mask",neck="Shifting Necklace",ear1="Pixie Earring",ear2="Flock Earring",
body="Manibozho jerkin",hands="Buremte gloves",ring1="Epona's ring",ring2="Vulcan's ring",
back="Kayapa cape",waist="Artful Belt",legs="Manibozho brais",feet="Manibozho boots"}
sets.WS.SanguineBlade = {}
sets.WS.SanguineBlade = {ammo="Ombre Tathlum",
head="Helios Band",neck="Quanpur necklace",rear="Friomisi earring", ear1="Novio Earring",
body="Rawhide Vest",hands="Helios Gloves", ring1="Acumen Ring", ring2 ='Fenrir Ring', waist ="Salire Belt",
back="Cornflower cape",legs="Augury Cuisses",feet="Weatherspoon souliers" }
sets.WS.CircleBlade = {}
sets.WS.CircleBlade = {aammo="Aqreqaq bomblet",
head="Whirlpool mask",neck="Breeze gorget",ear1="Corybant Pearl",ear2="Kemas Earring",
body="Manibozho jerkin",hands="Manibozho gloves",ring1="Epona's ring",ring2="Vulcan's ring",
back="Buquwik cape",waist="Dynamic belt",legs="Quiahuiz leggings",feet="Manibozho boots"}
sets.WS.Expiacion = {}
sets.WS.Expiacion = {ammo="Aqreqaq bomblet",
head="Whirlpool mask",neck="Breeze gorget",ear1="Corybant Pearl",ear2="Kemas Earring",
body="Manibozho jerkin",hands="Manibozho gloves",ring1="Epona's ring",ring2="Vulcan's ring",
back="Buquwik cape",waist="Dynamic belt",legs="Quiahuiz leggings",feet="Manibozho boots"}
sets.WS.VorpalBlade = {}
sets.WS.VorpalBlade = {ammo="Aqreqaq bomblet",
head="Whirlpool mask",neck="Breeze gorget",ear1="Corybant Pearl",ear2="Kemas Earring",
body="Manibozho jerkin",hands="Manibozho gloves",ring1="Epona's ring",ring2="Vulcan's ring",
back="Buquwik cape",waist="Dynamic belt",legs="Quiahuiz leggings",feet="Manibozho boots"}
sets.Realmrazer = {}
sets.Realmrazer.index = {'Attack'}
Realmrazer_ind = 1
sets.Realmrazer.Attack = {ammo="Hydrocera",
head="Dampening Tam",nek="Fotia gorget",ear1="Bladeborn earring",ear2="Steelflash Earring",
body="Adhemar Jacket",hands="Adhemar Wristbands",ring1="Eponas ring",ring2="Rajas ring",
back="Buquwik Cape",waist="Fotia belt",legs="Telchine Braconi",feet="Rawhide Boots"}
sets.WS.FlashNova = {}
sets.WS.FlashNova = {ammo="Ombre Tathlum",
head="Helios Band",neck="Quanpur necklace",rear="Friomisi earring", ear1="Novio Earring",
body="Rawhide Vest",hands="Helios Gloves", ring1="Acumen Ring", ring2 ='Fenrir Ring', waist ="Salire Belt",
back="Cornflower cape",legs="Augury Cuisses",feet="Weatherspoon souliers" }
--BLU Magic Sets--
sets.midcast.Magic = {ammo="Ombre Tathlum",
head="Helios Band",neck="Quanpur necklace",rear="Friomisi earring", ear1="Novio Earring",
body="Rawhide Vest",hands="Helios Gloves", ring1="Acumen Ring", ring2 ='Fenrir Ring', waist ="Salire Belt",
back="Cornflower cape",legs="Augury Cuisses",feet="Weatherspoon souliers" }
sets.midcast.Physical = {ammo ="Mavi Tathlum",
head="Whirlpool mask",neck="Breeze gorget",ear1="Corybant Pearl",ear2="Kemas Earring",
body="Rawhide Vest",hands="Manibozho gloves",ring1="Rajas ring",ring2="Vehemence Ring",
back="Buquwik cape",waist="Dynamic belt",legs="Quiahuiz leggings",feet="Manibozho boots"}
sets.midcast.PhysStun = {ammo="Mavi Tathlum",
ear1="Moonshade Earring",ear2="Mavi Earring", ring2="Balran's Ring", back="Cuchulain's Mantle"}
sets.midcast.Debuff = {ammo="Mavi Tathlum",
head="Mirage Keffiyeh",ear1="Moonshade Earring",ear2="Mavi Earring",
body="Magus Jubbah",hands="Hagondes Cuffs",ring1="Omega Ring", back="Cornflower cape",
legs="Mavi Tayt +2",feet="Mavi Basmak +1"}
sets.midcast.BuffSkill = {ammo="Mavi Tathlum",
head="Mirage Keffiyeh", body="Magus Jubbah", legs="Mavi Tayt +2", back="Cornflower Cape"}
sets.midcast.Breath ={
head="Mirage Keffiyeh",ear1="Moonshade Earring",ear2="Mavi Earring",
body="Magus Jubbah",hands="Espial Bracers",ring1="Bomb Queen Ring",ring2="Meridian Ring",
back="Gigant Mantle",waist="Lieutenant's Sash",legs="Mavi Tayt +2",feet="Iuitl Gaiters"}
sets.midcast.BlueCure = {
head="Helios Band",neck="Colossus's Torque",
body="Hagondes Coat",hands="Helios Gloves",ring1="Ephedra Ring",ear2="Sirona's Ring",
back="Refraction Cape",waist="Penitent's Rope",legs="Hagondes Pants",feet="Hagondes Sabots"}
sets.midcast.Standard = { ammo="Ginsen",
head="Psycloth Tiara", body="Taeon Tabard", hands="Leyline Gloves", legs="Homam Cosciales",
feet="Taeon Boots", neck="Voltsurge Torque", waist="Witful Belt", left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring", left_ring="Prolix Ring", right_ring="Lebeche Ring", back="Swith Cape"}
--FC Sets--
sets.FC.Standard = { ammo="Ginsen",
head="Psycloth Tiara", body="Taeon Tabard", hands="Leyline Gloves", legs="Homam Cosciales",
feet="Taeon Boots", neck="Voltsurge Torque", waist="Witful Belt", left_ear="Enchntr. Earring +1",
right_ear="Loquac. Earring", left_ring="Prolix Ring", right_ring="Lebeche Ring", back="Swith Cape"}
--Utility Sets--
sets.Utility = {}
sets.Utility.Weather = {waist="Hachirin-no-obi",back="Twilight Cape"}
sets.Utility.MB = {head="Helios Band",body="Samnuha Coat",ear1="Static Earring",ring1="Locus Ring",ring2="Mujin Band"}
sets.Utility.Stoneskin = {head="Haruspex hat",neck="Stone Gorget",ear1="Loquac. earring",ear2="Earthcry earring",
body="Assim. jubbah +1",hands="Stone Mufflers",ring1="Prolix ring",
back="Swith cape",waist="Siegel sash",legs="Haven hose",feet="Iuitl gaiters"}
sets.Utility.Phalanx = {head="Haruspex hat",neck="Colossus's torque",ear1="Loquac. earring",ear2="Augment. earring",
body="Assim. jubbah +1",hands="Ayao's gages",ring1="Prolix ring",
back="Swith cape",waist="Pythia sash +1",legs="Portent pants",feet="Iuitl gaiters"}
sets.Utility.Steps = {ammo="Falcon Eye",
head="Dampening Tam", body="Adhemar Jacket", hands="Rawhide Gloves",legs="Taeon Tights",
feet="Taeon Boots", neck="Subtlety Spec.", waist="Chaac Belt",left_ear="Heartseeker Earring",right_ear="Steelflash Earring",
left_ring="Yacuruna Ring", right_ring="Rajas Ring", back="Grounded Mantle",}
sets.Utility.PDT = {head="Whirlpool mask",neck="Twilight torque",ear1="Ethereal earring",
body="Iuitl vest",hands="Umuthi gloves",ring1="Dark ring",ring2="Dark ring",
back="Mollusca mantle",waist="Flume belt",legs="Iuitl Tights +1",feet="Iuitl gaiters"}
sets.Utility.MDT = {head="Whirlpool mask",neck="Twilight torque",
body="Assim. jubbah +1",hands="Umuthi gloves",ring1="Dark ring",ring2="Dark ring",
back="Mollusca mantle",legs="Quiahuiz trousers",feet="Luhlaza charuqs"}
--Job Ability Sets--
sets.JA = {}
sets.JA.ChainAffinity = {feet="Assim. charuqs +1"}
sets.JA.BurstAffinity = {feet="Hashishin Basmak +1"}
sets.JA.Efflux = {legs="Mavi tayt +2"}
sets.JA.AzureLore = {hands="Luh. bazubands +1"}
sets.JA.Diffusion = {feet="Luhlaza Charuqs"}
end
-- Setup vars that are user-independent.
function job_setup()
state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false
state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
state.Buff.Convergence = buffactive.Convergence or false
state.Buff.Diffusion = buffactive.Diffusion or false
state.Buff.Efflux = buffactive.Efflux or false
blue_spell_maps = {
-- Magic nukes
['Sandspin']='Magic',['Cursed Sphere']='Magic',['Blastbomb']='Magic',['Bomb Toss']='Magic',['Death Ray']='Magic',
['Ice break']='Magic',['Maelstrom']='Magic',['Firespit']='Magic',['Acrid Stream']='Magic',['Leafstorm']='Magic',
['Thermal Pulse']='Magic',['Charged whisker']='Magic',['Water Bomb']='Magic',['Dark Orb']='Magic',['Mind Blast']='Magic',
['Magic Hammer']='Magic',['Everyone\'s Grudge']='Magic',['Mysterious Light']='Magic',['Eyes On Me']='Magic',
['Blazing Bound']='Magic',['Vapor Spray']='Magic',['Gates of Hades']='Magic',['Bilgestorm']='Magic',
['Tempestuous Upheaval']='Magic',['Rending Deluge']='Magic',['Embalming Earth']='Magic',['Foul Waters']='Magic',
['Retinal Glare']='Magic',['Droning Whirlwind']='Magic',['Regurgitation']='Debuff',
-- Magical stuns
['Blitzstrahl']='MagicStun',['Temporal Shift']='MagicStun',['Thunderbolt']='MagicStun',
-- Breath spells
['Poison Breath']='Breath',['Magnetite Cloud']='Breath',['Self Destruct']='Breath',['Hecatomb Wave']='Breath',['Radiant Breath']='Breath',
['Flying Hip Press']='Breath',['Bad Breath']='Breath',['Frost Breath']='Breath',['Heat Breath']='Breath',['Final Sting']='Breath',
['Thunder Breath']='Breath',['Wind Breath']='Breath',
-- Buff spells where Blue Magic Skill matters (need verification)
['Metallic Body']='BuffSkill',['Diamondhide']='BuffSkill',['Reactor Cool']='BuffSkill',['Plasma Charge']='BuffSkill',
['Magic Barrier']='BuffSkill',['Barrier Tusk']='BuffSkill',['Orcish Counterstance']='BuffSkill',['Pyric Bulwark']='BuffSkill',
['Nature\'s Meditation']='BuffSkill',['Carcharian Verve']='BuffSkill',
-- Debuffs
['Sheep Song']='Debuff',['Blood Drain']='Debuff',['Soporific']='Debuff',['Soud Blast']='Debuff',['Chaotic Eye']='Debuff',
['Digest']='Debuff',['Blank Gaze']='Debuff',['Venom Shell']='Debuff',['MP Drainkiss']='Debuff',['Stinking Gas']='Debuff',
['Geist Wall']='Debuff',['Awful Eye']='Debuff',['Blood Saber']='Debuff',['Jettatura']='Debuff',['Frightful Roar']='Debuff',
['Filamented Hold']='Debuff',['Cold Wave']='Debuff',['Light of Penance']='Debuff',['1000 Needles']='Debuff',['Feather Tickle']='Debuff',
['Yawn']='Debuff',['Voracious Trunk']='Debuff',['Infrasonics']='Debuff',['Sandspray']='Debuff',['Corrosive Ooze']='Debuff',
['Enervation']='Debuff',['Lowing']='Debuff',['Triumphant Roar']='Debuff',['Actinic Burst']='Debuff',['Osmosis']='Debuff',
['Cimicine Discharge']='Debuff',['Demoralizing Roar']='Debuff',['Auroral Drape']='Debuff',['Dream Flower']='Debuff',
['Reaving Wind']='Debuff',['Mortal Ray']='Debuff',['Absolute Terror']='Debuff',['Blistering Roar']='Debuff',
-- Physical spells
['Foot Kick']='Physical',['Power Attack']='Physical',['Sprout Smack']='Physical',['Wild Oats']='Physical',['Queasyshroom']='Physical',
['Battle Dance']='Physical',['Bludgeon']='Physical',['Screwdriver']='Physical',['Smite of Rage']='Physical',['Pinecone Bomb']='Physical',
['Jet Stream']='Physical',['Uppercut']='Physical',['Mandibular Bite']='Physical',['Death Scissors']='Physical',
['Dimensional Death']='Physical',['Spinal Cleave']='Physical',['Frenetic Rip']='Physical',['Hydro Shot']='Physical',
['Hysteric Barrage']='Physical',['Cannonball']='Physical',['Asuran Claws']='Physical',['Disseverment']='Physical',
['Vertical Cleave']='Physical',['Goblin Rush']='Physical',['Vanity Dive']='Physical',['Benthic Typhoon']='Physical',
['Quad. Continuum']='Physical',['Empty Thrash']='Physical',['Heavy Strike']='Physical',['Grand slam']='Physical',
['Body Slam']='Physical',['Sub-zero Smash']='Physical',['Ram Charge']='Physical',['Delta Thrust']='Physical',
['Feather storm']='Physical',['Helldive']='Physical',['Spiral Spin']='Physical',['Claw Cyclone']='Physical',['Terror Touch']='Physical',
['Sickle Slash']='Physical',['Seedspray']='Physical',['Quadrastrike']='Physical',['Tourbillion']='Physical',['Amorphic Spikes']='Physical',
['Barbed Crescent']='Physical',['Bloodrake']='Physical',['Paralyzing Triad']='Physical',['Glutinous Dart']='Physical',
-- Physical stuns
['Head Butt']='PhysStun',['Sudden Lunge']='PhysStun',['Tail Slap']='PhysStun',['Frypan']='PhysStun',['Whirl of Rage']='PhysStun',
-- Cure spells, modified by blue skill,healing skill and MND
['Pollen']='BlueCure',['Healing Breeze']='BlueCure',['Wild Carrot']='BlueCure',['Magic Fruit']='BlueCure',
['Plenilune Embrace']='BlueCure',['White Wind']='BlueCure'}
-- Spells that have static effects, not modified by skill or stats
blue_no_skill_spell_list = S{'Cocoon','Harden Shell','Refueling','Zephyr Mantle','Regeneration','Animating Wail','Battery Charge',
'Occultation','Winds of Promy.','Feather Barrier','Memento mori','Saline Coat','Warm-Up','Amplification','Exuviation','Fantod'}
blue_diffusion_spell_list = S{'Cocoon','Metallic Body','Refueling','Feather Barrier','Memento Mori','Zephyr Mantle','Warm-Up','Amplification',
'Saline Coat','Reactor Cool','Exuviation','Plasma Charge','Harden Shell'}
-- Spells available only through Unbriled Learning
blue_unbridled_spell_list = S{'Harden Shell','Thunderbolt','Absolute Terror','Gates of Hades','Tourbillion','Pyric Bulwark','Bilgestorm','Bloodrake',
'Droning Whirlwind','Carcharian Verve','Blistering Roar', 'Mighty Gaurd'}
end
function midcast(spell,act)
if spell.action_type == 'Magic' then
equip(sets.precast.FC.Standard)
if spell.skill == 'Blue Magic' then
equip(sets.precast.FC.Blue)
end
end
if spell.english == 'Azure Lore' then
equip(sets.JA.AzureLore)
end
if spell.english == 'Requiescat' then
equip(sets.Requiescat[sets.Requiescat.index[Requiescat_ind]])
end
if spell.english == 'Chant du Cygne' then
equip(sets.ChantDuCygne[sets.ChantDuCygne.index[ChantDuCygne_ind]])
end
if spell.english == 'Savage Blade' then
equip(sets.SavageBlade[sets.SavageBlade.index[SavageBlade_ind]])
end
if spell.english == 'Circle Blade' then
equip(sets.WS.CircleBlade)
end
if spell.english == 'Expiacion' then
equip(sets.WS.Expiacion)
end
if spell.english == 'Vorpal Blade' then
equip(sets.WS.VorpalBlade)
end
if spell.english == 'Sanguine Blade' then
equip(sets.WS.SanguineBlade)
if spell.element == world.day_element or spell.element == world.weather_element then
equip(sets.Utility.Weather)
end
end
if spell.english == 'Box Step' then
equip(sets.Utility.Steps)
end
if spell.english == 'Realmrazer' then
equip(sets.Realmrazer[sets.Realmrazer.index[Realmrazer_ind]])
end
if spell.english == 'Flash Nova' then
equip(sets.WS.FlashNova)
if spell.element == world.day_element or spell.element == world.weather_element then
equip(sets.Utility.Weather)
end
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)
if spell.action_type == 'Magic' then
if spell.skill == 'Blue Magic' then
-- Define the Blue Magic spell type used
classes.CustomClass = blue_spell_class(spell)
--add_to_chat(122, 'Spell = '..classes.CustomClass)
else
-- Default base equipment layer is fast recast.
equip(sets.midcast.FastRecast)
end
end
end
function aftercast(spell)
if player.status == 'Engaged' then
equip(sets.TP[sets.TP.index[TP_ind]])
else
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
if spell.action_type == 'Weaponskill' then
add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
end
end
function status_change(new,old)
if new == 'Engaged' then
equip(sets.TP[sets.TP.index[TP_ind]])
else
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
end
function self_command(command)
if command == 'toggle TP set' then
TP_ind = TP_ind +1
if TP_ind > #sets.TP.index then TP_ind = 1 end
send_command('@input /echo <----- TP Set changed to '..sets.TP.index[TP_ind]..' ----->')
equip(sets.TP[sets.TP.index[TP_ind]])
elseif command == 'toggle Idle set' then
Idle_ind = Idle_ind +1
if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
send_command('@input /echo <----- Idle Set changed to '..sets.Idle.index[Idle_ind]..' ----->')
equip(sets.Idle[sets.Idle.index[Idle_ind]])
elseif command == 'toggle Req set' then
Requiescat_ind = Requiescat_ind +1
if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
send_command('@input /echo <----- Requiescat Set changed to '..sets.Requiescat.index[Requiescat_ind]..' ----->')
elseif command == 'toggle CDC set' then
ChantDuCygne_ind = ChantDuCygne_ind +1
if ChantDuCygne_ind > #sets.ChantDuCygne.index then ChantDuCygne_ind = 1 end
send_command('@input /echo <----- Chant du Cygne Set changed to '..sets.ChantDuCygne.index[ChantDuCygne_ind]..' ----->')
elseif command == 'toggle Rea set' then
Realmrazer_ind = Realmrazer_ind +1
if Realmrazer_ind > #sets.Realmrazer.index then Realmrazer_ind = 1 end
send_command('@input /echo <----- Realmrazer Set changed to '..sets.Realmrazer.index[Realmrazer_ind]..' ----->')
elseif command == 'toggle MB set' then
Burst_ind = Burst_ind +1
if Burst_ind > #sets.Burst.index then Burst_ind = 1 end
send_command('@input /echo [MB Set changed to '..sets.Burst.index[Burst_ind]..']')
elseif command == 'equip TP set' then
equip(sets.TP[sets.TP.index[TP_ind]])
elseif command == 'equip Idle set' then
equip(sets.Idle[sets.Idle.index[Idle_ind]])
end
end
Server: Odin
Game: FFXI
Posts: 943
By Odin.Calipso 2015-11-17 17:42:06
What in this is wrong that it won't equip gear on lightsday (but it will for light weather?)
Code -- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
if (spell.element == world.day_element) or (spell.element == world.weather_element) then
return 'CureWithLightWeather'
end
end
end
end
By Selindrile 2015-11-18 00:31:54
While as far as I can tell that should work... not sure why it doesn't, may as well do world.day_element == 'Light' to eliminate a variable since this is cures onry, here's what I have on whm.
Code -- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') then
if player.status == 'Engaged' then
return "CureMelee"
elseif state.Buff['Afflatus Solace'] then
if world.weather_element == 'Light' then
return 'LightWeatherCureSolace'
elseif world.day_element == 'Light' then
return 'LightDayCureSolace'
else
return "CureSolace"
end
elseif world.weather_element == 'Light' then
return 'LightWeatherCure'
elseif world.day_element == 'Light' then
return 'LightDayCure'
end
elseif spell.skill == "Enfeebling Magic" then
if spell.type == "WhiteMagic" then
return "MndEnfeebles"
else
return "IntEnfeebles"
end
end
end
end
[+]
By Selindrile 2015-11-21 14:49:04
Having a problem with Geo, gear swapping during midcast, due to pet_change, using Motenten's base, going to look into it more but thought I'd ask here in case anyone's run into this.
Update: It doesn't always happen, just sometimes, have been toying with casting impact on low level mobs, haven't seen it happen without a geo spell up, but it's not just if it dies in the middle of casting or anything, it seems to be random when casting a spell with a geo bubble out?
Link to the entirety of my Gearswaps, I've edited Mote's libs and core files heavily so I suppose it could be anything, but if someone wants something specific for me to put in <code> just lemme know.
https://www.dropbox.com/sh/20vy32liub3glxz/AAAiIVHAasFdwCK1SZdZz7d_a?dl=0
Server: Phoenix
Game: FFXI
Posts: 1245
By Phoenix.Gaiarorshack 2015-11-22 17:34:20
Just started reading the guide here
GearSwap Tutorial (v0.1)
http://www.ffxiah.com/node/145
and i didn the fist little micro example of
Code function get_sets()
sets.aftercast = {hands="Serpentes Cuffs", feet="Serpentes Sabots"}
end
funtion aftercast(spell)
equip(sets.aftercast)
end
But when i do GS reload i get the following error:
WHM.lua:5: '+' expected near 'aftercast'
Server: Phoenix
Game: FFXI
Posts: 1245
By Phoenix.Gaiarorshack 2015-11-22 17:35:31
GDI nvm me i saw my typo right as i hit submit >.<
Valefor.Omnys
Server: Valefor
Game: FFXI
Posts: 1759
By Valefor.Omnys 2015-11-23 12:59:43
Getting this error when I //gs org..
extdata.lua: 1778; attempt to index 'rettab' a nil value.
The function that this occurs in is this one:
Code function decode.Lamp(str)
local chambers = {[0x1E] = 'Rossweisse', [0x1F] = 'Grimgerde', [0x20] = 'Siegrune', [0x21] = 'Helmwige',
[0x22] = 'Schwertleite', [0x23] = 'Waltraute', [0x24] = 'Ortlinde', [0x25] = 'Gerhilde', [0x26] = 'Brunhilde',
[0x27] = 'Odin'}
local statuses = {[0] = 'Uninitialized', [1] = 'Active', [2] = 'Active', [3] = 'Spent'}
local rettab = {type='Lamp',
chamber = chambers[str:unpack('H')] or 'unknown',
exit_time = str:unpack('I',9),
entry_time = str:unpack('I',13),
zone_id = str:unpack('H',17),
status_id = str:byte(3)%4,
status = statuses[rettab.status_id], -- <- 1778
_unknown1 = str:unpack('i',5)
}
if res.zones[rettab.zone_id] then
rettab.zone = res.zones[rettab.zone_id].english
else
rettab.zone = 'unknown'
end
return rettab
end
It has been working fine, and gearswap itself seems to still work fine but //gs org fails.
Even with debug_mode on, the log file only says
2015-11-23 12:57:01| Organizer [MSG] Starting...
Thinking that it could somehow be something with my lua, I made a very simple lua to test it and get the same error.
Code include('organizer-lib')
function get_sets()
organizer_items={i0="aegis",i1="ochain"}
sets.cast={"aegis"}
end
Lakshmi.Byrth
VIP
Server: Lakshmi
Game: FFXI
Posts: 6204
By Lakshmi.Byrth 2015-11-23 13:03:21
Do you have an Einherjar lamp somewhere in your inventories?
The problem is on line 12 of the code you posted. It should be str:byte(3)%4 instead of rettab.status_id
[+]
Valefor.Omnys
Server: Valefor
Game: FFXI
Posts: 1759
By Valefor.Omnys 2015-11-23 13:10:31
Haha yes, yes I did, was a dead glowing lamp.
Thanks!
Premium
Server: Bahamut
Game: FFXI
Posts: 22
By Bahamut.Lulukitty 2015-11-23 19:45:44
Okay I'm sure this has been asked already and I apologize but I for the life of me can not figure it out.
I had separate job files for spellcast for each character and they were named <character>_<job>. I can't figure out how to get gear swap to load these individual files other than just manually loading them. If anyone could assist I would greatly appreciate it. Thank you!
By Dunigs 2015-11-23 21:08:31
Bahamut.Lulukitty said: »Okay I'm sure this has been asked already and I apologize but I for the life of me can not figure it out.
I had separate job files for spellcast for each character and they were named <character>_<job>. I can't figure out how to get gear swap to load these individual files other than just manually loading them. If anyone could assist I would greatly appreciate it. Thank you!
It's the same format. Files belong under /addons/GearSwap/data.
Could use Lulukitty_WHM, or make a subfolder for each character name and just use job abbreviation.
By Lulukitty 2015-11-23 21:18:16
Bahamut.Lulukitty said: »Okay I'm sure this has been asked already and I apologize but I for the life of me can not figure it out.
I had separate job files for spellcast for each character and they were named <character>_<job>. I can't figure out how to get gear swap to load these individual files other than just manually loading them. If anyone could assist I would greatly appreciate it. Thank you!
It's the same format. Files belong under /addons/GearSwap/data.
Could use Lulukitty_WHM, or make a subfolder for each character name and just use job abbreviation.
Doing a separate folder allowed them to load. That fixed the issue! Thank you very much!
Phoenix.Carousel
Server: Phoenix
Game: FFXI
Posts: 1
By Phoenix.Carousel 2015-11-24 23:24:21
Hi having some issues with Drain III. For whatever reason my gearswap just seems to ignore the spell. looked around a few forums and saw people having an issue with it awhile back, but no update on how they fixed it or of I am missing something.
Edit: got it working using:
Code function job_midcast(spell, action, spellMap, eventArgs)
if spell.name == 'Drain III' then
equip(sets.midcast.Drain)
end
end
By orphenPUP 2015-11-25 01:15:15
Thank you to those that sent private messaged for my first post. I was able to figure some code out for my prior post. Im still needing a little more assistance now.
This is in regards to Puppetmaster, I am working with Motes preset PUP file and adjust some things for the way I intend to play.
What I am struggling with now, is Im trying to make a variable to adjust the set that is equipped based on said variable. I have gotten it to work with a different set (my Cure Enmity set), but I cannot seem to expand it.
I want to have a variable I switch to "Resist", so that when my automaton casts Elemental Magic it will use a Magic Accuracy set instead of its MAB Set.
I tried using the same format/rules as my Cure Enmity but it doesnt seem to function.
Elemental Resist
Cure Enmity file
Once again any help would be great.
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.
|
|