Advertisement
Guest User

Untitled

a guest
Jun 11th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.92 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.  
  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','DD')
  26. state.CastingMode:options('Normal','ConserveMP','MACC')
  27. state.IdleMode:options('Normal')
  28.  
  29. state.MagicBurst = M(false, 'Magic Burst')
  30.  
  31. -- Additional local binds
  32. send_command('bind ^- input /ma Stun <t>')
  33. send_command('bind ^q gs c cycle CastingMode')
  34. send_command('bind !q gs c toggle MagicBurst')
  35. send_command('bind ^o gs c cycle IdleMode')
  36. send_command('bind ^h input /ma Haste <me>')
  37. send_command('bind ^, input /ma Blink <me>')
  38. send_command('bind ^. input /ma Stoneskin <me>')
  39. send_command('bind ^/ input /ma Phalanx <me>')
  40. send_command('bind ^c input /ma "Cure IV" <me>')
  41. send_command('bind ^d input /ma "Diaga" <t>')
  42. send_command('bind ^g input /ma Gravity <t>')
  43. send_command('bind ^b input /ma Bind <t>')
  44. send_command('bind ^s input /ma "Sleep II" <t>')
  45. send_command('bind ^a input /ja Alacrity <me>')
  46. send_command('bind ^k input /ma Klimaform <me>')
  47. send_command('bind !a input /ma Aquaveil <me>')
  48. send_command('bind ^n input /ma "Thunder II" <t>')
  49. send_command('bind !n input /ma "Blizzard II" <t>')
  50. send_command('bind !b input /ma "Distract" <t>')
  51. send_command('bind !f input /ma "Fire II" <t>')
  52. send_command('bind ^m input /ws Myrkr <me>')
  53. send_command('bind !, input /item "Echo Drops" <me>')
  54. send_command('bind !. input /item Remedy <me>')
  55. send_command('bind !/ input /item "Panacea" <me>')
  56. send_command('bind ^g input /recast Stratagems <me>')
  57.  
  58.  
  59.  
  60. select_default_macro_book()
  61. end
  62.  
  63. -- Called when this job file is unloaded (eg: job change)
  64.  
  65.  
  66. -- Define sets and vars used by this job file.
  67. function init_gear_sets()
  68. 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',}}
  69. gear.MBLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst dmg.+11%','MND+6','Mag. Acc.+13','"Mag.Atk.Bns."+2',}}
  70. gear.MBFeet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+27','Magic burst dmg.+11%',}}
  71. gear.RegenBody = {name="Telchine Chasuble", augments={'Pet: "Mag.Atk.Bns."+18','"Conserve MP"+3','Enh. Mag. eff. dur. +8',}}
  72. gear.RegenLegs = {name="Telchine Braconi", augments={'Rng.Atk.+7','"Fast Cast"+4','"Regen" potency+3',}}
  73. gear.RegenFeet = {name="Telchine Pigaches", augments={'Evasion+14','"Conserve MP"+4','"Regen" potency+3',}}
  74. gear.PetRegenBody = {name="Telchine Chasuble", augments={'Pet: DEF+7','Pet: "Regen"+3','Enh. Mag. eff. dur. +10',}}
  75. gear.CuringHands = {name="Telchine Gloves", augments={'Evasion+20','"Cure" potency +7%','Enh. Mag. eff. dur. +10',}}
  76. gear.CMPHead = {name="Telchine Cap", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +10',}}
  77. gear.CMPHands = {name="Telchine Gloves", augments={'Evasion+17','Potency of "Cure" effect received+6%',}}
  78. gear.CMPLegs = {name="Telchine Braconi", augments={'Evasion+18','Potency of "Cure" effect received+7%','Enh. Mag. eff. dur. +10',}}
  79. gear.CMPFeet = {name="Telchine Pigaches", augments={'DEF+7','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +10',}}
  80. 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',}}
  81. gear.DrainHands = {name="Merlinic Dastanas", augments={'Mag. Acc.+25','"Drain" and "Aspir" potency +10','INT+6',}}
  82. gear.DrainLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+30','"Drain" and "Aspir" potency +9','CHR+14',}}
  83. gear.DrainFeet = {name="Merlinic Crackows", augments={'Mag. Acc.+28','"Drain" and "Aspir" potency +10','MND+1',}}
  84. gear.FCHands = {name="Merlinic Dastanas", augments={'"Store TP"+4','Accuracy+19','"Fast Cast"+6','Mag. Acc.+5 "Mag.Atk.Bns."+5',}}
  85. gear.FCHead = {name="Merlinic Hood", augments={'Mag. Acc.+2','"Fast Cast"+6','"Mag.Atk.Bns."+30',}}
  86. gear.FCBody = {name="Merlinic Jubbah", augments={'Mag. Acc.+21','"Fast Cast"+7','"Mag.Atk.Bns."+5',}}
  87. gear.FCFeet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+18','"Fast Cast"+7','DEX+2','Mag. Acc.+1',}}
  88. gear.DTBody = {name="Merlinic Jubbah", augments={'"Mag.Atk.Bns."+16','Damage taken-3%','CHR+2'}}
  89. gear.DTHead = {name="Merlinic Hood", augments={'Pet: Attack+17 Pet: Rng.Atk.+17','CHR+5','Damage taken-5%','Accuracy+6 Attack+6',}}
  90. gear.PhalanxHead = { name="Merlinic Hood", augments={'Sklchn.dmg.+1%','Attack+6','Phalanx +4','Accuracy+11 Attack+11',}}
  91. gear.PhalanxBody = { name="Merlinic Jubbah", augments={'Pet: STR+3','VIT+8','Phalanx +4','Accuracy+4 Attack+4','Mag. Acc.+11 "Mag.Atk.Bns."+11',}}
  92. gear.PhalanxFeet = {name="Merlinic Crackows", augments={'Pet: STR+10','Pet: "Dbl.Atk."+3 Pet: Crit.hit rate +3','Phalanx +4','Mag. Acc.+1 "Mag.Atk.Bns."+1',}}
  93. gear.PhalanxLegs = {name="Merlinic Shalwar", augments={'System: 1 ID: 1793 Val: 8','STR+1','Phalanx +3','Accuracy+10 Attack+10',}}
  94. gear.PhalanxHands = {name="Merlinic Dastanas", augments={'INT+9','Pet: DEX+14','Phalanx +4',}}
  95. 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',}}
  96. 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',}}
  97. gear.DeathCape = {name="Taranus's Cape", augments={'MP+60','Mag. Acc+20 /Mag. Dmg.+20','MP+20','"Mag.Atk.Bns."+10',}}
  98. gear.NukeCape = {name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}}
  99. gear.FCCape = {name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10',}}
  100. gear.DDCape = {name="Taranus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
  101. gear.WSCape = {name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}}
  102. gear.RefreshHands = {name="Merlinic Dastanas", augments={'Attack+21','Rng.Acc.+26','"Refresh"+1','Mag. Acc.+7 "Mag.Atk.Bns."+7',}}
  103. gear.CursnaHead = {name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
  104. gear.CursnaBody = {name="Vanya Robe", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
  105. gear.CursnaFeet = {name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
  106. gear.CursnaLegs = {name="Vanya Slops", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}}
  107.  
  108. --------------------------------------
  109. -- Start defining the sets
  110. --------------------------------------
  111. -- Obi --
  112.  
  113. sets['Lightning'] = {waist="Hachirin-no-Obi"}
  114. sets['Ice'] = {waist="Hachirin-no-Obi"}
  115. sets['Water'] = {waist="Hachirin-no-Obi"}
  116. sets['Fire'] = {waist="Hachirin-no-Obi"}
  117. sets['Earth'] = {waist="Hachirin-no-Obi"}
  118. sets['Wind'] = {waist="Hachirin-no-Obi"}
  119. sets['Light'] = {waist="Hachirin-no-Obi",back="Twilight Cape"}
  120. sets['Dark'] = {waist="Hachirin-no-Obi"}
  121.  
  122. gear.obi_waist = "Refoccilation Stone"
  123.  
  124. ---- Precast Sets ----
  125.  
  126. -- Precast sets to enhance JAs
  127. sets.precast.JA['Mana Wall'] = {feet="Wicce Sabots +1",back=gear.NukeCape}
  128.  
  129. sets.precast.JA.Manafont = {body="Archmage's Coat +1"}
  130.  
  131. -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
  132. sets.precast.JA.Convert = {}
  133.  
  134.  
  135. -- Fast cast sets for spells
  136.  
  137. sets.precast.FC = {main="Lathi",
  138. ammo="Impatiens",
  139. head=gear.FCHead,
  140. neck="Orunmila's Torque",
  141. ear1="Enchanter Earring +1",
  142. ear2="Loquacious Earring",
  143. body=gear.FCBody,
  144. hands=gear.FCHands,
  145. ring1="Weather. Ring +1",
  146. ring2="Lebeche Ring",
  147. back="Perimede Cape",
  148. waist="Witful Belt",
  149. legs="Psycloth Lappas",
  150. feet=gear.FCFeet}
  151.  
  152. sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {right_ear="Barkaro. Earring",ammo="Impatiens",
  153. right_ring="Lebeche Ring"})
  154.  
  155. sets.precast.FC.Impact = {main="Lathi",
  156. ammo="Impatiens",
  157. head=empty,
  158. body="Twilight Cloak",
  159. hands=gear.FCHands,
  160. legs="Psycloth Lappas",
  161. feet=gear.FCFeet,
  162. neck="Orunmila's Torque",
  163. waist="Witful Belt",
  164. right_ear="Loquac. Earring",
  165. left_ear="Enchanter Earring +1",
  166. right_ring="Lebeche Ring",
  167. left_ring="Weather. Ring +1",
  168. back=gear.FCCape}
  169.  
  170. sets.precast.FC.Cure = {main="Lathi",
  171. ammo="Impatiens",
  172. head="Vanya Hood",
  173. neck="Orunmila's Torque",
  174. ear1="Enchanter Earring +1",
  175. ear2="Loquacious Earring",
  176. body=gear.FCBody,
  177. hands=gear.FCHands,
  178. ring1="Weather. Ring +1",
  179. ring2="Lebeche Ring",
  180. back=gear.FCCape,
  181. waist="Witful Belt",
  182. legs="Doyen Pants",
  183. feet=gear.FCFeet}
  184.  
  185. sets.precast.FC.Death = {main="Lathi",
  186. ammo="Sapience Orb",
  187. head="Amalric Coif +1",
  188. neck="Orunmila's Torque",
  189. ear1="Loquac. Earring",
  190. ear2="Etiolation Earring",
  191. body=gear.FCBody,
  192. hands=gear.FCHands,
  193. ring1="Mephitas's Ring +1",
  194. ring2="Mephitas's Ring",
  195. back=gear.DeathCape,
  196. waist="Emphatikos Rope",
  197. legs="Psycloth Lappas",
  198. feet=gear.FCFeet}
  199.  
  200. sets.precast.FC.Curaga = sets.precast.FC.Cure
  201.  
  202. -- Weaponskill sets
  203. -- Default set for any weaponskill that isn't any more specifically defined
  204. sets.precast.WS = { main="Lathi",
  205. ammo="Pemphredo Tathlum",
  206. head=gear.NukingHead,
  207. body="Amalric Doublet +1",
  208. hands="Amalric Gages +1",
  209. legs="Amalric Slops +1",
  210. feet="Amalric Nails +1",
  211. neck="Saevus Pendant +1",
  212. waist="Refoccilation Stone",
  213. left_ear="Regal Earring",
  214. right_ear="Barkaro. Earring",
  215. left_ring="Shiva Ring +1",
  216. right_ring="Shiva Ring +1",
  217. back=gear.WSCape,}
  218.  
  219. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  220. sets.precast.WS['Vidohunir'] = {main="Lathi",
  221. ammo="Pemphredo Tathlum",
  222. head="Pixie Hairpin +1",
  223. body="Amalric Doublet +1",
  224. hands="Amalric Gages +1",
  225. legs="Amalric Slops +1",
  226. feet="Amalric Nails +1",
  227. neck="Saevus Pendant +1",
  228. waist="Refoccilation Stone",
  229. left_ear="Regal Earring",
  230. right_ear="Barkaro. Earring",
  231. left_ring="Archon Ring",
  232. right_ring="Shiva Ring +1",
  233. back=gear.WSCape,}
  234.  
  235. sets.precast.WS['Cataclysm'] = {main="Lathi",
  236. ammo="Pemphredo Tathlum",
  237. head="Pixie Hairpin +1",
  238. body="Amalric Doublet +1",
  239. hands="Amalric Gages +1",
  240. legs="Amalric Slops +1",
  241. feet="Amalric Nails +1",
  242. neck="Saevus Pendant +1",
  243. waist="Refoccilation Stone",
  244. left_ear="Regal Earring",
  245. right_ear="Barkaro. Earring",
  246. left_ring="Archon Ring",
  247. right_ring="Shiva Ring +1",
  248. back=gear.WSCape,}
  249.  
  250. sets.precast.WS['Myrkr'] = {main="Lathi",
  251. ammo="Psilomene",
  252. left_ring="Mephitas's Ring +1",
  253. head="Amalric Coif +1",
  254. body="Weather. Robe +1",
  255. hands="Otomi Gloves",
  256. legs="Amalric Slops +1",
  257. feet="Psycloth Boots",
  258. neck="Dualism Collar +1",
  259. waist="Shinjutsu-no-obi +1",
  260. left_ear="Influx Earring",
  261. right_ear="Etiolation Earring",
  262. right_ring="Mephitas's Ring",
  263. back=gear.DeathCape,}
  264.  
  265. sets.precast.WS['Shell Crusher'] ={main="Lathi",
  266. ammo="Hasty Pinion +1",
  267. head="Blistering Sallet +1",
  268. body="Onca Suit",
  269. hands=empty,
  270. legs=empty,
  271. feet=empty,
  272. neck="Fotia Gorget",
  273. waist="Fotia Belt",
  274. left_ear="Regal Earring",
  275. right_ear="Telos Earring",
  276. left_ring="Cacoethic Ring +1",
  277. right_ring="Cacoethic Ring",
  278. back=gear.DDCape}
  279.  
  280. sets.precast.WS['Shattersoul'] ={main="Lathi",
  281. ammo="Hasty Pinion +1",
  282. head="Blistering Sallet +1",
  283. body="Onca Suit",
  284. hands=empty,
  285. legs=empty,
  286. feet=empty,
  287. neck="Fotia Gorget",
  288. waist="Fotia Belt",
  289. left_ear="Regal Earring",
  290. right_ear="Telos Earring",
  291. left_ring="Cacoethic Ring +1",
  292. right_ring="Cacoethic Ring",
  293. back=gear.DDCape}
  294.  
  295. sets.precast.WS['Full Swing'] ={main="Lathi",
  296. ammo="Hasty Pinion +1",
  297. head="Blistering Sallet +1",
  298. body="Onca Suit",
  299. hands=empty,
  300. legs=empty,
  301. feet=empty,
  302. neck="Fotia Gorget",
  303. waist="Fotia Belt",
  304. left_ear="Regal Earring",
  305. right_ear="Telos Earring",
  306. left_ring="Cacoethic Ring +1",
  307. right_ring="Cacoethic Ring",
  308. back=gear.DDCape}
  309.  
  310. sets.precast.WS['Gate of Tartarus'] ={main="Lathi",
  311. ammo="Hasty Pinion +1",
  312. head="Nahtirah Hat",
  313. body="Onca Suit",
  314. hands=empty,
  315. legs=empty,
  316. feet=empty,
  317. neck="Fotia Gorget",
  318. waist="Fotia Belt",
  319. left_ear="Bladeborn Earring",
  320. right_ear="Steelflash Earring",
  321. left_ring="Rajas Ring",
  322. right_ring="Petrov Ring",
  323. back=gear.NukeCape}
  324.  
  325.  
  326. ---- Midcast Sets ----
  327.  
  328. sets.midcast.FastRecast = {main="Lathi",
  329. ammo="Sapience Orb",
  330. head=gear.FCHead,
  331. neck="Orunmila's Torque",
  332. ear1="Enchanter Earring +1",
  333. ear2="Loquacious Earring",
  334. body=gear.FCBody,
  335. hands=gear.FCHands,
  336. ring1="Weather. Ring +1",
  337. ring2="Kishar Ring",
  338. back=gear.FCCape,
  339. waist="Witful Belt",
  340. legs="Psycloth Lappas",
  341. feet=gear.FCFeet}
  342.  
  343. sets.midcast.Cure = {main="Lathi",
  344. ammo="Hasty Pinion +1",
  345. head=gear.CursnaHead,
  346. neck="Incanter's Torque",
  347. ear1="Mendi. Earring",
  348. ear2="Loquac. Earring",
  349. body="Vrikodara Jupon",
  350. hands=gear.CuringHands,
  351. ring1="Haoma's Ring",
  352. ring2="Haoma's Ring",
  353. back="Tempered Cape +1",
  354. waist="Austerity Belt +1",
  355. legs=gear.CursnaLegs,
  356. feet=gear.CursnaFeet}
  357.  
  358. sets.midcast.CureSelf = {main="Lathi",
  359. ammo="Hasty Pinion +1",
  360. head="Vanya Hood",
  361. neck="Phalaina Locket",
  362. ear1="Mendi. Earring",
  363. ear2="Loquac. Earring",
  364. body="Vrikodara Jupon",
  365. hands=gear.CMPHands,
  366. ring1="Haoma's Ring",
  367. ring2="Lebeche Ring",
  368. back="Tempered Cape +1",
  369. waist="Gishdubar Sash",
  370. legs=gear.CMPLegs,
  371. feet=gear.CMPFeet,}
  372.  
  373. sets.midcast.Curaga = sets.midcast.Cure
  374.  
  375. sets.midcast.CureWithLightWeather = {main="Chatoyant Staff",
  376. ammo="Hasty Pinion +1",
  377. head="Vanya Hood",
  378. neck="Incanter's Torque",
  379. ear1="Mendi. Earring",
  380. ear2="Loquac. Earring",
  381. body="Vrikodara Jupon",
  382. hands=gear.CuringHands,
  383. ring1="Haoma's Ring",
  384. ring2="Haoma's Ring",
  385. back="Twilight Cape",
  386. waist="Hachirin-no-Obi",
  387. legs=gear.CursnaLegs,
  388. feet="Vanya Clogs"}
  389.  
  390. sets.midcast.Cursna = {neck="Malison Medallion",
  391. hands="Hieros Mittens",
  392. ring1="Haoma's Ring",
  393. ring2="Haoma's Ring",
  394. back="Oretania's Cape +1",
  395. head=gear.CursnaHead,
  396. body=gear.CursnaBody,
  397. legs=gear.CursnaLegs,
  398. feet=gear.CursnaFeet,}
  399.  
  400. sets.midcast['Enhancing Magic'] = {main="Lathi",
  401. head="Befouled Crown",
  402. neck="Incanter's Torque",
  403. body=gear.PetRegenBody,
  404. hands="Ayao's Gages",
  405. legs="Shedir Seraweels",
  406. feet="Regal Pumps +1",
  407. ear1="Andoaa Earring",
  408. ear2="Augmenting Earring",
  409. ring1="Stikini Ring",
  410. ring2="Stikini Ring",
  411. back="Fi Follet Cape +1",
  412. waist="Olympus Sash",
  413. ammo="Staunch Tathlum",}
  414.  
  415. sets.midcast.Warp = sets.midcast.FastRecast
  416.  
  417. sets.midcast.Haste = set_combine(sets.midcast.FastCast,
  418. {legs=gear.CMPLegs,body=gear.PetRegenBody,feet=gear.CMPFeet,head=gear.CMPHead,hands=gear.CuringHands})
  419.  
  420. sets.midcast.Haste.Death = {
  421. ammo="Psilomene",
  422. head="Pixie Hairpin +1",
  423. body=gear.DrainBody,
  424. hands=gear.DrainHands,
  425. legs="Amalric Slops +1",
  426. feet=gear.DrainFeet,
  427. neck="Voltsurge Torque",
  428. waist="Fucho-no-Obi",
  429. left_ear="Loquac. Earring",
  430. right_ear="Etiolation Earring",
  431. left_ring="Archon Ring",
  432. right_ring="Mephitas's Ring",
  433. back=gear.DeathCape,}
  434.  
  435. sets.midcast.Haste.Voidstorm = {
  436. ammo="Psilomene",
  437. head="Pixie Hairpin +1",
  438. body=gear.DrainBody,
  439. hands=gear.DrainHands,
  440. legs="Amalric Slops +1",
  441. feet=gear.DrainFeet,
  442. neck="Voltsurge Torque",
  443. waist="Fucho-no-Obi",
  444. left_ear="Loquac. Earring",
  445. right_ear="Etiolation Earring",
  446. left_ring="Archon Ring",
  447. right_ring="Mephitas's Ring",
  448. back=gear.DeathCape,}
  449.  
  450. sets.midcast.Flurry = sets.midcast.Haste
  451. sets.midcast.Protect = {ammo="Staunch Tathlum",ring2="Sheltered Ring",legs=gear.CMPLegs,body=gear.PetRegenBody,feet=gear.CMPFeet,head=gear.CMPHead,
  452. hands=gear.CuringHands}
  453. sets.midcast.Protectra = sets.midcast.Protect
  454. sets.midcast.Shell = sets.midcast.Protect
  455. sets.midcast.Shellra = sets.midcast.Protect
  456. sets.midcast.Regen = sets.midcast.Protect
  457. sets.midcast['Shock Spikes'] = sets.midcast.Protect
  458. sets.midcast['Ice Spikes'] = sets.midcast.Protect
  459. sets.midcast['Blaze Spikes'] = sets.midcast.Protect
  460. sets.midcast.Aquaveil = {legs="Shedir Seraweels",waist="Emphatikos Rope",feet=gear.CMPFeet,head="Amalric Coif +1",body=gear.PetRegenBody,
  461. ammo="Staunch Tathlum",hands=gear.CuringHands}
  462. sets.midcast.Refresh = {waist="Gishdubar Sash",feet="Inspirited Boots",legs=gear.CMPLegs,body=gear.PetRegenBody,head="Amalric Coif +1",back="Grapevine Cape",
  463. ammo="Staunch Tathlum",hands=gear.CuringHands}
  464. sets.midcast.Blink = sets.midcast.FastRecast
  465. sets.midcast.Stoneskin = set_combine(sets.midcast.FastCast,
  466. {waist="Siegel Sash",legs="Shedir Seraweels",neck="Stone Gorget",right_ear="Earthcry Earring"})
  467. sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {head=gear.CMPHead,body=gear.PetRegenBody,hands=gear.CuringHands,
  468. back=gear.FCCape,feet="Regal Pumps +1",neck="Orunmila's Torque",waist="Witful Belt",left_ear="Enchanter Earring +1",
  469. right_ear="Loquac. Earring",left_ring="Weather. Ring +1",right_ring="Kishar Ring",legs=gear.CMPLegs,ammo="Sapience Orb",})
  470.  
  471. sets.midcast.Phalanx = {head=gear.PhalanxHead,
  472. neck="Incanter's Torque",
  473. body=gear.PhalanxBody,
  474. hands=gear.PhalanxHands,
  475. legs=gear.PhalanxLegs,
  476. feet=gear.PhalanxFeet,
  477. ear1="Andoaa Earring",
  478. ear2="Augmenting Earring",
  479. ring1="Stikini Ring",
  480. ring2="Stikini Ring",
  481. back="Fi Follet Cape +1",
  482. waist="Olympus Sash",
  483. ammo="Staunch Tathlum",}
  484.  
  485. sets.midcast['Enfeebling Magic'] = {main="Lathi",
  486. ammo="Pemphredo Tathlum",
  487. head=gear.NukingHead,
  488. neck="Erra Pendant",
  489. ear1="Enchanter Earring +1",
  490. ear2="Regal Earring",
  491. body="Spaekona's Coat +3",
  492. hands="Spaekona's Gloves +3",
  493. ring1="Weatherspoon Ring",
  494. ring2="Kishar Ring",
  495. waist="Porous Rope",
  496. back=gear.FCCape,
  497. legs="Psycloth Lappas",
  498. feet="Skaoi Boots",}
  499.  
  500. sets.midcast.Diaga = {main="Lathi",
  501. ammo="Sapience Orb",
  502. head=gear.DTHead,
  503. neck="Unmoving Collar +1",
  504. ear1="Trux Earring",
  505. ear2="Cryptic Earring",
  506. body="Vrikodara Jupon",
  507. hands=gear.THHands,
  508. ring1="Pernicious Ring",
  509. ring2="Petrov Ring",
  510. waist="Goading Belt",
  511. back=gear.FCCape,
  512. legs="Artsieq Hose",
  513. feet="Hippo. Socks +1",}
  514.  
  515. sets.midcast.Impact = {main="Lathi",
  516. ammo="Pemphredo Tathlum",
  517. head=empty,
  518. body="Twilight Cloak",
  519. hands="Amalric Gages +1",
  520. legs=gear.MBLegs,
  521. feet="Spaekona's Sabots +3",
  522. neck="Mizu. Kubikazari",
  523. waist="Porous Rope",
  524. left_ear="Enchanter Earring +1",
  525. right_ear="Regal Earring",
  526. left_ring="Weather. Ring +1",
  527. right_ring="Kishar Ring",
  528. back=gear.NukeCape}
  529.  
  530. sets.midcast.Impact.MACC = {main="Lathi",
  531. ammo="Pemphredo Tathlum",
  532. head=empty,
  533. body="Twilight Cloak",
  534. hands="Spaekona's Gloves +3",
  535. legs="Spaekona's Tonban +3",
  536. feet="Spaekona's Sabots +3",
  537. neck="Erra Pendant",
  538. waist="Porous Rope",
  539. left_ear="Enchanter Earring +1",
  540. right_ear="Regal Earring",
  541. left_ring="Weather. Ring +1",
  542. right_ring="Kishar Ring",
  543. back=gear.NukeCape}
  544.  
  545. sets.midcast.Impact.Death = {main="Lathi",
  546. ammo="Pemphredo Tathlum",
  547. head=empty,
  548. body="Twilight Cloak",
  549. hands="Amalric Gages +1",
  550. legs=gear.MBLegs,
  551. feet=gear.MBFeet,
  552. neck="Mizu. Kubikazari",
  553. waist=gear.ElementalObi,
  554. left_ear="Regal Earring",
  555. right_ear="Barkaro. Earring",
  556. left_ring="Archon Ring",
  557. right_ring="Mujin Band",
  558. back=gear.NukeCape}
  559.  
  560. sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
  561.  
  562. sets.midcast['Dark Magic'] = {main="Lathi",
  563. ammo="Hasty Pinion +1",
  564. head="Pixie Hairpin +1",
  565. body=gear.DrainBody,
  566. hands=gear.DrainHands,
  567. legs="Spaekona's Tonban +3",
  568. feet=gear.DrainFeet,
  569. neck="Incanter's Torque",
  570. waist="Fucho-no-Obi",
  571. left_ear="Hirudinea Earring",
  572. right_ear="Regal Earring",
  573. left_ring="Archon Ring",
  574. right_ring="Evanescence Ring",
  575. back=gear.FCCape,}
  576.  
  577. sets.midcast.Drain = {main="Lathi",
  578. ammo="Pemphredo Tathlum",
  579. head="Pixie Hairpin +1",
  580. body=gear.DrainBody,
  581. hands=gear.DrainHands,
  582. legs="Spaekona's Tonban +3",
  583. feet=gear.DrainFeet,
  584. neck="Erra Pendant",
  585. waist="Fucho-no-Obi",
  586. left_ear="Hirudinea Earring",
  587. right_ear="Regal Earring",
  588. left_ring="Archon Ring",
  589. right_ring="Evanescence Ring",
  590. back=gear.FCCape,}
  591.  
  592. sets.midcast.Aspir = sets.midcast.Drain
  593. sets.midcast["Aspir II"] = sets.midcast.Drain
  594. sets.midcast["Aspir III"] = sets.midcast.Drain
  595.  
  596.  
  597. sets.midcast.Drain.Death = {main="Lathi",
  598. ammo="Psilomene",
  599. head="Pixie Hairpin +1",
  600. body=gear.DrainBody,
  601. hands=gear.DrainHands,
  602. legs="Amalric Slops +1",
  603. feet=gear.DrainFeet,
  604. neck="Voltsurge Torque",
  605. waist="Fucho-no-Obi",
  606. left_ear="Loquac. Earring",
  607. right_ear="Etiolation Earring",
  608. left_ring="Archon Ring",
  609. right_ring="Mephitas's Ring",
  610. back=gear.DeathCape,}
  611.  
  612. sets.midcast.Aspir.MACC = sets.midcast.Drain.Death
  613. sets.midcast["Aspir II"].MACC = sets.midcast.Drain.Death
  614. sets.midcast["Aspir III"].MACC = sets.midcast.Drain.Death
  615.  
  616. sets.midcast.Aspir.Death = sets.midcast.Drain.Death
  617. sets.midcast["Aspir II"].Death = sets.midcast.Drain.Death
  618. sets.midcast["Aspir III"].Death = sets.midcast.Drain.Death
  619.  
  620. sets.midcast.Stun = {main="Lathi",
  621. ammo="Hasty Pinion +1",
  622. head=gear.FCHead,
  623. neck="Voltsurge Torque",
  624. ear1="Enchanter Earring +1",
  625. ear2="Loquacious Earring",
  626. body=gear.FCBody,
  627. hands=gear.FCHands,
  628. ring1="Weatherspoon Ring",
  629. ring2="Kishar Ring",
  630. back="Swith Cape +1",
  631. waist="Witful Belt",
  632. legs="Psycloth Lappas",
  633. feet=gear.FCFeet}
  634.  
  635.  
  636. -- Elemental Magic sets
  637.  
  638. sets.midcast['Elemental Magic'] = {main="Lathi",
  639. ammo="Pemphredo Tathlum",
  640. head=gear.NukingHead,
  641. body="Amalric Doublet +1",
  642. hands="Amalric Gages +1",
  643. legs="Amalric Slops +1",
  644. feet="Amalric Nails +1",
  645. neck="Saevus Pendant +1",
  646. waist=gear.ElementalObi,
  647. left_ear="Regal Earring",
  648. right_ear="Barkaro. Earring",
  649. left_ring="Shiva Ring +1",
  650. right_ring="Shiva Ring +1",
  651. back=gear.NukeCape,}
  652.  
  653. sets.midcast['Elemental Magic'].ConserveMP = {main="Lathi",
  654. ammo="Pemphredo Tathlum",
  655. head=gear.NukingHead,
  656. body="Spaekona's Coat +3",
  657. hands="Amalric Gages +1",
  658. legs="Amalric Slops +1",
  659. feet="Amalric Nails +1",
  660. neck="Saevus Pendant +1",
  661. waist=gear.ElementalObi,
  662. left_ear="Regal Earring",
  663. right_ear="Barkaro. Earring",
  664. left_ring="Shiva Ring +1",
  665. right_ring="Shiva Ring +1",
  666. back=gear.NukeCape,}
  667.  
  668. sets.midcast['Elemental Magic'].MACC = {main="Lathi",
  669. ammo="Pemphredo Tathlum",
  670. head=gear.NukingHead,
  671. body="Spaekona's Coat +3",
  672. hands="Spaekona's Gloves +3",
  673. legs="Spaekona's Tonban +3",
  674. feet="Spaekona's Sabots +3",
  675. neck="Sanctity Necklace",
  676. waist=gear.ElementalObi,
  677. left_ear="Regal Earring",
  678. right_ear="Barkaro. Earring",
  679. left_ring="Shiva Ring +1",
  680. right_ring="Shiva Ring +1",
  681. back=gear.NukeCape,}
  682.  
  683. sets.magic_burst = {main="Lathi",
  684. ammo="Pemphredo Tathlum",
  685. head=gear.NukingHead,
  686. body="Amalric Doublet +1",
  687. hands="Amalric Gages +1",
  688. legs=gear.MBLegs,
  689. feet="Amalric Nails +1",
  690. neck="Mizu. Kubikazari",
  691. waist=gear.ElementalObi,
  692. left_ear="Static Earring",
  693. right_ear="Barkaro. Earring",
  694. left_ring="Locus Ring",
  695. right_ring="Mujin Band",
  696. back=gear.NukeCape,}
  697.  
  698. sets.magic_burst.ConserveMP = {main="Lathi",
  699. ammo="Pemphredo Tathlum",
  700. head=gear.NukingHead,
  701. body="Spaekona's Coat +3",
  702. hands="Amalric Gages +1",
  703. legs=gear.MBLegs,
  704. feet="Amalric Nails +1",
  705. neck="Mizu. Kubikazari",
  706. waist=gear.ElementalObi,
  707. left_ear="Regal Earring",
  708. right_ear="Static Earring",
  709. left_ring="Locus Ring",
  710. right_ring="Mujin Band",
  711. back=gear.NukeCape,}
  712.  
  713. sets.magic_burst.MACC = {main="Lathi",
  714. ammo="Pemphredo Tathlum",
  715. head=gear.NukingHead,
  716. body="Spaekona's Coat +3",
  717. hands="Spaekona's Gloves +3",
  718. legs=gear.MBLegs,
  719. feet="Spaekona's Sabots +3",
  720. neck="Mizu. Kubikazari",
  721. waist=gear.ElementalObi,
  722. left_ear="Regal Earring",
  723. right_ear="Barkaro. Earring",
  724. left_ring="Shiva Ring +1",
  725. right_ring="Mujin Band",
  726. back=gear.NukeCape,}
  727.  
  728. sets.midcast.Comet = set_combine(sets.midcast['Elemental Magic'],
  729. {waist=gear.ElementalObi,
  730. left_ring="Archon Ring",})
  731.  
  732. sets.midcast.Comet.ConserveMP = set_combine(sets.midcast['Elemental Magic'],
  733. {body="Spaekona's Coat +3",
  734. waist=gear.ElementalObi,
  735. left_ring="Archon Ring",})
  736.  
  737. sets.midcast.Comet.MACC = set_combine(sets.midcast['Elemental Magic'],
  738. {waist=gear.ElementalObi,
  739. feet=gear.MBFeet,
  740. legs=gear.MBLegs,
  741. neck="Mizu. Kubikazari",
  742. left_ring="Archon Ring",
  743. right_ring="Mujin Band",
  744. back=gear.NukeCape,})
  745.  
  746. sets.midcast.Comet.Death = set_combine(sets.midcast['Elemental Magic'],
  747. {waist=gear.ElementalObi,
  748. feet=gear.MBFeet,
  749. legs=gear.MBLegs,
  750. body="Spaekona's Coat +3",
  751. neck="Mizu. Kubikazari",
  752. left_ear="Regal Earring",
  753. left_ring="Archon Ring",
  754. right_ring="Mujin Band",
  755. back=gear.NukeCape,})
  756.  
  757. sets.midcast.Death =
  758. {main="Lathi",
  759. ammo="Ghastly Tathlum +1",
  760. head="Pixie Hairpin +1",
  761. body="Amalric Doublet +1",
  762. hands="Amalric Gages +1",
  763. legs="Amalric Slops +1",
  764. feet=gear.MBFeet,
  765. neck="Mizu. Kubikazari",
  766. waist=gear.ElementalObi,
  767. left_ear="Static Earring",
  768. right_ear="Barkaro. Earring",
  769. left_ring="Mephitas's Ring +1",
  770. right_ring="Archon Ring",
  771. back=gear.DeathCape,}
  772.  
  773. sets.midcast.Death.MACC =
  774. {main="Lathi",
  775. ammo="Pemphredo Tathlum",
  776. head="Pixie Hairpin +1",
  777. body="Spaekona's Coat +3",
  778. hands="Amalric Gages +1",
  779. legs="Amalric Slops +1",
  780. feet="Spaekona's Sabots +3",
  781. neck="Mizu. Kubikazari",
  782. waist=gear.ElementalObi,
  783. left_ear="Static Earring",
  784. right_ear="Regal Earring",
  785. left_ring="Mephitas's Ring +1",
  786. right_ring="Archon Ring",
  787. back=gear.DeathCape,}
  788.  
  789.  
  790. sets.midcast.Meteor = sets.midcast.Comet
  791. sets.midcast.Stone = {main="Lathi",ammo="Pemphredo Tathlum",
  792. head=gear.THHead,neck="Quanpur Necklace",left_ear="Barkaro. Earring",right_ear="Regal Earring",
  793. body="Amalric Doublet +1",hands=gear.THHands,left_ring="Shiva Ring +1",right_ring="Shiva Ring +1",
  794. back=gear.NukeCape,waist="Chaac Belt",legs="Amalric Slops +1",feet="Amalric Nails +1",}
  795.  
  796. -- Sets to return to when not performing an action.
  797.  
  798. -- Idle sets
  799.  
  800. -- Normal refresh idle set
  801. sets.idle = {main="Lathi",
  802. ammo="Vanir Battery",
  803. neck="Bathy Choker +1",
  804. ear1="Infused Earring",
  805. ear2="Etiolation Earring",
  806. head="Spurrina Coif",
  807. body="Shamash Robe",
  808. hands=gear.RefreshHands,
  809. ring1="Paguroidea Ring",
  810. ring2="Sheltered Ring",
  811. back="Umbra Cape",
  812. waist="Fucho-no-Obi",
  813. legs="Assid. Pants +1",
  814. feet="Herald's Gaiters"}
  815.  
  816. sets.idle.Death = {main="Lathi",
  817. ammo="Psilomene",
  818. neck="Loricate Torque +1",
  819. ear1="Genmei Earring",
  820. ear2="Etiolation Earring",
  821. head="Spurrina Coif",
  822. body="Amalric Doublet +1",
  823. hands="Amalric Gages +1",
  824. ring1="Mephitas's Ring +1",
  825. ring2="Defending Ring",
  826. back=gear.DeathCape,
  827. waist="Fucho-no-Obi",
  828. legs="Amalric Slops +1",
  829. feet="Herald's Gaiters"}
  830.  
  831.  
  832. -- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
  833. sets.idle.PDT = {main="Lathi",
  834. ammo="Staunch Tathlum",
  835. head=gear.DTHead,
  836. neck="Loricate Torque +1",
  837. ear1="Genmei Earring",
  838. ear2="Impregnable Earring",
  839. body="Shamash Robe",
  840. hands="Hagondes Cuffs +1",
  841. ring1="Defending Ring",
  842. ring2="Dark Ring",
  843. back="Solemnity Cape",
  844. waist="Chaac Belt",
  845. legs="Artsieq Hose",
  846. feet="Hippo. Socks +1"}
  847.  
  848. -- Idle mode scopes:
  849. -- Idle mode when weak.
  850.  
  851. -- Defense sets
  852.  
  853. sets.defense.PDT = {main="Lathi",
  854. ammo="Staunch Tathlum",
  855. head=gear.DTHead,
  856. neck="Loricate Torque +1",
  857. ear1="Genmei Earring",
  858. ear2="Impregnable Earring",
  859. body="Shamash Robe",
  860. hands="Hagondes Cuffs +1",
  861. ring1="Defending Ring",
  862. ring2="Dark Ring",
  863. back="Solemnity Cape",
  864. waist="Chaac Belt",
  865. legs="Artsieq Hose",
  866. feet="Hippo. Socks +1"}
  867.  
  868. sets.defense.MDT = {ammo="Vanir Battery",
  869. head=gear.DTHead,
  870. neck="Warder's Charm +1",
  871. body="Shamash Robe",
  872. hands=gear.DrainHands,
  873. ear1="Odnowa Earring +1",
  874. ear2="Etiolation Earring",
  875. ring1="Defending Ring",
  876. ring2="Shadow Ring",
  877. back="Moonbeam Cape",
  878. waist="Slipor Sash",
  879. legs="Vanya Slops",
  880. feet="Vanya Clogs",}
  881.  
  882. sets.Kiting = {feet="Herald's Gaiters"}
  883.  
  884.  
  885. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  886.  
  887. sets.buff['Mana Wall'] = {feet="Wicce Sabots +1",back=gear.NukeCape}
  888.  
  889.  
  890. -- Engaged sets
  891.  
  892. sets.engaged.DD = {ammo="Staunch Tathlum",
  893. head="Blistering Sallet +1",neck="Combatant's Torque",left_ear="Brutal Earring",right_ear="Telos Earring",
  894. body="Onca Suit",hands=empty,left_ring="Rajas Ring",right_ring="Petrov Ring",
  895. back=gear.DDCape,waist="Cetl Belt",legs=empty,feet=empty}
  896.  
  897. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  898. -- sets if more refined versions aren't defined.
  899. -- If you create a set with both offense and defense modes, the offense mode should be first.
  900. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  901.  
  902.  
  903. -- Normal melee group
  904.  
  905.  
  906. end
  907.  
  908. -------------------------------------------------------------------------------------------------------------------
  909. -- Job-specific hooks for standard casting events.
  910. -------------------------------------------------------------------------------------------------------------------
  911. function job_setup()
  912.  
  913. end
  914. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  915. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  916. function job_precast(spell, action, spellMap, eventArgs)
  917. if spellMap == 'Cure' or spellMap == 'Curaga' then
  918. gear.default.obi_waist = "Refoccilation Stone"
  919. elseif spell.skill == 'Elemental Magic' then
  920. end
  921. end
  922. function job_post_precast(spell, action, spellMap, eventArgs)
  923. if spell.english == "Vidohunir" and (buffactive['Voidstorm'] or buffactive['Voidstorm II']) then
  924. --print('weather mode')
  925. equip({waist="Hachirin-no-Obi"})
  926. end
  927. if spell.english == "Sunburst" or "Starburst" and (buffactive['Voidstorm'] or buffactive['Voidstorm II']) then
  928. --print('weather mode')
  929. equip({waist="Hachirin-no-Obi"})
  930. end
  931. if spell.english == "Rock Crusher" or "Earth Crusher" and (buffactive['Sandstorm'] or buffactive['Sandstorm II']) then
  932. --print('weather mode')
  933. equip({waist="Hachirin-no-Obi"})
  934. end
  935. end
  936.  
  937. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  938. function job_midcast(spell, action, spellMap, eventArgs)
  939.  
  940. end
  941.  
  942. function job_post_midcast(spell, action, spellMap, eventArgs)
  943. if spell.action_type == 'Magic' then
  944. if spell.element == "Earth" and spell.skill == 'Elemental Magic' and (state.CastingMode.value == "Normal" or state.CastingMode.value == "ConserveMP") then
  945. equip({ neck="Quanpur Necklace" })
  946. end
  947. if spellMap == 'Cure' and spell.target.type == 'SELF' then
  948. equip(sets.midcast.CureSelf)
  949. end
  950. if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  951. if state.CastingMode.value == "ConserveMP" then
  952. equip(sets.magic_burst.ConserveMP)
  953. elseif state.CastingMode.value == "MACC" then
  954. equip(sets.magic_burst.MACC)
  955. else
  956. equip(sets.magic_burst)
  957. end
  958. if spell.english == "Impact" then
  959. equip(sets.midcast.Impact)
  960. if spell.element == world.weather_element or spell.element == world.day_element or
  961. (spell.element == 'Lightning' and buffactive['Thunderstorm']) or
  962. (spell.element == 'Ice' and buffactive['Hailstorm']) or
  963. (spell.element == 'Water' and buffactive['Rainstorm']) or
  964. (spell.element == 'Fire' and buffactive['Firestorm']) or
  965. (spell.element == 'Earth' and buffactive['Sandstorm']) or
  966. (spell.element == 'Wind' and buffactive['Windstorm']) or
  967. (spell.element == 'Light' and buffactive['Aurorastorm']) or
  968. (spell.element == 'Dark' and buffactive['Voidstorm']) then
  969. if spell.skill == 'Elemental Magic' and spellMap ~= 'Helix' then
  970. equip(sets[spell.element])
  971. elseif string.find(spell.english,'Cure') then
  972. equip(sets[spell.element])
  973. end
  974. end
  975. end
  976. end
  977. end
  978. end
  979. function job_aftercast(spell, action, spellMap, eventArgs)
  980. -- Lock feet after using Mana Wall.
  981. if not spell.interrupted then
  982. if spell.english == 'Mana Wall' then
  983. enable('feet','back')
  984. equip(sets.buff['Mana Wall'])
  985. disable('feet','back')
  986.  
  987. end
  988. end
  989. if not spell.interrupted then
  990. if spell.english == 'Break' or spell.english == 'Breakga' then
  991. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 33 down spells/00220.png')
  992. elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  993. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 66 down spells/00220.png')
  994. elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  995. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 99 down spells/00220.png')
  996. end
  997. classes.CustomIdleGroups:clear()
  998. end
  999. end
  1000.  
  1001. -------------------------------------------------------------------------------------------------------------------
  1002. -- Job-specific hooks for non-casting events.
  1003. -------------------------------------------------------------------------------------------------------------------
  1004.  
  1005. -- Called when a player gains or loses a buff.
  1006. -- buff == buff gained or lost
  1007. -- gain == true if the buff was gained, false if it was lost.
  1008. function job_buff_change(buff, gain)
  1009. -- Unlock feet when Mana Wall buff is lost.
  1010. if buff == "Mana Wall" and not gain then
  1011. enable('feet','back')
  1012. handle_equipping_gear(player.status)
  1013. end
  1014. end
  1015.  
  1016. -- Handle notifications of general user state change.
  1017. function job_state_change(stateField, newValue, oldValue)
  1018. end
  1019.  
  1020.  
  1021. -------------------------------------------------------------------------------------------------------------------
  1022. -- User code that supplements standard library decisions.
  1023. -------------------------------------------------------------------------------------------------------------------
  1024.  
  1025. -- Custom spell mapping.
  1026. function job_get_spell_map(spell, default_spell_map)
  1027. if spell.action_type == 'Magic' then
  1028. if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
  1029. if world.weather_element == 'Light' then
  1030. return 'CureWithLightWeather'
  1031. end
  1032. end
  1033. end
  1034. end
  1035.  
  1036. -- Modify the default idle set after it was constructed.
  1037. function customize_idle_set(idleSet)
  1038. if player.mpp < 51 then
  1039. idleSet = set_combine(idleSet, sets.latent_refresh)
  1040. end
  1041.  
  1042. return idleSet
  1043. end
  1044.  
  1045.  
  1046. -- Function to display the current relevant user state when doing an update.
  1047. function display_current_job_state(eventArgs)
  1048. display_current_caster_state()
  1049. eventArgs.handled = true
  1050. end
  1051.  
  1052. -------------------------------------------------------------------------------------------------------------------
  1053. -- Utility functions specific to this job.
  1054. -------------------------------------------------------------------------------------------------------------------
  1055.  
  1056. -- Select default macro book on initial load or subjob change.
  1057. function select_default_macro_book()
  1058. set_macro_page(1,1)
  1059. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement