Advertisement
Guest User

Error Error Terror

a guest
Jun 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 31.77 KB | None | 0 0
  1. function get_sets()
  2. mote_include_version = 2
  3.  
  4. -- Load and initialize the include file.
  5. include('Mote-Include.lua')
  6. include('organizer-lib')
  7.  
  8. end
  9.  
  10. function job_setup()
  11.     state.OffenseMode:options('None','Locked','HighMP')
  12.     state.CastingMode:options('Normal','Macc','Occult','MBurst','HighMP')
  13.     state.IdleMode:options('Normal','PDT','HighMP')
  14.     state.DefenseMode:options('PDT','MDB')
  15.     MagicBurstIndex = 0
  16.     state.Magic_Burst = M(false, 'Magic_Burst')
  17.     state.AF_Body = M(false, 'AF_Body')
  18.     state.Occult_Acumen = M(false, 'Occult_Acumen')
  19.     send_command('bind ^` gs c toggle Magic_Burst')
  20.     send_command('bind !` gs c toggle ConsMP')
  21.     send_command('bind ^= gs c toggle Occult')
  22.     select_default_macro_book()
  23. end
  24.  
  25. function user_unload()
  26.     send_command('unbind ^`')
  27.     send_command('unbind @`')
  28.     send_command('unbind !`')
  29. end
  30.  
  31. function init_gear_sets()
  32.     --- I use specific rules for the different staves that I anticipate using.  I need to acquire a Raetic Staff +1! ---
  33.     sets.precast.JA['Mana Wall'] = {back="Taranus's cape",feet="Wicce Sabots +1"}
  34.     sets.precast.JA['Manafont'] = {body="Arch. Coat +1"}
  35.     sets.precast.FC = {
  36.         ammo="Sapience Orb",
  37.         head={ name="Merlinic Hood", augments={'Mag. Acc.+17 "Mag.Atk.Bns."+17','"Fast Cast"+7','"Mag.Atk.Bns."+13',}},
  38.         body="Zendik Robe",
  39.         hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+23','"Fast Cast"+7','INT+2',}},
  40.         legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  41.         feet={ name="Merlinic Crackows", augments={'"Fast Cast"+7','Mag. Acc.+13','"Mag.Atk.Bns."+12',}},
  42.         neck="Orunmila's Torque",
  43.         waist="Witful Belt",
  44.         left_ear="Etiolation Earring",
  45.         right_ear="Loquac. Earring",
  46.         right_ring="Kishar Ring",
  47.         left_ring="Rahab Ring",
  48.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  49.     }
  50.     sets.precast.HighMP = {
  51.         ammo="Strobilus",
  52.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  53.         body={ name="Weather. Robe +1", augments={'MP+120',}},
  54.         hands={ name="Otomi Gloves", augments={'HP+30','MP+30','MP+30',}},
  55.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  56.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  57.         neck="Dualism Collar +1",
  58.         waist="Shinjutsu-no-Obi +1",
  59.         left_ear="Etiolation Earring",
  60.         right_ear="Evans Earring",
  61.         left_ring="Mephitas's Ring",
  62.         right_ring="Mephitas's Ring +1",
  63.         back={ name="Bane Cape", augments={'Elem. magic skill +10','Dark magic skill +7','"Mag.Atk.Bns."+4',}},
  64.     }  
  65.     sets.precast.FC['Impact'] = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  66.     sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {head="Amalric Coif +1", right_ring="Mephitas's Ring +1", waist="Siegel Sash"})
  67.     sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {
  68.         ammo="Strobilus",
  69.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  70.         body={ name="Dalmatica +1", augments={'Occ. quickens spellcasting +3%','"Fast Cast"+6','Pet: "Mag.Def.Bns."+6',}},
  71.         hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+23','"Fast Cast"+7','INT+2',}},
  72.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  73.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  74.         neck="Orunmila's Torque",
  75.         waist="Witful Belt",
  76.         left_ear="Etiolation Earring",
  77.         right_ear="Loquac. Earring",
  78.         left_ring="Mephitas's Ring",
  79.         right_ring="Mephitas's Ring +1",
  80.         back="Perimede Cape",
  81.     })
  82.     sets.precast.FC['Death'] = {
  83.         ammo="Staunch Tathlum +1", --Max MP in Death Set Supercedes Max Mp in FC set
  84.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  85.         body={ name="Weather. Robe +1", augments={'MP+120',}},
  86.         hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+23','"Fast Cast"+7','INT+2',}},
  87.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  88.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  89.         neck="Orunmila's Torque",
  90.         waist="Shinjutsu-no-Obi +1",
  91.         left_ear="Etiolation Earring",
  92.         right_ear="Loquac. Earring",
  93.         left_ring="Mephitas's Ring",
  94.         right_ring="Mephitas's Ring +1",
  95.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  96.     }
  97.     sets.precast.FC['Laevateinn'] = set_combine(sets.precast.FC, {
  98.         ammo="Sapience Orb",
  99.         head={ name="Merlinic Hood", augments={'Mag. Acc.+17 "Mag.Atk.Bns."+17','"Fast Cast"+7','"Mag.Atk.Bns."+13',}},
  100.         body="Zendik Robe",
  101.         hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+23','"Fast Cast"+7','INT+2',}},
  102.         legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  103.         feet={ name="Merlinic Crackows", augments={'"Fast Cast"+7','Mag. Acc.+13','"Mag.Atk.Bns."+12',}},
  104.         neck="Orunmila's Torque",
  105.         waist="Witful Belt",
  106.         left_ear="Etiolation Earring",
  107.         right_ear="Loquac. Earring",
  108.         right_ring="Kishar Ring",
  109.         left_ring="Rahab Ring",
  110.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  111.     })
  112.     sets.precast.FC['Khatvanga'] = set_combine(sets.precast.FC['Laevateinn'], {
  113.     })
  114.     sets.precast.FC['Lathi'] = set_combine(sets.precast.FC['Laevateinn'], {
  115.     })
  116.     sets.precast.FC['Claustrum'] = set_combine(sets.precast.FC['Laevateinn'], {
  117.     })
  118.     sets.precast.FC['Hvergelmir'] = {
  119.         ammo="Strobilus",
  120.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  121.         body={ name="Weather. Robe +1", augments={'MP+120',}},
  122.         hands={ name="Otomi Gloves", augments={'HP+30','MP+30','MP+30',}},
  123.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  124.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  125.         neck="Dualism Collar +1",
  126.         waist="Witful Belt",
  127.         left_ear="Etiolation Earring",
  128.         right_ear="Evans Earring",
  129.         left_ring="Lebeche Ring",
  130.         right_ring="Mephitas's Ring +1",
  131.         back="Perimede Cape",
  132.     }
  133.     sets.precast.FC['Enhancing Magic']['Hvergelmir'] = set_combine(sets.precast.FC['Hvergelmir'], {
  134.         left_ring="Rahab Ring",
  135.         waist="Siegel Sash",
  136.         back="Bane Cape"
  137.     })
  138.     sets.precast.FC['Elemental Magic']['Hvergelmir'] = set_combine(sets.precast.FC['Hvergelmir'], {
  139.         ammo="Strobilus",
  140.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  141.         body={ name="Weather. Robe +1", augments={'MP+120',}},
  142.         hands={ name="Otomi Gloves", augments={'HP+30','MP+30','MP+30',}},
  143.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  144.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  145.         neck="Dualism Collar +1",
  146.         waist="Witful Belt",
  147.         left_ear="Etiolation Earring",
  148.         right_ear="Evans Earring",
  149.         left_ring="Lebeche Ring",
  150.         right_ring="Mephitas's Ring +1",
  151.         back="Perimede Cape",
  152.     })
  153.     sets.precast.FC['Death']['Hvergelmir'] = set_combine(sets.precast.FC.HighMP, {})
  154.     sets.precast.WS = {
  155.         ammo="Amar Cluster",
  156.         head="Jhakri Coronal +2",
  157.         body="Jhakri Robe +2",
  158.         hands="Jhakri Cuffs +2",
  159.         legs="Jhakri Slops +2",
  160.         feet="Jhakri Pigaches +2",
  161.         neck="Fotia Gorget",
  162.         waist="Fotia Belt",
  163.         left_ear="Moonshade Earring",
  164.         right_ear="Mache Earring +1",
  165.         left_ring="Ramuh Ring +1",
  166.         right_ring="Chirich Ring +1",
  167.         back={ name="Taranus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Haste+10',}},
  168.     }  
  169.     sets.precast.WSElemental = {
  170.         ammo="Pemphredo Tathlum",
  171.         head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','"Conserve MP"+4','INT+14','Mag. Acc.+15','"Mag.Atk.Bns."+12',}},
  172.         body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  173.         hands="Jhakri Cuffs +2",
  174.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  175.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  176.         neck="Fotia Gorget",
  177.         waist="Fotia Belt",
  178.         left_ear="Moonshade Earring",
  179.         right_ear="Regal Earring",
  180.         left_ring="Shiva Ring +1",
  181.         right_ring="Shiva Ring +1",
  182.         back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  183.     }
  184.     sets.precast.WS['Rock Crusher'] = set_combine(sets.precast.WSElemental,{})
  185.     sets.precast.WS['Earth Crusher'] = set_combine(sets.precast.WSElemental,{})
  186.     sets.precast.WS['Starburst'] = set_combine(sets.precast.WSElemental,{})
  187.     sets.precast.WS['Sunburst'] = set_combine(sets.precast.WSElemental,{})
  188.     sets.precast.WS['Cataclysm'] = set_combine(sets.precast.WSElemental,{head="Pixie Hairpin +1", left_ring="Archon Ring"})
  189.     sets.precast.WS['Vidohunir'] = set_combine(sets.precast.WSElemental,{
  190.         head="Pixie Hairpin +1",
  191.         neck="Saevus Pendant +1",
  192.         left_ear="Barkaro. Earring",
  193.         left_ring="Archon Ring",
  194.         waist="Eschan Stone",
  195.     })
  196.     sets.precast.WS['Myrkr'] = set_combine(sets.precast.FC.HighMP,{})
  197.     sets.precast.WS['Spirit Taker'] = set_combine(sets.precast.WS, {
  198.         back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  199.     }) 
  200.     sets.precast.WS['Gate of Tartarus'] = set_combine(sets.precast.WS, {
  201.         neck="Combatant's Torque",
  202.         left_ear="Mache Earring +1",
  203.         waist="Eschan Stone",
  204.     })
  205.     sets.precast.WS['Shell Crusher'] = set_combine(sets.precast.WS, {
  206.         neck="Combatant's Torque",
  207.         left_ear="Mache Earring +1",
  208.         waist="Eschan Stone",
  209.     })
  210.     sets.midcast.FastRecast = {}
  211.     sets.midcast['Healing Magic'] = {
  212.         ammo="Staunch Tathlum +1",
  213.         head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  214.         body={ name="Vanya Robe", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  215.         hands="Reveal. Mitts +1",
  216.         legs={ name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  217.         feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  218.         neck="Nodens Gorget",
  219.         waist="Gishdubar Sash",
  220.         left_ear="Roundel Earring",
  221.         right_ear="Mendi. Earring",
  222.         left_ring="Stikini Ring +1",
  223.         right_ring="Jann. Ring +1",
  224.         back="Tempered Cape +1",
  225.     }
  226.     sets.midcast['Enhancing Magic'] = set_combine(sets.precast.FC.HighMP,{
  227.         head={ name="Telchine Cap", augments={'Accuracy+14 Attack+14','"Store TP"+6','Enh. Mag. eff. dur. +10',}},
  228.         body={ name="Telchine Chas.", augments={'DEF+16','Enh. Mag. eff. dur. +10',}},
  229.         hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}},
  230.         legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
  231.         feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +10',}},
  232.         right_ear="Andoaa Earring",
  233.         back="Moonlight Cape",
  234.     })
  235.     sets.midcast['Phalanx'] = set_combine(sets.midcast['Enhancing Magic'],{
  236.         hands={ name="Merlinic Dastanas", augments={'"Cure" potency +2%','Pet: "Dbl.Atk."+1 Pet: Crit.hit rate +1','Phalanx +5','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
  237.         feet={ name="Merlinic Crackows", augments={'Pet: "Mag.Atk.Bns."+24','Enmity-4','Phalanx +3','Accuracy+14 Attack+14',}},
  238.         neck="Incanter's Torque",
  239.         waist="Olympus Sash",
  240.         left_ear="Augment. Earring",
  241.         back="Perimede Cape",
  242.     })
  243.     sets.midcast['Stoneskin'] = set_combine(sets.midcast['Enhancing Magic'],{        
  244.         neck="Nodens Gorget",
  245.         legs="Shedir Seraweels",
  246.         lear="Earthcry Earring",
  247.         waist="Siegel Sash",
  248.     })
  249.     sets.midcast['Aquaveil'] = set_combine(sets.midcast['Enhancing Magic'],{
  250.         head="Amalric Coif +1",
  251.         waist="Emphatikos Rope",
  252.         legs="Shedir Seraweels",
  253.     })
  254.     sets.midcast['Refresh'] = set_combine(sets.midcast['Enhancing Magic'],{
  255.         head="Amalric Coif +1",
  256.         back="Grapevine Cape",
  257.         waist="Gishdubar Sash",
  258.         feet="Inspirited Boots",
  259.     })
  260.     sets.midcast['Enfeebling Magic'] = {
  261.         ammo="Pemphredo Tathlum",
  262.         head="Spae. Petasos +3",
  263.         body="Spaekona's Coat +3",
  264.         hands="Spae. Gloves +3",
  265.         legs="Spae. Tonban +3",
  266.         feet="Spae. Sabots +3",
  267.         neck="Erra Pendant",
  268.         waist="Porous Rope",
  269.         left_ear="Digni. Earring",
  270.         right_ear="Regal Earring",
  271.         left_ring="Stikini Ring +1",
  272.         right_ring="Stikini Ring +1",
  273.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  274.     }
  275.     sets.midcast['Poison'] = set_combine(sets.midcast['Enfeebling Magic'],{
  276.         ammo="Pemphredo Tathlum",
  277.         head="Befouled Crown",
  278.         body="Spaekona's Coat +3",
  279.         hands="Spae. Gloves +3",
  280.         legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  281.         feet="Skaoi Boots",
  282.         neck="Incanter's Torque",
  283.         waist="Rumination Sash",
  284.         left_ear="Enfeebling Earring",
  285.         right_ear="Regal Earring",
  286.         left_ring="Stikini Ring +1",
  287.         right_ring="Stikini Ring +1",
  288.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  289.     })
  290.     sets.midcast['Poison II'] = sets.midcast['Poison']
  291.     sets.midcast['Slow'] = set_combine(sets.midcast['Enfeebling Magic'],{ammo="Hydrocera", waist="Luminary Sash",})
  292.     sets.midcast['Paralyze'] = set_combine(sets.midcast['Slow'],{})
  293.     sets.midcast['Silence'] = set_combine(sets.midcast['Slow'],{})
  294.     sets.midcast['Distract'] = set_combine(sets.midcast['Slow'],{})
  295.     sets.midcast['Frazzle'] = set_combine(sets.midcast['Slow'],{})
  296.     sets.midcast.ElementalEnfeeble = set_combine(sets.midcast['Enfeebling Magic'],{feet="Archmage's Sabots +3",})
  297.  
  298.     sets.midcast['Dark Magic'] = {
  299.         ammo="Strobilus",
  300.         head="Pixie Hairpin +1",
  301.         body={ name="Helios Jacket", augments={'Mag. Acc.+22','"Drain" and "Aspir" potency +10','MP+21',}},
  302.         hands={ name="Helios Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Drain" and "Aspir" potency +10','MP+35',}},
  303.         legs="Spae. Tonban +3",
  304.         feet={ name="Merlinic Crackows", augments={'Mag. Acc.+27','"Drain" and "Aspir" potency +11','INT+4','"Mag.Atk.Bns."+3',}},
  305.         neck="Erra Pendant",
  306.         waist="Fucho-no-Obi",
  307.         left_ear="Etiolation Earring",
  308.         right_ear="Hirudinea Earring",
  309.         right_ring="Evanescence Ring",
  310.         left_ring="Excelsis Ring",
  311.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  312.     }
  313.     sets.midcast['Dark Magic'].Macc = set_combine(sets.midcast['Dark Magic'],{
  314.         ammo="Pemphredo Tathlum",
  315.         head="Spae. Petasos +3",
  316.         hands={ name="Arch. Gloves +3", augments={'Reduces Ancient Magic II casting time',}},
  317.         left_ear="Barkaro. Earring",
  318.         right_ear="Regal Earring",
  319.         left_ring="Archon Ring",
  320.     })
  321.     sets.midcast['Dark Magic'].HighMP = set_combine(sets.midcast['Dark Magic'],{
  322.         head="Amalric Coif +1",
  323.         right_ear="Regal Earring",
  324.         left_ring="Mephitas's Ring",
  325.     })    
  326.     sets.midcast['Elemental Magic'] = {
  327.         ammo="Pemphredo Tathlum",
  328.         head={ name="Merlinic Hood", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','"Conserve MP"+4','INT+14','Mag. Acc.+15','"Mag.Atk.Bns."+12',}},
  329.         body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  330.         hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  331.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  332.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  333.         neck="Saevus Pendant +1",
  334.         waist="Eschan Stone",
  335.         left_ear="Barkaro. Earring",
  336.         right_ear="Regal Earring",
  337.         left_ring="Shiva Ring +1",
  338.         right_ring="Shiva Ring +1",
  339.         back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
  340.     }
  341.     sets.midcast['Elemental Magic'].Macc = set_combine(sets.midcast['Elemental Magic'], {
  342.         hands={ name="Arch. Gloves +3", augments={'Reduces Ancient Magic II casting time',}},
  343.         feet={ name="Arch. Sabots +3", augments={'Reduces Ancient Magic II MP cost',}},
  344.     })
  345.     sets.midcast['Elemental Magic'].Occult = set_combine(sets.midcast['Elemental Magic'], {
  346.         -- These are for low cost spells.  Don't try to get TP from Occult on these! --
  347.     })
  348.     sets.midcast['Elemental Magic'].MBurst = set_combine(sets.midcast['Elemental Magic'], {
  349.         head="Ea Hat +1",
  350.         body="Ea Houppe. +1",
  351.         legs="Ea Slops +1",
  352.         neck="Mizu. Kubikazari",
  353.         left_ring="Mujin Band",
  354.     })
  355.     sets.midcast['Elemental Magic'].HighMP = set_combine(sets.midcast['Elemental Magic'], {
  356.         ammo="Strobilus",
  357.         head="Amalric Coif +1",
  358.         left_ring="Mephitas's Ring",
  359.         right_ring="Mephitas's Ring +1",
  360.         waist="Shinjutsu-no-Obi +1",
  361.     }) 
  362.     sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {})
  363.     sets.midcast['Elemental Magic'].HighTierNuke.Macc = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
  364.         hands="Arch. Gloves +3",
  365.         feet="Arch. Sabots +3",
  366.     })     
  367.     sets.midcast['Elemental Magic'].HighTierNuke.Occult = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
  368.         ammo="Seraphic Ampulla",
  369.         head="Mallquis Chapeau +1",
  370.         legs="Perdition Slops",
  371.         neck="Lissome Necklace",
  372.         waist="Oneiros Rope",
  373.         left_ear="Telos Earring",
  374.         right_ear="Dedition Earring",
  375.         left_ring="Petrov Ring",
  376.         right_ring="Chirich Ring +1",
  377.     })
  378.     sets.midcast['Elemental Magic'].HighTierNuke.MBurst = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
  379.         head="Ea Hat +1",
  380.         body="Ea Houppe. +1",
  381.         legs="Ea Slops +1",
  382.         neck="Mizu. Kubikazari",
  383.         left_ring="Mujin Band",
  384.     })
  385.     sets.midcast['Elemental Magic'].HighTierNuke.HighMP = set_combine(sets.midcast['Elemental Magic'].HighMP, {
  386.         body="Spaekona's Coat +3",
  387.     }) 
  388.     sets.midcast['Death'] = {
  389.         ammo="Strobilus",
  390.         head="Pixie Hairpin +1",
  391.         body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  392.         hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  393.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  394.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  395.         neck="Dualism Collar +1",
  396.         waist="Shinjutsu-no-Obi +1",
  397.         left_ear="Etiolation Earring",
  398.         right_ear="Evans Earring",
  399.         left_ring="Archon Ring",
  400.         right_ring="Mephitas's Ring +1",
  401.         back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
  402.     }
  403.     sets.midcast['Death'].Macc = set_combine(sets.midcast.Death, {
  404.         neck="Sanctity Necklace",
  405.         right_ear="Regal Earring",
  406.         left_ear="Barkarole Earring",  
  407.         hands="Spaekona's Gloves +3",
  408.         waist="Porous Rope",
  409.     })
  410.     sets.midcast['Death'].Occult = set_combine(sets.midcast.Death, {
  411.         ammo="Seraphic Ampulla",
  412.         head="Mallquis Chapeau +1",
  413.         legs="Perdition Slops",
  414.         neck="Lissome Necklace",
  415.         waist="Oneiros Rope",
  416.         left_ear="Telos Earring",
  417.         right_ear="Dedition Earring",
  418.         left_ring="Petrov Ring",
  419.         right_ring="Chirich Ring +1",          
  420.     })
  421.     sets.midcast['Death'].MBurst = {
  422.         ammo="Strobilus",
  423.         head="Pixie Hairpin +1",
  424.         body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  425.         hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  426.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  427.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  428.         neck="Mizu. Kubikazari",
  429.         waist="Shinjutsu-no-Obi +1",
  430.         left_ear="Barkaro. Earring",
  431.         right_ear="Static Earring",
  432.         left_ring="Archon Ring",
  433.         right_ring="Mephitas's Ring +1",
  434.         back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
  435.     }
  436.     sets.midcast['Impact'] = set_combine(sets.midcast['Elemental Magic'].HighTierNuke.Occult,{
  437.         head=empty,
  438.         body="Twilight Cloak",
  439.     })
  440.     sets.midcast['Impact'].Macc = set_combine(sets.midcast['Elemental Magic'].HighTierNuke.Macc,{
  441.         head=empty,
  442.         body="Twilight Cloak",
  443.         right_ring="Archon Ring",
  444.     })
  445.     sets.midcast['Impact'].MBurst = set_combine(sets.midcast['Elemental Magic'].HighTierNuke.MBurst,{
  446.         head=empty,
  447.         body="Twilight Cloak",
  448.         hands="Arch. Gloves +3",
  449.         right_ring="Archon Ring",
  450.         feet="Arch. Sabots +3",
  451.     })
  452.     sets.midcast['Comet'] = set_combine(sets.midcast['Elemental Magic'].HighTierNuke, {
  453.         head="Pixie Hairpin +1",
  454.         left_ring="Archon Ring",
  455.     })
  456.     sets.midcast['Klimaform'] = set_combine(sets.precast.FC['Enhancing Magic'], {
  457.         right_ring="Kishar Ring",
  458.         waist="Witful Belt",
  459.     })
  460.     sets.midcast['Klimaform'].HighMP = set_combine(sets.midcast['Klimaform'], {
  461.         hands="Otomi Gloves",
  462.         left_ring="Mephitas's Ring",
  463.         right_ring="Mephitas's Ring +1",
  464.         waist="Shinjutsu-no-Obi +1",
  465.         legs="Amalric Slops +1",
  466.     }) 
  467.     sets.Obi = {waist="Hachirin-no-Obi",}    
  468.     sets.TreasureHunter = {
  469.         head={ name="Merlinic Hood", augments={'Attack+28','Crit. hit damage +2%','"Treasure Hunter"+2','Mag. Acc.+1 "Mag.Atk.Bns."+1',}},
  470.         waist="Chaac Belt",
  471.     }  
  472.     sets.AF_Body = {body="Spaekona's Coat +3",}
  473.     sets.Magic_Burst = {
  474.         head="Ea Hat +1",
  475.         body="Ea Houppe. +1",
  476.         legs="Ea Slops +1",
  477.         neck="Mizu. Kubikazari",
  478.         left_ring="Mujin Band",
  479.     }
  480.     sets.Occult_Acumen = {
  481.         ammo="Seraphic Ampulla",
  482.         head="Mallquis Chapeau +1",
  483.         legs="Perdition Slops",
  484.         neck="Lissome Necklace",
  485.         waist="Oneiros Rope",
  486.         left_ear="Telos Earring",
  487.         right_ear="Dedition Earring",
  488.         left_ring="Petrov Ring",
  489.         right_ring="Chirich Ring +1",
  490.     }
  491.     sets.Helix = {head="Spaekona's Petasos +3", waist="Sekhmet Corset",}
  492.     sets.resting = sets.idle
  493.     sets.idle = {
  494.         ammo="Staunch Tathlum +1",
  495.         head={ name="Spurrina Coif", augments={'"Refresh"+2',}},
  496.         body="Shamash Robe",
  497.         hands={ name="Merlinic Dastanas", augments={'"Dbl.Atk."+4','Magic dmg. taken -2%','"Refresh"+1','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
  498.         legs="Assid. Pants +1",
  499.         feet="Mallquis Clogs +2",
  500.         neck="Loricate Torque +1",
  501.         waist="Shinjutsu-no-Obi +1",
  502.         left_ear="Genmei Earring",
  503.         right_ear={ name="Darkness Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+2',}},
  504.         left_ring="Stikini Ring +1",
  505.         right_ring="Stikini Ring +1",
  506.         back="Moonlight Cape",
  507.     }
  508.     sets.idle.PDT = {
  509.         ammo="Staunch Tathlum +1",
  510.         head={ name="Merlinic Hood", augments={'Phys. dmg. taken -5%','"Mag.Atk.Bns."+14',}},
  511.         body="Shamash Robe",
  512.         hands={ name="Merlinic Dastanas", augments={'"Dbl.Atk."+4','Magic dmg. taken -2%','"Refresh"+1','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
  513.         legs="Assid. Pants +1",
  514.         feet="Mallquis Clogs +2",
  515.         neck="Loricate Torque +1",
  516.         waist="Shinjutsu-no-Obi +1",
  517.         left_ear="Genmei Earring",
  518.         right_ear={ name="Darkness Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+2',}},
  519.         left_ring="Defending Ring",
  520.         right_ring={ name="Dark Ring", augments={'Magic dmg. taken -6%','Phys. dmg. taken -5%',}},
  521.         back="Moonlight Cape",
  522.     }  
  523.     sets.idle.HighMP = {
  524.         ammo="Strobilus",
  525.         head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  526.         body={ name="Weather. Robe +1", augments={'MP+120',}},
  527.         hands={ name="Otomi Gloves", augments={'HP+30','MP+30','MP+30',}},
  528.         legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  529.         feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  530.         neck="Dualism Collar +1",
  531.         waist="Shinjutsu-no-Obi +1",
  532.         left_ear="Etiolation Earring",
  533.         right_ear="Evans Earring",
  534.         left_ring="Mephitas's Ring",
  535.         right_ring="Mephitas's Ring +1",
  536.         back={ name="Bane Cape", augments={'Elem. magic skill +10','Dark magic skill +7','"Mag.Atk.Bns."+4',}},
  537.     }
  538.     sets.idle.Town = sets.idle
  539.     sets.defense.PDT =  {
  540.         ammo="Staunch Tathlum +1",
  541.         head={ name="Merlinic Hood", augments={'Phys. dmg. taken -5%','"Mag.Atk.Bns."+14',}},
  542.         body="Shamash Robe",
  543.         hands={ name="Merlinic Dastanas", augments={'"Dbl.Atk."+4','Magic dmg. taken -2%','"Refresh"+1','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
  544.         legs="Assid. Pants +1",
  545.         feet="Mallquis Clogs +2",
  546.         neck="Loricate Torque +1",
  547.         waist="Shinjutsu-no-Obi +1",
  548.         left_ear="Genmei Earring",
  549.         right_ear={ name="Darkness Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+2',}},
  550.         left_ring="Defending Ring",
  551.         right_ring={ name="Dark Ring", augments={'Magic dmg. taken -6%','Phys. dmg. taken -5%',}},
  552.         back="Moonlight Cape",
  553.     }  
  554.     sets.defense.MDB = {}
  555.     sets.Kiting = {feet="Herald's Gaiters"}
  556.     sets.latent_refresh = {waist="Fucho-no-Obi"}
  557.  
  558.     -- Mana Wall idle set
  559.  
  560.     sets.buff['Mana Wall'] = set_combine(sets.idle.PDT,{
  561.         feet="Wicce Sabots +1",
  562.         back={ name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Fast Cast"+10',}},
  563.     }) 
  564.     sets.engaged = {}
  565. end
  566.  
  567. function job_precast(spell, action, spellMap, eventArgs)    
  568.     if spell.name == 'Impact' then
  569.         equip({head=empty,body="Twilight Cloak"})
  570.     end
  571.     if spell.action_type == 'Magic' then
  572.         classes.CustomClass = player.equipment.main
  573.         eventArgs.handled = true
  574.     end
  575. end
  576.  
  577. function job_post_midcast(spell, action, spellMap, eventArgs)
  578.     if spell.action_type == 'Magic' then
  579.         if equipSet[spell.english] then
  580.             equipSet = equipSet[spell.english]
  581.         end
  582.         if equipSet[spellMap] then
  583.             equipSet = equipSet[spellMap]
  584.         end
  585.         if equipSet[state.CastingMode.value] then
  586.             equipSet = equipSet[state.CastingMode.value]
  587.         end
  588.         if spell.skill == 'Elemental Magic' then
  589.             if state.Occult_Acumen.value and sets.Occult_Acumen then
  590.                 local equipSet = sets.Occult_Acumen
  591.             end
  592.             if state.Magic_Burst.value and sets.Magic_Burst then
  593.                 local equipSet = sets.Magic_Burst
  594.             end
  595.             if state.AF_Body.value or (string.find(spell.english,'ga') or string.find(spell.english,'ja') or string.find(spell.english,'ra')) then
  596.                 local equipSet = equip(sets.AF_Body)
  597.             end
  598.             if spell.element == world.day_element or spell.element == world.weather_element then
  599.                 if string.find(spell.english,'helix') then
  600.                     equip(sets.Helix)
  601.                 else
  602.                 equip(sets.Obi)
  603.                 end
  604.             end
  605.             equip(equipSet)
  606.         end
  607.         if spell.skill == 'Dark Magic' then
  608.             if state.Occult_Acumen.value and sets.Occult_Acumen then
  609.                 local equipSet = sets.Occult_Acumen
  610.             end
  611.             if state.Magic_Burst.value and sets.Magic_Burst then
  612.                 local equipSet = sets.Magic_Burst
  613.             end
  614.             if state.AF_Body.value then
  615.                 local equipSet = equip(sets.AF_Body)
  616.             end
  617.             if spell.element == world.day_element or spell.element == world.weather_element then
  618.                 equip(sets.Obi)
  619.             end
  620.         end
  621.         equip(equipSet)
  622.     end
  623. end
  624.  
  625. function job_aftercast(spell, action, spellMap, eventArgs)
  626.     if buffactive['Mana Wall'] then
  627.         enable('feet','back')
  628.         equip(sets.buff['Mana Wall'])
  629.         disable('feet','back')
  630.     end
  631.     if not spell.interrupted then
  632.         if spell.english == "Sleep II" or spell.english == "Sleepga II" then -- Sleep II Countdown --
  633.             send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  634.         elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
  635.             send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  636.         elseif spell.english == "Break" or spell.english == "Breakga" then -- Break Countdown --
  637.             send_command('wait 25;input /echo Break Effect: [WEARING OFF IN 5 SEC.]')    
  638.         end
  639.     end
  640. end
  641.  
  642. function refine_various_spells(spell, action, spellMap, eventArgs)
  643.     local aspirs = S{'Aspir','Aspir II','Aspir III'}
  644.     local sleeps = S{'Sleep','Sleep II'}
  645.     local sleepgas = S{'Sleepga','Sleepga II'}
  646.     local newSpell = spell.english
  647.     local spell_recasts = windower.ffxi.get_spell_recasts()
  648.     local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
  649.     local spell_index
  650.     if spell_recasts[spell.recast_id] > 0 then
  651.         if spell.skill == 'Elemental Magic' then
  652.             local ele = tostring(spell.element):append('ga')
  653.             --local ele2 = string.sub(ele,1,-2)
  654.                 if table.find(degrade_array[ele],spell.name) then
  655.                     spell_index = table.find(degrade_array[ele],spell.name)
  656.                     if spell_index > 1 then
  657.                         newSpell = degrade_array[ele][spell_index - 1]
  658.                         add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..newSpell..' instead.')
  659.                         send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
  660.                         eventArgs.cancel = true
  661.                     end
  662.                 else
  663.                     spell_index = table.find(degrade_array[spell.element],spell.name)
  664.                     if spell_index > 1 then
  665.                         newSpell = degrade_array[spell.element][spell_index - 1]
  666.                         add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..newSpell..' instead.')
  667.                         send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
  668.                         eventArgs.cancel = true
  669.                     end
  670.                 end
  671.         elseif aspirs:contains(spell.name) then
  672.             spell_index = table.find(degrade_array['Aspirs'],spell.name)
  673.             if spell_index > 1 then
  674.                 newSpell = degrade_array['Aspirs'][spell_index - 1]
  675.                 add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..newSpell..' instead.')
  676.                 send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
  677.                 eventArgs.cancel = true
  678.             end
  679.         elseif sleepgas:contains(spell.name) then
  680.             dex = table.find(degrade_array['Sleepgas'],spell.name)
  681.             if spell_index > 1 then
  682.                 newSpell = degrade_array['Sleepgas'][spell_index - 1]
  683.                 add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..newSpell..' instead.')
  684.                 send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
  685.                 eventArgs.cancel = true
  686.             end
  687.         end
  688.     end
  689. end
  690.  
  691. function job_buff_change(buff, gain)
  692.     if buff == "Mana Wall" and not gain then
  693.         enable('feet','back')
  694.         handle_equipping_gear(player.status)
  695.     end
  696. end
  697.  
  698. function job_state_change(stateField, newValue, oldValue)
  699.     if stateField == 'Offense Mode' then
  700.         if newValue == 'None' then
  701.             enable('main','sub','range')
  702.         else
  703.             disable('main','sub','range')
  704.         end
  705.     end
  706. end
  707.  
  708. function display_current_job_state(eventArgs)
  709.     eventArgs.handled = true
  710.     local msg = ''
  711.     if state.OffenseMode.value ~= 'None' then
  712.         msg = msg .. 'Combat ['..state.OffenseMode.value..']'
  713.         if state.CombatForm.has_value then
  714.             msg = msg .. ' (' .. state.CombatForm.value .. ')'
  715.         end
  716.         msg = msg .. ', '
  717.     end
  718.     msg = msg .. 'Casting ['..state.CastingMode.value..'], Idle ['..state.IdleMode.value..']'
  719.     if state.Magic_Burst.value then
  720.         msg = msg .. ', MB [ON]'
  721.         else
  722.         msg = msg .. ', MB [OFF]'
  723.     end
  724.     if state.AF_Body.value then
  725.         msg = msg .. ', AF Body [ON]'
  726.         else
  727.         msg = msg .. ', AF Body [OFF]'
  728.     end
  729.     if state.Occult_Acumen.value then
  730.         msg = msg .. ', Occult Acumen [ON]'
  731.         else
  732.         msg = msg .. ', Occult Acumen [OFF]'
  733.     end
  734.     if state.DefenseMode.value ~= 'None' then
  735.         msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
  736.     end
  737.     if state.Kiting.value then
  738.         msg = msg .. ', Kiting [ON]'
  739.     end
  740.     if state.PCTargetMode.value ~= 'default' then
  741.         msg = msg .. ', Target PC: '..state.PCTargetMode.value
  742.     end
  743.     if state.SelectNPCTargets.value == true then
  744.         msg = msg .. ', Target NPCs'
  745.     end
  746.     add_to_chat(122, msg)
  747. end
  748.  
  749. function job_get_spell_map(spell, default_spell_map)
  750.     if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
  751.         if lowTierNukes:contains(spell.english) then
  752.             return 'LowTierNuke'
  753.         else
  754.             return 'HighTierNuke'
  755.         end
  756.     end
  757. end
  758.  
  759. function customize_idle_set(idleSet)
  760.     if player.mpp < 51 then
  761.         idleSet = set_combine(idleSet, sets.latent_refresh)
  762.     end
  763.     if buffactive['Mana Wall'] then
  764.         idleSet = set_combine(idleSet, sets.buff['Mana Wall'])
  765.     end
  766.     return idleSet
  767. end
  768.  
  769. function select_default_macro_book()
  770.     set_macro_page(1, 1)
  771. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement