Can Someone Teach Me To Gearswap On Geo |
||
|
Can someone teach me to gearswap on geo
I'm pushing around 700 skill right now with no jps I have most artifact relic and enpy gear. I'm looking for someone to teach me how to use gearswap if on Asura I would gladly pay you. Pretty much what I want in it is a indiset, geo set, Macc/mab, set and damage taken set. I just have know knowledge of how gearswap works or how to make it ect any help would be appreciated
Here's somewhere to start.
Code function get_sets()
mote_include_version = 2
include('organizer-lib')
include('Mote-Include.lua')
end
function job_setup()
indi_timer = ''
indi_duration = 324
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
state.MagicBurst = M(false, 'Magic Burst')
gear.default.weaponskill_waist = "Fotia Belt"
select_default_macro_book()
custom_timers = {}
end
-------------------------------------------------------------------------------
function init_gear_sets()
--------------------------[Job Ability sets]------------------------------
sets.precast.JA.Bolster = {body="Bagua Tunic +1"}
sets.precast.JA['Life Cycle'] = {body="Geomancy Tunic +1"}
sets.precast.JA['Full Circle'] = {head="Azimuth hood +1",hands="Bagua Mitaines +1"}
sets.precast.JA['Radial Arcana'] = {feet="Bagua sandals +1"}
--------------------------[Fast Cast sets]------------------------------
sets.precast.FC = {main="Solstice",sub="Genmei shield",range=empty,ammo="Sapience orb",
head=gear.FC_head,neck="Voltsurge torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Anhur Robe",hands="Helios gloves",ring1="Prolix Ring",ring2="Weatherspoon Ring",
back="Lifestream Cape",waist="Witful Belt",legs="Geomancy Pants +1",feet=gear.MB_feet }
sets.precast.FC.Stun = {main="Solstice",sub="Genmei shield",range=empty,ammo="Sapience orb",
head=gear.FC_head,neck="Voltsurge torque",ear1="Enchanter earring +1",ear2="Loquacious earring",
body="Shango Robe",hands="Helios gloves",ring1="Prolix Ring",ring2="Weatherspoon Ring",
back="Lifestream Cape",waist="Witful Belt",legs="Geomancy pants +1",feet=gear.MB_feet }
sets.precast.FC.Cure = set_combine(sets.precast.FC, {main="Tamaxchi",sub="Genbu's shield",
body="Heka's Kalasiris",
back="Pahtli Cape",legs="Doyen pants",feet="Vanya clogs"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {ear2="Barkarole earring",
hands="Bagua Mitaines +1"})
--------------------------[Weaponskill sets]------------------------------
sets.precast.WS = {
head="Befouled crown",neck="Fotia gorget",ear1="Zennaroi Earring",ear2="Brutal Earring",
body="Onca Suit",hands=empty,ring1="Rajas Ring",ring2="Petrov Ring",
back="Refraction cape",waist="Fotia Belt",legs=empty,feet=empty }
sets.precast.WS['Flash Nova'] = {range=empty,ammo="Dosis Tathlum",
head=gear.nuke_head,neck="Fotia gorget",ear1="Friomisi Earring",ear2="Moonshade Earring",
body="Amalric doublet",hands="Helios gloves",ring1="Shiva Ring +1",ring2="Weatherspoon Ring",
back="Toro Cape",waist="Fotia Belt",legs=gear.MB_legs,feet=gear.nuke_feet }
sets.precast.WS['Starlight'] = {ear2="Moonshade Earring"}
sets.precast.WS['Moonlight'] = {ear2="Moonshade Earring"}
--------------------------[Midcast sets]------------------------------
sets.midcast.FastRecast = {main="Solstice",sub="Genmei shield",range=empty,ammo="Sapience orb",
head=gear.FC_head,neck="Voltsurge torque",ear1="loquacious earring",ear2="Enchanter earring +1",
body="Shango robe",hands="Helios gloves",ring1="Prolix ring",ring2="Weatherspoon ring",
back="Swith cape +1",waist="Ninurta's sash",legs="Geomancy Pants +1",feet=gear.nuke_feet }
sets.midcast.Stun = {main="Solstice",sub="Genmei shield",range=empty,ammo="Sapience orb",
head=gear.FC_head,neck="Voltsurge torque",ear1="Enchanter earring +1",ear2="Loquacious earring",
body="Shango Robe",hands="Helios gloves",ring1="Prolix Ring",ring2="Weatherspoon Ring",
back="Lifestream Cape",waist="Witful Belt",legs="Geomancy pants +1",feet=gear.MB_feet }
--------------------------[Geomancy sets]------------------------------
sets.midcast.Geomancy = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Azimuth hood +1",neck="Incanter's Torque",ear1="Gifted Earring",ear2="Calamitous earring",
body="Azimuth Coat +1",hands="Geomancy mitaines +1",
back="Lifestream Cape",waist="Pythia sash +1",legs="Azimuth tights +1",feet="Azimuth gaiters +1"}
sets.midcast.Geomancy.Indi = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Azimuth Hood +1",neck="Incanter's torque",ear1="Gifted Earring",ear2="Calamitous earring",
body="Azimuth Coat +1",hands="Geomancy mitaines +1",
back="Lifestream Cape",waist="Pythia sash +1",legs="Bagua pants +1",feet="Azimuth gaiters +1"}
--------------------------[Some White Magic sets]------------------------------
sets.midcast.Cure = {main="Tamaxchi",sub="Genmei shield",
head="Telchine cap",neck="Incanter's torque",ear1="Gifted earring",ear2="Beatific earring",
body="Heka's kalasiris",hands="Telchine gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
back="Swith Cape +1",waist="Pythia sash +1",legs="Geomancy Pants +1",feet="Vanya clogs"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast['Enhancing Magic'] = {
head="Telchine Cap",neck="Incanter's Torque",ear1="Andoaa earring",
body="Telchine Chas.",hands="Telchine gloves",
back="Fi follet cape",waist="Olympus Sash",legs="Telchine Braconi",feet="Telchine Pigaches"}
sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {main="Bolelabunga",sub="Genmei shield"})
sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'],
{ammo="Sapience orb",
neck="Voltsurge torque",ear1="Enchanter earring +1",ear2="Loquacious earring",
ring1="Prolix ring",
back="Swith cape +1",waist="Ninurta's sash"})
sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'],{head="Amalric coif"})
sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'],
{head="Amalric coif",
waist="Emphatikos Rope"})
sets.midcast.Protectra = {ring1="Sheltered Ring"}
sets.midcast.Shellra = {ring1="Sheltered Ring"}
--------------------------[Black Magic sets & Magic burst set]------------------------------
sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Genmei shield",range=empty,ammo="Pemphredo tathlum",
head="Bagua galero +1",neck="Incanter's Torque",ear1="Barkarole Earring",ear2="Gwati Earring",
body="Shango robe",hands="Amalric gages",ring1="Evanescence Ring",ring2="Archon Ring",
back="Perimede Cape",waist="Fucho-no-obi",legs="Azimuth tights +1",feet=gear.DA_feet }
sets.midcast['Drain'] = set_combine(sets.midcast['Dark Magic'], {head="Pixie Hairpin +1", legs=gear.DA_legs })
sets.midcast['Aspir'] = sets.midcast['Drain']
sets.midcast['Enfeebling Magic'] = {main="Solstice",sub="Genmei shield", ammo="Pemphredo tathlum",
head=gear.nuke_head, neck="Incanter's torque", ear1="Gwati earring", ear2="Enchanter earring +1",
body="Shango Robe", hands="Helios gloves", ring1="Weatherspoon Ring", ring2="Sangoma Ring",
back="Lifestream cape", waist="Rumination sash", legs="Psycloth lappas", feet="Bagua sandals +1" }
sets.midcast['Elemental Magic'] = {main="Solstice",sub="Genmei shield",range=empty,ammo="Pemphredo tathlum",
head=gear.nuke_head,neck="Saevus pendant +1",ear1="Barkarole Earring",ear2="Friomisi Earring",
body=gear.nuke_body,hands="Amalric gages",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
back="Toro Cape",waist="Refoccilation Stone",legs=gear.nuke_legs,feet=gear.nuke_feet }
sets.midcast['Elemental Magic'].Resistant = {main="Solstice",sub="Genmei shield",range=empty,ammo="Pemphredo tathlum",
head=gear.nuke_head,neck="Sanctity Necklace",ear1="Barkarole Earring",ear2="Friomisi Earring",
body=gear.nuke_body,hands="Amalric gages",ring1="Weatherspoon Ring",ring2="Shiva Ring +1",
back="Toro Cape",waist="Eschan Stone",legs=gear.nuke_legs,feet=gear.nuke_feet }
sets.midcast.Impact = {main="Solstice",sub="Genmei shield",range=empty,ammo="Pemphredo Tathlum",
head=empty,neck="Sanctity necklace",ear1="Barkarole Earring",ear2="Gwati Earring",
body="Twilight Cloak",hands="Amalric gages",ring1="Shiva Ring +1",ring2="Archon Ring",
back="Toro cape",waist="Eschan Stone",legs=gear.nuke_legs,feet=gear.nuke_feet }
sets.magic_burst = {main="Solstice", sub="Genmei shield",
head=gear.MB_head,neck="Mizukage-no-Kubikazari",
hands="Amalric gages", ring1="Mujin Band",
back="Seshaw cape",legs=gear.MB_legs,feet=gear.MB_feet }
--------------------------[Idle sets]------------------------------
sets.resting = {main="Bolelabunga",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled Crown",neck="Loricate Torque",ear1="Sanare Earring",ear2="Infused Earring",
body="Geomancy tunic +1",hands="Bagua Mitaines +1",ring1="Shneddick Ring",ring2="Defending Ring",
back="Solemnity Cape",waist="Witful Belt",legs="Assiduity Pants +1",feet="Azimuth gaiters +1"}
sets.idle = {main="Bolelabunga",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled Crown",neck="Sanctity Necklace",ear1="Sanare Earring",ear2="Genmei Earring",
body="Geomancy tunic +1",hands="Bagua Mitaines +1",ring1="Defending Ring",ring2=gear.DarkRing.PDT,
back="Solemnity Cape",waist="Slipor sash",legs="Assiduity Pants +1",feet="Azimuth gaiters +1"}
sets.idle.PDT = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled crown",neck="Loricate Torque",ear1="Sanare Earring",ear2="Genmei Earring",
body="Vrikodara jupon",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2=gear.DarkRing.PDT,
back="Solemnity Cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Azimuth gaiters +1"}
sets.idle.Town = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Azimuth Hood +1",neck="Loricate Torque",ear1="Sanare Earring",ear2="Infused Earring",
body="Azimuth coat +1",hands="Bagua Mitaines +1",ring1=gear.DarkRing.PDT,ring2="Defending Ring",
back="Solemnity Cape",waist="Slipor Sash",legs="Assiduity Pants +1",feet="Herald's gaiters"}
sets.idle.Weak = {main="Bolelabunga",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled crown",neck="Loricate Torque",ear1="Sanare Earring",ear2="Genmei Earring",
body="Vrikodara jupon",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2=gear.DarkRing.PDT,
back="Solemnity cape",waist="Slipor sash",legs="Doyen Pants",feet="Azimuth gaiters +1"}
-------------------------[When Luopan is present]-----------------------------------
sets.idle.Pet = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Azimuth Hood +1",neck="Loricate Torque",ear1="Handler's Earring",ear2="Handler's Earring +1",
body="Amalric doublet",hands="Geomancy Mitaines +1",ring1="Defending Ring",ring2=gear.DarkRing.PDT,
back="Lifestream cape",waist="Isa Belt",legs="Assiduity Pants +1",feet="Bagua Sandals +1"}
sets.idle.PDT.Pet = set_combine(sets.idle.Pet,
{body="Vrikodara jupon",
legs="Psycloth lappas"})
--------------------------[When Indicolure spell is active]------------------------------
sets.idle.Indi = set_combine(sets.idle, {neck="Loricate torque"})
sets.idle.Pet.Indi = set_combine(sets.idle.Pet, {})
sets.idle.PDT.Indi = set_combine(sets.idle.PDT, {})
sets.idle.PDT.Pet.Indi = set_combine(sets.idle.PDT.Pet, {feet="Azimuth gaiters +1"})
--------------------------[Defense Sets]------------------------------
sets.defense.PDT = {main="Mafic Cudgel",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled crown",neck="Loricate Torque",ear1="Sanare Earring",ear2="Genmei Earring",
body="Onca Suit",hands=empty,ring1="Defending Ring",ring2=gear.DarkRing.PDT,
back="Solemnity cape",waist="Slipor Sash",legs=empty,feet=empty }
sets.defense.MDT = {main="Bolelabunga",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled crown",neck="Loricate Torque",ear1="Sanare Earring",ear2="Zennaroi Earring",
body="Onca Suit",hands=empty,ring1="Defending Ring",ring2="Archon Ring",
back="Solemnity cape",waist="Slipor Sash",legs=empty,feet=empty }
--------------------------[Misc. sets]------------------------------
sets.Kiting = {feet="Herald's gaiters"}
sets.latent_refresh = {waist="Fucho-no-obi"}
--------------------------[Engaged set(s)]------------------------------
sets.engaged = {main="Solstice",sub="Genmei shield",range="Dunna",ammo=empty,
head="Befouled crown",neck="Lissome necklace",ear1="Zennaroi Earring",ear2="Brutal Earring",
body="Onca Suit",hands=empty,ring1="Defending Ring",ring2="Rajas Ring",
back="Solemnity Cape",waist="Eschan Stone",legs=empty,feet=empty }
end
--------------------------[Job functions]------------------------------
--------------------------[Standard events]------------------------------
function job_precast(spell, action, spellMap, eventArgs)
if spell.english == "Impact" then
equip(set_combine(sets.precast.FC,{head=empty,body="Twilight Cloak"}))
end
end
function job_post_midcast(spell, action, spellMap, eventArts)
if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
equip(sets.magic_burst)
end
end
function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if spell.english:startswith('Indi') then
if not classes.CustomIdleGroups:contains('Indi') then
classes.CustomIdleGroups:append('Indi')
end
send_command('@timers d "'..indi_timer..'"')
indi_timer = spell.english
send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
elseif spell.skill == 'Enhancing Magic' then
--adjust_timers(spell, spellMap)
elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
end
if spell.skill == 'Elemental Magic' then
---state.MagicBurst:reset()
end
elseif not player.indi then
classes.CustomIdleGroups:clear()
end
end
function job_buff_change(buff, gain)
if player.indi and not classes.CustomIdleGroups:contains('Indi')then
classes.CustomIdleGroups:append('Indi')
handle_equipping_gear(player.status)
elseif classes.CustomIdleGroups:contains('Indi') and not player.indi then
classes.CustomIdleGroups:clear()
handle_equipping_gear(player.status)
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
disable('main','sub','range','ammo')
else
enable('main','sub','range','ammo')
end
end
end
--------------------------[Maps Indi- spells and enfeebles]------------------------------
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if spell.skill == 'Enfeebling Magic' then
if spell.type == 'WhiteMagic' then
return 'MndEnfeebles'
else
return 'IntEnfeebles'
end
elseif spell.skill == 'Geomancy' then
if spell.english:startswith('Indi') then
return 'Indi'
end
end
end
end
-----------------------------------------------------------------------------------
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
function job_update(cmdParams, eventArgs)
classes.CustomIdleGroups:clear()
if player.indi then
classes.CustomIdleGroups:append('Indi')
end
end
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------
function select_default_macro_book()
set_macro_page(1, 6)
end
--------------------------[Custom Buff timers]**deprecated as timers accounts for this now**------------------------------
--[[function adjust_timers(spell, spellMap)
local current_time = os.time()
local temp_timer_list = {}
local dur = calculate_duration(spell, spellName, spellMap)
custom_timers[spell.name] = nil
send_command('timers delete "'..spell.name..' ['..spell.target.name..']"')
custom_timers[spell.name] = current_time + dur
send_command('timers create "'..spell.name..' ['..spell.target.name..']" '..dur..' down')
end
function calculate_duration(spell, spellName, spellMap)
local mult = 1.00
if player.equipment.Head == 'Telchine Cap' then mult = mult + 0.09 end
if player.equipment.Body == 'Telchine Chas.' then mult = mult + 0.09 end
if player.equipment.Hands == 'Telchine Gloves' then mult = mult + 0.09 end
if player.equipment.Legs == 'Telchine Braconi' then mult = mult + 0.09 end
if player.equipment.Feet == 'Telchine Pigaches' then mult = mult + 0.08 end
if player.equipment.Feet == 'Estq. Houseaux +2' then mult = mult + 0.20 end
if player.equipment.Legs == 'Futhark Trousers' then mult = mult + 0.10 end
if player.equipment.Legs == 'Futhark Trousers +1' then mult = mult + 0.20 end
if player.equipment.Hands == 'Atrophy Gloves' then mult = mult + 0.15 end
if player.equipment.Hands == 'Atrophy Gloves +1' then mult = mult + 0.16 end
if player.equipment.Back == 'Estoqueur\'s Cape' then mult = mult + 0.10 end
if player.equipment.Hands == 'Dynasty Mitts' then mult = mult + 0.05 end
if player.equipment.Body == 'Shabti Cuirass' then mult = mult + 0.09 end
if player.equipment.Body == 'Shabti Cuirass +1' then mult = mult + 0.10 end
if player.equipment.Feet == 'Leth. Houseaux' then mult = mult + 0.25 end
if player.equipment.Feet == 'Leth. Houseaux +1' then mult = mult + 0.30 end
if player.equipment.Head == 'Erilaz Galea' then mult = mult + 0.10 end
if player.equipment.Head == 'Erilaz Galea +1' then mult = mult + 0.15 end
local base = 0
if spell.name == 'Haste' then base = base + 180 end
if spell.name == 'Stoneskin' then base = base + 300 end
if spell.name:startswith("Bar") then base = base + 480 end
if spell.name == 'Blink' then base = base + 300 end
if spell.name == 'Aquaveil' then base = base + 600 end
if string.find(spell.english,'storm') then base = base + 180 end
if spell.name == 'Auspice' then base = base + 180 end
if spell.name:startswith("Boost") then base = base + 300 end
if spell.name == 'Phalanx' then base = base + 180 end
if spell.name:startswith("Protect") then base = base + 1800 end
if spell.name:startswith("Shell") then base = base + 1800 end
if spell.name:startswith("Refresh") then base = base + 150 end
if spell.name:startswith("Regen") then
base = base + 60
if buffactive['Light arts'] and player.main_job == 'SCH' then
base = base*2+60
-----the *2 here is the additional 60sec from Light Arts job points maxed
-----+48 is from light arts, +12 more from telchine chas.
elseif player.main_job == 'WHM' then
base = base + 60
if player.equipment.Hands == 'Ebers Mitts' then
base = base + 20
elseif player.equipment.Hands == 'Ebers Mitts +1' then
base = base + 22
end
if player.equipment.Legs == 'Theo. Pantaloons' or player.equipment.Legs == 'Theo. Pant. +1' then
base = base + 18
end
end
end
if spell.name == 'Adloquium' then base = base + 180 end
if spell.name:startswith("Animus") then base = base + 180 end
if spell.name == 'Crusade' then base = base + 300 end
if spell.name == 'Embrava' then base = base + 90 end
if spell.name:startswith("En") then base = base + 180 end
if spell.name:startswith("Flurry") then base = base + 180 end
if spell.name == 'Foil' then base = base + 30 end
if spell.name:startswith("Gain") then base = base + 180 end
if spell.name == 'Reprisal' then base = base + 60 end
if spell.name:startswith("Temper") then base = base + 180 end
if string.find(spell.english,'Spikes') then base = base + 180 end
if buffactive['Perpetuance'] then
if player.equipment.Hands == 'Arbatel Bracers' then
mult = mult*2.5
elseif player.equipment.Hands == 'Arbatel Bracers +1' then
mult = mult*2.55
else
mult = mult*2
end
end
if buffactive['Composure'] then
if spell.target.type == 'SELF' then
mult = mult*3
else
mult = mult
end
end
local totalDuration = math.floor(mult*base)
--print(totalDuration)
return totalDuration
end
function reset_timers()
for i,v in pairs(custom_timers) do
send_command('timers delete "'..i..'"')
end
custom_timers = {}
end]]
I'll go out on a limb and assume you're somewhat intelligent, so you should be able to figure out a lot from the formatting. This uses Mote's includes, which you can find here. They go in Windower4\addons\GearSwap\libs. Copy pasta the code above into Notepad or whatever, and save it as GEO.lua (or YourCharacterName_GEO.lua) into Windower4\addons\GearSwap\data. Any questions post here or PM me. I'm sure there are others more qualified to help but I'll do what I can. Good luck. |
||
|
All FFXI content and images © 2002-2025 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|
||