/Chaotics-Gearswap

My Gearswap files based off others.

Primary LanguageLua

Chaotics-Gearswap

My Gearswap files based off others. This makes use of my modified Motes Library that can be found at https://github.com/Chaotic/Mote-libs

I'm not going to be reincluding those files here however. These were also based of Kayrah's Gearswap files. I've included the Kay-Include file but it isn't used (I've copied the functions and changed them to Chaotic-include) The Basis for the HUD came from https://github.com/Tunaliz/Liz_Gearswap_DEV

Changes from the offical Motes

  • Support for Level syncing.
  • Support for the Elemental Grips

Other interesting functions

Some of these were copied from Kay-include or other files

  • Era speficic functions (These are located in the Era-Utilities.lua file)

  • Better Summon Pact handling (From Kay's include)

  • Automatic elemental selection for Elemental siphon (will select the best one cast siphon and release then recast if you had an avatar out.)

  • Automatic selection of the best Helix spell (Based off the Siphon code)

  • Ability to set a crafting mode to automatically equip your crafting gear.

  • Better Scholar handling (1 command for both light/dark arts)

How Level Sync support works

This requires some explaining.

First you need to set a state variable in the user_setup of the job file like this

state.LevelCap:options('Normal','30','40','50')

For instance this will allow you to set gear sets for 30, 40, 50, and uncapped.

The gear sets themselves should look something like this

sets.idle['30'] = { main="Elm Staff +1", sub="Lizard Strap", head="Seer's Crown +1", body="Seer's Tunic +1", hands="Seer's Mitts +1", legs="Seer's Slacks +1", feet="Seer's Pumps +1", neck="Justice Badge", left_ear="Morion Earring", right_ear="Morion Earring", left_ring="Warp Ring", right_ring="Eremite's Ring", }

Then you need to add code to the

function job_buff_change(buff, gain)

To handle the following buffs

buff == 'Level Restriction' or buff == 'Level Sync' or buff == 'Battlefield'

(I have a function called handle_standard_buffs in chaotic-include that handles these and calls handle_level_sync)

I've left the handle_level_sync function in the individual job files so each job can decide which level sets they want.

The handle_level_sync should look like this

function handle_level_sync(gain) if gain then if player.main_job_level>59 then send_command('gs c set LevelCap Normal') elseif player.main_job_level>49 then send_command('gs c set LevelCap 50') elseif player.main_job_level>39 then send_command('gs c set LevelCap 40') elseif player.main_job_level>29 then send_command('gs c set LevelCap 30') end else send_command('gs c set LevelCap Normal') end end

There is one final function to look at check_buffs_on_load in chaotic-include. This function checks the buffs that are active for if you reload your gearswap or sign in already under the effects of level sync (It kept coming up when I was testing ;-) )