Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- IdleMode determines the set used after casting. You change it with "/console gs c <IdleMode>"
- -- The modes are:
- -- Auto: Uses "Refresh" below 50%, "DT" at 50-70%, and "MEva" above 70%.
- -- I have it this way because MEva is my preferred set but it has lower refresh than the DT one.
- -- Refresh: Uses the most refresh available.
- -- MEva: Uses magic evasion build.
- -- DT: Uses PDT and DT.
- -- TP: TP build for meleeing.
- -- KC: Seperate TP build used for Kraken Club (less double attack)
- -- Additional Commands:
- -- "/console gs c AccMode" will toggle high-accuracy mode for melee.
- -- "/console gs c Gamb" will toggle Gambanteinn for Cursna
- -- "/console gs c CureObjective" will force "midcast.CureObjective" and "aftercast.CureObjective" sets to be used for Omen 500HP objective.
- -- Additional Bindings:
- -- F9 - Toggles between a subset of IdleModes (Refresh > MEva > DT)
- -- F10 - Toggles WeaponLock (When enabled, changes idle mode to TP and disables weapon slots from swapping)
- function file_unload()
- 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')
- enable("main","sub","range","ammo","head","neck","ear1","ear2","body","hands","ring1","ring2","back","waist","legs","feet")
- end
- function get_sets()
- send_command('bind f9 gs c CycleIdle')
- send_command('bind f10 gs c CureDT')
- send_command('bind f11 gs c BanishPot') -- Use to toggle Banish Potency gear for weakening undead targets
- send_command('bind f12 gs c Gamb') -- Gambanteinn toggle for Cursna, don't use if you don't have AG Gambanteinn
- send_command('bind ^f9 gs c WeaponLock')
- send_command('bind ^f10 gs c TH') -- Treasure Hunter toggle. Only equips for spells in the "THSpells" list below.
- send_command('bind ^f11 gs c CureObjective') -- Use to toggle high-HP cure build to complete 500HP cure objectives in Omen
- StartLockStyle = '66'
- IdleMode = 'Auto'
- WeaponLock = false
- AccMode = false
- Gambanteinn = false
- BanishPotency = true
- CureObjective = false
- TreasureHunter = false
- CureDT = false -- Capped DT in your Cure Midcast for fights like V20/V25 where you may get hit in midcast
- THSpells = S{"Dia","Dia II","Diaga","Dispelga"} -- If you want Treasure Hunter gear to swap for a spell/ability, add it here.
- IdleModeCommands = S{'Auto','Refresh','DT','MEva','TP','DualWield','Hybrid','HybridDW','KC','Shamash','Avatar'}
- -- Set initial macro set & lockstyle
- send_command('input /macro book 8;wait .1;input /macro set 1;wait 3;input /lockstyleset '..StartLockStyle)
- sets.WakeUp = { main="Prime Maul", sub="Genmei Shield" } -- Add an item here to wake yourself up if you're slept without Sublimation active. --
- sets.Movement = { feet="Herald's Gaiters" } -- Movement item equipped automatically when Sneak/Invis/Bolters are up
- -- ===================================================================================================================
- -- Sets
- -- ===================================================================================================================
- sets.precast = {}
- -- Main fast cast set
- sets.precast.FC = {
- main={ name="Grioavolr", augments={'"Fast Cast"+6','INT+2','"Mag.Atk.Bns."+17',}}, -- +10
- sub="Clerisy Strap +1", -- +3
- ammo="Impatiens",
- head="Bunzi's Hat", -- +10
- neck="Cleric's Torque +2", -- +6
- ear1="Malignance Earring", -- +4
- ear2="Loquacious Earring", -- +2
- hands="Fanatic Gloves", -- +7
- body="Inyanga Jubbah +2", -- +14
- ring1="Lebeche Ring",
- ring2="Kishar Ring", -- +4
- back={ name="Alaunus's Cape", augments={'HP+60','HP+20','"Fast Cast"+10','Damage taken-5%',}},
- waist="Witful Belt", -- +3
- legs={ name="Kaykaus Tights +1", augments={'INT+12','"Mag.Atk.Bns."+20','Enmity-6',}}, -- +7
- feet="Regal Pumps +1" -- +5~7
- }
- sets.precast.FC_Enhancing = set_combine(sets.precast.FC, {
- })
- sets.precast.FC_Cure = set_combine(sets.precast.FC, {
- })
- -- Fast cast for ailment spells (Divine Benison works well here)
- sets.precast.FC_Ailment = set_combine(sets.precast.FC, {
- main="Yagrush",
- sub="Genmei Shield",
- legs="Ebers Pantaloons +3"
- })
- sets.precast['Impact'] = set_combine(sets.precast.FC, { -- Make sure to leave the head empty --
- head=empty,
- body="Crepuscular Cloak"
- })
- sets.precast["Dispelga"] = set_combine(sets.precast.FC, {
- main="Daybreak",
- sub="Ammurapi Shield"
- })
- -- Yes, I have a blood pact timer set on WHM...
- sets.precast.BP = {
- head={ name="Helios Band", augments={'Pet: Mag. Acc.+29','"Blood Pact" ability delay -5','Summoning magic skill +8',}},
- legs={ name="Helios Spats", augments={'Pet: Mag. Acc.+25','"Blood Pact" ability delay -5','Summoning magic skill +6',}},
- feet={ name="Helios Boots", augments={'Pet: Mag. Acc.+29','"Blood Pact" ability delay -5','Summoning magic skill +8',}}
- }
- sets.midcast = {}
- -- Cure potency build. I pretty much just assume Aurorastorm is up.
- sets.midcast.Cure = {
- main="Daybreak",
- sub="Genmei Shield",
- ammo="Pemphredo Tathlum",
- head="Kaykaus Mitra +1",
- neck="Cleric's Torque +2",
- ear1="Glorious Earring",
- ear2="Nourishing Earring +1",
- body="Ebers Bliaut +3",
- hands="Theophany Mitts +3",
- ring1="Naji's Loop",
- ring2="Defending Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity-10','Damage taken-5%',}},
- waist="Witful Belt",
- legs="Ebers Pantaloons +3",
- feet="Kaykaus Boots +1"
- }
- sets.midcast.Cure.Weather = set_combine(sets.midcast.Cure, {
- main="Chatoyant Staff",
- sub="Clerisy Strap +1",
- waist="Hachirin-no-Obi",
- })
- -- Afflatus Solace doesn't work on Curaga so there are some changes here.
- sets.midcast.Curaga = set_combine(sets.midcast.Cure, {
- body="Theophany Bliaut +3",
- })
- sets.midcast.Curaga.Weather = set_combine(sets.midcast.Curaga, {
- main="Chatoyant Staff",
- sub="Clerisy Strap +1",
- waist="Hachirin-no-Obi",
- back="Twilight Cape",
- })
- -- Cure set with capped DT for nasty fights like V20+ Odyssey. "//gs c CureDT" to toggle.
- sets.midcast.Cure.CureDT = set_combine(sets.midcast.Cure, {
- ear2="Ebers Earring +1",
- ammo="Staunch Tathlum +1",
- feet="Ebers Duckbills +3",
- })
- sets.midcast.Cure.CureDT.Weather = set_combine(sets.midcast.Cure.CureDT, {
- waist="Hachirin-no-Obi",
- })
- -- Curaga set for CureDT
- sets.midcast.Curaga.CureDT = set_combine(sets.midcast.Curaga, {
- ear2="Ebers Earring +1",
- ammo="Staunch Tathlum +1",
- feet="Ebers Duckbills +3",
- })
- sets.midcast.Curaga.CureDT.Weather = set_combine(sets.midcast.Curaga.CureDT, {
- waist="Hachirin-no-Obi",
- })
- -- Cure set used for cure objective in Omen. Make sure it has 500HP more than your "aftercast.CureObjective" set.
- sets.midcast.CureObjective = set_combine(sets.midcast.Cure, {
- ear1="Tuisto Earring",
- ear2="Odnowa Earring +1",
- back="Moonlight Cape"
- })
- -- For Raise recast
- sets.midcast.HealingRecast = set_combine(sets.precast.FC, {
- main="Asclepius",
- sub="Genmei Shield",
- back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
- })
- -- Enhancing set with 500 skill
- sets.midcast.Enhancing = {
- main={ name="Gada", augments={'Enh. Mag. eff. dur. +6','DEX+1','Mag. Acc.+5','"Mag.Atk.Bns."+18','DMG:+4',}},
- sub="Ammurapi Shield",
- ammo="Pemphredo Tathlum",
- head={ name="Telchine Cap", augments={'Mag. Evasion+24','"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
- neck="Incanter's Torque",
- ear1="Mimir Earring",
- ear2="Andoaa Earring",
- body={ name="Telchine Chas.", augments={'Mag. Evasion+25','"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
- hands={ name="Telchine Gloves", augments={'Mag. Evasion+25','"Fast Cast"+5','Enh. Mag. eff. dur. +10',}},
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- back={ name="Mending Cape", augments={'Healing magic skill +10','Enha.mag. skill +7','Mag. Acc.+10',}},
- waist="Embla Sash",
- legs={ name="Telchine Braconi", augments={'Mag. Evasion+25','"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
- feet="Theophany Duckbills +3"
- }
- -- If you have to take out duration gear to hit 500 skill above, add the duration gear here for when skill isn't needed.
- sets.midcast.EnhancingDuration = set_combine(sets.midcast.Enhancing, {
- })
- -- Make sure this set has 500 skill as well.
- sets.midcast.BarElement = set_combine(sets.midcast.Enhancing, {
- main="Beneficus",
- head="Ebers Cap +3",
- body="Ebers Bliaut +3",
- hands="Ebers Mitts +3",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity-10','Damage taken-5%',}},
- legs="Piety Pantaloons +3",
- feet="Ebers Duckbills +3"
- })
- sets.midcast.BarAilment = set_combine(sets.midcast.Enhancing, {
- neck="Sroda Necklace"
- })
- sets.midcast.Regen = {
- main="Bolelabunga",
- sub="Ammurapi Shield",
- head="Inyanga Tiara +2",
- neck="Incanter's Torque",
- body="Piety Bliaut +3",
- hands="Ebers Mitts +3",
- waist="Embla Sash",
- legs="Theophany Pantaloons +3",
- feet="Theophany Duckbills +3"
- }
- sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingDuration, {
- neck="Nodens Gorget",
- ear2="Earthcry Earring",
- waist="Siegel Sash"
- })
- sets.midcast["Auspice"] = set_combine(sets.midcast.EnhancingDuration, {
- feet="Ebers Duckbills +3"
- })
- sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingDuration, {
- main="Vadose Rod",
- head="Chironic Hat",
- waist="Emphatikos Rope",
- --legs="Shedir Seraweels"
- })
- sets.midcast.Enfeebling = {
- main="Yagrush",
- sub="Ammurapi Shield",
- ammo="Hydrocera",
- head="Theophany Cap +3",
- neck="Erra Pendant",
- ear1="Malignance Earring",
- ear2="Regal Earring",
- body="Theophany Bliaut +3",
- hands="Kaykaus Cuffs +1",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- back="Aurist's Cape +1",
- waist="Obstinate Sash",
- legs={ name="Chironic Hose", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Haste+1','MND+10','Mag. Acc.+7','"Mag.Atk.Bns."+11',}},
- feet="Theophany Duckbills +3"
- }
- -- This is a set I just use for Paralyze to maximize MND.
- sets.midcast.EnfeeblingMND = set_combine(sets.midcast.Enfeebling, {
- main="Daybreak",
- waist="Luminary Sash"
- })
- -- Used by all black magic enfeebs.
- sets.midcast.EnfeeblingINT = set_combine(sets.midcast.Enfeebling, {
- ammo="Pemphredo Tathlum",
- waist="Acuity Belt +1"
- })
- sets.midcast.Divine = set_combine(sets.midcast.Enfeebling, {
- neck="Jokushu Chain"
- })
- sets.midcast.NaSpell = set_combine(sets.precast.FC, {
- main="Yagrush",
- sub="Genmei Shield",
- ammo="Staunch Tathlum +1",
- head="Bunzi's Hat",
- neck="Cleric's Torque +2",
- body="Zendik Robe",
- hands="Ebers Mitts +3",
- ring2="Defending Ring",
- feet="Nyame Sollerets"
- })
- sets.midcast.Erase = set_combine(sets.midcast.NaSpell, {
- })
- sets.midcast.Esuna = set_combine(sets.midcast.NaSpell, {
- main="Asclepius"
- })
- sets.midcast.Cursna = {
- main="Yagrush",
- sub="Genmei Shield",
- ammo="Hasty Pinion +1",
- head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
- neck="Debilis Medallion",
- ear1="Meili Earring",
- ear2="Ebers Earring +1",
- body="Ebers Bliaut +3",
- hands="Fanatic Gloves",
- ring1="Menelaus's Ring",
- ring2="Haoma's Ring",
- back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
- waist="Bishop's Sash",
- legs="Theophany Pantaloons +3",
- feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
- }
- sets.midcast.Elemental = {
- main="Daybreak",
- sub="Ammurapi Shield",
- ammo="Pemphredo Tathlum",
- head=empty,
- neck="Sanctity Necklace",
- ear1="Malignance Earring",
- ear2="Regal Earring",
- body="Cohort Cloak +1",
- hands={ name="Chironic Gloves", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Spell interruption rate down -3%','MND+1','Mag. Acc.+8','"Mag.Atk.Bns."+14',}},
- ring1="Freke Ring",
- ring2="Shiva Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},
- waist="Sacro Cord",
- legs={ name="Kaykaus Tights +1", augments={'INT+12','"Mag.Atk.Bns."+20','Enmity-6',}},
- feet={ name="Chironic Slippers", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Cure" potency +3%','INT+5','"Mag.Atk.Bns."+12',}},
- }
- sets.midcast.Elemental.Weather = set_combine(sets.midcast.Elemental, {
- waist="Hachirin-no-Obi"
- })
- -- Banish Potency against Undead ~ I think the cap for Banishga II is about +42%
- sets.midcast.BanishPotency = set_combine(sets.midcast.Elemental.Weather, {
- neck="Jokushu Chain",
- hands="Fanatic Gloves",
- })
- sets.midcast['Impact'] = set_combine(sets.midcast.Elemental, { -- Make sure to leave the head empty --
- head=empty,
- body="Crepuscular Cloak",
- hands="Inyanga Dastanas +2",
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- })
- sets.midcast["Benediction"] = { body="Piety Bliaut +3" }
- sets.midcast["Protectra V"] = set_combine(sets.midcast.EnhancingDuration, {
- ring2="Sheltered Ring"
- })
- sets.midcast["Shellra V"] = set_combine(sets.midcast.EnhancingDuration, {
- ring2="Sheltered Ring"
- })
- sets.midcast["Dispelga"] = set_combine(sets.midcast.EnfeeblingINT, {
- main="Daybreak",
- sub="Ammurapi Shield"
- })
- sets.midcast["Divine Caress"] = {
- hands="Ebers Mitts +3",
- back="Mending Cape"
- }
- -- Base weaponskill set, use WSD for this since most stuff is single or double hit.
- sets.midcast.Weaponskill = {
- ammo="Oshasha's Treatise",
- head="Nyame Helm",
- neck="Cleric's Torque +2",
- ear1="Ishvara Earring",
- ear2="Telos Earring",
- body="Nyame Mail",
- hands="Nyame Gauntlets",
- ring1="Epaminondas's Ring",
- ring2="Metamorph Ring +1",
- back={ name="Alaunus's Cape", augments={'MND+20','Accuracy+20 Attack+20','MND+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}},
- waist="Grunfeld Rope",
- legs="Nyame Flanchard",
- feet="Nyame Sollerets"
- }
- sets.midcast.Weaponskill.MAB = set_combine(sets.midcast.Weaponskill, {
- neck="Sanctity Necklace",
- ear1="Malignance Earring",
- ear2="Regal Earring",
- waist="Orpheus's Sash",
- })
- -- 7 hits, no crit, fTP carries
- sets.midcast["Realmrazer"] = set_combine(sets.midcast.Weaponskill, {
- neck="Fotia Gorget",
- ear1="Regal Earring",
- ring1="Ilabrat Ring",
- waist="Fotia Belt",
- })
- -- 6 hits, crit WS, fTP carries
- sets.midcast["Hexa Strike"] = set_combine(sets.midcast.Weaponskill, {
- neck="Fotia Gorget",
- ear1="Regal Earring",
- ring1="Begrudging Ring",
- feet="Ayanmo Gambieras +2",
- waist="Fotia Belt",
- })
- sets.midcast["Flash Nova"] = set_combine(sets.midcast.Weaponskill.MAB, {
- })
- sets.midcast["Seraph Strike"] = set_combine(sets.midcast.Weaponskill.MAB, {
- })
- -- Treasure Hunter set. Don't put anything in here except TH+ gear.
- -- It overwrites slots in other sets when TH toggle is on (Ctrl+F10).
- sets.midcast.TH = {
- head="Volte Cap",
- waist="Chaac Belt",
- hands="Volte Bracers",
- feet="Volte Boots"
- }
- sets.aftercast = {}
- -- Idle set used when IdleMode is "Refresh"
- sets.aftercast.Refresh = {
- main="Mpaca's Staff",
- sub="Oneiros Grip",
- ammo="Homiliary",
- head={ name="Chironic Hat", augments={'"Fast Cast"+2','"Refresh"+2','Mag. Acc.+18 "Mag.Atk.Bns."+18',}},
- neck="Loricate Torque +1",
- ear1="Moonshade Earring",
- ear2="Etiolation Earring",
- body="Ebers Bliaut +3",
- hands={ name="Chironic Gloves", augments={'Pet: INT+10','AGI+12','"Refresh"+2','Accuracy+6 Attack+6',}},
- ring1={name="Stikini Ring +1", bag="wardrobe2"},
- ring2={name="Stikini Ring +1", bag="wardrobe4"},
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity-10','Damage taken-5%',}},
- waist="Carrier's Sash",
- legs={ name="Chironic Hose", augments={'AGI+8','Pet: Mag. Acc.+14','"Refresh"+2','Accuracy+16 Attack+16','Mag. Acc.+15 "Mag.Atk.Bns."+15',}},
- feet={ name="Chironic Slippers", augments={'Pet: INT+6','"Snapshot"+1','"Refresh"+2','Accuracy+12 Attack+12','Mag. Acc.+4 "Mag.Atk.Bns."+4',}}
- }
- sets.aftercast.Refresh.LowMP = set_combine(sets.aftercast.Refresh, {
- waist="Fucho-no-obi",
- })
- sets.aftercast.Avatar = set_combine(sets.aftercast.Refresh, {
- waist="Avatar Belt",
- })
- -- Used when IdleMode is "DT"
- -- As much refresh as I can get while still having capped DT.
- sets.aftercast.DT = set_combine(sets.aftercast.Refresh, {
- main="Asclepius",
- sub="Genmei Shield",
- ammo="Staunch Tathlum +1",
- ring2="Defending Ring"
- })
- -- Used when IdleMode is "MEva" and also the main idle set when IdleMode is "Auto"
- -- This is my favored idle set with capped DT and tons of magic evasion, but not much refresh.
- sets.aftercast.MEva = set_combine(sets.aftercast.DT, {
- main="Asclepius",
- sub="Genmei Shield",
- ammo="Staunch Tathlum +1",
- head="Inyanga Tiara +2",
- neck="Warder's Charm +1",
- ear1="Sanare Earring",
- ear2="Moonshade Earring",
- body="Ebers Bliaut +3",
- hands="Nyame Gauntlets",
- ring1="Inyanga Ring",
- ring2="Defending Ring",
- back={ name="Alaunus's Cape", augments={'HP+60','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity-10','Damage taken-5%',}},
- waist="Carrier's Sash",
- legs="Inyanga Shalwar +2",
- feet="Inyanga Crackows +2"
- })
- sets.aftercast.Shamash = set_combine(sets.aftercast.MEva, {
- body="Shamash Robe"
- })
- -- Used for CureObjective mode. If you plan to use that mode, ensure this set has 500HP less than "midcast.CureObjective".
- sets.aftercast.CureObjective = set_combine(sets.aftercast.Refresh, {
- ring2="Metamorph Ring +1",
- })
- -- Used when IdleMode is "TP"
- sets.aftercast.TP = {
- ammo="Oshasha's Treatise",
- head={ name="Chironic Hat", augments={'"Dual Wield"+3','INT+4','"Store TP"+5','Accuracy+2 Attack+2',}},
- neck="Lissome Necklace",
- ear1="Telos Earring",
- ear2="Crep. Earring",
- body="Nyame Mail",
- hands="Bunzi's Gloves",
- ring1={name="Chirich Ring +1", bag="wardrobe2"},
- ring2={name="Chirich Ring +1", bag="wardrobe4"},
- back={ name="Alaunus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}},
- waist="Ninurta's Sash",
- legs={ name="Chironic Hose", augments={'Rng.Atk.+28','Accuracy+23','"Store TP"+6','Accuracy+17 Attack+17',}},
- feet={ name="Chironic Slippers", augments={'"Dual Wield"+4','Rng.Acc.+21 Rng.Atk.+21','Quadruple Attack +3','Accuracy+17 Attack+17',}}
- }
- sets.aftercast.DualWield = set_combine(sets.aftercast.TP, {
- ear2="Suppanomimi",
- })
- sets.aftercast.Hybrid = set_combine(sets.aftercast.TP, {
- ammo="Staunch Tathlum +1",
- head="Nyame Helm",
- legs="Nyame Flanchard",
- feet="Nyame Sollerets"
- })
- sets.aftercast.HybridDW = set_combine(sets.aftercast.DT, {})
- sets.aftercast.HybridDW.Engaged = set_combine(sets.aftercast.Hybrid, {
- ear2="Suppanomimi",
- feet={ name="Chironic Slippers", augments={'"Dual Wield"+4','Rng.Acc.+21 Rng.Atk.+21','Quadruple Attack +3','Accuracy+17 Attack+17',}}
- })
- -- Used when IdleMode is "KC". I try to eliminate double attack here since it's bad with Kraken Club.
- sets.aftercast.KC = set_combine(sets.aftercast.TP, {
- neck="Combatant's Torque",
- ear2="Suppanomimi",
- body="Ebers Bliaut +3",
- hands="Gazu Bracelets +1",
- waist="Goading Belt",
- })
- -- ===================================================================================================================
- -- End of Sets
- -- ===================================================================================================================
- NaSpells = S{"Blindna","Erase","Paralyna","Poisona","Silena","Stona","Viruna"}
- BarElement = S{"Barfira","Barstonra","Barwatera","Baraera","Barblizzara","Barthundra"}
- EnhancingSpells = S{"Boost-STR","Boost-DEX","Boost-VIT","Boost-AGI","Boost-INT","Boost-MND","Boost-CHR"}
- EnfeeblingMND = S{"Paralyze"}
- end
- function precast(spell)
- --if midaction() then
- --cancel_spell()
- --return
- --end
- if spell.type=="Item" then
- return
- end
- -- Spell fast cast
- if spell.action_type=="Magic" then
- if sets.precast[spell.english] then
- equip(sets.precast[spell.english])
- elseif spell.skill=="Enhancing Magic" then
- equip(sets.precast.FC_Enhancing)
- elseif string.find(spell.name,"Cure") or string.find(spell.name,"Curaga") then
- equip(sets.precast.FC_Cure)
- elseif NaSpells:contains(spell.name) or spell.name=="Cursna" then
- equip(sets.precast.FC_Ailment)
- else
- equip(sets.precast.FC)
- end
- end
- end
- function midcast(spell)
- if spell.type=="Item" then
- return
- end
- -- Check for a specific set
- if sets.midcast[spell.english] then
- equip(sets.midcast[spell.english])
- if spell.name=="Cursna" and Gambanteinn then
- equip({main="Gambanteinn"})
- end
- -- Specific Spells
- elseif string.find(spell.name,"Cure") then
- equipSet = sets.midcast.Cure
- if CureObjective then
- equipSet = sets.midcast.CureObjective
- end
- if CureDT and equipSet["CureDT"] then
- equipSet = equipSet["CureDT"]
- end
- if (spell.element==world.weather_element or buffactive["Aurorastorm"]) and equipSet["Weather"] then
- equipSet = equipSet["Weather"]
- end
- equip(equipSet)
- elseif string.find(spell.name,"Cura") then
- equipSet = sets.midcast.Curaga
- if CureDT and equipSet["CureDT"] then
- equipSet = equipSet["CureDT"]
- end
- if (spell.element==world.weather_element or buffactive["Aurorastorm"]) and equipSet["Weather"] then
- equipSet = equipSet["Weather"]
- end
- equip(equipSet)
- elseif NaSpells:contains(spell.name) then
- equip(sets.midcast.NaSpell)
- elseif string.find(spell.name,"Regen") then
- equip(sets.midcast.Regen)
- elseif string.sub(spell.name,1,3)=="Bar" then
- if BarElement:contains(spell.name) then
- equip(sets.midcast.BarElement)
- else
- equip(sets.midcast.BarAilment)
- end
- -- Spells by Type/Skill
- elseif spell.skill=="Enfeebling Magic" then
- equipSet = sets.midcast.Enfeebling
- if EnfeeblingMND:contains(spell.name) then
- equipSet = sets.midcast.EnfeeblingMND
- elseif spell.type=="BlackMagic" then
- equipSet = sets.midcast.EnfeeblingINT
- end
- if CureDT and equipSet["CureDT"] then
- equipSet = equipSet["CureDT"]
- end
- equip(equipSet)
- elseif spell.skill=="Enhancing Magic" then
- equipSet = sets.midcast.EnhancingDuration
- if EnhancingSpells:contains(spell.name) then
- equipSet = sets.midcast.Enhancing
- end
- if CureDT and equipSet["CureDT"] then
- equipSet = equipSet["CureDT"]
- end
- equip(equipSet)
- elseif spell.skill=="Divine Magic" then
- if spell.name=="Repose" then
- equip(sets.midcast.Divine)
- else
- if BanishPotency and string.sub(spell.name,1,6)=="Banish" then
- equip(sets.midcast.BanishPotency)
- else
- equipSet = sets.midcast.Elemental
- if spell.element == world.weather_element or spell.element == world.day_element and equipSet["Weather"] then
- equipSet = equipSet["Weather"]
- end
- equip(equipSet)
- end
- end
- elseif spell.skill=="Healing Magic" then
- equip(sets.midcast.HealingRecast)
- elseif spell.type=="WeaponSkill" then
- equip(sets.midcast.Weaponskill)
- elseif spell.type=="BloodPactWard" or spell.type=="BloodPactRage" then
- equip(sets.precast.BP)
- else
- idle()
- end
- -- Treasure Hunter
- if TreasureHunter and THSpells:contains(spell.name) then
- equip(sets.midcast.TH)
- end
- -- Auto-cancel existing buffs
- if spell.name=="Stoneskin" and buffactive["Stoneskin"] then
- windower.send_command('cancel 37;')
- elseif spell.name=="Sneak" and buffactive["Sneak"] and spell.target.type=="SELF" then
- windower.send_command('cancel 71;')
- elseif spell.name=="Utsusemi: Ichi" and buffactive["Copy Image"] then
- windower.send_command('wait 1;cancel 66;')
- end
- end
- function aftercast(spell)
- if spell.type=="Item" then
- return
- end
- idle()
- end
- function status_change(new,old)
- idle()
- end
- function buff_change(name,gain)
- -- Auto-wakeup
- if name=="sleep" and gain then
- if not buffactive["Sublimation: Activated"] then
- equip(sets.WakeUp)
- end
- if buffactive["Stoneskin"] then
- windower.send_command('cancel 37;')
- end
- end
- end
- function self_command(command)
- is_valid = command:lower()=="idle"
- if IdleModeCommands:contains(command) then
- IdleMode = command
- is_valid = true
- send_command('console_echo "Idle Mode: '..IdleMode..'"')
- elseif command:lower()=="cycleidle" then
- if IdleMode=="Auto" then
- IdleMode = "DT"
- elseif IdleMode=="DT" then
- IdleMode = "Refresh"
- elseif IdleMode=="Refresh" then
- IdleMode = "MEva"
- else
- IdleMode = "Auto"
- end
- is_valid = true
- send_command('console_echo "Idle Mode: '..IdleMode..'"')
- elseif command:lower()=="weaponlock" then
- if WeaponLock then
- enable("main","sub","range")
- IdleMode = "Auto"
- WeaponLock = false
- else
- disable("main","sub","range")
- IdleMode = "Hybrid"
- WeaponLock = true
- end
- is_valid = true
- send_command('console_echo "Idle Mode: '..IdleMode..'"')
- send_command('console_echo "Weapon Lock: '..tostring(WeaponLock)..'"')
- elseif command:lower()=="accmode" then
- AccMode = AccMode==false
- send_command('console_echo "Acc Mode: '..tostring(AccMode)..'"')
- is_valid = true
- elseif command:lower()=="banishpot" then
- BanishPotency = BanishPotency==false
- send_command('console_echo "Banish Potency Mode: '..tostring(BanishPotency)..'"')
- is_valid = true
- elseif command:lower()=="gamb" then
- Gambanteinn = Gambanteinn==false
- send_command('console_echo "Gambanteinn Cursna Mode: '..tostring(Gambanteinn)..'"')
- is_valid = true
- elseif command:lower()=="th" then
- TreasureHunter = TreasureHunter==false
- is_valid = true
- send_command('console_echo "Treasure Hunter Mode: '..tostring(TreasureHunter)..'"')
- elseif command:lower()=="cureobjective" then
- CureObjective = CureObjective==false
- send_command('console_echo "Cure Objective Mode: '..tostring(CureObjective)..'"')
- is_valid = true
- elseif command:lower()=="curedt" then
- CureDT = CureDT==false
- send_command('console_echo "Cure DT Mode: '..tostring(CureDT)..'"')
- is_valid = true
- end
- if is_valid then
- if (not midaction() and not pet_midaction()) or command:lower()=="idle" then
- idle()
- end
- else
- sanitized = command:gsub("\"", "")
- send_command('console_echo "Invalid self_command: '..sanitized..'"')
- end
- end
- function idle()
- if IdleMode=='Auto' then
- if player.mpp < 50 then
- equip(sets.aftercast.Refresh.LowMP)
- elseif player.mpp < 70 then
- equip(sets.aftercast.DT)
- else
- equip(sets.aftercast.MEva)
- end
- else
- equipSet = sets.aftercast
- if equipSet[IdleMode] then
- equipSet = equipSet[IdleMode]
- end
- if equipSet[player.status] then
- equipSet = equipSet[player.status]
- end
- if player.mpp < 50 and equipSet["LowMP"] then
- equipSet = equipSet["LowMP"]
- end
- equip(equipSet)
- end
- if (buffactive["Sneak"] or buffactive["Invisible"] or buffactive["Bolter's Roll"]) and IdleMode~='DT' then
- equip(sets.Movement)
- end
- -- Balrahn's Ring
- --if Salvage:contains(world.area) then
- -- equip({ring2="Balrahn's Ring"})
- --end
- -- Maquette Ring
- --if world.area=='Maquette Abdhaljs-Legion' and not IdleMode=='DT' then
- -- equip({ring2="Maquette Ring"})
- --end
- -- CureObjective Mode takes precedence over everything else
- if CureObjective then
- equip(sets.aftercast.CureObjective)
- end
- -- Wake up if slept
- if buffactive["Sleep"] then
- if not buffactive["Sublimation: Activated"] then
- equip(sets.WakeUp)
- end
- end
- end
Add Comment
Please, Sign In to add comment