Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------------------------------------------
- -- Setup functions for this job. Generally should not be modified.
- -------------------------------------------------------------------------------------------------------------------
- -- Initialization function for this job file.
- function get_sets()
- mote_include_version = 2
- -- Load and initialize the include file.
- include('Mote-Include.lua')
- end
- -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
- function job_setup()
- state.Buff['Aftermath: Lv.3'] = buffactive['Aftermath: Lv.3'] or false
- state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or false
- state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
- state.Buff.Convergence = buffactive.Convergence or false
- state.Buff.Diffusion = buffactive.Diffusion or false
- state.Buff.Efflux = buffactive.Efflux or false
- state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
- -- All Augmented gear used in sets below
- gear.RunCuisses = "Carmine Cuisses +1"
- blue_magic_maps = {}
- -- Mappings for gear sets to use for various blue magic spells.
- -- While Str isn't listed for each, it's generally assumed as being at least
- -- moderately signficant, even for spells with other mods.
- -- Physical Spells --
- -- Physical spells with no particular (or known) stat mods
- blue_magic_maps.Physical = S{
- 'Bilgestorm'
- }
- -- Spells with heavy accuracy penalties, that need to prioritize accuracy first.
- blue_magic_maps.PhysicalAcc = S{
- 'Heavy Strike',
- }
- -- Physical spells with Str stat mod
- blue_magic_maps.PhysicalStr = S{
- 'Battle Dance','Bloodrake','Death Scissors','Dimensional Death',
- 'Empty Thrash','Quadrastrike','Spinal Cleave',
- 'Uppercut','Vertical Cleave','Sinker Drill'
- }
- -- Physical spells with Dex stat mod
- blue_magic_maps.PhysicalDex = S{
- 'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment',
- 'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad',
- 'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault',
- 'Vanity Dive'
- }
- -- Physical spells with Vit stat mod
- blue_magic_maps.PhysicalVit = S{
- 'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam',
- 'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash'
- }
- -- Physical spells with Agi stat mod
- blue_magic_maps.PhysicalAgi = S{
- 'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream',
- 'Pinecone Bomb','Spiral Spin','Wild Oats'
- }
- -- Physical spells with Int stat mod
- blue_magic_maps.PhysicalInt = S{
- 'Mandibular Bite','Queasyshroom'
- }
- -- Physical spells with Mnd stat mod
- blue_magic_maps.PhysicalMnd = S{
- 'Ram Charge','Screwdriver','Tourbillion'
- }
- -- Physical spells with Chr stat mod
- blue_magic_maps.PhysicalChr = S{
- 'Bludgeon'
- }
- -- Physical spells with HP stat mod
- blue_magic_maps.PhysicalHP = S{
- 'Final Sting'
- }
- -- Magical Spells --
- -- Magical spells with the typical Int mod
- blue_magic_maps.Magical = S{
- 'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray',
- 'Droning Whirlwind','Embalming Earth','Firespit','Foul Waters','Ice Break',
- 'Leafstorm','Maelstrom','Regurgitation','Rending Deluge','Retinal Glare',
- 'Subduction','Tem. Upheaval','Water Bomb','Tenebral Crush','Entomb','Spectral Floe',
- 'Blinding Fulgor'
- }
- -- Magical spells with a primary Mnd mod
- blue_magic_maps.MagicalMnd = S{
- 'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast','Scouring Spate'
- }
- -- Magical spells with a primary Chr mod
- blue_magic_maps.MagicalChr = S{
- 'Eyes On Me','Mysterious Light'
- }
- -- Magical spells with a primary AGI mod
- blue_magic_maps.MagicalAgi = S{
- 'Palling Salvo'
- }
- -- Magical spells with a primary STR mod
- blue_magic_maps.MagicalStr = S{
- 'Searing Tempest'
- }
- -- Magical spells with a Vit stat mod (on top of Int)
- blue_magic_maps.MagicalVit = S{
- 'Thermal Pulse','Entomb'
- }
- -- Magical spells with a Dex stat mod (on top of Int)
- blue_magic_maps.MagicalDex = S{
- 'Charged Whisker','Gates of Hades','Anvil Lightning'
- }
- -- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage.
- -- Add Int for damage where available, though.
- blue_magic_maps.MagicAccuracy = S{
- 'Silent Storm','1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye',
- 'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye',
- 'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest',
- 'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar',
- 'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance',
- 'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind',
- 'Sandspin','Sandspray','Sheep Song','Spectral Floe','Soporific','Sound Blast','Stinking Gas',
- 'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn'
- }
- -- Breath-based spells
- blue_magic_maps.Breath = S{
- 'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath',
- 'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct',
- 'Thunder Breath','Vapor Spray','Wind Breath'
- }
- -- Stun spells
- blue_magic_maps.Stun = S{
- 'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift',
- 'Thunderbolt','Whirl of Rage'
- }
- -- Healing spells
- blue_magic_maps.Healing = S{
- 'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','White Wind',
- 'Wild Carrot'
- }
- -- Buffs that depend on blue magic skill
- blue_magic_maps.SkillBasedBuff = S{
- 'Occultation','Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge',
- 'Pyric Bulwark','Reactor Cool',
- }
- -- Other general buffs
- blue_magic_maps.Buff = S{
- 'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon',
- 'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell',
- 'Memento Mori','Nat. Meditation','Orcish Counterstance','Refueling',
- 'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion',
- 'Zephyr Mantle'
- }
- -- Spells that require Unbridled Learning to cast.
- unbridled_spells = S{
- 'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
- 'Droning Whirlwind','Gates of Hades','Harden Shell','Pyric Bulwark','Thunderbolt',
- 'Tourbillion'
- }
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
- -------------------------------------------------------------------------------------------------------------------
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- state.OffenseMode:options('Normal', 'Acc')
- state.WeaponskillMode:options('Normal', 'Acc')
- state.CastingMode:options('Normal', 'Resistant')
- state.IdleMode:options('Normal', 'PDT')
- update_combat_form()
- select_default_macro_book()
- send_command('@wait 1;input /lockstyleset 5')
- end
- -- Set up gear sets.
- function init_gear_sets()
- --------------------------------------
- -- Start defining the sets
- --------------------------------------
- -- React Sets --
- sets.React = {}
- sets.React.PDT = {
- ammo="Staunch Tathlum +1", --3 DT--
- head="Ayanmo Zucchetto +2", --2 DT--
- ear1="Ethereal Earring",
- neck="Loricate Torque +1", --6 DT--
- body="Ayanmo Corazza +2", --6 PDT--
- hands="Malignance Gloves", --2 PDT 5 DT--
- ring1="Defending Ring", --10 DT--
- ring2="Patricius Ring", --5 PDT--
- back="Solemnity Cape", --4 DT--
- waist="Flume Belt", --4 PDT--
- legs="Ayanmo Cosciales +2", --2 PDT--
- feet="Herculean Boots", --2 PDT--
- }
- sets.React.MDT = sets.React.PDT
- sets.React.BDT = sets.React.PDT
- sets.React.MEVA = {
- ammo="Staunch Tathlum +1",
- head="Psycloth Tiara",
- neck="Warder's Charm +1",
- ear1="Flashward Earring",
- ear2="Eabani Earring",
- body="Amalric Doublet +1",
- hands="Telchine Gloves",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back={ name="Rosmerta's Cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Mag. Evasion+15',}},
- waist="Carrier's Sash",
- legs="Telchine Braconi",
- feet="Telchine Pigaches"
- }
- sets.React.Light = set_combine(sets.React.MEVA, {ring2="Wuji Ring"})
- sets.React.Dark = set_combine(sets.React.MEVA, {ring2="Wuji Ring"})
- sets.React.Thunder = set_combine(sets.React.MEVA, {ring2="Icecrack Ring"})
- sets.React.Ice = set_combine(sets.React.MEVA, {ring2="Icecrack Ring"})
- sets.React.Water = set_combine(sets.React.MEVA, {})
- sets.React.Fire = set_combine(sets.React.MEVA, {})
- sets.React.Air = set_combine(sets.React.MEVA, {})
- sets.React.Stone = set_combine(sets.React.MEVA, {ring2="Kunaji Ring"})
- sets.React.Status = set_combine(sets.React.MEVA, {ammo="Staunch Tathlum +1",ear2="Hearty Earring",})
- sets.React.Paralyze = set_combine(sets.React.Status, {ring2="Icecrack Ring"})
- sets.React.Sleep = set_combine(sets.React.Status, {ring2="Wuji Ring"})
- sets.React.Charm = set_combine(sets.React.Status, {ring2="Wuji Ring"})
- sets.React.Stun = set_combine(sets.React.PDT, {Body="Onca Suit"})
- sets.React.Silence = set_combine(sets.React.Status, {ear1="Etiolation Earring"})
- sets.React.Slow = set_combine(sets.React.Status, {ring2="Kunaji Ring"})
- sets.React.Death = set_combine(sets.React.Status, {})
- sets.React.Gravity = set_combine(sets.React.Status, {})
- sets.React.Bind = set_combine(sets.React.Status, {})
- sets.React.Petrify = set_combine(sets.React.Status, {})
- -- Blu JA --
- sets.buff['Burst Affinity'] = {}
- sets.buff['Chain Affinity'] = {}
- sets.buff.Convergence = {}
- sets.buff.Diffusion = {feet="Luhlaza Charuqs +1"}
- sets.buff.Enchainment = {}
- sets.buff.Efflux = {}
- -- Precast Sets
- -- Precast sets to enhance JAs
- sets.precast.JA['Azure Lore'] = {}
- sets.precast.JA['Box Step'] = set_combine(sets.engaged.Acc, {})
- sets.precast.JA['Stutter Step'] = set_combine(sets.engaged.Acc, {})
- sets.precast.JA['Violent Flourish'] = set_combine(sets.engaged.Acc, {})
- sets.precast.JA['Swipe'] = {
- ammo="Pemphredo Tathlum",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- neck="Sanctity Necklace",
- ear1="Friomisi earring",
- ear2="Novio Earring",
- body="Jhakri Robe +2",
- hands="Amalric Gages +1",
- ring1= {name="Shiva Ring +1", bag="wardobe"},
- ring2="Acumen Ring",
- back="Cornflower Cape",
- waist="Eschan Stone",
- legs="Luhlaza Shalwar +3",
- feet="Jhakri Pigaches +2"}
- sets.precast.JA['Lunge'] = sets.precast.JA['Swipe']
- -- Waltz set (chr and vit)
- sets.precast.Waltz = {}
- -- Don't need any special gear for Healing Waltz.
- sets.precast.Waltz['Healing Waltz'] = {}
- -- Fast cast sets for spells
- sets.precast.FC = {
- ammo="Impatiens",
- head={ name="Herculean Helm", augments={'"Fast Cast"+6','Enmity-6','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
- neck="Baetyl Pendant",
- ear1="Etiolation Earring",
- ear2="Loquacious Earring",
- body="Vrikodara jupon",
- hands="Leyline Gloves",
- ring1="Prolix Ring",
- ring2="Kishar Ring",
- back={ name="Rosmerta's Cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','"Fast Cast"+10','Mag. Evasion+15',}},
- waist="Witful Belt",
- legs="Lengo Pants",
- feet="Carmine Greaves +1",}
- sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Hashishin Mintan +1"})
- sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {})
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {
- ammo="Ginsen",
- head="Adhemar Bonnet +1",
- neck="Fotia Gorget",
- ear1={name="Mache Earring +1", bag="wardrobe"},
- ear2="Ishvara Earring", --ear2="Brutal Earring",--
- body="Assim. Jubbah +3",
- hands="Jhakri Cuffs +2",
- ring1="Ilabrat Ring",
- ring2="Epona's Ring",
- back={ name="Rosmerta's Cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
- waist="Fotia Belt",
- legs="Samnuha Tights",
- feet={name="Herculean Boots", augments={'"Waltz" potency +2%','CHR+10','Weapon skill damage +8%','Accuracy+9 Attack+9','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},}
- sets.precast.WS.acc = set_combine(sets.precast.WS, {
- ammo="Falcon Eye",
- head="Carmine Mask +1",
- legs="Carmine Cuisses +1",
- ear2={name="Mache Earring +1", bag="Wardrobe2"},
- ring2="Cacoethic Ring +1",
- })
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {
- body="Jhakri Robe +2",
- feet="Jhakri Pigaches +2",
- legs="Carmine Cuisses +1",
- ring2={name="Stikini Ring +1", bag="Wardrobe4"},
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}})
- sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'], {
- head="Carmine Mask +1",
- })
- sets.precast.WS['Realmrazer'] = set_combine(sets.precast.WS, {})
- sets.precast.WS['Circle Blade'] = set_combine(sets.precast.WS, {})
- sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS,{
- neck ="Mirage Stole +2",
- ring2="Epaminondas's Ring",
- waist="Prosilio Belt +1",
- legs="Luhlaza Shalwar +3",
- })
- sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {
- ammo="Falcon Eye",
- head="Carmine Mask +1",
- ear2={name="Mache Earring +1", bag="Wardrobe2"},
- ring1="Cacoethic Ring +1",
- })
- sets.precast.WS['Expiacion'] = set_combine(sets.precast.WS, {
- neck ="Mirage Stole +2",
- ammo="Floestone",
- ring2="Epaminondas's Ring",
- waist="Prosilio Belt +1",
- legs="Luhlaza Shalwar +3",
- })
- sets.precast.WS['Expiacion'].Acc = set_combine(sets.precast.WS['Expiacion'], {
- ammo="Falcon Eye",
- head="Carmine Mask +1",
- ear1={name="Mache Earring +1", bag="Wardrobe"},
- ring1="Cacoethic Ring +1",
- })
- sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {
- ammo="Falcon Eye",
- ear2={name="Mache Earring +1", bag="Wardrobe2"},
- body="Adhemar Jacket +1",
- hands="Adhemar Wristbands +1",
- feet="Thereoid Greaves",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}},
- ring1="Begrudging Ring"})
- sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'], {
- head="Carmine Mask +1",
- legs="Carmine Cuisses +1",
- })
- sets.precast.WS['Vorpal Blade'] = set_combine(sets.precast.WS['Chant du Cygne'], {})
- sets.precast.WS['Sanguine Blade'] = {
- ammo="Pemphredo Tathlum",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- neck="Sanctity Necklace",
- ear1="Friomisi Earring",
- ear2="Regal Earring",
- body="Jhakri Robe +2",
- hands="Jhakri Cuffs +2",
- ring1="Archon Ring",
- ring2="Epaminondas's Ring",
- back={ name="Rosmerta's Cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
- waist="Eschan Stone",
- legs="Luhlaza Shalwar +3",
- feet="Jhakri Pigaches +2"}
- sets.precast.WS['Flash Nova'] = set_combine(sets.precast.WS['Sanguine Blade'], {})
- -- Midcast Sets
- sets.midcast.FastRecast = set_combine(sets.precast.FC,
- {})
- sets.midcast['Blue Magic'] = {}
- -- Physical Spells --
- sets.midcast['Blue Magic'].Physical = {
- ammo="Falcon Eye",
- head="Adhemar Bonnet +1",
- neck ="Mirage Stole +2",
- ear1="Tati Earring",
- ear2="Tati Earring",
- body="Adhemar Jacket +1",
- hands="Adhemar Wristbands +1",
- ring1="Ilabrat Ring",
- ring2="Shukuyu Ring",
- back={ name="Rosmerta's Cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
- waist="Prosilio Belt +1",
- legs="Jhakri Slops +2",
- feet="Assimilator's Charuqs +3"}
- sets.midcast['Blue Magic'].PhysicalAcc = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalStr = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalDex = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalVit = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalAgi = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalInt = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalMnd = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalChr = set_combine(sets.midcast['Blue Magic'].Physical, {})
- sets.midcast['Blue Magic'].PhysicalHP = set_combine(sets.midcast['Blue Magic'].Physical, {})
- -- Magical Spells --
- sets.midcast['Blue Magic'].Magical = {
- ammo="Pemphredo Tathlum",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- neck="Sanctity Necklace",
- ear1="Friomisi earring",
- ear2="Regal Earring",
- body="Amalric Doublet +1",
- hands="Amalric Gages +1",
- ring1= {name="Shiva Ring +1", bag="Wardobe"},
- ring2= {name="Shiva Ring +1", bag="Wardobe3"},
- back={ name="Rosmerta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
- waist="Yamabuki-no-obi",
- legs="Luhlaza Shalwar +3",
- feet="Jhakri Pigaches +2",}
- sets.midcast['Blue Magic'].Magical.Resistant = set_combine(sets.midcast['Blue Magic'].Magical,
- {body={ name="Herculean Vest", augments={'Pet: INT+6','VIT+12','"Treasure Hunter"+2','Accuracy+2 Attack+2',}}})
- sets.midcast['Blue Magic'].MagicalMnd = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicalChr = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicalVit = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicalDex = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicalStr = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicalAgi = set_combine(sets.midcast['Blue Magic'].Magical, {})
- sets.midcast['Blue Magic'].MagicAccuracy = {
- ammo="Pemphredo Tathlum",
- head="Jhakri Coronal +2",
- body="Amalric Doublet +1",
- hands="Jhakri Cuffs +2",
- legs="Luhlaza Shalwar +3",
- feet="Jhakri Pigaches +2",
- neck ="Mirage Stole +2",
- waist="Eschan Stone",
- left_ear="Digni. Earring",
- right_ear="Regal Earring",
- left_ring={name="Stikini Ring +1", bag="Wardrobe3"},
- right_ring={name="Stikini Ring +1", bag="Wardrobe4"},
- back={ name="Rosmerta's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}
- }
- -- Breath Spells --
- sets.midcast['Blue Magic'].Breath = {ammo="Mavi Tathlum",
- head={ name="Herculean Helm", augments={'Magic dmg. taken -5%','"Mag.Atk.Bns."+30','Accuracy+5 Attack+5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
- neck="Sanctity Necklace",
- ear1="Friomisi earring",
- ear2="Novio Earring",
- body="Amalric Doublet +1",
- hands="Amalric Gages +1",
- ring1= {name="Shiva Ring +1", bag="Wardobe"},
- ring2="Acumen Ring",
- back="Cornflower Cape",
- waist="Eschan Stone",
- legs="Luhlaza Shalwar +3",
- feet="Amalric Nails",}
- -- Other Types --
- sets.midcast['Blue Magic'].Stun = {
- ammo="Falcon Eye",
- head="Jhakri Coronal +2",
- body="Jhakri Robe +2",
- hands="Jhakri Cuffs +2",
- legs="Jhakri Slops +2",
- feet="Jhakri Pigaches +2",
- neck ="Mirage Stole +2",
- waist="Eschan Stone",
- ear1={name="Mache Earring +1", bag="Wardrobe"},
- ear2="Digni. Earring",
- left_ring={name="Stikini Ring +1", bag="Wardrobe3"},
- right_ring={name="Stikini Ring +1", bag="Wardrobe4"},
- back={ name="Cornflower Cape", augments={'MP+19','DEX+2','Accuracy+3','Blue Magic skill +10',}}}
- sets.midcast['Blue Magic']['Sudden Lunge'] = {
- ammo="Falcon Eye",
- head="Jhakri Coronal +2",
- body="Jhakri Robe +2",
- hands="Jhakri Cuffs +2",
- legs="Jhakri Slops +2",
- feet="Jhakri Pigaches +2",
- neck ="Mirage Stole +2",
- waist="Eschan Stone",
- ear1={name="Mache Earring +1", bag="Wardrobe"},
- ear2="Digni. Earring",
- left_ring={name="Stikini Ring +1", bag="Wardrobe3"},
- right_ring={name="Stikini Ring +1", bag="Wardrobe4"},
- back={ name="Cornflower Cape", augments={'MP+19','DEX+2','Accuracy+3','Blue Magic skill +10',}}}
- sets.midcast['Blue Magic']['White Wind'] = {
- ammo="Mavi Tathlum",
- head="Taeon Chapeau",
- neck="Phalaina Locket",
- ear1="Lifestorm Earring",
- ear2="Mendicant's Earring",
- body="Vrikodara jupon",
- hands="Telchine Gloves",
- ring1="Asklepian Ring",
- ring2="Kunaji Ring",
- back="Solemnity cape",
- waist="Gishdubar sash",
- legs="Taeon Tights",
- feet="Medium's Sabots"}
- sets.midcast['Blue Magic'].Healing = {
- ammo="Impatiens",
- head="Carmine Mask +1",
- neck="Phalaina Locket",
- ear1="Lifestorm Earring",
- ear2="Mendicant's Earring",
- body="Vrikodara jupon",
- hands="Telchine Gloves",
- ring1="Defending Ring",
- ring2="Lebeche Ring",
- back="Solemnity cape",
- waist="Witful Belt",
- legs="Carmine Cuisses +1",
- feet="Medium's Sabots"}
- sets.midcast['Blue Magic'].SkillBasedBuff = {
- ammo="Mavi Tathlum", --5--
- head="Luh. Keffiyeh +1", --13--
- body="Assim. Jubbah +3", --24--
- neck ="Mirage Stole +2", --20--
- ring1={name="Stikini Ring +1", bag="Wardrobe3"}, --8--
- ring2={name="Stikini Ring +1", bag="Wardrobe4"}, --8--
- hands="Rawhide Gloves", --10--
- legs="Hashishin Tayt +1", --23--
- back="Cornflower Cape", --15--
- feet="Luhlaza Charuqs +1"} --8--
- sets.midcast['Blue Magic']['Occultation'] = set_combine(sets.midcast['Blue Magic'].SkillBasedBuff,{
- head={ name="Herculean Helm", augments={'"Fast Cast"+6','Enmity-6','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
- ear1="Etiolation Earring", --1--
- ear2="Loquacious Earring", --2--
- ring2="Kishar Ring", --2--
- hands="Hashishin Bazubands +1", --14%--
- waist="Witful Belt", --3--
- feet="Carmine Greaves +1"}) --8--
- sets.midcast['Blue Magic'].Buff = {}
- sets.midcast.Protect = set_combine(sets.midcast['Blue Magic'].Buff, {})
- sets.midcast.Protectra = set_combine(sets.midcast['Blue Magic'].Buff, {})
- sets.midcast.Shell = set_combine(sets.midcast['Blue Magic'].Buff, {})
- sets.midcast.Shellra = set_combine(sets.midcast['Blue Magic'].Buff, {})
- sets.midcast.Stoneskin = set_combine(sets.midcast['Blue Magic'].Buff, {})
- sets.midcast.Refresh = set_combine(sets.midcast['Blue Magic'].Buff, {back="Grapevine Cape",waist="Gishdubar sash"})
- sets.midcast['Blue Magic']['Battery Charge'] = set_combine(sets.midcast['Blue Magic'].Buff, {back="Grapevine Cape",waist="Gishdubar sash"})
- -- Sets to return to when not performing an action.
- sets.latent_refresh = {waist="Fucho-no-obi"}
- -- Resting sets
- sets.resting = {
- ammo="Staunch Tathlum +1",
- head="Rawhide mask",
- neck="Sanctity Necklace",
- ear1="Dawn Earring",
- ear2="Infused Earring",
- body="Jhakri Robe +2",
- hands={ name="Herculean Gloves", augments={'MND+5','INT+12','"Refresh"+1','Mag. Acc.+11 "Mag.Atk.Bns."+11',}},
- ring1="Defending Ring",
- ring2={name="Stikini Ring +1", bag="Wardrobe4"},
- back="Kumbira Cape",
- waist="Flume Belt",
- legs="Carmine Cuisses +1",
- feet="Herculean Boots"
- }
- -- Idle sets
- sets.idle = {
- ammo="Staunch Tathlum +1",
- head="Rawhide mask",
- neck="Sanctity Necklace",
- ear1="Dawn Earring",
- ear2="Infused Earring",
- body="Jhakri Robe +2",
- hands={ name="Herculean Gloves", augments={'MND+5','INT+12','"Refresh"+1','Mag. Acc.+11 "Mag.Atk.Bns."+11',}},
- ring1="Defending Ring",
- ring2={name="Stikini Ring +1", bag="Wardrobe4"},
- back="Kumbira Cape",
- waist="Flume Belt",
- legs="Carmine Cuisses +1",
- feet="Herculean Boots"}
- sets.idle.PDT = {}
- sets.idle.MDT = {}
- sets.idle.Town = {
- ammo="Staunch Tathlum +1",
- head="Rawhide mask",
- neck="Sanctity Necklace",
- ear1="Dawn Earring",
- ear2="Infused Earring",
- body="Councilor's Garb",
- hands={ name="Herculean Gloves", augments={'MND+5','INT+12','"Refresh"+1','Mag. Acc.+11 "Mag.Atk.Bns."+11',}},
- ring1={name="Stikini Ring +1", bag="Wardrobe3"},
- ring2={name="Stikini Ring +1", bag="Wardrobe4"},
- back="Kumbira Cape",
- waist="Fucho-no-obi",
- legs="Carmine Cuisses +1",
- feet={name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','Attack+12',}},}
- -- Defense sets
- sets.defense.PDT = {
- ammo="Falcon Eye",
- head="Ayanmo Zucchetto +2",
- neck ="Mirage Stole +2",
- left_ear="Brutal Earring",
- left_ear={name="Mache Earring +1", bag="wardrobe"},
- right_ear={name="Mache Earring +1", bag="wardrobe2"},
- body="Ayanmo Corazza +2",
- hands="Malignance Gloves",
- ring1="Defending Ring",
- ring2="Patricius Ring",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10','Phys. dmg. taken-10%',}},
- waist="Flume Belt",
- legs="Ayanmo Cosciales +2",
- feet={ name="Herculean Boots", augments={'Accuracy+30','Attack+12','"Triple Atk."+3',}},}
- sets.defense.MDT = sets.defense.PDT
- sets.defense.Turtle = sets.defense.PDT
- -- Engaged sets
- -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
- -- sets if more refined versions aren't defined.
- -- If you create a set with both offense and defense modes, the offense mode should be first.
- -- EG: sets.engaged.Dagger.Accuracy.Evasion
- -- Normal melee group
- --AM3--
- --Acc 1164+32 STP 49+2 DW 28[53]--
- sets.engaged = {
- ammo="Ginsen",
- head="Adhemar Bonnet +1",
- neck ="Mirage Stole +2",
- ear1="Dedition Earring",
- ear2="Suppanomimi",
- body="Adhemar Jacket +1",
- hands="Adhemar Wristbands +1",
- ring1="Ilabrat Ring",
- ring2="Epona's Ring",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10','Phys. dmg. taken-10%',}},
- waist="Reiki Yotai",
- legs="Samnuha Tights",
- feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}},
- }
- --Acc 1237(1257)+32 STP 49(46)+2 DW 28[53] DONE--
- sets.engaged.Acc = set_combine(sets.engaged,
- {
- ammo="Falcon Eye",
- head={ name="Dampening Tam", augments={'DEX+10','Accuracy+15','Mag. Acc.+15','Quadruple Attack +3',}},
- body={ name="Adhemar Jacket +1", augments={'STR+12','DEX+12','Attack+20',}},
- hands={ name="Adhemar Wrist. +1", augments={'STR+12','DEX+12','Attack+20',}},
- legs={ name="Adhemar Kecks +1", augments={'DEX+12','AGI+12','Accuracy+20',}},
- feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+3','Attack+12',}},
- neck="Mirage Stole +2",
- waist="Reiki Yotai",
- left_ear="Mache Earring +1",
- right_ear="Suppanomimi",
- left_ring="Ilabrat Ring",
- right_ring="Cacoethic Ring +1",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10','Phys. dmg. taken-10%',}},
- })
- --AM3 Down--
- --Acc 1194+32 STP 32+2 DW 28[53]--
- sets.engaged.DW = set_combine(sets.engaged, {
- ear1="Brutal Earring",
- ring1="Petrov Ring",
- feet={ name="Herculean Boots", augments={'Accuracy+30','Attack+12','"Triple Atk."+3',}},
- })
- --Acc 1317(1337) +32 STP 24+2 DW 28[53]--
- sets.engaged.DW.Acc = set_combine(sets.engaged.Acc, {})
- -- AM 3 MaxHaste Group
- --Acc 1156+32 STP 53+2 DW 11[36]--
- sets.engaged.MaxHaste = set_combine(sets.engaged, {
- waist="Windbuffet Belt +1",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}})
- --Acc 1255+32 STP 45+2 DW 11[36]--
- sets.engaged.Acc.MaxHaste = set_combine(sets.engaged.Acc, {
- waist="Windbuffet Belt +1",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10','Phys. dmg. taken-10%',}}})
- --AM3 Down MaxHaste Group
- --Acc 1183+957/1234+1217 STP 30 DW 11[36]--
- sets.engaged.DW.MaxHaste = set_combine(sets.engaged.DW, {
- waist="Windbuffet Belt +1",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}})
- --Acc 1305+1079/1349+1332 STP 27 DW 11[36]--
- sets.engaged.DW.Acc.MaxHaste = set_combine(sets.engaged.DW.Acc, {
- waist="Windbuffet Belt +1",
- back={ name="Rosmerta's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}}})
- sets.self_healing = {
- ammo="Impatiens",
- head="Taeon Chapeau",
- neck="Phalaina Locket",
- ear1="Lifestorm Earring",
- ear2="Mendicant's Earring",
- body="Vrikodara jupon",
- hands="Telchine Gloves",
- ring1="Asklepian Ring",
- ring2="Kunaji Ring",
- back="Solemnity cape",
- waist="Gishdubar sash",
- legs="Carmine Cuisses +1",
- feet="Medium's Sabots"}
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for standard casting events.
- -------------------------------------------------------------------------------------------------------------------
- -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
- -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
- function job_precast(spell, action, spellMap, eventArgs)
- if unbridled_spells:contains(spell.english) and not state.Buff['Unbridled Learning'] then
- eventArgs.cancel = true
- windower.send_command('@input /ja "Unbridled Learning" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name)
- end
- end
- -- Run after the default midcast() is done.
- -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
- function job_post_midcast(spell, action, spellMap, eventArgs)
- -- Add enhancement gear for Chain Affinity, etc.
- if spell.skill == 'Blue Magic' then
- for buff,active in pairs(state.Buff) do
- if active and sets.buff[buff] then
- equip(sets.buff[buff])
- end
- end
- if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
- equip(sets.self_healing)
- end
- end
- function job_post_precast(spell)
- if spell.type == 'WeaponSkill' and player.equipment.main == "Sequence" and player.equipment.sub == "Thibron" then
- if player.tp < 1250 then
- equip({left_ear="Moonshade Earring"})
- windower.add_to_chat(10,"Adding in Moonshade Earring for more TP<1250:"..player.tp)
- end
- elseif spell.type == 'WeaponSkill' and player.equipment.sub == "Thibron" then
- if player.tp < 1750 then
- windower.add_to_chat(10,"Adding in Moonshade Earring for more TP<1750:"..player.tp)
- equip({left_ear="Moonshade Earring"})
- end
- elseif spell.type == 'WeaponSkill' and player.equipment.sub == "Sequence" or player.equipment.main == "Sequence" then
- if player.tp < 2250 then
- windower.add_to_chat(10,"Adding in Moonshade Earring for more TP<2250:"..player.tp)
- equip({left_ear="Moonshade Earring"})
- end
- elseif spell.type == 'WeaponSkill' then
- if player.tp < 2750 then
- windower.add_to_chat(10,"Adding in Moonshade Earring for more TP<2750:"..player.tp)
- equip({left_ear="Moonshade Earring"})
- end
- end
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Job-specific hooks for non-casting events.
- -------------------------------------------------------------------------------------------------------------------
- function job_buff_change(status,gain_or_loss)
- handle_equipping_gear(player.status)
- if (gain_or_loss) then
- add_to_chat(4,'------- Gained Buff: '..status..'-------')
- if status == "Aftermath: Lv.3" then
- add_to_chat(4,'------- AM3 Mode -------')
- job_update(cmdParams, eventArgs)
- if not midaction() then handle_equipping_gear(player.status)
- end
- end
- if status == "KO" then
- add_to_chat('GAME OVER')
- end
- if status == "sleep" then
- send_command('input /party ZZZ please CURE')
- equip(sets.defense.Turtle)
- disable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- if status == "terror" then
- equip(sets.defense.Turtle)
- disable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- if status == "doom" then
- send_command('input /party DOOM please CURSNA')
- equip({waist="Gishdubar Sash"})
- disable('waist')
- end
- -- if status == "slow" then
- -- send_command('input /party SLOW please ERASE')
- -- end
- -- if status == "curse" then
- -- send_command('input /party CURSE please CURSNA')
- -- end
- -- if status == "blind" then
- -- send_command('input /party BLIND please BLINDNA')
- -- end
- if status == "charm" then
- equip(sets.defense.Turtle)
- disable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- -- if status == "paralysis" then
- -- send_command('input /party PARALYZED please PARALYNA')
- -- end
- else
- add_to_chat(3,'------- Lost Buff: '..status..'-------')
- if status == "Aftermath: Lv.3" then
- add_to_chat(4,'------- Normal Mode -------')
- job_update(cmdParams, eventArgs)
- if not midaction() then handle_equipping_gear(player.status)
- end
- end
- if status == "sleep" then
- send_command('input /party Awake')
- enable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- if status == "terror" then
- enable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- if status == "doom" then
- enable('waist','ring1')
- send_command('input /party Doom off')
- end
- if status == "slow" then
- end
- if status == "charm" then
- enable('ammo','head','neck','ear1','ear2','body','hands','ring1','ring2','back','waist','legs','feet')
- end
- end
- --If we gain or lose any haste buffs, adjust which gear set we target.
- if S{'haste','march','embrava','haste samba','mighty guard'}:contains(status:lower()) then
- determine_haste_group()
- handle_equipping_gear(player.status)
- elseif state.Buff[status] ~= nil then
- handle_equipping_gear(player.status)
- end
- end
- -------------------------------------------------------------------------------------------------------------------
- -- User code that supplements standard library decisions.
- -------------------------------------------------------------------------------------------------------------------
- -- Custom spell mapping.
- -- Return custom spellMap value that can override the default spell mapping.
- -- Don't return anything to allow default spell mapping to be used.
- function job_get_spell_map(spell, default_spell_map)
- if spell.skill == 'Blue Magic' then
- for category,spell_list in pairs(blue_magic_maps) do
- if spell_list:contains(spell.english) then
- return category
- end
- end
- end
- end
- -- Modify the default idle set after it was constructed.
- function customize_idle_set(idleSet)
- if player.mpp < 51 then
- idleSet = set_combine(idleSet, sets.latent_refresh)
- end
- return idleSet
- end
- -- Modify the default melee set after it was constructed.
- function customize_melee_set(meleeSet)
- return meleeSet
- end
- -- Called any time we attempt to handle automatic gear equips (ie: engaged or idle gear).
- function job_handle_equipping_gear(playerStatus, eventArgs)
- if player.equipment.back == 'Nexus Cape' then
- disable('back')
- else
- enable('back')
- end
- if player.equipment.ring1 == 'Warp Ring' or player.equipment.ring1 == 'Dim. Ring (Holla)' then
- disable('ring1')
- else
- enable('ring1')
- end
- if player.equipment.ring2 == 'Warp Ring' then
- disable('ring2')
- else
- enable('ring2')
- end
- end
- -- Called by the 'update' self-command, for common needs.
- -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
- function job_update(cmdParams, eventArgs)
- update_combat_form()
- determine_haste_group()
- end
- -------------------------------------------------------------------------------------------------------------------
- -- Utility functions specific to this job.
- -------------------------------------------------------------------------------------------------------------------
- function update_combat_form()
- -- Check for AM3
- if player.equipment.main == 'Tizona' and state.Buff['Aftermath: Lv.3'] then
- state.CombatForm:reset()
- else
- state.CombatForm:set('DW')
- end
- end
- function determine_haste_group()
- classes.CustomMeleeGroups:clear()
- if ( ( buffactive.embrava and (buffactive.march == 2 or (buffactive.march and buffactive.haste)) ) or
- ( buffactive.march == 2 and buffactive.haste ) or
- ( buffactive['Mighty Guard'] and buffactive.haste ) or
- ( buffactive.haste == 2 ) ) then
- add_to_chat(8, '[[ Max-Haste Mode Enabled ]]')
- classes.CustomMeleeGroups:append('MaxHaste')
- else add_to_chat(8, '[[ FUCK YOU ]]')
- end
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- -- Default macro set/book
- set_macro_page(1, 1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement