Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- When engaged:
- -- TPMode determines aftercast set used. F9 will toggle between TP, MidHybrid, and Hybrid modes.
- -- Other modes may be accessed with "/console gs c TP <mode>"
- -- When disengaged:
- -- IdleMode determines aftercast set used. F10 will toggle between DT, Kite, and Regain modes.
- -- Other modes may be accessed with "/console gs c Idle <mode>"
- -- Some modes can be applied to both at once by not specifying "TP" or "Idle".
- -- For example: "/console gs c DT" or "/console gs c Kite"
- -- It is recommended to have "/console gs c DT" on a macro/bind for quickly going full DT.
- -- Applying Runes:
- -- This Lua uses a flexible system to allow you to apply your chosen runes with a single macro.
- -- The macro to activate a rune is:
- -- /console gs c Rune
- -- To change your selected rune, add an element after the word "Rune".
- -- Choices: Fire Earth Water Wind Ice Thunder Light Dark
- -- **It is very important to capitalize the first letter and only the first letter.**
- -- For example:
- -- /console gs c RuneFire
- -- /console gs c Rune Fire
- -- This will set your rune configuration to [Fire - Fire - Fire] indicating 3x Ignis runes.
- -- You only need to set the elements once. After that, calling "gs c Rune" will cycle through them.
- -- You may select up to 3 elements to cycle. For example:
- -- /console gs c RuneEarthWindIce
- -- /console gs c Rune Earth Wind Ice
- function file_unload()
- send_command('unbind f9')
- send_command('unbind f10')
- send_command('unbind f11')
- send_command('unbind f12')
- send_command('unbind ^f10')
- send_command('unbind ^f11')
- send_command('unbind ^f12')
- send_command('unbind !f12')
- end
- function get_sets()
- send_command('bind f9 gs c ToggleTP') -- F9 = Toggle TP Set (Used when engaged)
- send_command('bind f10 gs c ToggleIdle') -- F10 = Toggle Idle Set (Used when not engaged)
- send_command('bind f11 input /item "Panacea" <me>')
- send_command('bind f12 input /item "Holy Water" <me>')
- send_command('bind ^f10 gs c TH') -- Ctrl+F10 = Treasure Hunter toggle
- send_command('bind ^f11 gs c Turms') -- Ctrl+F11 = Turms toggle for parry healing
- send_command('bind ^f12 input /item "Remedy" <me>')
- send_command('bind !f12 gs equip midcast.Phalanx') -- Alt+F12 to equip Phalanx gear when it's being cast on you
- StartLockStyle = '89'
- TPMode = 'DT'
- IdleMode = 'Kite'
- AccMode = false -- "/console gs c Acc"
- LowHate = false -- "/console gs c LowHate" - I use this to take Enmity+ out of my JA sets when I don't want a lot of hate.
- Turms = false -- "/console gs c Turms" - This mode favors more parry healing when engaged
- TH = false -- "/console gs TH" to engage & cast in TH gear
- Announcements = true -- Announce Gambit & Rayke elements to the party (uses your first rune's element)
- Rune_ind = 1
- Rune = {}
- Rune[1] = 'Dark'
- Rune[2] = 'Dark'
- Rune[3] = 'Dark'
- ResistAilments = false
- ResistStun = false
- ResistPara = false
- ResistSilence = false
- ResistDeath = false
- ResistCharm = false
- TPModeCommands = {'DT','TP','MidHybrid','Hybrid','HybridFull','Kite','Sword','Regain','SB'}
- IdleModeCommands = {'DT','Kite','KiteRegain','Regain','Refresh','MEva','Def','MDB'}
- TownIdle = S{"windurst woods","windurst waters","windurst walls","port windurst","bastok markets","bastok mines","port bastok","southern san d'oria","northern san d'oria","port san d'oria","upper jeuno","lower jeuno","port jeuno","ru'lude gardens","norg","kazham","tavnazian safehold","rabao","selbina","mhaura","aht urhgan whitegate","al zahbi","nashmau","western adoulin","eastern adoulin"}
- Escha = S{"escha - zi'tah","escha - ru'aun","reisenjima"}
- EnhancingSkillSpells = S{"Temper","Barfire","Barblizzard","Baraero","Barstone","Barthunder","Barwater"}
- InterruptSpells = S{"Cocoon","Geist Wall","Sheep Song","Healing Breeze","Aquaveil","Sleepga","Poisonga"}
- MAccWeaponskills = S{"Weapon Break","Armor Break"}
- macrobook = 2
- macroset = 1
- if player.sub_job=='WAR' then
- macrobook = 1
- elseif player.sub_job=='NIN' then
- macrobook = 3
- elseif player.sub_job=='SAM' then
- macrobook = 15
- elseif player.sub_job=='DRK' then
- macrobook = 14
- elseif player.sub_job=='SCH' then
- macrobook = 17
- elseif player.sub_job=='WHM' then
- macrobook = 19
- end
- send_command('input /macro book '..macrobook..';wait .1;input /macro set '..macroset..';wait 3;input /lockstyleset '..StartLockStyle)
- send_command('console_echo "Panacea: F11 ~~ Holy Water: F12 ~~ TreasureHunter: Ctrl+F10 ~~ Turms: Ctrl+F11"')
- send_command('console_echo "Rune Mode: ['..Rune[1]..' - '..Rune[2]..' - '..Rune[3]..']"')
- send_command('console_echo "TP Mode: ['..TPMode..'] ~ Idle Mode: ['..IdleMode..']"')
- -- This is your full defense set. It will be used as a baseline for several other sets.
- -- It's ok for this set to be overcapped on DT, because sets that inherit it may override slots and lose DT.
- sets.DT_Base = {
- ammo="Yamarang",
- head="Nyame Helm",
- neck="Futhark Torque +2",
- ear1="Odnowa Earring +1",
- ear2="Tuisto Earring",
- body="Adamantite Armor",
- hands="Nyame Gauntlets",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2="Defending Ring",
- back={ name="Ogma's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','DEF+50',}},
- waist="Engraved Belt",
- legs="Erilaz Leg Guards +3",
- feet="Erilaz Greaves +3"
- }
- -- Max HP set, mostly just used for One for All
- sets.HP_Base = {
- ammo="Happy Egg",
- head="Erilaz Galea +3",
- neck="Unmoving Collar +1",
- ear1="Odnowa Earring +1",
- ear2="Tuisto Earring",
- body="Runeist Coat +3",
- hands="Regal Gauntlets",
- ring1="Gelatinous Ring +1",
- ring2={name="Moonlight Ring", bag="wardrobe4"},
- back="Moonlight Cape",
- waist="Platinum Moogle Belt",
- legs="Carmine Cuisses +1",
- feet="Carmine Greaves +1"
- }
- -- Base Magic Attack Bonus set, for elemental weaponskills, Lunge, and Swipe
- sets.MAB_Base = {
- ammo="Seething Bomblet +1",
- head="Agwu's Cap",
- neck="Sanctity Necklace",
- ear1="Friomisi Earring",
- ear2="Crematio Earring",
- body="Agwu's Robe",
- hands="Agwu's Gages",
- ring1="Mujin Band",
- ring2="Shiva Ring +1",
- back="Evasionist's Cape",
- waist="Orpheus's Sash",
- legs="Agwu's Slops",
- feet="Agwu's Pigaches"
- }
- -- Pure accuracy set currently only used for Box Step, but could be used elsewhere.
- sets.Acc_Base = {
- ammo="Cath Palug Stone",
- head="Rune. Bandeau +3",
- body="Runeist Coat +3",
- hands="Runeist Mitons +3",
- legs="Erilaz Leg Guards +3",
- feet="Erilaz Greaves +3",
- neck="Sanctity Necklace",
- waist="Eschan Stone",
- ear1="Zennaroi Earring",
- ear2="Telos Earring",
- ring1="Regal Ring",
- ring2="Varar Ring +1",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- }
- -- Treasure Hunter set. Don't put anything in here except TH+ gear.
- -- It overwrites several other sets when TH toggle is on (Ctrl+F10).
- sets.TH = {
- head="Volte Cap",
- waist="Chaac Belt",
- hands="Volte Bracers",
- feet="Volte Boots"
- }
- sets.HolyWater = {
- neck="Nicander's Necklace",
- ring2="Purity Ring"
- }
- -- ************************************************************************
- -- Precast
- -- ************************************************************************
- sets.precast = {}
- -- I aim for 70 FC with 1 merit in Inspiration for this set
- sets.precast.FC = {
- ammo="Sapience Orb", -- +2
- head="Runeist Bandeau +3", -- +14
- neck="Orunmila's Torque", -- +5
- ear1="Loquacious Earring", -- +2
- ear2="Etiolation Earring", -- +1
- body={ name="Adhemar Jacket +1", augments={'HP+105','"Fast Cast"+10','Magic dmg. taken -4',}}, -- +10
- hands="Leyline Gloves", -- +8
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2="Kishar Ring", -- +4
- back={ name="Ogma's cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',}}, -- +10
- waist={ name="Platinum Moogle Belt", priority=12 },
- legs="Ayanmo Cosciales +2", -- +6
- feet={ name="Carmine Greaves +1", priority=11 } -- +8
- }
- sets.precast.FC_Enhancing = set_combine(sets.precast.FC, {
- waist="Siegel Sash",
- legs="Futhark Trousers +3"
- })
- sets.precast.FC_Utsusemi = sets.precast.FC
- -- ************************************************************************
- -- Midcast - Spells
- -- ************************************************************************
- sets.midcast = {}
- sets.midcast.Enhancing = set_combine(sets.DT_Base, {
- head="Erilaz Galea +3",
- neck="Incanter's Torque",
- ear1="Mimir Earring",
- ear2="Andoaa Earring",
- hands="Runeist Mitons +3",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- back="Merciful Cape",
- waist="Olympus Sash",
- legs="Futhark Trousers +3"
- })
- sets.midcast.EnhancingDuration = set_combine(sets.midcast.Enhancing, {
- hands="Regal Gauntlets"
- })
- sets.midcast.Regen = set_combine(sets.midcast.EnhancingDuration, {
- head="Rune. Bandeau +3",
- neck="Sacro Gorget",
- ear2="Erilaz Earring +1",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2={name="Moonlight Ring", bag="wardrobe4"},
- waist="Sroda Belt"
- })
- sets.midcast.Divine = set_combine(sets.DT_Base, {
- neck="Incanter's Torque",
- ear1="Beatific Earring",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- waist="Olympus Sash",
- legs="Runeist Trousers +3"
- })
- sets.midcast.Enmity = {
- ammo={ name="Sapience Orb", }, -- +2
- head={ name="Halitus Helm", }, -- +8
- neck={ name="Futhark Torque +2", }, -- +10 (moonlight has +15 but no DT)
- ear1={ name="Trux Earring", }, -- +5
- ear2={ name="Cryptic Earring", }, -- +4
- body={ name="Emet Harness +1", }, -- +10
- hands={ name="Kurys Gloves", }, -- +9
- ring1={ name="Moonlight Ring", bag="wardrobe2" },
- ring2={ name="Eihwaz Ring", priority=1 }, -- +5
- back={ name="Ogma's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','DEF+50',}}, -- +10
- --waist={ name="Trance Belt", }, -- +4
- waist={ name="Platinum Moogle Belt" },
- legs={ name="Erilaz Leg Guards +3" }, -- +13
- feet={ name="Erilaz Greaves +3", } -- +7
- }
- sets.midcast.LowHate = {
- ammo="Yamarang",
- head="Nyame Helm",
- neck="Loricate Torque +1",
- ear1="Odnowa Earring +1",
- ear2="Tuisto Earring",
- body="Nyame Mail",
- hands="Nyame Gauntlets",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2="Defending Ring",
- back={ name="Ogma's cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',}},
- waist="Engraved Belt",
- legs="Nyame Flanchard",
- feet="Nyame Sollerets"
- }
- sets.midcast.Interrupt = {
- ammo="Staunch Tathlum +1",
- head="Erilaz Galea +3",
- neck="Moonlight Necklace",
- ear1="Odnowa Earring +1",
- ear2="Tuisto Earring",
- body="Nyame Mail",
- hands="Rawhide Gloves",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2="Defending Ring",
- back={ name="Ogma's cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',}},
- waist="Audumbla Sash",
- legs="Carmine Cuisses +1",
- feet="Erilaz Greaves +3"
- }
- sets.midcast["Flash"] = set_combine(sets.midcast.Enmity, { })
- sets.midcast["Foil"] = set_combine(sets.midcast.Enmity, { })
- sets.midcast["Foil"].LowHate = set_combine(sets.midcast.LowHate, { })
- -- Phalanx tiers: 443 472 500
- -- I don't recommend shooting for 500 unless you have 30+ MLs. It's good to have some HP & DT in this set.
- sets.midcast["Phalanx"] = set_combine(sets.midcast.Enhancing, {
- head="Futhark Bandeau +3",
- neck="Futhark Torque +2",
- body={ name="Taeon Tabard", augments={'Mag. Evasion+20','Spell interruption rate down -10%','Phalanx +3',}},
- hands={ name="Taeon Gloves", augments={'Mag. Evasion+20','Enemy crit. hit rate -3','Phalanx +3',}},
- --ring1={name="Moonlight Ring", bag="wardrobe2"},
- legs={ name="Herculean Trousers", augments={'MND+8','DEX+5','Phalanx +5','Accuracy+12 Attack+12','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
- back={ name="Moonlight Cape", priority=1},
- waist={ name="Platinum Moogle Belt", priority=2 },
- feet={ name="Taeon Boots", augments={'Mag. Evasion+20','Spell interruption rate down -10%','Phalanx +3',}}
- })
- sets.midcast["Refresh"] = set_combine(sets.midcast.EnhancingDuration, {
- head="Erilaz Galea +3",
- waist="Gishdubar Sash"
- })
- sets.midcast["Stoneskin"] = set_combine(sets.DT_Base, {
- ear2="Earthcry Earring",
- neck="Stone Gorget",
- waist="Siegel Sash"
- })
- sets.midcast.Cure = set_combine(sets.DT_Base, {
- ammo="Hasty Pinion +1",
- neck="Sacro Gorget",
- --ear1="Meili Earring",
- --ear2="Beatific Earring",
- body="Nyame Mail", -- for the haste
- hands="Agwu's Gages",
- ring1="Menelaus's Ring",
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- --back="Tempered Cape +1",
- back="Moonlight Cape",
- waist="Sroda Belt",
- })
- sets.midcast.CuringWaltz = {
- }
- sets.midcast["Absorb-TP"] = {
- ammo="Yamarang",
- head="Erilaz Galea +3",
- neck="Erra Pendant",
- ear1="Dignitary's Earring",
- ear2="Mani Earring",
- body="Nyame Mail",
- hands="Nyame Gauntlets",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- back="Moonlight Cape",
- waist="Acuity Belt +1",
- legs="Erilaz Leg Guards +3",
- feet="Agwu's Pigaches"
- }
- -- ************************************************************************
- -- Midcast - Weapon Skills
- -- ************************************************************************
- -- Main WS set - I based mine on Dimidiation
- sets.midcast.Weaponskill = {
- ammo="Knobkierrie",
- head="Nyame Helm",
- neck="Fotia Gorget",
- ear1="Sherida Earring",
- ear2="Ishvara Earring",
- body="Nyame Mail",
- hands="Nyame Gauntlets",
- ring1="Regal Ring",
- ring2="Epaminondas's Ring",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}},
- waist="Fotia Belt",
- legs="Nyame Flanchard",
- feet="Nyame Sollerets"
- }
- sets.midcast.Weaponskill_Acc = set_combine(sets.midcast.Weaponskill, {
- ammo="Cath Palug Stone",
- head="Erilaz Galea +3",
- neck="Combatant's Torque",
- ear1="Zennaroi Earring",
- ear2="Telos Earring",
- body="Erilaz Surcoat +3",
- hands="Runeist Mitons +3",
- ring2="Chirich Ring +1",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- legs="Erilaz Leg Guards +3",
- feet="Erilaz Greaves +3",
- })
- sets.midcast.MagicWeaponskill = set_combine(sets.midcast.Weaponkill, {
- neck="Sanctity Necklace",
- ear1="Friomisi Earring",
- ring1="Regal Ring",
- waist="Orpheus's Sash",
- })
- sets.midcast.MAccWeaponskill = set_combine(sets.midcast.Weaponskill, {
- ear1="Dignitary's Earring",
- })
- sets.midcast["Dimidiation"] = set_combine(sets.midcast.Weaponskill, {
- neck="Republican Platinum Medal",
- ring1="Ilabrat Ring",
- waist="Grunfeld Rope",
- })
- sets.midcast["Dimidiation"].Acc = set_combine(sets.midcast.Weaponskill_Acc, {})
- sets.midcast["Resolution"] = set_combine(sets.midcast.Weaponskill, {
- ammo="Knobkierrie",
- neck="Fotia Gorget",
- ear2="Cessance Earring",
- ring1="Regal Ring",
- ring2="Niqmaddu Ring",
- back={ name="Ogma's cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
- waist="Fotia Belt",
- })
- sets.midcast["Resolution"].Acc = set_combine(sets.midcast.Weaponskill_Acc, {})
- sets.midcast["Herculean Slash"] = set_combine(sets.MagicWeaponskill, {
- ring2="Epaminondas's Ring",
- })
- sets.midcast["Shockwave"] = set_combine(sets.MAccWeaponskill, {
- })
- sets.midcast["Savage Blade"] = set_combine(sets.midcast.Weaponskill, {
- neck="Futhark Torque +2",
- ring1="Sroda Ring",
- waist="Engraved Belt",
- })
- sets.midcast["Savage Blade"].Acc = set_combine(sets.midcast.Weaponskill_Acc, {})
- sets.midcast["Ruinator"] = set_combine(sets.midcast.Weaponskill_Acc, {
- })
- sets.midcast["Seraph Blade"] = set_combine(sets.DT_Base, {
- })
- -- ************************************************************************
- -- Midcast - Named Sets
- -- ************************************************************************
- -- JOB ABILITIES --
- sets.midcast["Elemental Sforzo"] = set_combine(sets.midcast.Enmity, { body="Futhark Coat +3" })
- sets.midcast["Elemental Sforzo"].LowHate = set_combine(sets.midcast.LowHate, { body="Futhark Coat +3" })
- sets.midcast["Gambit"] = set_combine(sets.midcast.Enmity, { hands="Runeist Mitons +3" })
- sets.midcast["Gambit"].LowHate = set_combine(sets.midcast.LowHate, { hands="Runeist Mitons +3" })
- sets.midcast["Rayke"] = set_combine(sets.midcast.Enmity, { feet="Futhark Boots +3" })
- sets.midcast["Rayke"].LowHate = set_combine(sets.midcast.LowHate, { feet="Futhark Boots +3" })
- sets.midcast["Liement"] = set_combine(sets.midcast.Enmity, { body="Futhark Coat +3" })
- sets.midcast["Liement"].LowHate = set_combine(sets.midcast.LowHate, { body="Futhark Coat +3" })
- sets.midcast["One For All"] = sets.HP_Base
- sets.midcast["Valiance"] = set_combine(sets.DT_Base, {
- body="Runeist Coat +3",
- back={ name="Ogma's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','DEF+50',}},
- legs="Futhark Trousers +3"
- })
- sets.midcast["Vallation"] = set_combine(sets.DT_Base, {
- body="Runeist Coat +3",
- back={ name="Ogma's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','DEF+50',}},
- legs="Futhark Trousers +3"
- })
- sets.midcast["Pflug"] = set_combine(sets.midcast.Enmity, {})
- sets.midcast["Pflug"].LowHate = set_combine(sets.midcast.LowHate, {})
- sets.midcast["Battuta"] = set_combine(sets.midcast.Enmity, { head="Futhark Bandeau +3" })
- sets.midcast["Battuta"].LowHate = set_combine(sets.midcast.LowHate, { head="Futhark Bandeau +3" })
- sets.midcast["Vivacious Pulse"] = set_combine(sets.midcast.Divine, { head="Erilaz Galea +3" })
- sets.midcast["Embolden"] = { back="Evasionist's Cape" }
- sets.midcast["Swordplay"] = set_combine(sets.midcast.Enmity, { hands="Futhark Mitons +3" })
- sets.midcast["Swordplay"].LowHate = set_combine(sets.midcast.LowHate, { hands="Futhark Mitons +3" })
- sets.midcast["Lunge"] = sets.MAB_Base
- sets.midcast["Swipe"] = sets.MAB_Base
- sets.midcast["Box Step"] = sets.Acc_Base
- sets.midcast.BP = {
- legs={ name="Herculean Trousers", augments={'"Blood Pact" ability delay -6','MND+5','Crit.hit rate+2','Accuracy+12 Attack+12',}},
- }
- -- ************************************************************************
- -- Aftercast
- -- ************************************************************************
- -- Syntax: aftercast.Engaged.TPMode.Turms.Battuta.Acc.Resist.NoShell.Escha
- -- aftercast.IdleMode.Resist.NoShell.Escha
- sets.aftercast = set_combine(sets.DT_Base, {
- --body="Runeist Coat +3",
- ring1="Gelatinous Ring +1",
- ring2="Shadow Ring"
- })
- sets.aftercast.MEva = set_combine(sets.aftercast, {
- body="Runeist Coat +3",
- ear1="Sanare Earring",
- })
- sets.aftercast.Def = set_combine(sets.aftercast, {
- ammo="Brigantia Pebble",
- neck="Loricate Torque +1",
- body="Adamantite Armor",
- --ring2="Gelatinous Ring +1"
- })
- sets.aftercast.MDB = set_combine(sets.aftercast, {
- head="Erilaz Galea +3",
- neck="Warder's Charm +1",
- body="Adamantite Armor",
- ear2="Sanare Earring",
- })
- sets.aftercast.Kite = set_combine(sets.aftercast, {
- ring2="Shneddick Ring +1",
- --legs="Carmine Cuisses +1"
- })
- sets.aftercast.Refresh = set_combine(sets.aftercast.Kite, {
- ammo="Homiliary",
- head="Rawhide Mask",
- neck="Bathy Choker +1",
- body="Runeist Coat +3",
- hands="Regal Gauntlets",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- waist="Flume Belt +1"
- })
- sets.aftercast.Regain = set_combine(sets.aftercast, {
- --ammo="Brigantia Pebble",
- head="Turms Cap +1",
- --ear2="Moonshade Earring",
- body="Adamantite Armor",
- --ring1="Karieyh Ring",
- ring2="Shadow Ring",
- })
- sets.aftercast.KiteRegain = set_combine(sets.aftercast.Kite, {
- head="Turms Cap +1",
- body="Adamantite Armor",
- --ring2="Shadow Ring",
- })
- -- Resist sets for when magic evasion just doesn't suffice
- sets.aftercast.Resist = set_combine(sets.aftercast, {
- ear2="Hearty Earring",
- hands="Volte Bracers",
- legs="Runeist Trousers +3"
- })
- sets.aftercast.ResistCharm = set_combine(sets.aftercast, {
- ammo="Staunch Tathlum +1",
- neck="Unmoving Collar +1",
- back="Solemnity Cape",
- legs="Runeist Trousers +3",
- })
- sets.aftercast.ResistDeath = set_combine(sets.aftercast, {
- ammo="Staunch Tathlum +1",
- ring1="Warden's Ring",
- ring2="Shadow Ring",
- legs="Runeist Trousers +3",
- })
- ------ Engaged Sets ------
- sets.aftercast.Engaged = set_combine(sets.aftercast, {
- })
- sets.aftercast.Engaged.Turms = set_combine(sets.aftercast.Engaged, {
- hands="Turms Mittens +1",
- back={ name="Ogma's cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Parrying rate+5%',}},
- legs="Erilaz Leg Guards +3",
- feet="Turms Leggings +1"
- })
- sets.aftercast.Engaged.TP = {
- ammo="Aurgelmir Orb +1",
- head={ name="Adhemar Bonnet +1", augments={'DEX+12','AGI+12','Accuracy+20',}},
- neck="Lissome Necklace",
- ear1="Sherida Earring",
- ear2="Telos Earring",
- body="Turms Harness +1",
- hands="Adhemar Wristbands +1",
- ring1="Epona's Ring",
- ring2="Niqmaddu Ring",
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- waist="Ioskeha Belt +1",
- legs="Samnuha Tights",
- feet={ name="Herculean Boots", augments={'Accuracy+26','"Triple Atk."+4','Attack+11',}}
- }
- sets.aftercast.Engaged.TP.Turms = set_combine(sets.aftercast.Engaged.TP, {
- hands="Turms Mittens +1",
- feet="Turms Leggings +1"
- })
- -- I removed most of this stuff because my TP sets all have plenty of accuracy.
- -- I mainly use my accuracy toggle for WS sets now.
- sets.aftercast.Engaged.TP.Acc = set_combine(sets.aftercast.Engaged.TP, {
- --neck="Combatant's Torque",
- --ear1="Zennaroi Earring",
- --legs="Carmine Cuisses +1",
- })
- sets.aftercast.Engaged.Sword = set_combine(sets.aftercast.Engaged.TP, {
- waist="Reiki Yotai"
- })
- sets.aftercast.Engaged.MidHybrid = {
- ammo="Yamarang",
- head="Ayanmo Zucchetto +2",
- neck="Futhark Torque +2",
- ear1="Sherida Earring",
- ear2="Telos Earring",
- body="Ashera Harness",
- hands="Adhemar Wristbands +1",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2={name="Moonlight Ring", bag="wardrobe4"},
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- waist="Ioskeha Belt +1",
- legs="Meghanada Chausses +2",
- feet={ name="Herculean Boots", augments={'Accuracy+26','"Triple Atk."+4','Attack+11',}}
- }
- sets.aftercast.Engaged.MidHybrid.Turms = set_combine(sets.aftercast.Engaged.MidHybrid, {
- hands="Turms Mittens +1",
- feet="Turms Leggings +1"
- })
- sets.aftercast.Engaged.Hybrid = {
- ammo="Yamarang",
- head="Ayanmo Zucchetto +2",
- neck="Futhark Torque +2",
- ear1="Sherida Earring",
- ear2="Telos Earring",
- body="Ashera Harness",
- hands="Nyame Gauntlets",
- ring1="Fickblix's Ring",
- ring2={name="Moonlight Ring", bag="wardrobe4"},
- back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- waist="Ioskeha Belt +1",
- legs="Meghanada Chausses +2",
- feet="Nyame Sollerets"
- }
- sets.aftercast.Engaged.Hybrid.Turms = set_combine(sets.aftercast.Engaged.Hybrid, {
- hands="Turms Mittens +1",
- legs="Erilaz Leg Guards +3",
- feet="Turms Leggings +1"
- })
- sets.aftercast.Engaged.Hybrid.Resist = set_combine(sets.aftercast.Engaged.Hybrid, {
- ear1="Hearty Earring",
- legs="Runeist Trousers +3"
- })
- -- I change this set as needed. Currently a high-meva version of the Hybrid build.
- sets.aftercast.Engaged.HybridFull = set_combine(sets.aftercast.Engaged.Hybrid, {
- ammo="Yamarang",
- head="Nyame Helm",
- hands="Nyame Gauntlets",
- neck="Anu Torque",
- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- legs="Nyame Flanchard",
- --legs="Erilaz Leg Guards +3",
- feet="Erilaz Greaves +3"
- })
- sets.aftercast.Engaged.HybridFull.Turms = set_combine(sets.aftercast.Engaged.HybridFull, {
- ammo="Staunch Tathlum +1",
- neck="Futhark Torque +2",
- hands="Turms Mittens +1",
- ring1={name="Moonlight Ring", bag="wardrobe2"},
- ring2="Defending Ring",
- back={ name="Ogma's cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','Parrying rate+5%',}},
- legs="Erilaz Leg Guards +3",
- feet="Turms Leggings +1"
- })
- sets.aftercast.Engaged.Kite = set_combine(sets.aftercast.Kite, {
- })
- sets.aftercast.Engaged.Regain = set_combine(sets.aftercast.Regain, {
- })
- -- Subtle Blow set (I assume no Auspice because I mostly use this to low-man Mboze RP)
- sets.aftercast.Engaged.SB = {
- ammo="Staunch Tathlum +1",
- head="Nyame Helm",
- neck="Bathy Choker +1",
- ear1="Sherida Earring",
- ear2="Dignitary's Earring",
- body="Nyame Mail",
- hands="Nyame Gauntlets",
- ring1={name="Chirich Ring +1", bag="wardrobe2"},
- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- back={ name="Ogma's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10','DEF+50',}},
- waist="Ninurta's Sash",
- legs="Erilaz Leg Guards +3",
- feet="Erilaz Greaves +3"
- }
- end
- function precast(spell)
- if spell.type=="Item" then
- if spell.name=="Holy Water" then
- equip(sets.HolyWater)
- end
- return
- end
- -- Spell fast cast
- if spell.action_type=="Magic" then
- if spell.skill=="Enhancing Magic" then
- equip(sets.precast.FC_Enhancing)
- elseif string.find(spell.name,"Utsusemi") then
- equip(sets.precast.FC_Utsusemi)
- else
- equip(sets.precast.FC)
- end
- end
- -- Prevents Valiance/Vallation/Liement from being prevented by each other (cancels whichever is active)
- if spell.name=='Valiance' or spell.name=='Vallation' or spell.name=='Liement' then
- if buffactive['Valiance'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(535)
- elseif buffactive['Vallation'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(531)
- elseif buffactive['Liement'] then
- cast_delay(0.2)
- windower.ffxi.cancel_buff(537)
- end
- elseif spell.name=="Stoneskin" and buffactive["Stoneskin"] then
- windower.send_command('cancel 37;')
- end
- -- Gambit and Rayke announcements
- if Announcements then
- if spell.english == "Gambit" then
- send_command('timers delete "Gambit"')
- send_command('timers create "Gambit" 96 down;wait 66;input /party Gambit [WEARING OFF IN 30 SEC.];wait 30;input /party Gambit [OFF];timers delete "Gambit"')
- send_command('input /p Gambit['..Rune[1]..'] >> '..spell.target.name)
- elseif spell.english == "Rayke" then
- send_command('timers delete "Rayke"')
- send_command('timers create "Rayke" 47 down;wait 32;input /party Rayke [WEARING OFF IN 15 SEC.];wait 15;input /party Rayke [OFF];timers delete "Rayke"')
- send_command('input /p Rayke['..Rune[1]..'] >> '..spell.target.name)
- end
- end
- end
- function midcast(spell)
- if spell.type=="Item" then
- return
- end
- -- Check for a specific set
- if sets.midcast[spell.english] then
- equipSet = sets.midcast[spell.english]
- if LowHate and equipSet.LowHate then
- equipSet = equipSet.LowHate
- end
- if AccMode and equipSet.Acc then
- equipSet = equipSet.Acc
- end
- equip(equipSet)
- elseif InterruptSpells:contains(spell.name) then
- equip(sets.midcast.Interrupt)
- -- Specific Spells
- elseif string.find(spell.english, 'Cure') or string.find(spell.english, 'Curaga') then
- equip(sets.midcast.Cure)
- elseif string.sub(spell.name,1,12)=="Curing Waltz" then
- equip(sets.midcast.CuringWaltz)
- -- Enhancing
- elseif spell.skill=="Enhancing Magic" then
- if string.find(spell.name,"Regen") then
- equip(sets.midcast.Regen)
- elseif string.find(spell.name,"Protect") or string.find(spell.name,"Shell") then
- equip(set_combine(sets.midcast.EnhancingDuration, {ring2="Sheltered Ring"}))
- elseif EnhancingSkillSpells:contains(spell.name) then
- equip(sets.midcast.Enhancing)
- else
- equip(sets.midcast.EnhancingDuration)
- end
- if spell.name=="Stoneskin" and buffactive["Stoneskin"] then
- windower.send_command('wait 1;cancel 37;')
- elseif spell.name=="Sneak" and buffactive["Sneak"] and spell.target.type=="SELF" then
- windower.send_command('cancel 71;')
- end
- -- Blue Magic
- elseif spell.skill=="Blue Magic" then
- equip(sets.midcast.Enmity)
- -- Ninjutsu
- elseif spell.type=="Ninjutsu" then
- if spell.name=="Utsusemi: Ichi" then
- if buffactive["Copy Image"] then
- windower.send_command('wait 1;cancel Copy Image;')
- elseif buffactive["Copy Image (2)"] then
- windower.send_command('wait 1;cancel Copy Image (2);')
- end
- end
- equip(sets.aftercast.DT)
- -- Weaponskill
- elseif spell.type=="WeaponSkill" then
- if AccMode then
- equip(sets.midcast.Weaponskill_Acc)
- elseif MAccWeaponskills:contains(spell.name) then
- equip(sets.midcast.MAccWeaponskill)
- else
- equip(sets.midcast.Weaponskill)
- end
- elseif spell.type=="BloodPactWard" or spell.type=="BloodPactRage" then
- equip(sets.midcast.BP)
- elseif LowHate then
- equip(sets.midcast.LowHate)
- else
- equip(sets.midcast.Enmity)
- end
- if TH and spell.target.type=="MONSTER" then
- equip(sets.TH)
- end
- end
- function aftercast(spell)
- if spell.type=="Item" then
- return
- end
- idle()
- end
- function status_change(new,old)
- idle()
- end
- function self_command(command)
- is_valid = command:lower()=="idle"
- announceModes = false
- if command:lower()=="toggletp" then
- is_valid = true
- if TPMode=="TP" then
- TPMode = "MidHybrid"
- elseif TPMode=="MidHybrid" then
- TPMode = "Hybrid"
- elseif TPMode=="Hybrid" then
- TPMode = "HybridFull"
- else
- TPMode = "TP"
- end
- announceModes = true
- elseif command:lower()=="toggleidle" then
- is_valid = true
- if IdleMode=="DT" then
- IdleMode = "Kite"
- elseif IdleMode=="Kite" then
- IdleMode = "KiteRegain"
- else
- IdleMode = "DT"
- end
- announceModes = true
- elseif command:lower()=="dt" then
- is_valid = true
- TPMode = command
- IdleMode = command
- announceModes = true
- elseif command:lower()=="kite" then
- is_valid = true
- TPMode = command
- IdleMode = command
- announceModes = true
- elseif command:lower()=="regain" then
- is_valid = true
- TPMode = command
- IdleMode = command
- announceModes = true
- -- "gs c TP <mode>" to change TP mode
- elseif string.sub(command:lower(),1,2)=="tp" and string.len(command) > 3 then
- tpCommand = string.sub(command,4,string.len(command))
- for _, v in ipairs(TPModeCommands) do
- if tpCommand:lower()==v:lower() then
- is_valid = true
- TPMode = v
- announceModes = true
- end
- end
- -- "gs c Idle <mode>" to change Idle mode
- elseif string.sub(command:lower(),1,4)=="idle" and string.len(command) > 5 then
- idleCommand = string.sub(command,6,string.len(command))
- for _, v in ipairs(IdleModeCommands) do
- if idleCommand:lower()==v:lower() then
- is_valid = true
- IdleMode = v
- announceModes = true
- end
- end
- elseif command:lower()=="acc" then
- if AccMode then
- is_valid = true
- AccMode = false
- send_command('console_echo "AccMode: false"')
- else
- is_valid = true
- AccMode = true
- send_command('console_echo "AccMode: true"')
- end
- elseif command:lower()=="turms" then
- Turms = Turms==false
- send_command('console_echo "Turms Healing: '..tostring(Turms)..'"')
- is_valid = true
- elseif command:lower()=="lowhate" then
- LowHate = LowHate==false
- send_command('console_echo "Low Hate Mode: '..tostring(LowHate)..'"')
- is_valid = true
- elseif command:lower()=="resistailments" then
- ResistAilments = ResistAilments==false
- send_command('console_echo "Resist Ailments: '..tostring(ResistAilments)..'"')
- is_valid = true
- elseif command:lower()=="resiststun" then
- ResistStun = ResistStun==false
- send_command('console_echo "Resist Stun: '..tostring(ResistStun)..'"')
- is_valid = true
- elseif command:lower()=="resistpara" then
- ResistPara = ResistPara==false
- send_command('console_echo "Resist Para: '..tostring(ResistPara)..'"')
- is_valid = true
- elseif command:lower()=="resistsilence" then
- ResistSilence = ResistSilence==false
- send_command('console_echo "Resist Silence: '..tostring(ResistSilence)..'"')
- is_valid = true
- elseif command:lower()=="resistdeath" then
- ResistDeath = ResistDeath==false
- send_command('console_echo "Resist Death: '..tostring(ResistDeath)..'"')
- is_valid = true
- elseif command:lower()=="resistcharm" then
- ResistCharm = ResistCharm==false
- send_command('console_echo "Resist Charm: '..tostring(ResistCharm)..'"')
- is_valid = true
- elseif string.sub(command,1,4)=="Rune" then
- is_valid = true
- if (string.len(command) > 4) then
- local i = 0
- for word in string.gmatch(command, "%u%l+") do
- if (i > 0) then
- Rune[i] = word
- end
- i = i + 1
- end
- if (i < 3) then
- Rune[2] = Rune[1]
- Rune[3] = Rune[1]
- elseif (i < 4) then
- Rune[3] = Rune[1]
- end
- Rune_ind = 1
- send_command('console_echo "Rune Mode: ['..(Rune[1])..' - '..(Rune[2])..' - '..(Rune[3])..']"')
- end
- rune()
- elseif command:lower()=="epeo" then
- is_valid = true
- equip({main="Epeolatry",sub="Utu Grip"})
- elseif command:lower()=="lion" then
- is_valid = true
- equip({main="Lionheart",sub="Utu Grip"})
- elseif command:lower()=="reikiko" then
- is_valid = true
- equip({main="Reikiko",sub="Chanter's Shield"})
- elseif command:lower()=="helheim" then
- is_valid = true
- equip({main="Helheim",sub="Utu Grip"})
- elseif command:lower()=="th" then
- TH = TH==false
- send_command('console_echo "Treasure Hunter: '..tostring(TH)..'"')
- is_valid = true
- end
- if is_valid then
- if (not midaction() and not pet_midaction()) or command:lower()=="idle" then
- idle()
- end
- if announceModes then
- send_command('console_echo "TP Mode: ['..TPMode..'] ~ Idle Mode: ['..IdleMode..']"')
- end
- else
- sanitized = command:gsub("\"", "")
- send_command('console_echo "Invalid self_command: '..sanitized..'"')
- end
- end
- function idle()
- --if TownIdle:contains(world.area:lower()) then
- -- return
- --end
- equipSet = sets.aftercast
- if player.status=="Engaged" then
- if equipSet['Engaged'] then
- equipSet = equipSet['Engaged']
- end
- if equipSet[TPMode] then
- equipSet = equipSet[TPMode]
- end
- -- Toggles & Conditionals When Engaged
- if Turms and equipSet['Turms'] then
- equipSet = equipSet['Turms']
- end
- if buffactive['Battuta'] and equipSet['Battuta'] then
- equipSet = equipSet['Battuta']
- end
- if AccMode and equipSet['Acc'] then
- equipSet = equipSet['Acc']
- end
- else
- if equipSet[player.status] then
- equipSet = equipSet[player.status]
- end
- if equipSet[IdleMode] then
- equipSet = equipSet[IdleMode]
- end
- end
- -- Toggles & Other Conditionals
- if ResistAilments and equipSet['Resist'] then
- equipSet = equipSet['Resist']
- end
- if ResistDeath and equipSet['ResistDeath'] then
- equipSet = equipSet['ResistDeath']
- end
- if ResistCharm and equipSet['ResistCharm'] then
- equipSet = equipSet['ResistCharm']
- end
- if ResistPara and equipSet['ResistPara'] then
- equipSet = equipSet['ResistPara']
- end
- if ResistStun and equipSet['ResistStun'] then
- equipSet = equipSet['ResistStun']
- end
- if ResistSilence and equipSet['ResistSilence'] then
- equipSet = equipSet['ResistSilence']
- end
- if not buffactive['Shell'] and equipSet['NoShell'] then
- equipSet = equipSet['NoShell']
- end
- if Escha:contains(world.area:lower()) and equipSet['Escha'] then
- equipSet = equipSet['Escha']
- end
- equip(equipSet)
- -- Treasure Hunter override
- if TH and player.status=="Engaged" then
- equip(sets.TH)
- end
- end
- function rune()
- nextRune = Rune[Rune_ind]
- Rune_ind = Rune_ind+1
- if (Rune_ind > 3) then
- Rune_ind = 1
- end
- if (nextRune=="Fire") then
- send_command('input /ja Ignis <me>')
- elseif (nextRune=="Earth") then
- send_command('input /ja Tellus <me>')
- elseif (nextRune=="Water") then
- send_command('input /ja Unda <me>')
- elseif (nextRune=="Wind") then
- send_command('input /ja Flabra <me>')
- elseif (nextRune=="Ice") then
- send_command('input /ja Gelus <me>')
- elseif (nextRune=="Thunder") then
- send_command('input /ja Sulpor <me>')
- elseif (nextRune=="Light") then
- send_command('input /ja Lux <me>')
- elseif (nextRune=="Dark") then
- send_command('input /ja Tenebrae <me>')
- else
- send_command('console_echo "Error: Bad Rune Element ['..nextRune..']"')
- end
- end
Add Comment
Please, Sign In to add comment