Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------------------------------------------------------------------------------------------------------------
- -------------------------------- Initialization function that defines sets and variables to be used -----------------------------------
- ---------------------------------------------------------------------------------------------------------------------------------------
- -- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
- -- Initialization function for this job file.
- function get_sets()
- mote_include_version = 2
- -- Load and initialize the include file.
- include('Mote-Include.lua')
- end
- function job_setup()
- get_combat_weapon()
- update_melee_groups()
- end
- -- Setup vars that are user-dependent. Can override this function in a sidecar file.
- function user_setup()
- -- Options: Override default values
- state.OffenseMode:options('Normal', 'Mid', 'Acc')
- state.PhysicalDefenseMode:options('PDT', 'HP', 'Knockback')
- state.MagicalDefenseMode:options('MDT', 'Charm', 'Death', 'Terror')
- state.HybridMode:options ('Normal', 'DT')
- state.WeaponskillMode:options('Normal', 'Acc')
- state.CastingMode:options('Normal', 'DT')
- state.IdleMode:options('Normal', 'Regen', 'Refresh')
- state.WeaponLock = M(false, 'Weapon Lock')
- select_default_macro_book()
- RandomLockstyleGenerator = 'true'
- -- List of Equipment Sets created for Random Lockstyle Generator
- -- (If you want to have the same Lockstyle every time, reduce the list to a single Equipset #)
- random_lockstyle_list = {1,2}
- -- Random Lockstyle generator.
- if RandomLockstyleGenerator == 'true' then
- local randomLockstyle = random_lockstyle_list[math.random(1, #random_lockstyle_list)]
- send_command('@wait 4;input /lockstyleset '.. randomLockstyle)
- end
- -- Key Binds --
- send_command('bind Delete input /ws "Savage Blade" <t>')
- send_command('bind End input /ws "Chant du Cygne" <t>')
- send_command('bind Home input /ws "Sanguine Blade" <t>')
- send_command('bind ^` input /ja "Shield Bash" <t>')
- send_command('bind !` input /ma "Flash" <t>')
- send_command('bind @` input /ja "Provoke" <t>')
- send_command('bind @w gs c toggle WeaponLock')
- send_command('bind @home gs c warpring')
- end
- function file_unload()
- send_command('unbind Delete')
- send_command('unbind End')
- send_command('unbind Home')
- send_command('unbind ^`')
- send_command('unbind !`')
- send_command('unbind @`')
- send_command('unbind @w')
- send_command('unbind @home')
- end
- function init_gear_sets()
- -------------------------------------------------------------------------------------------------
- -----------------------------------Augmeted Gear-------------------------------------------
- -------------------------------------------------------------------------------------------------
- -- Valorus Mask Augments --
- ValorousMask={}
- ValorousMask.WSD={ name="Valorous Mask", augments={'Attack+30','Weapon skill damage +2%','STR+8','Accuracy+2',}}
- ValorousMaskSTP={}
- -- Valorous Mail Augments --
- ValorousMail={}
- ValorousMail.STP={}
- -- Valorous Hose Augments --
- ValorousHose={}
- ValorousHose.WSD={ name="Valor. Hose", augments={'Accuracy+22','Weapon skill damage +4%','STR+6',}}
- ValorousHose.CDmg={ name="Valor. Hose", augments={'Accuracy+10 Attack+10','Crit. hit damage +4%','DEX+5',}}
- -- Valorous Greaves Augments --
- ValorousGreaves={}
- ValorousGreaves.STP = {}
- ValorousGreaves.CDMG = { name="Valorous Greaves", augments={'Attack+15','Crit. hit damage +3%','DEX+15',}}
- -- Odyssean Helm Augments --
- OdysseanHelm={}
- OdysseanHelm.Refresh={ name="Odyssean Helm", augments={'INT+2','STR+4','"Refresh"+2','Accuracy+14 Attack+14',}}
- OdysseanHelm.Phalanx={ name="Odyssean Helm", augments={'Mag. Acc.+17','"Fast Cast"+1','Phalanx +5',}}
- -- Odyssean Chestplate Augments --
- OdysseanChestplate={}
- OdysseanChestplate.FC={}
- OdysseanChestplate.Phalanx={}
- OdysseanChestplateSTP={}
- OdysseanChestplate.Refresh={ name="Odyss. Chestplate", augments={'Mag. Acc.+10','Pet: "Store TP"+7','"Refresh"+2','Accuracy+10 Attack+10','Mag. Acc.+20 "Mag.Atk.Bns."+20',}}
- -- Odyssean Gauntlets Augments --
- OdysseanGauntlets={}
- OdysseanGauntlets.WSD={ name="Odyssean Gauntlets", augments={'Attack+15','Weapon skill damage +3%','Accuracy+8',}}
- OdysseanGauntlets.Refresh={}
- -- Odyssean Cuisses Augments --
- OdysseanCuisses={}
- OdysseanCuisses.Phalanx={ name="Odyssean Cuisses", augments={'Pet: Haste+4','Attack+15','Phalanx +3','Accuracy+17 Attack+17',}}
- OdysseanCuisses.STP={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+5','VIT+15',}}
- OdysseanCuisses.Refresh={ name="Odyssean Cuisses", augments={'Attack+3','Pet: STR+10','"Refresh"+1','Mag. Acc.+5 "Mag.Atk.Bns."+5',}}
- -- Odyssean Greaves Augments --
- OdysseanGreaves={}
- OdysseanGreaves.FC={ name="Odyssean Greaves", augments={'"Fast Cast"+6','AGI+10','"Mag.Atk.Bns."+15',}}
- OdysseanGreaves.ENM={}
- OdysseanGreaves.Refresh={}
- -- Rudianos Mantle Augments --
- Rudianos={}
- Rudianos.FC = { name="Rudianos's Mantle", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10',}}
- Rudianos.ENM = { name="Rudianos's Mantle", augments={'VIT+20','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Occ. inc. resist. to stat. ailments+10',}}
- Rudianos.DA={ name="Rudianos's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
- Rudianos.STP={ name="Rudianos's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}}
- Rudianos.WSD={ name="Rudianos's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
- Rudianos.Crit={ name="Rudianos's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Crit.hit rate+10',}}
- -- Precast sets to enhance JAs
- sets.precast.JA['Invincible'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Eschite Greaves"})
- sets.precast.JA['Holy Circle'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Rev. Leggings +2"})
- sets.precast.JA['Shield Bash'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Cab. Breeches +1",
- feet="Eschite Greaves"})
- sets.precast.JA['Intervene'] = sets.precast.JA['Shield Bash']
- sets.precast.JA['Sentinel'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Cab. Leggings +1"})
- --The amount of damage absorbed is variable, determined by VIT*2
- sets.precast.JA['Rampart'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Cab. Coronet +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"})
- sets.buff['Rampart'] = sets.precast.JA['Rampart']
- sets.precast.JA['Fealty'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Cab. Surcoat +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"})
- sets.precast.JA['Divine Emblem'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Chev. Sabatons"})
- sets.precast.JA['Palisade'] = sets.precast.JA['Provoke']
- --15 + min(max(floor((user VIT + user MND - target VIT*2)/4),0),15)
- sets.precast.JA['Cover'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Rev. Coronet +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Cab. Surcoat +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"})
- sets.buff['Cover'] = sets.precast.JA['Cover']
- -- Add MND for Chivalry
- sets.precast.JA['Chivalry'] = set_combine(sets.precast.JA['Provoke'],{
- ammo="Sapience Orb",
- head="Rev. Coronet +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Cab. Surcoat +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"})
- ------------------------ Sub WAR ------------------------
- sets.precast.JA['Provoke'] = {
- ammo="Sapience Orb",
- head="Loess Barbuta +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Creed Baudrier",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"}
- sets.precast.JA['Warcry'] = sets.precast.JA['Provoke']
- sets.precast.JA['Defender'] = sets.precast.JA['Provoke']
- sets.precast.JA['Berserk'] = sets.precast.JA['Provoke']
- sets.precast.JA['Aggressor'] = sets.precast.JA['Provoke']
- ------------------------ Sub BLU ------------------------
- sets.precast.JA['Chain Affinity'] = sets.precast.JA['Provoke']
- sets.precast.JA['Burst Affinity'] = sets.precast.JA['Provoke']
- ------------------------ Sub RUN ------------------------
- sets.precast.JA['Ignis'] = sets.precast.JA['Provoke']
- sets.precast.JA['Gelus'] = sets.precast.JA['Provoke']
- sets.precast.JA['Flabra'] = sets.precast.JA['Provoke']
- sets.precast.JA['Tellus'] = sets.precast.JA['Provoke']
- sets.precast.JA['Sulpor'] = sets.precast.JA['Provoke']
- sets.precast.JA['Unda'] = sets.precast.JA['Provoke']
- sets.precast.JA['Lux'] = sets.precast.JA['Provoke']
- sets.precast.JA['Tenebrae'] = sets.precast.JA['Provoke']
- sets.precast.JA['Vallation'] = sets.precast.JA['Provoke']
- sets.precast.JA['Pflug'] = sets.precast.JA['Provoke']
- -- Precast Sets
- -- FC+ 80%
- sets.precast.FC = {
- ammo="Sapience Orb",
- head="Carmine Mask +1",
- neck="Voltsurge Torque",
- ear1="Loquac. Earring",
- ear2="Etiolation Earring",
- body=OdysseanChestplate.FC,
- hands="Leyline Gloves",
- ring1="Kishar Ring",
- ring2="Prolix Ring",
- back=Rudianos.FC,
- waist="Goading Belt",
- legs="Enif Cosciales",
- feet=OdysseanGreaves.FC}
- sets.precast.FC.DT = set_combine(sets.precast.FC,{
- ammo={name="Egoist's Tathlum",priority=1},
- ear1={name="Odnowa Earring +1",priority=4},
- body={name="Rev. Surcoat +3",priority=7},
- hands={name="Souv. Handsch. +1",priority=6},
- ring2={name="Moonbeam Ring",priority=5},
- waist={name="Gold Mog. Belt",priority=2},
- feet={name="Carmine Greaves +1",priority=3},})
- sets.precast.FC.Phalanx = set_combine(sets.precast.FC ,{waist="Siegel Sash"})
- sets.precast.FC.Enlight = sets.precast.FC
- sets.precast.FC['Enlight II'] = sets.precast.FC.Enlight
- sets.precast.FC.Protect = sets.precast.FC
- sets.precast.FC.Shell = sets.precast.FC
- sets.precast.FC.Crusade = sets.precast.FC
- sets.precast.FC.Cure = set_combine(sets.precast.FC.DT, {
- ear2="Nourish. Earring +1",
- body="Jumalik Mail"})
- -- Weaponskill sets
- -- Default set for any weaponskill that isn't any more specifically defined
- sets.precast.WS = {}
- -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
- -------------------------------------------------------------------- DAGGER ---------------------------------------------------------------------------------
- --Stat Modifier: 40% DEX / 40% INT fTP: 2.0 3.0 4.5
- -- dSTAT: (pINT-mINT)/2 + 8
- sets.precast.WS['Aeolian Edge'] = {}
- -------------------------------------------------------------------- SWORD ---------------------------------------------------------------------------------
- --Stat Modifier: 80% DEX fTP: 2.25
- sets.precast.WS['Chant du Cygne'] = {
- ammo="Jukukik Feather",
- head="Flam. Zucchetto +2",
- neck="Fotia Gorget",
- ear1="Moonshade Earring",
- ear2="Brutal Earring",
- body="Flamma Korazin +2",
- hands="Flam. Manopolas +2",
- ring1="Ramuh Ring",
- ring2="Begrudging Ring",
- back=Rudianos.Crit,
- waist="Fotia Belt",
- legs=ValorousHose.CDmg,
- feet=ValorousGreaves.CDmg}
- sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS['Chant du Cygne'],{})
- --Stat Modifier: WS damage + 30/31% 2025DMG maxaggro
- sets.precast.WS['Atonement'] = {
- ammo="Egoist's Tathlum",
- head=ValorousMask.WSD,
- neck="Fotia Gorget",
- ear1="Moonshade Earring",
- ear2="Ishvara Earring",
- body="Phorcys Korazin",
- hands=OdysseanGauntlets.WSD,
- ring1="Eihwaz Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.WSD,
- waist="Fotia Belt",
- legs=ValorousHose.WSD,
- feet="Sulev. Leggings +2"}
- -- Delivers an aerial attack comprised of two hits. Damage varies with TP.
- -- Stat Modifier: 50% MND / 50% STR fTP: 4.0 10.25 13.75
- sets.precast.WS['Savage Blade'] = {
- ammo="Floestone",
- head=ValorousMask.WSD,
- neck="Fotia Gorget",
- ear1="Moonshade Earring",
- ear2="Ishvara Earring",
- body="Sulevia's Plate. +2",
- hands=OdysseanGauntlets.WSD,
- ring1="Rufescent Ring",
- ring2="Ifrit Ring +1",
- back=Rudianos.WSD,
- waist="Fotia Belt",
- legs=OdysseanCuisses.WSD,
- feet="Sulev. Leggings +2"}
- sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'],{})
- -- Delivers a fivefold attack, non-elemental damage. Attack power varies with TP.
- -- Stat Modifier: 73~85% MND
- sets.precast.WS['Requiescat'] = {
- ammo="Paeapua",
- head="Flam. Zucchetto +2",
- neck="Fotia Gorget",
- ear1="Moonshade Earring",
- ear2="Brutal Earring",
- body="Sulevia's Plate. +2",
- hands="Sulev. Gauntlets +2",
- ring1="Levia. Ring",
- ring2="Levia. Ring +1",
- back=Rudianos.DA,
- waist="Fotia Belt",
- legs="Carmine Cuisses +1",
- feet="Sulev. Leggings +2"}
- sets.precast.WS['Requiescat'].Acc = set_combine(sets.precast.WS['Requiescat'],{})
- -- Stat Modifier: 50% MND / 30% STR fTP: 2.75
- -- dSTAT: (pINT-mINT)*2
- sets.precast.WS['Sanguine Blade'] = {
- neck="Sanctity Necklace",
- ear1="Friomisi Earring",
- ear2="Novio Earring",
- ring1="Archon Ring",
- waist="Eschan Stone"}
- ------------------------------------------------------------------------------------------------
- -----------------------------------------Midcast sets-------------------------------------------
- ------------------------------------------------------------------------------------------------
- sets.midcast.FastRecast = {}
- -- Divine Skill 560 --
- sets.midcast.Divine = {
- head="Jumalik Helm",
- neck="Incanter's Torque",
- ear1="Beatific Earring",
- ear2="Divine Earring",
- body="Rev. Surcoat +3",
- hands="Eschite Gauntlets",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Altruistic Cape",
- waist="Asklepian Belt"}
- sets.midcast.Divine.DT = set_combine(sets.midcast.Divine,{
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Loricate Torque +1",
- ear1="Knightly Earring",
- ear2="Halasz Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back="Moonbeam Cape",
- waist="Flume Belt +1",
- legs="Founder's Hose",
- feet=OdysseanGreaves.FC})
- sets.midcast['Enhancing Magic'] ={}
- sets.midcast.MAB = {
- ammo="Pemphredo Tathlum",
- head="Jumalik Helm",
- neck="Sanctity Necklace",
- ear1="Friomisi Earring",
- --ear2="Crematio Earring",
- body="Found. Breastplate",
- hands="Founder's Gauntlets",
- --ring1="Shiva Ring +1",
- --ring2="Shiva Ring +1",
- --back=Rudianos.MAB,
- waist="Eschan Stone",
- legs="Eschite Cuisses",
- feet="Founder's Greaves"}
- sets.midcast.Flash = {
- ammo="Sapience Orb",
- head="Souv. Schaller +1",
- neck="Unmoving Collar +1",
- ear1="Friomisi Earring",
- ear2="Cryptic Earring",
- body="Souv. Cuirass +1",
- hands="Yorium Gauntlets",
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- back=Rudianos.ENM,
- waist="Goading Belt",
- legs="Souv. Diechlings +1",
- feet="Eschite Greaves"}
- sets.midcast.Flash.DT = set_combine(sets.midcast.Flash,{
- ammo="Staunch Tathlum",
- neck="Loricate Torque +1",
- hands="Souv. Handsch. +1",
- ring1="Defending Ring",
- feet="Souveran Schuhs +1"})
- sets.midcast.Enlight = sets.midcast.Divine
- sets.midcast['Enlight II'] = sets.midcast.Enlight
- sets.midcast.Reprisal = {
- ammo="Egoist's Tathlum",
- head="Souv. Schaller +1",
- neck="Dualism Collar +1",
- ear1="Odnowa Earring",
- ear2="Odnowa Earring +1",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back="Moonbeam Cape",
- waist="Gold Mog. Belt",
- legs="Souv. Diechlings +1",
- feet="Souveran Schuhs +1"}
- --Phalanx skill 360/358 = 30/30 + phalanx + 23/30 total 53/60
- sets.midcast.Phalanx = {
- main="Deacon Sword",
- ammo="Sapience Orb",
- head=OdysseanHelm.Phalanx,
- neck="Incanter's Torque",
- ear2="Andoaa Earring",
- body="Yorium Cuirass",
- hands="Souv. Handsch. +1",
- ring1="Stikini Ring",
- ring2="Stikini Ring",
- back="Weard Mantle",
- waist="Olympus Sash",
- legs=OdysseanCuisses.Phalanx,
- feet="Souveran Schuhs +1"}
- sets.midcast.Phalanx.DT = set_combine(sets.midcast.Phalanx,{
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Loricate Torque +1",
- ear1="Knightly Earring",
- ear2="Halasz Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back="Moonbeam Cape",
- waist="Flume Belt +1",
- legs="Founder's Hose",
- feet=OdysseanGreaves.ENM})
- sets.midcast.Banish = sets.midcast.MAB
- sets.midcast['Banish II'] = sets.midcast.Banish
- sets.midcast.Holy = sets.midcast.MAB
- sets.midcast['Holy II'] = sets.midcast.Holy
- sets.midcast.Crusade = {
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Loricate Torque +1",
- ear1="Knightly Earring",
- ear2="Halasz Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Defending Ring",
- back="Moonbeam Cape",
- waist="Flume Belt +1",
- legs="Founder's Hose",
- feet=OdysseanGreaves.FC}
- sets.midcast.Cure = {
- ammo="Staunch Tathlum",
- head="Loess Barbuta +1",
- neck="Phalaina Locket",
- ear1="Nourish. Earring +1",
- ear2="Mendi. Earring",
- body="Jumalik Mail",
- hands="Macabre Gaunt. +1",
- ring1="Defending Ring",
- ring2="Eihwaz Ring",
- back="Solemnity Cape",
- waist="Goading Belt",
- legs="Souv. Diechlings +1",
- feet="Odyssean Greaves"}
- --sets.self_healing = set_combine(sets.midcast.Cure, {})
- sets.midcast.Cure.DT = set_combine(sets.midcast.Cure,{
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Loricate Torque +1",
- ear1="Odnowa Earring +1",
- ear2="Nourish. Earring +1",
- body="Souv. Cuirass +1",
- hands="Macabre Gaunt. +1",
- ring1="Moonbeam Ring",
- ring2="Defending Ring",
- back="Solemnity Cape",
- waist="Gold Mog. Belt",
- legs="Souv. Diechlings +1",
- feet="Souveran Schuhs +1"})
- sets.midcast.Raise = {
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Loricate Torque +1",
- ear1="Knightly Earring",
- ear2="Halasz Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Defending Ring",
- back="Moonbeam Cape",
- waist="Flume Belt +1",
- legs="Founder's Hose",
- feet=OdysseanGreaves.FC}
- sets.midcast.Protect = {ring2="Sheltered Ring"}
- sets.midcast.Shell = sets.midcast.Protect
- sets.midcast.Stun = sets.midcast.Flash
- ---------- BLU Spell --------------
- sets.midcast['Geist Wall'] = {
- ammo="Staunch Tathlum",
- head={ name="Souv. Schaller +1",priority=6},
- neck="Loricate Torque +1",
- ear1="Knightly Earring",
- ear2="Halasz Earring",
- body={name="Rev. Surcoat +3",priority=4},
- hands={ name="Souv. Handsch. +1",priority=3},
- ring1="Moonbeam Ring",
- ring2="Defending Ring",
- back={ name="Moonbeam Cape",priority=5},
- waist="Flume Belt +1",
- legs={ name="Founder's Hose",priority=2},
- feet={ name="Odyssean Greaves", augments={'"Fast Cast"+6','AGI+10','"Mag.Atk.Bns."+15',},priority=1},}
- sets.midcast['Sheep Song'] = sets.midcast['Geist Wall']
- sets.midcast['Metallic Body'] = sets.midcast['Geist Wall']
- sets.midcast['Blank Gaze'] = sets.midcast['Geist Wall']
- sets.midcast.Soporific = sets.midcast['Geist Wall']
- sets.midcast.Cocoon = sets.midcast['Geist Wall']
- sets.midcast['Stinking Gas'] = sets.midcast['Geist Wall']
- sets.midcast['Jettatura'] = sets.midcast['Geist Wall']
- -- Initializes trusts at iLvl 119
- sets.midcast.Trust = set_combine(sets.precast.FC,{legs="Odyssean Cuisses"})
- --------------------------------------
- -- Idle/resting/defense/etc sets
- --------------------------------------
- -- Idle sets
- sets.idle = {
- ammo="Egoist's Tathlum",
- head="Souv. Schaller +1",
- neck="Dualism Collar +1",
- ear1="Odnowa Earring +1",
- ear2="Odnowa Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back="Moonbeam Cape",
- waist="Gold Mog. Belt",
- legs="Carmine Cuisses +1",
- feet="Souveran Schuhs +1"}
- sets.idle.Regen = set_combine(sets.idle,{
- neck="Sanctity Necklace",
- ear1="Infused Earring",
- ear2="Dawn Earring",
- body="Obviat. Cuirass +1",
- ring1="Sheltered Ring",
- ring2="Paguroidea Ring"})
- sets.idle.Refresh = set_combine(sets.idle,{
- ammo="Homiliary",
- head=OdysseanHelm.Refresh,
- neck="Coatl Gorget +1",
- body=OdysseanChestplate.Refresh,
- ring1="Apeile Ring",
- ring2="Apeile Ring +1",
- waist="Fucho-no-Obi",
- legs=OdysseanCuisses.Refresh})
- sets.defense.PDT = {
- ammo="Staunch Tathlum",
- head="Souv. Schaller +1",
- neck="Warder's Charm +1",
- ear1="Ethereal Earring",
- ear2="Thureous Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Vocane Ring",
- ring2="Defending Ring",
- back=Rudianos.ENM,
- waist="Asklepian Belt",
- legs="Souv. Diechlings +1",
- feet="Souveran Schuhs +1"}
- -- To cap MDT with Shell IV (52/256), need 76/256 in gear. Current gear set is 248/256.
- -- Shellra V can provide 75/256.
- sets.defense.MDT = sets.defense.PDT
- sets.defense.Charm = set_combine(sets.defense.PDT,{
- neck="Unmoving Collar +1",
- ear2="Hearty Earring",
- back="Solemnity Cape"})
- sets.defense.Death = set_combine(sets.defense.PDT,{
- ear2="Hearty Earring",
- ring1="Shadow Ring",
- ring2="Warden's Ring"})
- sets.defense.Terror = set_combine(sets.defense.PDT,{
- main="Sagasinger",
- feet="Founder's Greaves"})
- sets.defense.HP ={
- ammo="Egoist's Tathlum",
- head="Souv. Schaller +1",
- neck="Dualism Collar +1",
- ear1="Odnowa Earring +1",
- ear2="Odnowa Earring",
- body="Rev. Surcoat +3",
- hands="Souv. Handsch. +1",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back="Moonbeam Cape",
- waist="Gold Mog. Belt",
- legs="Souv. Diechlings +1",
- feet="Souveran Schuhs +1"}
- sets.defense.Knockback = set_combine(sets.defense.PDT,{back="Philidor Mantle"})
- --sets.defense.Reraise = {head="Twilight Helm", body="Twilight Mail"}
- --sets.Reraise = sets.defense.Reraise
- --------------------------------------
- -- Engaged sets
- --------------------------------------
- -- Engaged set, assumes Burtgang
- sets.engaged = {
- ammo="Ginsen",
- head="Flam. Zucchetto +2",
- neck="Asperity Necklace",
- ear1="Cessance Earring",
- ear2="Brutal Earring",
- body="Flamma Korazin +2",
- hands="Acro Gauntlets",
- ring1="Flamma Ring",
- ring2="Petrov Ring",
- back=Rudianos.DA,
- waist="Sailfi Belt +1",
- legs=OdysseanCuisses.STP,
- feet="Flam. Gambieras +2"}
- sets.engaged.Mid = set_combine(sets.engaged, {
- neck="Lissome Necklace",
- ear2="Telos Earring"})
- sets.engaged.Acc = set_combine(sets.engaged.Mid, {
- body="Emicho Haubert +1",
- hands="Emicho Gauntlets +1"})
- -- Burtgang AM3 --
- sets.engaged.AM3 = set_combine(sets.engaged, {
- head=ValorousMask.STP,
- neck="Ainia Collar",
- ear1="Dedition Earring",
- hands="Acro Gauntlets",
- ring1="Rajas Ring",
- back=Rudianos.STP,
- waist="Goading Belt",
- legs=OdysseanCuisses.STP,
- feet=ValorousGreaves.STP})
- sets.engaged.Mid.AM3 = set_combine(sets.engaged.AM3, {})
- sets.engaged.Acc.AM3 = set_combine(sets.engaged.Mid.AM3, {})
- sets.engaged.Hybrid = {
- ammo="Staunch Tathlum",
- head="Sulevia's Mask +2",
- neck="Loricate Torque +1",
- ear1="Telos Earring",
- ear2="Brutal Earring",
- body="Tartarus Platemail",
- hands="Sulev. Gauntlets +2",
- ring1="Moonbeam Ring",
- ring2="Moonbeam Ring",
- back=Rudianos.STP,
- waist="Tempus Fugit",
- legs="Sulev. Cuisses +2",
- feet="Sulev. Leggings +2"}
- sets.engaged.DT = set_combine(sets.engaged, sets.engaged.Hybrid)
- sets.engaged.Mid.DT = set_combine(sets.engaged.DT, sets.engaged.Hybrid)
- sets.engaged.Acc.DT = set_combine(sets.engaged.Mid.DT, sets.engaged.Hybrid)
- sets.engaged.DT.AM3 = set_combine(sets.engaged, sets.engaged.Hybrid)
- sets.engaged.Mid.DT.AM3 = set_combine(sets.engaged.DT.AM3, sets.engaged.Hybrid)
- sets.engaged.Acc.DT.AM3 = set_combine(sets.engaged.Mid.DT.AM3, sets.engaged.Hybrid)
- sets.buff.Doom = {ring1="Saida Ring",ring2="Saida Ring",waist="Gishdubar Sash"}
- end
- ------------------------------------------------------------------------------------------------------------------------------------------
- ----------------------------------------Job-specific hooks that are called to process player actions at specific points in time-----------
- ------------------------------------------------------------------------------------------------------------------------------------------
- function job_post_midcast(spell, action, spellMap, eventArgs)
- if spell.english:startswith('Cure') and spell.target.type == 'SELF' then
- if state.CastingMode.value == 'DT' then
- equip(sets.midcast.Cure.DT)
- else
- equip(sets.midcast.Cure)
- end
- end
- end
- function job_post_precast(spell, action, spellMap, eventArgs)
- if spell.action_type=="Magic" and buffactive.Silence then
- eventArgs.cancel = true
- send_command('input /item "Echo Drops" <me>')
- end
- if spell.type == "WeaponSkill" and player.tp > 2999 then
- equip({ear1="Brutal Earring"})
- end
- --[[ Lock weaponskill if you are to far from the mob as to not lose TP ]]
- if spell.type == 'WeaponSkill' then
- if spell.target.distance > 6 then
- cancel_spell()
- add_to_chat(8, 'Target to far away. Move closer nub')
- return
- end
- end
- end
- -- Called when a player gains or loses a buff.
- -- buff == buff gained or lost
- -- gain == true if the buff was gained, false if it was lost.
- function job_buff_change(buff, gain)
- if buff:lower()=='terror' or buff:lower()=='petrification' or buff:lower()=='sleep' or buff:lower()=='stun' then
- if gain then
- equip(sets.defense.PDT)
- elseif not gain then
- handle_equipping_gear(player.status)
- end
- end
- if state.Buff[buff] ~= nil then
- state.Buff[buff] = gain
- end
- if buff:lower()=='sleep' then
- if gain and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque or Vim Torque(+1) or Frenzy Sallet When You Are Asleep
- equip({neck="Vim Torque +1"})
- elseif not gain then -- Take Berserker's or Vim or Frenzy off
- handle_equipping_gear(player.status)
- end
- end
- if buff == "cover" then
- if gain then
- equip(sets.buff['Cover'])
- disable('Body','Head')
- else
- enable('Body','Head')
- handle_equipping_gear(player.status)
- end
- end
- if buff == "doom" then
- if gain then
- equip(sets.buff.Doom)
- disable('ring1','ring2','waist')
- else
- enable('ring1','ring2','waist')
- handle_equipping_gear(player.status)
- end
- end
- -- AM custom groups
- if buff:startswith('Aftermath') then
- if player.equipment.main == 'Burtgang' then
- classes.CustomMeleeGroups:clear()
- if (buff == "Aftermath: Lv.3" and gain) or buffactive['Aftermath: Lv.3'] then
- classes.CustomMeleeGroups:append('AM3')
- add_to_chat(8, '-------------AM3 UP-------------')
- end
- if not midaction() then
- handle_equipping_gear(player.status)
- end
- end
- end
- end
- -- Handle notifications of general user state change.
- function job_state_change(stateField, newValue, oldValue)
- if state.WeaponLock.value == true then
- disable('main')
- else
- enable('main')
- end
- end
- function job_self_command(cmdParams, eventArgs)
- command = cmdParams[1]:lower()
- if command == 'warpring' then
- equip({left_ring="Warp Ring"})
- send_command('gs disable left_ring;wait 10;input /item "Warp Ring" <me>;wait 1;input /item "Warp Ring" <me>;wait 1;input /item "Warp Ring" <me>;wait 10;gs enable left_ring')
- end
- end
- function get_combat_weapon()
- if player.equipment.main == 'Ragnarok' then
- state.CombatWeapon:set("Ragnarok")
- elseif player.equipment.main == 'Excalibur' then
- state.CombatWeapon:set('Excalibur')
- elseif player.equipment.main == 'Almace' then
- state.CombatWeapon:set('Almace')
- elseif player.equipment.main == 'Sequence' then
- state.CombatWeapon:set('Sequence')
- else -- use regular set, which caters to Burtgang
- state.CombatWeapon:reset()
- end
- end
- function job_update(cmdParams, eventArgs)
- get_combat_weapon()
- update_melee_groups()
- end
- -- Called when the player's status changes.
- function job_status_change(newStatus, oldStatus, eventArgs)
- if newStatus == "Engaged" then
- if player.equipment.main == 'Ragnarok' then
- state.CombatWeapon:set("Ragnarok")
- elseif player.equipment.main == 'Excalibur' then
- state.CombatWeapon:set('Excalibur')
- elseif player.equipment.main == 'Almace' then
- state.CombatWeapon:set('Almace')
- elseif player.equipment.main == 'Sequence' then
- state.CombatWeapon:set('Sequence')
- else -- use regular set, which caters to Burtgang
- state.CombatWeapon:reset()
- end
- end
- end
- function display_current_job_state(eventArgs)
- local msg = ''
- if state.OffenseMode.value ~= 'None' then
- msg = msg .. 'Melee: ['..state.OffenseMode.value..']'
- msg = msg .. ', '
- end
- if state.DefenseMode.value ~= 'None' then
- msg = msg .. 'Defense: [' .. state.DefenseMode.value .. ']'
- msg = msg .. ', '
- end
- msg = msg .. 'Casting: ['..state.CastingMode.value..'], Idle: ['..state.IdleMode.value..']'
- add_to_chat(122, msg)
- eventArgs.handled = true
- end
- function customize_melee_set(meleeSet)
- if state.Buff.Sleep and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep
- meleeSet = set_combine(meleeSet,{neck="Vim Torque +1"})
- end
- if state.Buff.Doom then
- meleeSet = set_combine(meleeSet, sets.buff.Doom)
- end
- return meleeSet
- end
- function customize_idle_set(idleSet)
- if state.Buff.Doom then
- idleSet = set_combine(idleSet, sets.buff.Doom)
- end
- return idleSet
- end
- function update_melee_groups()
- classes.CustomMeleeGroups:clear()
- -- Mythic AM
- if player.equipment.main == 'Burtgang' then
- if buffactive['Aftermath: Lv.3'] then
- classes.CustomMeleeGroups:append('AM3')
- end
- end
- end
- -- Curing rules
- function refine_various_spells(spell,action,spell_map,event_args)
- local cures = S{'Cure','Cure II','Cure III','Cure IV'}
- if cures:contains(spell.english) then
- local spell_recasts = windower.ffxi.get_spell_recasts()
- if spell_recasts[spell.recast_id] > 0 then
- event_args.cancel = true
- if spell.english == 'Cure IV' then
- send_command('@input /ma "Cure III" '..tostring(spell.target.raw))
- return
- elseif spell.english == 'Cure III' then
- send_command('@input /ma "Cure II" '..tostring(spell.target.raw))
- return
- elseif spell.english == 'Cure II' then
- send_command('@input /ma "Cure" '..tostring(spell.target.raw))
- return
- else
- add_to_chat(122,'All Cure spells are on cooldown. Canceling the cast.')
- return
- end
- end
- end
- end
- -------------------------------------Aspir,Sleep/ga Nuke's refine rules (thanks Asura.Vafruvant for this code)-----------------------------------
- function refine_various_spells(spell, action, spellMap, eventArgs)
- Enmity = S{'Geist Wall', 'Sheep Song', 'Soporific','Blank Gaze','Jettatura','Stinking Gas'}
- if not Enmitys:contains(spell.english) then
- return
- end
- local newSpell = spell.english
- local spell_recasts = windower.ffxi.get_spell_recasts()
- local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
- if spell_recasts[spell.recast_id] > 0 then
- if aspirs:contains(spell.english) then
- if spell.english == 'Geist Wall' then
- add_to_chat(122,cancelling)
- eventArgs.cancel = true
- return
- elseif spell.english == 'Geist Wall' then
- newSpell = 'Sheep Song'
- elseif spell.english == 'Sheep Song' then
- newSpell = 'Soporific'
- end
- end
- end
- if newSpell ~= spell.english then
- send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
- eventArgs.cancel = true
- return
- end
- end
- -- Select default macro book on initial load or subjob change.
- function select_default_macro_book()
- -- Default macro set/book
- if player.sub_job == 'BLU' then
- set_macro_page(1, 2)
- elseif player.sub_job == 'WAR' then
- set_macro_page(2, 2)
- else
- set_macro_page(1, 2)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement