Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Written 01/15/2015 by Quixacotl. Credit to Motenten for some elements used here.
- You have several options to choose from for switching Modes: Hotkeys, Cycle and Shortcuts.
- HotKeys:
- F9 - Cycles through 5 different mode groups: Town, DD, Accuracy, Physical Defense, and Magic Defense.
- F10 - Turns on PDT mode.
- F11 - Turns on MDT mode.
- F12 - Toggles Repulse Mantle on/off.
- Delete = Hitting the delete button Resets everything back to default.
- Custom Commands:
- //gs c cycle in chatlog or /console gs c cycle for macros.
- Useage: Cycles through 5 different mode groups:
- Town, DD, DD Accuracy, Physical Defense, and Magic Defense.
- Shortcut Commands (allows you to jump straight to any mode):
- //gs c town
- //gs c dd
- //gs c acc
- //gs c pdt
- //gs c mdt
- Gearswap Commands you should know:
- //lua load gearswap
- //lua unload gearswap
- //gs reload - (useful when editing these scripts while in-game)
- --]]
- send_command('bind f9 gs c cycle')
- send_command('bind f10 gs c pdt')
- send_command('bind f11 gs c mdt')
- send_command('bind f12 gs c repulse')
- send_command('bind delete gs reload')
- -- Called when this job file is unloaded (eg: job change)
- function user_unload()
- send_command('unbind f9')
- send_command('unbind f10')
- send_command('unbind f11')
- send_command('unbind f12')
- send_command('unbind delete')
- end
- function get_sets()
- ----------------------------------------------------------------
- -- Gear that needs to be equipped for the duration of a buff. --
- ----------------------------------------------------------------
- sets.buff = {}
- sets.buff['Swordplay'] = {hands="Futhark Mitons +1"}
- --------------------------------------------
- -- City areas for town gear and behavior. --
- --------------------------------------------
- areas = {}
- areas.Cities = S{
- "Eastern Adoulin", "Western Adoulin",
- "Ru'Lude Gardens", "Upper Jeuno", "Lower Jeuno", "Port Jeuno",
- "Port Windurst", "Windurst Waters", "Windurst Woods",
- "Windurst Walls", "Heavens Tower",
- "Port San d'Oria", "Northern San d'Oria", "Southern San d'Oria",
- "Port Bastok", "Bastok Markets",
- "Bastok Mines", "Metalworks",
- "Aht Urhgan Whitegate", "Tavanazian Safehold",
- "Nashmau", "Selbina",
- "Mhaura", "Norg", "Kazham"}
- ----------------------
- -- Weaponskill sets --
- ----------------------
- sets.WS ={ammo="Potestas Bomblet",
- head="Highwing Helm", neck="Asperity Necklace",
- ear1="Brutal Earring", ear2="Moonshade Earring",
- body="Dread Jupon", hands="Nomkah. Mittens +1",
- ring1="Ifrit Ring +1", ring2="Epona's Ring",
- back="Buquwik Cape", waist="Caudata Belt",
- legs="Quiahuiz Trousers", feet="Qaaxo Leggings"}
- sets.WS['Dimidiation'] = set_combine(sets.WS,{
- ammo="Potestas Bomblet",
- head="Highwing Helm", neck="Light Gorget",
- ear1="Brutal Earring", ear2="Moonshade Earring",
- body="Dread Jupon", hands="Nomkah. Mittens +1",
- ring1="Ramuh Ring +1", ring2="Epona's Ring",
- back="Vespid Mantle", waist="Windbuffet Belt +1",
- legs="Quiahuiz Trousers", feet="Qaaxo Leggings"})
- sets.WS['Resolution'] = set_combine(sets.WS,{
- ammo="Potestas Bomblet",
- head="Highwing Helm", neck="Thunder Gorget",
- ear1="Brutal Earring", ear2="Moonshade Earring",
- body="Dread Jupon", hands="Nomkah. Mittens +1",
- ring1="Ifrit Ring +1", ring2="Epona's Ring",
- back="Buquwik Cape", waist="Thunder Belt",
- legs="Quiahuiz Trousers", feet="Qaaxo Leggings"})
- sets.WS['Requiescat'] = set_combine(sets.WS,{
- neck="Soil Gorget"})
- sets.WS['Vorpal Blade'] = set_combine(sets.WS, {
- neck="Soil Gorget"})
- sets.Enmity = {neck="Invidia Torque",
- ear1="Pluto's Pearl", ear2="Friomisi Earring",
- hands="Futhark Mitons +1",
- ring1="Odium Ring", ring2="Vexer Ring +1",
- back="Fravashi Mantle"}
- ------------------
- -- Precast Sets --
- ------------------
- sets.precast = {}
- sets.precast.FastCast = {ammo="Impatiens",
- head="Rune. Bandeau +1", neck="Twilight Torque",
- ear1="Loquac. Earring",
- body="Dread Jupon", hands="Thaumas Gloves",
- ring1="Defending Ring", ring1="Prolix Ring",
- back="Mollusca Mantle", waist="Goading Belt",
- legs="Orvail Pants +1", feet="Chelona Boots"}
- sets.precast.Waltz = {}
- sets.precast.Step = {ear1="Choreia Earring"}
- ------------------
- -- Midcast Sets --
- ------------------
- sets.midcast = {}
- sets.midcast.FastRecast = {ammo="Impatiens",
- head="Rune. Bandeau +1", neck="Twilight Torque",
- ear1="Loquac. Earring",
- body="Vanir Cotehardie", hands="Thaumas Gloves",
- ring1="Defending Ring", ring1="Prolix Ring",
- back="Mollusca Mantle", waist="Goading Belt",
- legs="Orvail Pants +1", feet="Chelona Boots"}
- sets.midcast['Enhancing Magic'] = set_combine(sets.midcast.FastRecast, {
- head="Rune. Bandeau +1", neck="Twilight Torque",
- body="Futhark Coat +1", hands="Runeist Mitons +1",
- back="Mollusca Mantle", waist="Siegel Sash",
- legs="Futhark Trousers +1"})
- sets.midcast['Divine Magic'] = set_combine(sets.midcast.FastRecast, {
- legs="Rune. Trousers +1"})
- sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
- head="Rune. Bandeau +1", neck="Twilight Torque",
- body="Futhark Coat +1", hands="Runeist Mitons +1",
- back="Mollusca Mantle", legs="Futhark Trousers +1"})
- sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'], {
- head="Rune. Bandeau +1", neck="Twilight Torque",
- body="Futhark Coat +1", hands="Runeist Mitons +1",
- back="Mollusca Mantle", legs="Futhark Trousers +1"})
- --------------------
- -- AfterCast Sets --
- --------------------
- -----------------
- -- Status Sets --
- -----------------
- sets.Resting = {neck="Wiglen Gorget",
- ear1="Ethereal Earring", ear2="Phawaylla Earring",
- ring1="Sheltered Ring", ring2="Paguroidea Ring",
- body="Runeist Coat +1", feet="Chelona Boots"}
- ---------------
- -- Idle Sets --
- ---------------
- Idle_Set_Names = {"Town","DD","DD Accuracy","Physical Defense","Magic Defense"}
- sets.Idle = {ammo="Vanir Battery",
- head=empty, neck="Wiglen Gorget",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Respite Cloak", hands="Futhark Mitons +1",
- ring1="Sheltered Ring", ring2="Paguroidea Ring",
- back="Evasionist's Cape", waist="Windbuffet Belt +1",
- legs="Crimson Cuisses", feet="Futhark Boots +1"}
- sets.Idle.Town = {main="Epeolatry",
- sub="Bloodrain Strap", ammo="Vanir Battery",
- head=empty, neck="Wiglen Gorget",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Respite Cloak", hands="Futhark Mitons +1",
- ring1="Sheltered Ring", ring2="Paguroidea Ring",
- back="Evasionist's Cape", waist="Windbuffet Belt +1",
- legs="Crimson Cuisses", feet="Futhark Boots +1"}
- sets.Idle.DD = {ammo="Vanir Battery",
- head=empty, neck="Wiglen Gorget",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Respite Cloak", hands="Buremte Gloves",
- ring1="Sheltered Ring", ring2="Paguroidea Ring",
- back="Atheling Mantle", waist="Windbuffet Belt +1",
- legs="Crimson Cuisses", feet="Futhark Boots +1"}
- sets.Idle['DD Accuracy'] = {ammo="Vanir Battery",
- head=empty, neck="Wiglen Gorget",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Respite Cloak", hands="Buremte Gloves",
- ring1="Sheltered Ring", ring2="Paguroidea Ring",
- back="Atheling Mantle", waist="Hurch'lan Sash",
- legs="Crimson Cuisses", feet="Futhark Boots +1"}
- sets.Idle['Physical Defense'] = {
- ammo="Vanir Battery", head="Fu. Bandeau +1",
- ear1="Ethereal Earring", ear2="Hibern. Earring",
- neck="Twilight Torque",
- body="Futhark Coat +1", hands="Umuthi Gloves",
- ring1="Defending Ring", ring2="Vocane Ring",
- back="Shadow Mantle", waist="Flume Belt +1",
- legs="Rune. Trousers +1", feet="Futhark Boots +1"}
- -- ShellV, Defending Ring and Mollusca is enough to cap MDT for Rune Fencer. --
- sets.Idle['Magic Defense'] = {
- ammo="Vanir Battery", head="Fu. Bandeau +1",
- ear1="Ethereal Earring", ear2="Hearty Earring",
- neck="Twilight Torque",
- body="Futhark Coat +1", hands="Umuthi Gloves",
- ring1="Defending Ring", ring2="Vocane Ring",
- back="Engulfer Cape +1", waist="Hurch'lan Sash",
- legs="Rune. Trousers +1", feet="Futhark Boots +1"}
- ------------------
- -- Engaged Sets --
- ------------------
- TP_Set_Names = {"Town","DD","DD Accuracy","Physical Defense","Magic Defense"}
- sets.TP = {}
- sets.TP.Town = set_combine(sets.Idle.Town, {
- head="Whirlpool Mask", neck="Asperity Necklace",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Qaaxo Harness",
- ring1="Rajas Ring", ring2="Epona's Ring",
- back="Evasionist's Cape", waist="Windbuffet Belt +1",
- legs="Qaaxo Tights"})
- sets.TP.DD = set_combine(sets.Idle.DD, {
- head="Whirlpool Mask", neck="Asperity Necklace",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Qaaxo Harness",
- ring1="Rajas Ring", ring2="Epona's Ring",
- back="Atheling Mantle", waist="Windbuffet Belt +1",
- legs="Qaaxo Tights"})
- sets.TP['DD Accuracy'] = set_combine(sets.Idle['DD Accuracy'], {
- head="Whirlpool Mask", neck="Asperity Necklace",
- ear1="Bladeborn Earring", ear2="Steelflash Earring",
- body="Qaaxo Harness",
- ring1="Rajas Ring", ring2="K'ayres Ring",
- back="Atheling Mantle", waist="Hurch'lan Sash",
- legs="Qaaxo Tights"})
- sets.TP['Physical Defense'] = set_combine(sets.Idle['Physical Defense'], {
- ammo="Vanir Battery",
- head="Fu. Bandeau +1", neck="Twilight Torque",
- ear1="Ethereal Earring", ear2="Hibern. Earring",
- body="Futhark Coat +1", hands="Umuthi Gloves",
- ring1="Defending Ring", ring2="Vocane Ring",
- back="Shadow Mantle", waist="Flume Belt +1",
- legs="Rune. Trousers +1", feet="Futhark Boots +1"})
- sets.TP['Magic Defense'] = set_combine(sets.Idle['Magic Defense'], {
- ammo="Vanir Battery",
- head="Fu. Bandeau +1", neck="Twilight Torque",
- ear1="Ethereal Earring", ear2="Hearty Earring",
- body="Futhark Coat +1", hands="Umuthi Gloves",
- ring1="Defending Ring", ring2="Vocane Ring",
- -- back="Engulfer Cape +1",
- back="Mollusca Mantle",
- waist="Hurch'lan Sash",
- legs="Rune. Trousers +1", feet="Futhark Boots +1"})
- -------------
- -- JA Sets --
- -------------
- sets.JA = {}
- sets.JA['Lunge'] = set_combine(sets.Enmity,{ammo="Dosis Tathlum",
- head="Highwing Helm", neck="Eddy Necklace",
- ear1="Crematio Earring", ear2="Friomisi earring",
- body="Iuitl Vest +1", hands="Spolia Cuffs",
- back="Evasionist's cape",
- legs="Shned. Tights +1", feet="Qaaxo Leggings"})
- sets.JA['Swipe'] = sets.JA['Lunge']
- sets.JA['Pflug'] = set_combine(sets.Enmity, {
- hands="Runeist Mitons +1", feet="Runeist Bottes +1"})
- sets.JA['Elemental Sforzo'] = {body="Futhark Coat +1"}
- sets.JA['Battuta'] = set_combine(sets.Enmity, {head="Fu. Bandeau +1"})
- sets.JA['Vallation'] = set_combine(sets.Enmity, {
- body="Runeist Coat +1",legs="Futhark Trousers +1"})
- sets.JA['Valiance'] = set_combine(sets.Enmity, {
- body="Runeist Coat +1",legs="Futhark Trousers +1"})
- sets.JA['Gambit'] = set_combine(sets.Enmity, {hands="Runeist Mitons +1"})
- sets.JA['Swordplay'] = set_combine(sets.Enmity,
- {hands="Futhark Mitons +1"})
- sets.JA['Rayke'] = set_combine(sets.Enmity, {feet="Runeist Bottes +1"})
- sets.JA['Liement'] = set_combine(sets.Enmity, {body="Futhark Coat +1"})
- sets.JA['Embolden'] = sets.Enmity
- sets.JA['One For All'] = sets.Enmity
- sets.JA['Provoke'] = sets.Enmity
- sets.JA['Warcry'] = sets.Enmity
- sets.JA['Animated Flourish'] = sets.Enmity
- -- Flourish --
- sets.Flourish = {}
- sets.Repulse = {back="Repulse Mantle"}
- -----------------------------------
- -- Variables and notes to myself --
- -----------------------------------
- -- Rune elements --
- elements = {}
- elements.runes = {['Fire']='Ignis', ['Ice']='Gelus', ['Wind']='Flabra',
- ['Earth']='Tellus', ['Lightning']='Sulpor', ['Water']='Unda',
- ['Light']='Lux', ['Dark']='Tenebrae'}
- -- Element Obi definitions for Lunge and Swipe --
- elements.obi = {}
- elements.obi['Fire'] = {waist="Karin Obi"}
- elements.obi['Ice'] = {waist="Hyorin Obi"}
- elements.obi['Wind'] = {waist="Furin Obi"}
- elements.obi['Earth'] = {waist="Dorin Obi"}
- elements.obi['Lightning'] = {waist="Rairin Obi"}
- elements.obi['Water'] = {waist="Suirin Obi"}
- elements.obi['Light'] = {waist="Korin Obi"}
- elements.obi['Dark'] = {waist="Anrin Obi"}
- Mode_Index = 1
- Repulse = 'false'
- send_command('input /macro book 3;wait .1;input /macro set 2')
- end
- function precast(spell,action)
- if spell.action_type == 'Magic' then
- equip(sets.precast.FastCast)
- elseif sets.WS[spell.name] then
- equip(sets.WS[spell.name])
- elseif spell.type=="JobAbility" then
- if sets.JA[spell.name] then
- equip(sets.JA[spell.name])
- end
- if spell.name == 'Lunge' or spell.name == 'Swipe' then
- update_obi()
- end
- elseif spell.type=="WeaponSkill" then
- equip(sets.WS)
- elseif spell.name:contains('Waltz') then
- equip(sets.precast.Waltz)
- elseif spell.name:contains('Step') then
- equip(sets.precast.Step)
- end
- end
- function midcast(spell,action)
- if sets.midcast[spell.name] and not spell.interrupted then
- equip(sets.midcast[spell.name])
- elseif spell.name:startswith('Regen') and not spell.interrupted then
- equip(sets.midcast.Regen)
- elseif spell.name:startswith('Phalanx') and not spell.interrupted then
- equip(sets.midcast.Phalanx)
- elseif spell.name == 'Flash' then
- equip(sets.Enmity)
- elseif spell.name == 'Sneak' or spell.name == 'Spectral Jig' or spell.name:startswith('Monomi') and spell.target.type == 'SELF' then
- send_command('cancel 71')
- elseif sets.midcast[spell.skill] then
- equip(sets.midcast[spell.skill])
- end
- end
- function aftercast(spell,action)
- update_gear()
- end
- function status_change(new,action)
- update_gear()
- end
- -- Called when a player gains or loses a buff. --
- function buff_change(buff,gain)
- if buff == "Swordplay" then update_gear() end
- end
- function self_command(command)
- if command:lower() == 'cycle' then
- Mode_Index = Mode_Index +1
- if Mode_Index > #Idle_Set_Names then
- Mode_Index = 1
- end
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'mdt' then
- Mode_Index = 5
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'pdt' then
- Mode_Index = 4
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'acc' then
- Mode_Index = 3
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'dd' then
- Mode_Index = 2
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'town' then
- Mode_Index = 1
- add_to_chat(8,'----- Gear Mode changed to '..Idle_Set_Names[Mode_Index]..' -----')
- update_gear()
- elseif command:lower() == 'repulse' then
- if Repulse == 'false' then
- Repulse = 'true'
- add_to_chat(8,'----- Changed to Repulse Mantle -----')
- elseif Repulse == 'true' then
- Repulse = 'false'
- end
- update_gear()
- end
- end
- function update_gear()
- if player.status == 'Engaged' then
- equip(sets.TP[TP_Set_Names[Mode_Index]])
- elseif player.status == 'Idle' then
- if areas.Cities:contains(world.area) then
- add_to_chat(8,'----- You are at '..world.area..'. Town gear equipped! -----')
- add_to_chat(8,'----- Hotkeys: F9 cycle, F10 PDT, F11 MDT, F12 Repulse, Delete Reset. -----')
- equip(sets.Idle.Town)
- else
- send_command('input /lockstyle on')
- equip(sets.Idle[Idle_Set_Names[Mode_Index]])
- end
- else
- equip(sets.Resting)
- end
- if buffactive['Swordplay'] then equip(sets.buff['Swordplay']) end
- if Repulse == 'true' then equip(sets.Repulse) end
- end
- function update_obi()
- if buffactive['Ignis'] then
- equip(elements.obi['Fire'])
- elseif buffactive['Gelus'] then
- equip(elements.obi['Ice'])
- elseif buffactive['Flabra'] then
- equip(elements.obi['Wind'])
- elseif buffactive['Tellus'] then
- equip(elements.obi['Earth'])
- elseif buffactive['Sulpor'] then
- equip(elements.obi['Lightning'])
- elseif buffactive['Lux'] then
- equip(elements.obi['Light'])
- elseif buffactive['Tenebrae'] then
- equip(elements.obi['Dark'])
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement