Advertisement
Guest User

Untitled

a guest
Sep 25th, 2015
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.02 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Initialization function that defines sets and variables to be used.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
  6.  
  7. -- Initialization function for this job file.
  8. function get_sets()
  9. -- Load and initialize the include file.
  10. include('Mote-Include.lua')
  11. end
  12.  
  13.  
  14. -- Setup vars that are user-independent.
  15. function job_setup()
  16.  
  17. end
  18.  
  19.  
  20. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  21. function user_setup()
  22. -- Options: Override default values
  23. options.CastingModes = {'Normal', 'ConserveMP', 'MagicBurst',}
  24. options.OffenseModes = {'None', 'Normal'}
  25. options.DefenseModes = {'Normal'}
  26. options.WeaponskillModes = {'Normal'}
  27. options.IdleModes = {'Normal', 'PDT'}
  28. options.RestingModes = {'Normal'}
  29. options.PhysicalDefenseModes = {'PDT'}
  30. options.MagicalDefenseModes = {'MDT'}
  31.  
  32. state.Defense.PhysicalMode = 'PDT'
  33. state.OffenseMode = 'None'
  34.  
  35. send_command('bind ^q gs c cycle CastingMode')
  36. send_command('bind ^- input /ma Stun <t>')
  37. send_command('bind ^h input /ma Haste <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 ^m input /ws Myrkr <me>')
  43. send_command('bind ^d input /ma "Dia II" <t>')
  44. send_command('bind ^g input /ma Gravity <t>')
  45. send_command('bind ^b input /ma Bind <t>')
  46. send_command('bind ^s input /ma "Sleep II" <t>')
  47. send_command('bind ^n input /ma "Thunder II" <t>')
  48.  
  49. lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
  50. 'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
  51. 'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
  52. 'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
  53. 'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
  54.  
  55. -- Default macro set/book
  56. set_macro_page(1, 1)
  57. end
  58.  
  59.  
  60. -- Define sets and vars used by this job file.
  61. function init_gear_sets()
  62. gear.NukingHands = {name="Helios Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Occult Acumen"+10','Magic burst mdg.+10%',}}
  63. gear.NukingBoots = {name="Helios Boots", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','"Occult Acumen"+9','Magic burst mdg.+10%',}}
  64. gear.DrainBody = {name="Helios Jacket", augments={'Evasion+18','"Drain" and "Aspir" potency +10',}}
  65. gear.DrainHands = {name="Helios Gloves", augments={'Mag. Acc.+7','"Drain" and "Aspir" potency +10','AGI+7',}}
  66. gear.DrainLegs = {name="Helios Spats", augments={'Evasion+4','"Drain" and "Aspir" potency +9',}}
  67. gear.DrainFeet = {name="Helios Boots", augments={'Mag. Evasion+22','"Drain" and "Aspir" potency +8',}}
  68. gear.CuringHands = {name="Telchine Gloves", augments={'Rng.Acc.+6','"Cure" potency +7%','Enh. Mag. eff. dur. +7',}}
  69. gear.CMPHands = {name="Telchine Gloves", augments={'Accuracy+14 Attack+14','System: 1 ID: 356 Val: 5',}}
  70. gear.CMPLegs = {name="Telchine Braconi", augments={'Accuracy+7','System: 1 ID: 356 Val: 6',}}
  71. gear.CMPFeet = {name="Telchine Pigaches", augments={'Attack+10','System: 1 ID: 356 Val: 5',}}
  72. gear.PetRegenBody = {name="Telchine Chasuble", augments={'Pet: DEF+7','Pet: "Regen"+3',}}
  73. gear.PetRegenLegs = {name="Telchine Braconi", augments={'Pet: Evasion+5','Pet: "Regen"+3',}}
  74. gear.RegenBody = {name="Telchine Chasuble", augments={'Pet: "Mag.Atk.Bns."+18','"Conserve MP"+3','Enh. Mag. eff. dur. +8',}}
  75. gear.FCHands = {name="Telchine Gloves", augments={'"Fast Cast"+4',}}
  76.  
  77. --------------------------------------
  78. -- Start defining the sets
  79. --------------------------------------
  80. -- Obi --
  81.  
  82. sets['Lightning'] = {waist="Hachirin-no-Obi"}
  83. sets['Ice'] = {waist="Hachirin-no-Obi"}
  84. sets['Water'] = {waist="Hachirin-no-Obi"}
  85. sets['Fire'] = {waist="Hachirin-no-Obi"}
  86. sets['Earth'] = {waist="Hachirin-no-Obi"}
  87. sets['Wind'] = {waist="Hachirin-no-Obi"}
  88. sets['Light'] = {waist="Hachirin-no-Obi"}
  89. sets['Dark'] = {waist="Hachirin-no-Obi"}
  90.  
  91. gear.default.obi_waist = "Refoccilation Stone"
  92.  
  93. ---- Precast Sets ----
  94.  
  95. -- Precast sets to enhance JAs
  96. sets.precast.JA['Mana Wall'] = {feet="Goetia Sabots +2"}
  97.  
  98. sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
  99.  
  100. -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
  101. sets.precast.JA.Convert = {}
  102.  
  103.  
  104. -- Fast cast sets for spells
  105.  
  106. sets.precast.FC = {main="Keraunos",
  107. sub="Willpower Grip",
  108. ammo="Sapience Orb",
  109. head="Vanya Hood",
  110. neck="Orunmila's Torque",
  111. ear1="Enchanter Earring +1",
  112. ear2="Loquacious Earring",
  113. body="Anhur Robe",
  114. hands=gear.FCHands,
  115. ring1="Weather. Ring",
  116. ring2="Prolix Ring",
  117. back="Swith Cape +1",
  118. waist="Witful Belt",
  119. legs="Psycloth Lappas",
  120. feet="Regal Pumps +1"}
  121.  
  122. sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {right_ear="Barkaro. Earring",ammo="Impatiens",
  123. right_ring="Lebeche Ring",head="Goetia Petasos +2",body="Dalmatica +1",back="Ogapepo Cape +1",})
  124.  
  125. sets.precast.FC.Impact = {main="Keraunos",
  126. sub="Willpower Grip",
  127. ammo="Sapience Orb",
  128. head=empty,
  129. body="Twilight Cloak",
  130. hands=gear.FCHands,
  131. legs="Psycloth Lappas",
  132. feet="Regal Pumps +1",
  133. neck="Orunmila's Torque",
  134. waist="Witful Belt",
  135. right_ear="Loquac. Earring",
  136. left_ear="Enchanter Earring +1",
  137. right_ring="Prolix Ring",
  138. left_ring="Weather. Ring",
  139. back="Swith Cape +1"}
  140.  
  141. sets.precast.FC.Cure = {main="Keraunos",
  142. sub="Willpower Grip",
  143. ammo="Sapience Orb",
  144. head="Vanya Hood",
  145. neck="Orunmila's Torque",
  146. ear1="Enchanter Earring +1",
  147. ear2="Loquacious Earring",
  148. body="Heka's Kalasiris",
  149. hands=gear.FCHands,
  150. ring1="Weather. Ring",
  151. ring2="Prolix Ring",
  152. back="Pahtli Cape",
  153. waist="Witful Belt",
  154. legs="Doyen Pants",
  155. feet="Regal Pumps +1"}
  156.  
  157. sets.precast.FC.Curaga = sets.precast.FC.Cure
  158.  
  159. -- Weaponskill sets
  160. -- Default set for any weaponskill that isn't any more specifically defined
  161. sets.precast.WS = { main="Keraunos",
  162. ammo="Ghastly Tathlum +1",
  163. head="Welkin Crown",
  164. body="Amalric Doublet +1",
  165. hands=gear.NukingHands,
  166. legs="Hagondes Pants",
  167. feet=gear.NukingBoots,
  168. neck="Saevus Pendant +1",
  169. waist="Refoccilation Stone",
  170. left_ear="Friomisi Earring",
  171. right_ear="Barkaro. Earring",
  172. left_ring="Shiva Ring +1",
  173. right_ring="Shiva Ring +1",
  174. back="Toro Cape",}
  175.  
  176. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  177. sets.precast.WS['Vidohunir'] = {main="Keraunos",
  178. ammo="Ghastly Tathlum +1",
  179. head="Welkin Crown",
  180. body="Amalric Doublet +1",
  181. hands=gear.NukingHands,
  182. legs="Hagondes Pants",
  183. feet=gear.NukingBoots,
  184. neck="Saevus Pendant +1",
  185. waist="Refoccilation Stone",
  186. left_ear="Friomisi Earring",
  187. right_ear="Barkaro. Earring",
  188. left_ring="Shiva Ring +1",
  189. right_ring="Shiva Ring +1",
  190. back="Toro Cape",}
  191.  
  192. sets.precast.WS['Cataclysm'] = {main="Keraunos",
  193. ammo="Ghastly Tathlum +1",
  194. head="Pixie Hairpin +1",
  195. body="Amalric Doublet +1",
  196. hands=gear.NukingHands,
  197. legs="Hagondes Pants",
  198. feet=gear.NukingBoots,
  199. neck="Saevus Pendant +1",
  200. waist="Refoccilation Stone",
  201. left_ear="Friomisi Earring",
  202. right_ear="Barkaro. Earring",
  203. left_ring="Archon Ring",
  204. right_ring="Shiva Ring +1",
  205. back="Toro Cape",}
  206.  
  207. sets.precast.WS['Myrkr'] = {main="Keraunos",
  208. ammo="Strobilus",
  209. head="Kaabnax Hat",
  210. body="Weather. Robe +1",
  211. hands="Otomi Gloves",
  212. legs="Weather. Pants +1",
  213. feet="Llwyd's Clogs",
  214. neck="Dualism Collar +1",
  215. waist="Shinjutsu-no-obi +1",
  216. left_ear="Enchanter Earring +1",
  217. right_ear="Influx Earring",
  218. left_ring="Mephitas's Ring +1",
  219. right_ring="Mephitas's Ring",
  220. back="Bane Cape",}
  221.  
  222. sets.precast.WS['Shell Crusher'] ={main="Keraunos",
  223. sub="Willpower Grip",
  224. ammo="Hasty Pinion +1",
  225. head="Nahtirah Hat",
  226. body="Onca Suit",
  227. hands=empty,
  228. legs=empty,
  229. feet=empty,
  230. neck="Voltsurge Torque",
  231. waist="Chaac Belt",
  232. left_ear="Impregnable Earring",
  233. right_ear="Genmei Earring",
  234. left_ring="Rajas Ring",
  235. right_ring="Patricius Ring",
  236. back="Umbra Cape"}
  237.  
  238.  
  239. ---- Midcast Sets ----
  240.  
  241. sets.midcast.FastRecast = {main="Keraunos",
  242. head="Vanya Hood",
  243. neck="Orunmila's Torque",
  244. ear1="Enchanter Earring +1",
  245. ear2="Loquacious Earring",
  246. body="Shango Robe",
  247. hands=gear.FCHands,
  248. ring1="Weather. Ring",
  249. ring2="Prolix Ring",
  250. back="Swith Cape +1",
  251. waist="Witful Belt",
  252. legs="Psycloth Lappas",
  253. feet="Regal Pumps +1"}
  254.  
  255. sets.midcast.Cure = {main="Keraunos",
  256. head="Vanya Hood",
  257. neck="Colossus's Torque",
  258. ear2="Beatific Earring",
  259. body="Heka's Kalasiris",
  260. hands=gear.CuringHands,
  261. ring1="Haoma's Ring",
  262. ring2="Haoma's Ring",
  263. back="Oretania's Cape +1",
  264. waist="Austerity Belt +1",
  265. legs="Psycloth Lappas",
  266. feet="Regal Pumps +1"}
  267.  
  268. sets.midcast.Cure.ConserveMP = {main="Keraunos",
  269. head="Vanya Hood",
  270. neck="Phalaina Locket",
  271. ear2="Beatific Earring",
  272. body="Heka's Kalasiris",
  273. hands=gear.CMPHands,
  274. ring1="Lebeche Ring",
  275. ring2="Haoma's Ring",
  276. back="Oretania's Cape +1",
  277. waist="Gishdubar Sash",
  278. legs=gear.CMPLegs,
  279. feet=gear.CMPFeet,}
  280.  
  281. sets.midcast.Curaga = sets.midcast.Cure
  282.  
  283. sets.midcast.Cursna = {neck="Colossus's Torque",
  284. hands="Hieros Mittens",
  285. ring1="Haoma's Ring",
  286. ring2="Haoma's Ring",
  287. back="Oretania's Cape +1",}
  288.  
  289. sets.midcast['Enhancing Magic'] = {main="Keraunos",
  290. head="Befouled Crown",
  291. neck="Colossus's Torque",
  292. body="Anhur Robe",
  293. hands="Ayao's Gages",
  294. legs="Shedir Seraweels",
  295. feet="Regal Pumps +1",
  296. ear1="Gifted Earring",
  297. ear2="Calamitous Earring",
  298. ring1="Weather. Ring",
  299. ring2="Prolix Ring",
  300. back="Fi Follet Cape +1",
  301. waist="Cascade Belt",
  302. ammo="Hasty Pinion +1",}
  303.  
  304. sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash", neck="Stone Gorget", legs="Shedir Seraweels",})
  305. sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'], {waist="Emphatikos Robe", legs="Shedir Seraweels",})
  306.  
  307. sets.midcast['Enfeebling Magic'] = {main="Keraunos",
  308. ammo="Ombre Tathlum +1",
  309. head="Befouled Crown",
  310. neck="Imbodla Necklace",
  311. ear1="Enchanter Earring +1",
  312. ear2="Gwati Earring",
  313. body="Vanya Robe",
  314. hands="Lurid Mitts",
  315. ring1="Weatherspoon Ring",
  316. ring2="Vertigo Ring",
  317. back="Ogapepo Cape +1",
  318. legs="Psycloth Lappas",
  319. feet="Medium's Sabots",}
  320.  
  321. sets.midcast.Impact = {main="Tupsimati",
  322. sub="Willpower Grip",
  323. ammo="Ombre Tathlum +1",
  324. head=empty,
  325. body="Twilight Cloak",
  326. hands=gear.NukingHands,
  327. legs="Psycloth Lappas",
  328. feet="Medium's Sabots",
  329. neck="Voltsurge Torque",
  330. waist="Ovate Rope",
  331. left_ear="Gifted Earring",
  332. right_ear="Gwati Earring",
  333. left_ring="Weather. Ring",
  334. right_ring="Vertigo Ring",
  335. back="Ogapepo Cape +1"}
  336.  
  337. sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
  338.  
  339. sets.midcast['Dark Magic'] = {main="Keraunos",
  340. ammo="Hasty Pinion +1",
  341. head="Pixie Hairpin +1",
  342. body=gear.DrainBody,
  343. hands=gear.DrainHands,
  344. legs=gear.DrainLegs,
  345. feet=gear.DrainFeet,
  346. neck="Aesir Torque",
  347. waist="Fucho-no-Obi",
  348. left_ear="Abyssal Earring",
  349. right_ear="Gwati Earring",
  350. left_ring="Archon Ring",
  351. right_ring="Evanescence Ring",
  352. back="Bane Cape",}
  353.  
  354. sets.midcast.Drain = {main="Keraunos",
  355. ammo="Hasty Pinion +1",
  356. head="Pixie Hairpin +1",
  357. body=gear.DrainBody,
  358. hands=gear.DrainHands,
  359. legs=gear.DrainLegs,
  360. feet=gear.DrainFeet,
  361. neck="Aesir Torque",
  362. waist="Fucho-no-Obi",
  363. left_ear="Abyssal Earring",
  364. right_ear="Gwati Earring",
  365. left_ring="Archon Ring",
  366. right_ring="Evanescence Ring",
  367. back="Bane Cape",}
  368.  
  369. sets.midcast.Aspir = sets.midcast.Drain
  370. sets.midcast["Aspir II"] = sets.midcast.Drain
  371.  
  372. sets.midcast.Stun = {main="Keraunos",
  373. ammo="Hasty Pinion +1",
  374. head="Vanya Hood",
  375. neck="Orunmila's Torque",
  376. ear1="Enchanter Earring +1",
  377. ear2="Loquacious Earring",
  378. body="Shango Robe",
  379. hands=gear.FCHands,
  380. ring1="Weatherspoon Ring",
  381. ring2="Prolix Ring",
  382. back="Swith Cape +1",
  383. waist="Ninurta's Sash",
  384. legs="Psycloth Lappas",
  385. feet="Regal Pumps +1"}
  386.  
  387.  
  388. -- Elemental Magic sets
  389.  
  390. sets.midcast['Elemental Magic'] = {main="Keraunos",
  391. ammo="Ghastly Tathlum +1",
  392. head="Welkin Crown",
  393. body="Amalric Doublet +1",
  394. hands=gear.NukingHands,
  395. legs="Hagondes Pants +1",
  396. feet=gear.NukingBoots,
  397. neck="Saevus Pendant +1",
  398. waist="Refoccilation Stone",
  399. left_ear="Friomisi Earring",
  400. right_ear="Barkaro. Earring",
  401. left_ring="Shiva Ring +1",
  402. right_ring="Shiva Ring +1",
  403. back="Toro Cape",}
  404.  
  405. sets.midcast['Elemental Magic'].ConserveMP = {main="Keraunos",
  406. ammo="Ghastly Tathlum +1",
  407. head="Welkin Crown",
  408. body="Seidr Cotehardie",
  409. hands=gear.NukingHands,
  410. legs="Hagondes Pants +1",
  411. feet=gear.NukingBoots,
  412. neck="Saevus Pendant +1",
  413. waist="Refoccilation Stone",
  414. left_ear="Friomisi Earring",
  415. right_ear="Barkaro. Earring",
  416. left_ring="Shiva Ring +1",
  417. right_ring="Shiva Ring +1",
  418. back="Toro Cape",}
  419.  
  420. sets.midcast['Elemental Magic'].MagicBurst = set_combine(sets.midcast['Elemental Magic'], {head="Helios Band",neck="Mizu. Kubikazari",
  421. right_ring="Mujin Band"})
  422.  
  423. sets.midcast.Comet = {main="Keraunos",
  424. ammo="Ghastly Tathlum +1",
  425. head="Pixie Hairpin +1",
  426. body="Seidr Cotehardie",
  427. hands=gear.NukingHands,
  428. legs="Hagondes Pants +1",
  429. feet=gear.NukingBoots,
  430. neck="Saevus Pendant +1",
  431. waist="Refoccilation Stone",
  432. left_ear="Friomisi Earring",
  433. right_ear="Barkaro. Earring",
  434. left_ring="Archon Ring",
  435. right_ring="Shiva Ring +1",
  436. back="Toro Cape",}
  437.  
  438. sets.midcast.Meteor = sets.midcast.Comet
  439.  
  440. -- Sets to return to when not performing an action.
  441.  
  442. -- Idle sets
  443.  
  444. -- Normal refresh idle set
  445. sets.idle = {main="Keraunos",
  446. ammo="Vanir Battery",
  447. neck="Bathy Choker +1",
  448. ear1="Infused Earring",
  449. ear2="Etiolation Earring",
  450. head="Spurrina Coif",
  451. body="Amalric Doublet +1",
  452. hands="Serpentes Cuffs",
  453. ring1="Paguroidea Ring",
  454. ring2="Sheltered Ring",
  455. back="Mecisto. Mantle",
  456. waist="Fucho-no-Obi",
  457. legs="Assid. Pants +1",
  458. feet="Herald's Gaiters"}
  459.  
  460. -- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
  461. sets.idle.PDT = {main="Keraunos",
  462. ammo="Briantia Pebble",
  463. head="Hagondes Hat +1",
  464. neck="Twilight Torque",
  465. ear1="Impregnable Earring",
  466. ear2="Genmei Earring",
  467. body="Hagondes Coat +1",
  468. hands="Hagondes Cuffs +1",
  469. ring1="Defending Ring",
  470. ring2="Gelatinous Ring +1",
  471. back="Umbra Cape",
  472. waist="Chaac Belt",
  473. legs="Artsieq Hose",
  474. feet="Hippomenes Socks +1"}
  475.  
  476. -- Idle mode scopes:
  477. -- Idle mode when weak.
  478.  
  479. -- Defense sets
  480.  
  481. sets.defense.PDT = {main="Keraunos",
  482. ammo="Briantia Pebble",
  483. head="Hagondes Hat +1",
  484. neck="Twilight Torque",
  485. ear1="Impregnable Earring",
  486. ear2="Genmei Earring",
  487. body="Hagondes Coat +1",
  488. hands="Hagondes Cuffs +1",
  489. ring1="Defending Ring",
  490. ring2="Gelatinous Ring +1",
  491. back="Umbra Cape",
  492. waist="Chaac Belt",
  493. legs="Artsieq Hose",
  494. feet="Hippomenes Socks +1"}
  495.  
  496. sets.defense.MDT = {ammo="Vanir Battery",
  497. head="Befouled Crown",
  498. neck="Twilight Torque",
  499. body="Hagondes Coat +1",
  500. hands="Lurid Mitts",
  501. ear1="Etiolation Earring",
  502. ear2="Merman's Earring",
  503. ring1="Defending Ring",
  504. ring2="Dark Ring",
  505. back="Hexerei Cape",
  506. waist="Slipor Sash",
  507. legs="Artsieq Hose",
  508. feet="Regal Pumps +1"}
  509.  
  510. sets.Kiting = {feet="Herald's Gaiters"}
  511.  
  512. sets.latent_refresh = {waist="Fucho-no-obi"}
  513.  
  514. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  515.  
  516. sets.buff['Mana Wall'] = {feet="Goetia Sabots +2"}
  517.  
  518.  
  519. -- Engaged sets
  520.  
  521. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  522. -- sets if more refined versions aren't defined.
  523. -- If you create a set with both offense and defense modes, the offense mode should be first.
  524. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  525.  
  526. -- Normal melee group
  527. sets.engaged = {
  528. head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  529. body="Hagondes Coat",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  530. back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  531. end
  532.  
  533. -------------------------------------------------------------------------------------------------------------------
  534. -- Job-specific hooks that are called to process player actions at specific points in time.
  535. -------------------------------------------------------------------------------------------------------------------
  536.  
  537. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  538. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  539. function job_precast(spell, action, spellMap, eventArgs)
  540. if spellMap == 'Cure' or spellMap == 'Curaga' then
  541. gear.default.obi_waist = "Goading Belt"
  542. elseif spell.skill == 'Elemental Magic' then
  543. gear.default.obi_waist = "Sekhmet Corset"
  544. if state.CastingMode == 'Proc' then
  545. classes.CustomClass = 'Proc'
  546. end
  547. end
  548. end
  549.  
  550.  
  551. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  552. function job_midcast(spell, action, spellMap, eventArgs)
  553. if spell.action_type == 'Magic' then
  554. if spell.skill == 'Elemental Magic' and state.CastingMode == 'Proc' then
  555. add_to_chat(15,'Proc mode, no damage gear for midcast.')
  556. eventArgs.handled = true
  557. end
  558. end
  559. end
  560.  
  561.  
  562. function job_aftercast(spell, action, spellMap, eventArgs)
  563. -- Lock feet after using Mana Wall.
  564. if not spell.interrupted and spell.english == 'Mana Wall' then
  565. enable('feet')
  566. equip(sets.buff['Mana Wall'])
  567. disable('feet')
  568. end
  569. end
  570.  
  571. -------------------------------------------------------------------------------------------------------------------
  572. -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  573. -------------------------------------------------------------------------------------------------------------------
  574.  
  575. -- Custom spell mapping.
  576. function job_get_spell_map(spell, default_spell_map)
  577. if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
  578. --[[ No real need to differentiate with current gear.
  579. if lowTierNukes:contains(spell.english) then
  580. return 'LowTierNuke'
  581. else
  582. return 'HighTierNuke'
  583. end
  584. --]]
  585. end
  586. end
  587.  
  588. -- Modify the default idle set after it was constructed.
  589. function customize_idle_set(idleSet)
  590. if player.mpp < 51 then
  591. idleSet = set_combine(idleSet, sets.latent_refresh)
  592. end
  593.  
  594. return idleSet
  595. end
  596.  
  597.  
  598. -------------------------------------------------------------------------------------------------------------------
  599. -- General hooks for other events.
  600. -------------------------------------------------------------------------------------------------------------------
  601.  
  602. -- Called when a player gains or loses a buff.
  603. -- buff == buff gained or lost
  604. -- gain == true if the buff was gained, false if it was lost.
  605. function job_buff_change(buff, gain)
  606. -- Unlock feet when Mana Wall buff is lost.
  607. if buff == "Mana Wall" and not gain then
  608. enable('feet')
  609. handle_equipping_gear(player.status)
  610. end
  611. end
  612.  
  613.  
  614. -------------------------------------------------------------------------------------------------------------------
  615. -- User code that supplements self-commands.
  616. -------------------------------------------------------------------------------------------------------------------
  617.  
  618. -- Handle notifications of general user state change.
  619. function job_state_change(stateField, newValue, oldValue)
  620. if stateField == 'OffenseMode' then
  621. if newValue == 'Normal' then
  622. disable('main','sub')
  623. else
  624. enable('main','sub')
  625. end
  626. elseif stateField == 'Reset' then
  627. if state.OffenseMode == 'None' then
  628. enable('main','sub')
  629. end
  630. end
  631. end
  632.  
  633.  
  634. -- Function to display the current relevant user state when doing an update.
  635. -- Return true if display was handled, and you don't want the default info shown.
  636. function display_current_job_state(eventArgs)
  637. local meleeString = ''
  638. if state.OffenseMode == 'Normal' then
  639. meleeString = 'Melee: Weapons locked, '
  640. end
  641.  
  642. local defenseString = ''
  643. if state.Defense.Active then
  644. local defMode = state.Defense.PhysicalMode
  645. if state.Defense.Type == 'Magical' then
  646. defMode = state.Defense.MagicalMode
  647. end
  648.  
  649. defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
  650. end
  651.  
  652. add_to_chat(122,meleeString..'Casting ['..state.CastingMode..'], Idle ['..state.IdleMode..'], '..defenseString..
  653. 'Kiting: '..on_off_names[state.Kiting])
  654.  
  655. eventArgs.handled = true
  656. end
  657.  
  658. -------------------------------------------------------------------------------------------------------------------
  659. -- Utility functions specific to this job.
  660. -------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement