Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
3,595
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.33 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Setup functions for this job. Generally should not be modified.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- Initialization function for this job file.
  6. function get_sets()
  7. mote_include_version = 2
  8.  
  9. -- Load and initialize the include file.
  10. include('Mote-Include.lua')
  11. end
  12.  
  13.  
  14. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16. state.Buff.Saboteur = buffactive.saboteur or false
  17. end
  18.  
  19. -------------------------------------------------------------------------------------------------------------------
  20. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  21. -------------------------------------------------------------------------------------------------------------------
  22.  
  23. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  24. function user_setup()
  25. state.OffenseMode:options('Normal','Enspell','ACC')
  26. state.HybridMode:options('Normal')
  27. state.CastingMode:options('Normal','ConserveMP')
  28. state.IdleMode:options('Normal')
  29.  
  30. state.MagicBurst = M(false, 'Magic Burst')
  31.  
  32. send_command('bind ^q gs c cycle CastingMode')
  33. send_command('bind !q gs c toggle MagicBurst')
  34. send_command('bind ^g input /recast Stratagems <me>')
  35. send_command('bind = input /ws "Chant du Cygne" <t>')
  36. send_command('bind ^= input /ws "Sanguine Blade" <t>')
  37. send_command('bind ^h input /ma "Haste II" <me>')
  38. send_command('bind ^, input /ma Blink <me>')
  39. send_command('bind ^. input /ma Stoneskin <me>')
  40. send_command('bind ^/ input /ma Phalanx <me>')
  41. send_command('bind ^c input /ma "Cure IV" <me>')
  42. send_command('bind ^d input /ma Diaga <t>')
  43. send_command('bind ^s input /ma "Sleep II" <t>')
  44. send_command('bind ^n input /ma "Thunder II" <t>')
  45. send_command('bind ^- input /ma Stun <t>')
  46. send_command('bind !a input /ma Aquaveil <me>')
  47. send_command('bind ^t input /ma "Temper II" <me>')
  48. send_command('bind !y input /ma "Refresh III" <me>')
  49. send_command('bind !l input /ma "Utsusemi: Ichi" <me>')
  50. send_command('bind !; input /ma "Utsusemi: Ni" <me>')
  51. send_command('bind !n input /ma "Blizzard II" <t>')
  52. send_command('bind !f input /ma "Fire II" <t>')
  53. send_command('bind !, input /item "Echo Drops" <me>')
  54. send_command('bind !. input /item Remedy <me>')
  55.  
  56. gear.default.obi_waist = "Refoccilation Stone"
  57.  
  58. select_default_macro_book(1, 4)
  59. end
  60.  
  61.  
  62. -- Define sets and vars used by this job file.
  63. function init_gear_sets()
  64. --------------------------------------
  65. -- Start defining the sets
  66. --------------------------------------
  67. gear.NukingHead = {name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst dmg.+3%','INT+8','Mag. Acc.+15','"Mag.Atk.Bns."+10',}}
  68. gear.MBLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+11%','MND+6','Mag. Acc.+13','"Mag.Atk.Bns."+2',}}
  69. gear.RegenBody = {name="Telchine Chasuble", augments={'Pet: "Mag.Atk.Bns."+18','"Conserve MP"+3','"Regen" potency+3',}}
  70. gear.RegenLegs = {name="Telchine Braconi", augments={'Rng.Atk.+7','"Fast Cast"+4','"Regen" potency+3',}}
  71. gear.RegenFeet = {name="Telchine Pigaches", augments={'Evasion+14','"Conserve MP"+4','"Regen" potency+3',}}
  72. gear.PetRegenBody = {name="Telchine Chasuble", augments={'Mag. Evasion+19','Pet: "Regen"+3','Enh. Mag. eff. dur. +10',}}
  73. gear.CuringHands = {name="Telchine Gloves", augments={'Evasion+20','"Cure" potency +7%','Enh. Mag. eff. dur. +10',}}
  74. gear.CMPHead = {name="Telchine Cap", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +10',}}
  75. gear.CMPHands = {name="Telchine Gloves", augments={'Evasion+17','Potency of "Cure" effect received+7%','INT+7 MND+7',}}
  76. gear.CMPLegs = {name="Telchine Braconi", augments={'DEF+15','Potency of "Cure" effect received+7%','Enh. Mag. eff. dur. +10',}}
  77. gear.CMPFeet = {name="Telchine Pigaches", augments={'DEF+7','Potency of "Cure" effect received+7%','Enh. Mag. eff. dur. +10',}}
  78. gear.DrainBody = {name="Merlinic Jubbah", augments={'Mag. Acc.+14 "Mag.Atk.Bns."+14','"Drain" and "Aspir" potency +10','Mag. Acc.+14','"Mag.Atk.Bns."+5',}}
  79. gear.DrainHands = {name="Merlinic Dastanas", augments={'Mag. Acc.+25','"Drain" and "Aspir" potency +10','INT+6',}}
  80. gear.DrainLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+30','"Drain" and "Aspir" potency +9','CHR+14',}}
  81. gear.DrainFeet = {name="Merlinic Crackows", augments={'Mag. Acc.+28','"Drain" and "Aspir" potency +10','MND+1',}}
  82. gear.INTENFLegs = {name="Chironic Hose", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','"Fast Cast"+2','Mag. Acc.+14','"Mag.Atk.Bns."+3',}}
  83. gear.MNDENFLegs = {name="Chironic Hose", augments={'Mag. Acc.+30','"Conserve MP"+4','MND+12','"Mag.Atk.Bns."+4',}}
  84. gear.FCHead = {name="Merlinic Hood", augments={'Mag. Acc.+2','"Fast Cast"+6','"Mag.Atk.Bns."+30',}}
  85. gear.FCBody = {name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Fast Cast"+5','CHR+2','Mag. Acc.+11','"Mag.Atk.Bns."+10',}}
  86. gear.FCFeet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+18','"Fast Cast"+7','DEX+2','Mag. Acc.+1',}}
  87. gear.DTHead = {name="Merlinic Hood", augments={'Pet: Attack+17 Pet: Rng.Atk.+17','CHR+5','Damage taken-5%','Accuracy+6 Attack+6',}}
  88. gear.PhalanxHead = { name="Merlinic Hood", augments={'Sklchn.dmg.+1%','Attack+6','Phalanx +4','Accuracy+11 Attack+11',}}
  89. gear.PhalanxFeet = {name="Merlinic Crackows", augments={'Enmity-2','Attack+18','Phalanx +5',}}
  90. gear.PhalanxLegs = {name="Merlinic Shalwar", augments={'Pet: DEX+9','STR+1','Phalanx +3','Accuracy+10 Attack+10',}}
  91. gear.PhalanxHands = {name="Merlinic Dastanas", augments={'INT+9','Pet: DEX+14','Phalanx +4',}}
  92. gear.PhalanxBody = {name="Merlinic Jubbah", augments={'Pet: STR+3','VIT+8','Phalanx +4','Accuracy+4 Attack+4','Mag. Acc.+11 "Mag.Atk.Bns."+11',}}
  93. gear.THHead = {name="Merlinic Hood", augments={'Pet: VIT+2','INT+5','"Treasure Hunter"+1','Accuracy+11 Attack+11','Mag. Acc.+12 "Mag.Atk.Bns."+12',}}
  94. gear.THHands = {name="Merlinic Dastanas", augments={'"Cure" potency +9%','Phys. dmg. taken -1%','"Treasure Hunter"+2','Accuracy+18 Attack+18','Mag. Acc.+12 "Mag.Atk.Bns."+12',}}
  95. gear.CDCCape = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}}
  96. gear.STRCape = {name="Sucellos's Cape", augments={'STR+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}
  97. gear.NukeCape = {name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}}
  98. gear.TPCape = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10','Damage taken-5%',}}
  99. gear.DWCape = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dual Wield"+10','Phys. dmg. taken-10%',}}
  100. gear.MNDCape = {name="Sucellos's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}}
  101. gear.MNDWSCape = {name="Sucellos's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','Weapon skill damage +10%',}}
  102. gear.TPHands = {name="Merlinic Dastanas", augments={'"Triple Atk."+4','MND+3','Magic Damage +6','Accuracy+13 Attack+13','Mag. Acc.+4 "Mag.Atk.Bns."+4',}}
  103. gear.RefreshHands = {name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+27','Potency of "Cure" effect received+1%','"Refresh"+1','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}
  104. gear.ENFStaff = {name="Grioavolr", augments={'Enfb.mag. skill +13','Mag. Acc.+28','Magic Damage +4',}}
  105. gear.NukeStaff = {name="Grioavolr", augments={'"Occult Acumen"+7','INT+7','Mag. Acc.+2','"Mag.Atk.Bns."+29','Magic Damage +6',}}
  106. gear.MBStaff = {name="Grioavolr", augments={'Magic burst dmg.+7%','MP+58','Mag. Acc.+25','"Mag.Atk.Bns."+20',}}
  107.  
  108. -- Precast Sets
  109.  
  110. -- Precast sets to enhance JAs
  111. sets.precast.JA['Chainspell'] = {body="Vitiation Tabard +3"}
  112. sets.precast.JA['Convert'] = {main="Murgleis",sub="Sacro Bulwark"}
  113.  
  114.  
  115. -- Waltz set (chr and vit)
  116.  
  117. -- Don't need any special gear for Healing Waltz.
  118.  
  119. -- Fast cast sets for spells
  120.  
  121. -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  122. -- No other FC sets necessary.
  123. sets.precast.FC = {ammo="Impatiens",
  124. head=gear.FCHead,ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  125. body="Vitiation Tabard +3",hands="Leyline Gloves",ring1="Weather. Ring +1",ring2="Lebeche Ring",
  126. back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet=gear.FCFeet}
  127.  
  128. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak",back="Swith Cape +1"})
  129.  
  130. sets.precast.FC['Dispelga'] = {main="Daybreak",sub="Ammurapi Shield",ammo="Impatiens",
  131. head=gear.FCHead,ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  132. body="Vitiation Tabard +3",hands="Leyline Gloves",ring1="Weather. Ring +1",ring2="Lebeche Ring",
  133. back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet=gear.FCFeet}
  134.  
  135. -- Weaponskill sets
  136. -- Default set for any weaponskill that isn't any more specifically defined
  137. sets.precast.WS = {ammo="Ginsen",
  138. head="Vitiation Chapeau +3",neck="Fotia Gorget",ear1="Sherida Earring",ear2="Moonshade Earring",
  139. body="Vitiation Tabard +3",hands="Atrophy Gloves +3",ring1="Epaminondas's Ring",ring2="Ilabrat Ring",
  140. back=gear.STRCape,legs="Vitiation Tights +3",feet="Jhakri Pigaches +2", waist="Fotia Belt",}
  141.  
  142. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  143. sets.precast.WS['Requiescat'] = {ammo="Ginsen",
  144. head="Carmine Mask +1",neck="Fotia Gorget",ear1="Regal Earring",ear2="Moonshade Earring",
  145. body="Vanya Robe",hands="Atrophy Gloves +3",ring1="Epaminondas's Ring",ring2="Rufescent Ring",
  146. back=gear.STRCape,legs=gear.ENFLegs,feet="Carmine Greaves +1", waist="Fotia Belt",}
  147.  
  148. sets.precast.WS['Sanguine Blade'] = {ammo="Pemphredo Tathlum",
  149. head="Pixie Hairpin +1",neck="Baetyl Pendant",ear1="Regal Earring",ear2="Malignance Earring",
  150. body="Amalric Doublet +1",hands="Jhakri Cuffs +2",ring1="Freke Ring",ring2="Archon Ring",
  151. back=gear.MNDWSCape,waist="Orpheus's Sash",legs="Amalric Slops +1",feet="Vitiation Boots +3"}
  152.  
  153. sets.precast.WS['Seraph Blade'] = {ammo="Pemphredo Tathlum",
  154. head=gear.NukingHead,neck="Baetyl Pendant",ear1="Regal Earring",ear2="Malignance Earring",
  155. body="Amalric Doublet +1",hands="Jhakri Cuffs +2",ring1="Weather. Ring +1",ring2="Freke Ring",
  156. back=gear.MNDWSCape,waist="Orpheus's Sash",legs="Amalric Slops +1",feet="Vitiation Boots +3"}
  157.  
  158. sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila +1",
  159. head="Vitiation Chapeau +3",neck="Fotia Gorget",ear1="Sherida Earring",ear2="Moonshade Earring",
  160. body="Vitiation Tabard +3",hands="Atrophy Gloves +3",ring1="Begrudging Ring",ring2="Ilabrat Ring",
  161. back=gear.CDCCape,legs="Vitiation Tights +3",feet="Thereoid Greaves", waist="Fotia Belt",}
  162.  
  163. sets.precast.WS['Savage Blade'] = {ammo="Ginsen",
  164. head="Vitiation Chapeau +3",neck="Caro Necklace",ear1="Sherida Earring",ear2="Moonshade Earring",
  165. body="Vitiation Tabard +3",hands="Atrophy Gloves +3",ring1="Petrov Ring",ring2="Apate Ring",
  166. back=gear.STRCape,legs="Vitiation Tights +3",feet="Jhakri Pigaches +2", waist="Grunfeld Rope",}
  167.  
  168.  
  169. -- Midcast Sets
  170.  
  171. sets.midcast.FastRecast = {ammo="Hasty Pinion +1",
  172. head=gear.FCHead,ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  173. body="Zendik Robe",hands="Leyline Gloves",ring1="Weather. Ring +1",ring2="Kishar Ring",
  174. back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet=gear.FCFeet}
  175.  
  176. sets.midcast.Cure = {main="Chatoyant Staff",sub="Enki Strap",ammo="Sapience Orb",
  177. head="Kaykaus Mitra +1",neck="Incanter's Torque",ear1="Mendicant's Earring",ear2="Loquacious Earring",
  178. body="Kaykaus Bliaut +1",hands="Kaykaus Cuffs +1",ring1="Haoma's Ring",ring2="Haoma's Ring",
  179. back="Twilight Cape",waist="Witful Belt",legs="Kaykaus Tights +1",feet="Kaykaus Boots +1",}
  180.  
  181. sets.midcast.Curaga = sets.midcast.Cure
  182. sets.midcast.CureSelf = {neck="Phalaina Locket",hands=gear.CMPHands,legs=gear.CMPLegs,feet=gear.CMPFeet,waist="Gishdubar Sash",ear2="Roundel Earring",ring2="Lebeche Ring"}
  183.  
  184. sets.midcast['Enhancing Magic'] = {main="Pukulatmuj +1",sub="Pukulatmuj",ammo="Staunch Tathlum +1",
  185. head="Befouled Crown",neck="Incanter's Torque",ear1="Andoaa Earring",ear2="Augmenting Earring",
  186. body="Vitiation Tabard +3",hands="Vitiation Gloves +3",ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  187. back="Ghostfyre Cape",waist="Olympus Sash",legs="Atrophy Tights +3",feet="Lethargy Houseaux +1"}
  188.  
  189. sets.midcast.Phalanx = {main="Pukulatmuj +1",sub="Ammurapi Shield",ammo="Staunch Tathlum +1",
  190. head=gear.PhalanxHead,neck="Duelist's Torque +2",ear1="Andoaa Earring",ear2="Augmenting Earring",
  191. body=gear.PhalanxBody,hands=gear.PhalanxHands,ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  192. back="Ghostfyre Cape",waist="Olympus Sash",legs=gear.PhalanxLegs,feet=gear.PhalanxFeet}
  193.  
  194. sets.midcast['Phalanx II']= sets.midcast['Enhancing Magic']
  195.  
  196. sets.midcast['Temper II']= sets.midcast['Enhancing Magic']
  197.  
  198. sets.midcast.Blink = sets.midcast.FastRecast
  199.  
  200. sets.midcast.Aquaveil = {main="Mafic Cudgel",sub="Ammurapi Shield",legs="Shedir Seraweels",waist="Emphatikos Rope",feet="Lethargy Houseaux +1",head="Amalric Coif +1",body="Vitiation Tabard +3",
  201. hands="Regal Cuffs",back="Ghostfyre Cape",ammo="Staunch Tathlum +1",neck="Duelist's Torque +2"}
  202.  
  203. sets.midcast.Refresh = {main="Bolelabunga",sub="Ammurapi Shield",waist="Gishdubar Sash",legs="Lethargy Fuseau +1",feet="Lethargy Houseaux +1",body="Atrophy Tabard +3",head="Amalric Coif +1",
  204. hands="Atrophy Gloves +3",back="Ghostfyre Cape",ammo="Staunch Tathlum +1",neck="Duelist's Torque +2"}
  205.  
  206. sets.midcast.Stoneskin = set_combine(sets.midcast.FastCast,
  207. {waist="Siegel Sash",legs="Shedir Seraweels",neck="Stone Gorget",right_ear="Earthcry Earring",})
  208.  
  209. sets.midcast.Haste = set_combine(sets.midcast.FastCast,
  210. {main="Mafic Cudgel",sub="Ammurapi Shield",ammo="Staunch Tathlum +1",legs=gear.CMPLegs,body="Vitiation Tabard +3",
  211. feet="Lethargy Houseaux +1",head=gear.CMPHead,hands="Atrophy Gloves +3",back="Ghostfyre Cape",neck="Duelist's Torque +2"})
  212.  
  213. sets.midcast.Flurry = sets.midcast.Haste
  214. sets.midcast.Firestorm = sets.midcast.Haste
  215. sets.midcast.Hailstorm = sets.midcast.Haste
  216. sets.midcast.Windstorm = sets.midcast.Haste
  217. sets.midcast.Sandstorm = sets.midcast.Haste
  218. sets.midcast.Thunderstorm = sets.midcast.Haste
  219. sets.midcast.Rainstorm = sets.midcast.Haste
  220. sets.midcast.Aurorastorm = sets.midcast.Haste
  221. sets.midcast.Voidstorm = sets.midcast.Haste
  222. sets.midcast["Haste II"] = sets.midcast.Haste
  223. sets.midcast["Flurry II"] = sets.midcast.Haste
  224. sets.midcast['Shock Spikes'] = sets.midcast.Haste
  225. sets.midcast['Ice Spikes'] = sets.midcast.Haste
  226. sets.midcast['Blaze Spikes'] = sets.midcast.Haste
  227. sets.midcast['Refresh II'] = sets.midcast.Refresh
  228. sets.midcast['Refresh III'] = sets.midcast.Refresh
  229. sets.midcast['Regen II'] = sets.midcast.Refresh
  230.  
  231. sets.midcast.Protect = {main="Mafic Cudgel",sub="Ammurapi Shield",ring2="Sheltered Ring",legs=gear.CMPLegs,body="Vitiation Tabard +3",feet="Lethargy Houseaux +1",head=gear.CMPHead,
  232. hands="Atrophy Gloves +3",back="Ghostfyre Cape",neck="Duelist's Torque +2"}
  233. sets.midcast.Protectra = sets.midcast.Protect
  234. sets.midcast.Shell = sets.midcast.Protect
  235. sets.midcast.Shellra = sets.midcast.Protect
  236.  
  237. sets.midcast['Barfire'] = set_combine(sets.midcast['Enhancing Magic'], {main="Mafic Cudgel",sub="Ammurapi Shield",neck="Duelist's Torque +2",head=gear.CMPHead,body="Vitiation Tabard +3",hands="Atrophy Gloves +3",})
  238. sets.midcast.Barblizzard = sets.midcast.Barfire
  239. sets.midcast.Baraero = sets.midcast.Barfire
  240. sets.midcast.Barstone = sets.midcast.Barfire
  241. sets.midcast.Barthunder = sets.midcast.Barfire
  242. sets.midcast.Barwater = sets.midcast.Barfire
  243. sets.midcast.Barsleep = sets.midcast.Barfire
  244. sets.midcast.Barpoison = sets.midcast.Barfire
  245. sets.midcast.Barparalyze = sets.midcast.Barfire
  246. sets.midcast.Barblind = sets.midcast.Barfire
  247. sets.midcast.Barsilence = sets.midcast.Barfire
  248. sets.midcast.Baramnesia = sets.midcast.Barfire
  249. sets.midcast['Gain-STR'] = sets.midcast.Haste
  250. sets.midcast['Gain-DEX'] = sets.midcast.Haste
  251. sets.midcast['Gain-VIT'] = sets.midcast.Haste
  252. sets.midcast['Gain-AGI'] = sets.midcast.Haste
  253. sets.midcast['Gain-MND'] = sets.midcast.Haste
  254. sets.midcast['Gain-CHR'] = sets.midcast.Haste
  255. sets.midcast['Gain-INT'] = sets.midcast.Haste
  256.  
  257. sets.midcast['Enfeebling Magic'] = {main="Crocea Mors",sub="Daybreak",ammo="Regal Gem",
  258. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Regal Earring",right_ear="Malignance Earring",
  259. body="Atrophy Tabard +3",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  260. back=gear.NukeCape,waist="Rumination Sash",legs=gear.INTENFLegs,feet="Vitiation Boots +3"}
  261.  
  262. sets.midcast['Dia III'] = {ammo="Regal Gem",
  263. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Malignance Earring",right_ear="Malignance Earring",
  264. body="Lethargy Sayon +1",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  265. back=gear.MNDCape,waist="Rumination Sash",legs=gear.MNDENFLegs,feet="Vitiation Boots +3"}
  266.  
  267. sets.midcast['Slow II'] = {main="Crocea Mors",sub="Daybreak",ammo="Regal Gem",
  268. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Regal Earring",right_ear="Malignance Earring",
  269. body="Lethargy Sayon +1",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  270. back=gear.MNDCape,waist="Rumination Sash",legs=gear.MNDENFLegs,feet="Vitiation Boots +3"}
  271. sets.midcast['Paralyze II'] = {main="Crocea Mors",sub="Daybreak",ammo="Regal Gem",
  272. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Regal Earring",right_ear="Malignance Earring",
  273. body="Lethargy Sayon +1",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  274. back=gear.MNDCape,waist="Rumination Sash",legs=gear.MNDENFLegs,feet="Vitiation Boots +3"}
  275. sets.midcast['Distract III'] = {main="Crocea Mors",sub="Daybreal",ammo="Regal Gem",
  276. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Regal Earring",right_ear="Malignance Earring",
  277. body="Lethargy Sayon +1",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  278. back=gear.NukeCape,waist="Rumination Sash",legs=gear.MNDENFLegs,feet="Vitiation Boots +3"}
  279. sets.midcast['Frazzle III'] = sets.midcast['Distract III']
  280.  
  281. sets.midcast["Dispelga"] = {main="Daybreak",sub="Crocea Mors",ammo="Regal Gem",
  282. head="Vitiation Chapeau +3",neck="Duelist's Torque +2",left_ear="Regal Earring",right_ear="Malignance Earring",
  283. body="Lethargy Sayon +1",hands="Regal Cuffs",left_ring="Stikini Ring +1",right_ring="Kishar Ring",
  284. back=gear.NukeCape,waist="Rumination Sash",legs=gear.MNDENFLegs,feet="Vitiation Boots +3"}
  285.  
  286. sets.midcast['Elemental Magic'] = {main=gear.NukeStaff,sub="Enki Strap",ammo="Pemphredo Tathlum",
  287. head=gear.NukingHead,neck="Baetyl Pendant",ear1="Regal Earring",ear2="Malignance Earring",
  288. body="Amalric Doublet +1",hands="Amalric Gages +1",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
  289. back=gear.NukeCape,waist=gear.ElementalObi,legs="Amalric Slops +1",feet="Amalric Nails +1",}
  290.  
  291. sets.midcast['Elemental Magic'].ConserveMP = {main=gear.NukeStaff,sub="Enki Strap",ammo="Pemphredo Tathlum",
  292. head=gear.NukingHead,neck="Baetyl Pendant",ear1="Regal Earring",ear2="Malignance Earring",
  293. body="Seidr Cotehardie",hands="Amalric Gages +1",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
  294. back=gear.NukeCape,waist=gear.ElementalObi,legs="Amalric Slops +1",feet="Amalric Nails +1"}
  295.  
  296. sets.magic_burst ={main=gear.MBStaff,sub="Enki Strap",ammo="Pemphredo Tathlum",
  297. head="Ea Hat +1",neck="Mizu. Kubikazari",ear1="Regal Earring",ear2="Malignance Earring",
  298. body="Ea Houppelande +1",hands="Amalric Gages +1",ring1="Mujin Band",ring2="Locus Ring",
  299. back=gear.NukeCape,waist=gear.ElementalObi,legs="Ea Slops +1",feet="Amalric Nails +1"}
  300.  
  301. sets.magic_burst.ConserveMP ={main=gear.MBStaff,sub="Enki Strap",ammo="Pemphredo Tathlum",
  302. head="Ea Hat +1",neck="Mizu. Kubikazari",ear1="Regal Earring",ear2="Static Earring",
  303. body="Seidr Cotehardie",hands="Amalric Gages +1",ring1="Mujin Band",ring2="Locus Ring",
  304. back=gear.NukeCape,waist=gear.ElementalObi,legs="Ea Slops +1",feet="Amalric Nails +1"}
  305.  
  306. sets.midcast.Impact = set_combine(sets.midcast['Enfeebling Magic'], {head=empty,body="Twilight Cloak"})
  307.  
  308. sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Sacro Bulwark",ammo="Regal Gem",
  309. head="Pixie Hairpin +1",neck="Erra Pendant",ear1="Enchanter's Earring +1",ear2="Abyssal Earring",
  310. body="Carmine Scale Mail +1",hands="Amalric Gages +1",ring1="Stikini Ring +1",right_ring="Evanescence Ring",
  311. back="Perimede Cape",waist="Casso Sash",legs="Artsieq Hose",feet="Amalric Nails +1",}
  312.  
  313. --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
  314.  
  315. sets.midcast.Drain = {main="Rubicundity",sub="Sacro Bulwark",ammo="Hasty Pinion +1",
  316. head="Pixie Hairpin +1",neck="Erra Pendant",ear1="Hirudinea Earring",ear2="Abyssal Earring",
  317. body=gear.DrainBody,hands=gear.DrainHands,ring1="Archon Ring",ring2="Evanescence Ring",
  318. back=gear.NukeCape,waist="Fucho-no-Obi",legs=gear.DrainLegs,feet=gear.DrainFeet}
  319.  
  320. sets.midcast.Aspir = sets.midcast.Drain
  321.  
  322. sets.midcast.Klimaform = sets.midcast.FastRecast
  323.  
  324. sets.midcast.Stone = {ammo="Pemphredo Tathlum",
  325. head=gear.THHead,neck="Saevus Pendant +1",left_ear="Barkaro. Earring",right_ear="Regal Earring",
  326. body="Chironic Doublet",hands=gear.THHands,left_ring="Shiva Ring +1",right_ring="Shiva Ring +1",
  327. back=gear.HelixCape,waist="Refoccilation Stone",legs="Amalric Slops +1",feet="Amalric Nails +1",}
  328.  
  329.  
  330. -- Sets for special buff conditions on spells.
  331.  
  332. sets.buff.ComposureOther = {head="Lethargy Chappel +1",
  333. body="Lethargy Sayon +1",hands="Atrophy Gloves +3",
  334. legs="Lethargy Fuseau +1",feet="Lethargy Houseaux +1"}
  335.  
  336. sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
  337.  
  338.  
  339. -- Sets to return to when not performing an action.
  340.  
  341. -- Resting sets
  342.  
  343. -- Idle sets
  344. sets.idle = {main="Qutrub Knife",sub="Ceremonial Dagger",ammo="Homiliary",
  345. head="Vitiation Chapeau +3",neck="Loricate Torque +1",ear1="Etiolation Earring",ear2="Infused Earring",
  346. body="Shamash Robe",hands=gear.RefreshHands,ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  347. back="Moonlight Cape",waist="Fucho-no-Obi",legs="Carmine Cuisses +1",feet="Hippomenes Socks +1"}
  348.  
  349. -- Defense sets
  350. sets.defense.PDT = {main="Mafic Cudgel",sub="Sacro Bulwark",ammo="Staunch Tathlum +1",
  351. head="Malignance Chapeau",neck="Loricate Torque +1",ear1="Sherida Earring",ear2="Telos Earring",
  352. body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Gelatinous Ring +1",
  353. back=gear.TPCape,waist="Flume Belt +1",legs="Malignance Tights",feet="Malignance Boots"}
  354.  
  355. sets.defense.MDT = {main="Bolelabunga",sub="Sacro Bulwark",ammo="Staunch Tathlum +1",
  356. head="Malignance Chapeau",neck="Warder's Charm +1",ear1="Etiolation Earring",ear2="Odnowa Earring +1",
  357. body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  358. back="Moonlight Cape",waist="Carrier's Sash",legs="Malignance Tights",feet="Malignance Boots"}
  359.  
  360. sets.Kiting = {legs="Carmine Cuisses +1",feet="Hippomenes Socks +1"}
  361.  
  362. sets.latent_refresh = {waist="Fucho-no-obi"}
  363.  
  364. -- sets
  365.  
  366. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  367. -- sets if more refined versions aren't defined.
  368. -- If you create a set with both offense and defense modes, the offense mode should be first.
  369. -- EG: sets.engaged.Dagger.Accuracy.Evasion\
  370.  
  371. -- Normal melee group
  372. sets.engaged = {main="Naegling",sub="Blurred Knife +1",ammo="Ginsen",
  373. head="Malignance Chapeau",neck="Anu Torque",ear1="Sherida Earring",ear2="Telos Earring",
  374. body="Malignance Tabard",hands="Malignance Gloves",ring1="Chirich Ring +1",ring2="Chirich Ring +1",
  375. back=gear.DWCape,waist="Reiki Yotai",legs="Malignance Tights",feet="Malignance Boots"}
  376.  
  377. sets.engaged.Enspell = {main="Qutrub Knife",sub="Ceremonial Dagger",ammo="Hasty Pinion +1",
  378. head="Malignance Chapeau",neck="Duelist's Torque +2",ear1="Cessance Earring",ear2="Digni. Earring",
  379. body="Malignance Tabard",hands="Ayanmo Manopolas +2",ring1="Chirich Ring +1",ring2="Chirich Ring +1",
  380. back=gear.DWCape,waist="Orpheus's Sash",legs="Malignance Tights",feet="Malignance Boots"}
  381.  
  382. sets.engaged.ACC = {ammo="Ginsen",
  383. head="Malignance Chapeau",neck="Anu Torque",ear1="Sherida Earring",ear2="Telos Earring",
  384. body="Malignance Tabard",hands="Malignance Gloves",ring1="Chirich Ring +1",ring2="Chirich Ring +1",
  385. back=gear.TPCape,waist="Reiki Yotai",legs="Malignance Tights",feet="Malignance Boots"}
  386.  
  387. end
  388.  
  389. -------------------------------------------------------------------------------------------------------------------
  390. -- Job-specific hooks for standard casting events.
  391. -------------------------------------------------------------------------------------------------------------------
  392.  
  393. -- Run after the default midcast() is done.
  394. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  395.  
  396. function job_post_midcast(spell, action, spellMap, eventArgs)
  397. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  398. equip(sets.buff.Saboteur)
  399. elseif spell.skill == 'Enhancing Magic' then
  400. equip(sets.midcast.EnhancingDuration)
  401. if buffactive.composure and spell.target.type == 'PLAYER' then
  402. equip(sets.buff.ComposureOther)
  403. end
  404. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  405. equip(sets.midcast.CureSelf)
  406. end
  407. if spell.action_type == 'Magic' then
  408. if spell.element == "Earth" and spell.skill == 'Elemental Magic' and (state.CastingMode.value == "Normal" or state.CastingMode.value == "ConserveMP") then
  409. equip({ neck="Quanpur Necklace" })
  410. end
  411. if spellMap == 'Cure' and spell.target.type == 'SELF' then
  412. equip(sets.midcast.CureSelf)
  413. end
  414. if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  415. if state.CastingMode.value == "ConserveMP" then
  416. equip(sets.magic_burst.ConserveMP)
  417. elseif state.CastingMode.value == "MACC" then
  418. equip(sets.magic_burst.MACC)
  419. else
  420. equip(sets.magic_burst)
  421. end
  422. end
  423. end
  424. end
  425. function job_aftercast(spell, action, spellMap, eventArgs)
  426. if not spell.interrupted then
  427. if spell.english == 'Break' or spell.english == 'Breakga' then
  428. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 39 down spells/00220.png')
  429. elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  430. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 78 down spells/00220.png')
  431. elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  432. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 117 down spells/00220.png')
  433. end
  434. classes.CustomIdleGroups:clear()
  435. end
  436. end
  437. -------------------------------------------------------------------------------------------------------------------
  438. -- Job-specific hooks for non-casting events.
  439. -------------------------------------------------------------------------------------------------------------------
  440.  
  441. -- Handle notifications of general user state change.
  442. function job_state_change(stateField, newValue, oldValue)
  443.  
  444. end
  445.  
  446. -------------------------------------------------------------------------------------------------------------------
  447. -- User code that supplements standard library decisions.
  448. -------------------------------------------------------------------------------------------------------------------
  449.  
  450. -- Modify the default idle set after it was constructed.
  451. function customize_idle_set(idleSet)
  452. if player.mpp < 51 then
  453. idleSet = set_combine(idleSet, sets.latent_refresh)
  454. end
  455.  
  456. return idleSet
  457. end
  458.  
  459. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  460. function display_current_job_state(eventArgs)
  461. display_current_caster_state()
  462. eventArgs.handled = true
  463. end
  464.  
  465. -------------------------------------------------------------------------------------------------------------------
  466. -- Utility functions specific to this job.
  467. -------------------------------------------------------------------------------------------------------------------
  468.  
  469. -- Select default macro book on initial load or subjob change.
  470. function select_default_macro_book()
  471. -- Default macro set/book
  472. if player.sub_job == 'DNC' then
  473. set_macro_page(1, 4)
  474. elseif player.sub_job == 'NIN' then
  475. set_macro_page(1, 4)
  476. elseif player.sub_job == 'THF' then
  477. set_macro_page(1, 4)
  478. else
  479. set_macro_page(1, 4)
  480. end
  481. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement