Advertisement
Guest User

Warusha WHM

a guest
Sep 24th, 2017
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.45 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. include('organizer-lib')
  12. end
  13.  
  14. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16. state.Buff['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
  17. state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
  18.  
  19. state.OffenseMode:options('None', 'Normal')
  20. state.CastingMode:options('Normal', 'Resistant')
  21. state.IdleMode:options('Normal', 'PDT','MDT','Encumberance')
  22. state.PhysicalDefenseMode:options('PDT') --'Shield'
  23.  
  24. --get_current_strategem_count()
  25. select_default_macro_book()
  26.  
  27. end
  28.  
  29. -------------------------------------------------------------------------------------------------------------------
  30. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  31. -------------------------------------------------------------------------------------------------------------------
  32. function user_setup()
  33.  
  34. end
  35. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  36. function user_unload()
  37. end
  38.  
  39. -- Define sets and vars used by this job file.
  40. function init_gear_sets()
  41. --------------------------------------
  42. -- Start defining the sets
  43. --------------------------------------
  44.  
  45. -- Precast Sets
  46.  
  47. -- Fast cast sets for spells
  48. sets.precast.FC = {
  49. main={ name="Gada", augments={'"Fast Cast"+6','AGI+1','Mag. Acc.+1',}},
  50. sub="Chanter's Shield",
  51. ammo="Incantor Stone",
  52. head="Nahtirah Hat",
  53. body="Inyanga Jubbah +2",
  54. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  55. legs="Kaykaus Tights +1",
  56. feet="Regal Pumps +1",
  57. neck="Orunmila's Torque",
  58. waist="Witful Belt",
  59. left_ear="Loquac. Earring",
  60. right_ear="Enchntr. Earring +1",
  61. left_ring="Rahab Ring",
  62. right_ring="Kishar Ring",
  63. back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  64. }
  65.  
  66. sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {})
  67.  
  68. sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {})
  69.  
  70. sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {body="Dalmatica +1",legs="Ebers Pantaloons +1"})
  71.  
  72. sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
  73.  
  74. sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {
  75. main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  76. sub="Sors Shield",
  77. ammo="Incantor Stone",
  78. head={ name="Kaykaus Mitra +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  79. body={ name="Dalmatica +1", augments={'Occ. quickens spellcasting +3%','"Fast Cast"+6','Pet: "Mag.Def.Bns."+6',}},
  80. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  81. legs={ name="Kaykaus Tights +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  82. feet={ name="Kaykaus Boots +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  83. neck="Orunmila's Torque",
  84. waist="Witful Belt",
  85. left_ear="Nourish. Earring +1",
  86. right_ear="Etiolation Earring",
  87. left_ring="Rahab Ring",
  88. right_ring="Kishar Ring",
  89. back="Perimede Cape",
  90. })
  91.  
  92. sets.precast.FC.Impact = {head=empty,body="Twilight Cloak"}
  93. sets.precast.FC.Curaga = sets.precast.FC.Cure
  94. sets.precast.FC.CureSolace = sets.precast.FC.Cure
  95. -- CureMelee spell map should default back to Healing Magic.
  96.  
  97. -- Precast sets to enhance JAs
  98. sets.precast.JA.Benediction = {body="Piety Briault +1"}
  99.  
  100. -- Waltz set (chr and vit)
  101. sets.precast.Waltz = {}
  102.  
  103.  
  104. -- Weaponskill sets
  105.  
  106. -- Default set for any weaponskill that isn't any more specifically defined
  107. sets.precast.WS = {}
  108.  
  109.  
  110. -- Midcast Sets
  111.  
  112. sets.midcast.FastRecast = {
  113. main="Yagrush",
  114. sub="Chanter's Shield",
  115. ammo="Incantor Stone",
  116. head="Nahtirah Hat",
  117. body="Count's Garb",
  118. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','"Cure" potency +3%',}},
  119. legs={ name="Kaykaus Tights +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  120. feet="Regal Pumps +1",
  121. neck="Orunmila's Torque",
  122. waist="Witful Belt",
  123. left_ear="Loquac. Earring",
  124. right_ear="Enchntr. Earring +1",
  125. left_ring="Kishar Ring",
  126. right_ring="Rahab Ring",
  127. back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  128. }
  129.  
  130. ------------ Cure sets-------------------
  131.  
  132. sets.midcast.CureWithLightWeather = set_combine(sets.midcast.Cure, {
  133. waist="Hachirin-no-obi",
  134. })
  135.  
  136. sets.midcast.CureSolace = {
  137. main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  138. sub="Sors Shield",
  139. head="Kaykaus Mitra +1",
  140. neck="Nodens Gorget",
  141. body="Ebers bliaud +1",
  142. hands="Theophany Mitts +3",
  143. legs="Ebers Pant. +1",
  144. feet="Kaykaus Boots +1",
  145. ear1="Glorious Earring",
  146. right_ear="Nourish. Earring +1",
  147. left_ring="Lebeche Ring",
  148. right_ring="Janniston Ring +1",
  149. back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  150. }
  151.  
  152. sets.midcast.Cure = {
  153. main={ name="Queller Rod", augments={'Healing magic skill +15','"Cure" potency +10%','"Cure" spellcasting time -7%',}},
  154. sub="Sors Shield",
  155. head="Kaykaus Mitra +1",
  156. neck="Nodens Gorget",
  157. body="Theo. Briault +3",
  158. hands="Theophany Mitts +3",
  159. legs="Ebers Pant. +1",
  160. feet="Kaykaus Boots +1",
  161. ear1="Glorious Earring",
  162. right_ear="Nourish. Earring +1",
  163. left_ring="Lebeche Ring",
  164. right_ring="Janniston Ring +1",
  165. back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  166. }
  167.  
  168. sets.midcast.Curaga = set_combine(sets.midcast.Cure,{
  169. ammo="Hydrocera",
  170. waist="Luminary Sash"
  171. })
  172.  
  173. sets.midcast.CureMelee = {
  174. head="Kaykaus Mitra +1",
  175. neck="Nodens Gorget",
  176. body="Ebers bliaud +1",
  177. hands="Theophany Mitts +3",
  178. legs="Ebers Pant. +1",
  179. feet="Kaykaus Boots +1",
  180. ear1="Glorious Earring",
  181. right_ear="Nourish. Earring +1",
  182. left_ring="Lebeche Ring",
  183. right_ring="Janniston Ring +1",
  184. back={ name="Alaunus's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','"Fast Cast"+10',}},
  185. }
  186.  
  187. sets.midcast.Cursna = {
  188. main="Yagrush",
  189. sub="Thuellaic Ecu +1",
  190. neck="Malison Medallion",
  191. head="Vanya Hood",
  192. ear1="Healing Earring",
  193. ear2="Beatific Earring",
  194. body="Ebers Bliaud +1",
  195. hands="Fanatic Gloves",
  196. ring1="Haoma's Ring",
  197. back="Alaunus's Cape",
  198. waist="Bishop's Sash",
  199. legs="Th. Pant. +3",
  200. feet="Vanya Clogs",
  201. ring2="Haoma's Ring",
  202. }
  203.  
  204. sets.midcast.Cursna.Accession = set_combine(sets.midcast.Cursna,{
  205. main="Gambanteinn",
  206. })
  207. sets.midcast.Doom = set_combine(sets.midcast.Cursna,{
  208. main="Gambanteinn",
  209. head="Ebers Cap +1",
  210. })
  211.  
  212. sets.midcast.Yagdoom = set_combine(sets.midcast.Cursna,{
  213. sub="Gambanteinn",
  214. })
  215.  
  216. sets.midcast.Arise = set_combine(sets.midcast.FastRecast,{
  217. neck="Incanter's Torque",
  218. })
  219.  
  220. sets.midcast.StatusRemoval = set_combine(sets.midcast.FastRecast,{
  221. main="Yagrush",
  222. })
  223.  
  224. --------------ENHANCING AND SUCH---------------------
  225.  
  226. sets.midcast['Enhancing Magic'] = {
  227. main={ name="Gada", augments={'Enh. Mag. eff. dur. +6',}},
  228. sub={name="Ammurapi Shield", priority=7},
  229. ammo="Incantor Stone",
  230. head={ name="Telchine Cap", augments={'Accuracy+14 Attack+14','"Store TP"+6','Enh. Mag. eff. dur. +10',}},
  231. neck="Incanter's Torque",
  232. ring1="Stikini Ring +1",
  233. ear1="Augmenting Earring",
  234. ear2="Andoaa Earring",
  235. body={ name="Telchine Chas.", augments={'DEF+16','Enh. Mag. eff. dur. +10',}},
  236. hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}},
  237. legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
  238. feet="Theophany Duckbills +3",
  239. ring2="Stikini Ring +1",
  240. back="Perimede Cape",
  241. waist="Olympus Sash"
  242. }
  243.  
  244. sets.midcast.Haste = set_combine(sets.midcast['Enhancing Magic'],{})
  245.  
  246. sets.midcast.Storm = sets.midcast['Enhancing Magic']
  247.  
  248. sets.midcast.Aquaveil = set_combine(sets.midcast['Enhancing Magic'],{
  249. main="Vadose Rod",
  250. head="Chironic Hat",
  251. waist="Emphatikos Rope",
  252. legs="Shedir Seraweels",
  253. })
  254.  
  255. sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{
  256. neck="Nodens Gorget",
  257. legs="Shedir Seraweels",
  258. lear="Earthcry Earring",
  259. waist="Siegel Sash"
  260. })
  261.  
  262. sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'],{})
  263.  
  264. sets.midcast.Auspice = set_combine(sets.midcast['Enhancing Magic'],{feet="Ebers Duckbills +1"})
  265.  
  266. sets.midcast.BarElement = {main="Beneficus",sub="Ammurapi Shield",
  267. head="Ebers cap +1",neck="Incanter's Torque",ear1="Andoaa earring",ring1="Stikini Ring +1",
  268. body="Ebers bliaud +1",hands="Ebers Mitts +1",ring2="Stikini Ring +1",
  269. back="Perimede Cape",waist="Olympus Sash",legs="Piety Pantaloons +1",feet="Ebers Duckbills +1"
  270. }
  271.  
  272. sets.midcast.BarStatus = set_combine(sets.midcast['Enhancing Magic'],{})
  273. sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
  274. main="Bolelabunga",body="Piety Briault +1",hands="Ebers mitts +1",legs="Th. Pant. +3",head="Inyanga Tiara +2",
  275. })
  276.  
  277. sets.midcast.Protectra = set_combine(sets.midcast['Enhancing Magic'], {
  278. feet="Piety Duckbills +1"
  279. })
  280.  
  281. sets.midcast.Shellra = set_combine(sets.midcast['Enhancing Magic'], {
  282. legs="Piety Pantaloons +1"
  283. })
  284.  
  285. sets.midcast.Dia = set_combine(sets.midcast.MndEnfeebles, {
  286. waist="Chaac Belt"
  287. })
  288.  
  289. sets.midcast['Divine Magic'] = {
  290. main="Yagrush",
  291. sub="Ammurapi Shield",
  292. ammo="Hydrocera",
  293. head="Befouled Crown",
  294. neck="Erra Pendant",
  295. ear1="Digni. Earring",
  296. ear2="Regal Earring",
  297. ring1="Stikini Ring +1",
  298. body="Theo. Briault +3",
  299. hands="Kaykaus Cuffs +1",
  300. ring2="Stikini Ring +1",
  301. back="Alaunus's Cape",
  302. waist="Luminary Sash",
  303. legs="Th. Pant. +3",
  304. feet="Theophany Duckbills +3",
  305. }
  306.  
  307. sets.midcast['Dark Magic'] = {main="yagrush", sub="Ammurapi Shield",ammo="Pemphredo Tathlum",
  308. head="Pixie Hairpin +1",neck="Incanter's Torque",ear1="Dignitary's Earring",ear2="Regal earring",
  309. body="Shango robe",hands=gear.chirhands_macc,ring1="Archon Ring",ring2="Archon ring",
  310. back="Perimede cape",waist="Eschan Stone",legs=gear.tellegs_enh,feet="Medium's sabots"}
  311.  
  312. -- Custom spell classes
  313. sets.midcast.MndEnfeebles = {
  314. main="Yagrush",
  315. sub="Ammurapi Shield",
  316. ammo="Hydrocera",
  317. head="Theophany Cap +2",
  318. neck="Erra Pendant",
  319. ear1="Digni. Earring",
  320. ear2="Regal Earring",
  321. ring1="Stikini Ring +1",
  322. body="Theo. Briault +3",
  323. hands="Kaykaus Cuffs +1",
  324. ring2="Stikini Ring +1",
  325. back="Alaunus's Cape",
  326. waist="Luminary Sash",
  327. legs="Th. Pant. +3",
  328. feet="Theophany Duckbills +3",
  329. }
  330.  
  331. sets.midcast.IntEnfeebles = {
  332. main="Yagrush",
  333. sub="Ammurapi Shield",
  334. ammo="Hydrocera",
  335. head="Inyanga Tiara +2",
  336. neck="Erra Pendant",
  337. ear1="Digni. Earring",
  338. ear2="Regal Earring",
  339. ring1="Stikini Ring +1",
  340. body="Theo. Briault +3",
  341. hands="Kaykaus Cuffs +1",
  342. ring2="Stikini Ring +1",
  343. back="Alaunus's Cape",
  344. waist="Luminary Sash",
  345. legs="Th. Pant. +3",
  346. feet="Theophany Duckbills +3",
  347. }
  348.  
  349. sets.midcast.Impact = {main=gear.grio_elemental,sub="Niobid strap",ammo="Pemphredo Tathlum",
  350. head=empty,neck="Incanter's torque",ear1="Digni. Earring",ear2="Regal Earring",
  351. body="Twilight Cloak",hands=gear.chirhands_macc,ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  352. back="Alaunus's cape",waist="Eschan Stone",legs=gear.chirlegs,feet="Medium's sabots"}
  353.  
  354.  
  355. -- Sets to return to when not performing an action.
  356.  
  357. -- Resting set
  358. sets.resting = set_combine(sets.Idle,{})
  359.  
  360.  
  361. -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  362. sets.idle = {
  363. main="Bolelabunga",
  364. sub="Genmei Shield",
  365. ammo="Homiliary",
  366. neck="Loricate Torque +1",
  367. ear1="Etiolation Earring",
  368. ear2="Darkness Earring",
  369. head="Befouled Crown",
  370. body="Shamash Robe",
  371. hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
  372. ring1="Stikini Ring +1",
  373. back="Moonlight Cape",
  374. waist="Fucho-no-Obi",
  375. legs="Assiduity Pants +1",
  376. feet="Herald's Gaiters",
  377. ring2="Stikini Ring +1",
  378. }
  379.  
  380. sets.idle.PDT = set_combine(sets.Idle,{
  381. main="Mafic Cudgel",
  382. ring2="Gelatinous Ring +1",
  383. ring1="Defending Ring",
  384. })
  385.  
  386. sets.idle.MDT = set_combine(sets.Idle,{
  387. main="Bolelabunga",
  388. sub="Genmei Shield",
  389. ammo="Staunch Tathlum",
  390. head="Inyanga Tiara +2",
  391. body="Shamash Robe",
  392. hands="Inyan. Dastanas +1",
  393. legs="Inyanga Shalwar +2",
  394. feet="Inyan. Crackows +1",
  395. neck="Loricate Torque +1",
  396. waist="Slipor Sash",
  397. left_ear="Etiolation Earring",
  398. right_ear="Sanare Earring",
  399. left_ring="Defending Ring",
  400. right_ring={ name="Dark Ring", augments={'Magic dmg. taken -6%','Phys. dmg. taken -5%',}},
  401. back="Moonlight Cape",
  402. })
  403.  
  404. sets.idle.Encumberance = {
  405. main="Queller Rod",
  406. sub="Sors Shield",
  407. ammo="Impatiens",
  408. head="Kaykaus Mitra +1",
  409. neck="Incanter's Torque",
  410. ear1="Glorious Earring",
  411. ear2="Nourish. Earring +1",
  412. body="Ebers Bliaud +1",
  413. hands="Kaykaus Cuffs +1",
  414. ring1="Lebeche Ring",
  415. ring2="Janniston Ring +1",
  416. back="Alaunus's Cape",
  417. waist="Witful Belt",
  418. legs="Ebers Pant. +1",
  419. feet="Kaykaus Boots +1"
  420. }
  421.  
  422.  
  423. sets.idle.Town = {main="Gambanteinn", sub="Genmei Shield",ammo="Homiliary",
  424. head="Kaykaus Mitra +1",neck="Loricate torque +1",ear1="Etiolation Earring",ear2="Darkness earring",
  425. body="Kaykaus Bliaut +1",hands="Kaykaus Cuffs +1",ring1="Stikini Ring +1",ring2="Stikini Ring +1",
  426. back="Moonlight Cape",waist="Slipor sash",legs="Kaykaus Tights +1",feet="Herald's gaiters"}
  427.  
  428. sets.idle.Weak = {main="Bolelabunga", sub="Genmei shield",ammo="Homiliary",
  429. head="Befouled crown",neck="Loricate torque +1",ear1="Sanare Earring",ear2="Zennaroi Earring",
  430. body="Shamash Robe",hands="Kaykaus Cuffs +1",ring1="Defending Ring",ring2="Gelatinous Ring +1",
  431. back="Moonlight Cape",waist="Slipor sash",legs="Assiduity pants +1",feet="Kaykaus Boots +1"}
  432.  
  433. -- Defense sets
  434.  
  435. sets.defense.PDT = {
  436. main="Mafic Cudgel",
  437. sub="Genmei Shield",
  438. ammo="Homiliary",
  439. head="Befouled Crown",
  440. body="Shamash Robe",
  441. hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
  442. legs="Assid. Pants +1",
  443. feet="Herald's Gaiters",
  444. neck="Loricate Torque +1",
  445. waist="Slipor Sash",
  446. left_ear="Etiolation Earring",
  447. right_ear={ name="Darkness Earring", augments={'Phys. dmg. taken -2%','"Resist Poison"+2',}},
  448. left_ring="Defending Ring",
  449. right_ring="Stikini Ring +1",
  450. back="Moonlight Cape",
  451. }
  452. --sets.defense.Shield = {
  453. -- main="Mafic cudgel", -- 10% PDT;
  454. -- sub="Genmei shield", -- 10% PDT; Block +6; Counter +4
  455. -- ammo="Brigantia pebble",
  456. -- head=gear.chirhead_block, -- 2% MDT; Block +3
  457. -- neck="Loricate torque +1", -- 6% DT
  458. -- ear1="Thureous earring", -- Block +2
  459. -- ear2="Genmei earring", -- 2% PDT; Counter +1
  460. -- body="Vrikodara jupon", -- 3% PDT
  461. -- hands=gear.chirhands_block, -- Block +4
  462. -- ring1="Defending Ring", -- 10% DT
  463. -- ring2="Dark Ring", -- 5% PDT; 4% MDT
  464. -- back="Moonlight Cape", -- 4% DT
  465. -- waist="Slipor sash", -- 3% MDT
  466. -- legs=gear.chirlegs_block, -- Block +3
  467. -- feet=gear.chirfeet_block -- 2% PDT; Block +4
  468. -- }
  469.  
  470. sets.defense.MDT = {
  471. main="Bolelabunga",
  472. sub="Genmei Shield",
  473. ammo="Staunch Tathlum",
  474. head="Inyanga Tiara +2",
  475. body="Shamash Robe",
  476. hands="Inyan. Dastanas +1",
  477. legs="Inyanga Shalwar +2",
  478. feet="Inyan. Crackows +1",
  479. neck="Loricate Torque +1",
  480. waist="Slipor Sash",
  481. left_ear="Hearty Earring",
  482. right_ear="Sanare Earring",
  483. left_ring="Defending Ring",
  484. right_ring={ name="Dark Ring", augments={'Magic dmg. taken -6%','Phys. dmg. taken -5%',}},
  485. back="Moonlight Cape",
  486. }
  487.  
  488. sets.Kiting = {feet="Herald's gaiters"}
  489.  
  490. sets.latent_refresh = {waist="Fucho-no-obi"}
  491.  
  492. -- Engaged sets
  493.  
  494. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  495. -- sets if more refined versions aren't defined.
  496. -- If you create a set with both offense and defense modes, the offense mode should be first.
  497. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  498.  
  499. -- Basic set for if no TP weapon is defined.
  500. sets.engaged = {
  501. ammo="Homiliary",
  502. head={ name="Chironic Hat", augments={'Pet: STR+12','Crit.hit rate+3','Quadruple Attack +2','Accuracy+15 Attack+15',}},
  503. body="Ayanmo Corazza +1",
  504. hands={ name="Chironic Gloves", augments={'STR+7','Accuracy+3','"Refresh"+2','Accuracy+18 Attack+18','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
  505. legs="Aya. Cosciales +1",
  506. feet={ name="Chironic Slippers", augments={'"Triple Atk."+3','INT+14','Accuracy+7 Attack+7','Mag. Acc.+9 "Mag.Atk.Bns."+9',}},
  507. neck="Lissome Necklace",
  508. waist="Goading Belt",
  509. left_ear="Cessance Earring",
  510. right_ear="Telos Earring",
  511. left_ring="Stikini Ring +1",
  512. right_ring="Stikini Ring +1",
  513. back="Kayapa Cape",
  514. }
  515.  
  516. -- Weaponskill sets
  517. -- Default set for any weaponskill that isn't any more specifically defined
  518. sets.precast.WS = set_combine(sets.engaged,{
  519. neck="Fotia Gorget",
  520. ear2="Moonshade Earring",
  521. waist="Fotia Belt",
  522. })
  523.  
  524.  
  525. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  526. sets.buff['Divine Caress'] = {hands="Ebers mitts +1",back="Mending Cape"}
  527. end
  528.  
  529. -------------------------------------------------------------------------------------------------------------------
  530. -- Job-specific pretarget
  531. -------------------------------------------------------------------------------------------------------------------
  532.  
  533. function pretarget(spell, action, spellMap, eventArgs)
  534. if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  535. eventArgs.cancel = true
  536. send_command('input /item "Echo Drops" <me>')
  537. end
  538. if spell.name == 'Impact' then
  539. equip(sets.precast.FC.Impact)
  540. eventArgs.handled = true
  541. end
  542. end
  543.  
  544.  
  545. Cures = S{'Cure','Cure II','Cure III','Cure IV','Cure V','Cure VI'}
  546. Curagas = S{'Curaga','Curaga II','Curaga III','Curaga IV','Curaga V','Cura','Cura II','Cura III'}
  547. Lyna = S{'Paralyna','Silena','Viruna','Erase','Stona','Blindna','Poisona'}
  548. Barspells = S{'Barfira','Barfire','Barwater','Barwatera','Barstone','Barstonra','Baraero','Baraera','Barblizzara','Barblizzard','Barthunder','Barthundra'}
  549. Turtle = S{'Protectra V','Shellra V'}
  550. Cursna = S{'Cursna'}
  551. Regens = S{'Regen','Regen II','Regen III','Regen IV','Regen V'}
  552. Enhanced = S{'Flurry','Haste','Refresh'}
  553. Banished = S{'Banish','Banish II','Banish III','Banishga','Banishga II'}
  554. Smited = S{'Holy','Holy II'}
  555. Reposed = S{'Repose','Flash'}
  556. Potency = S{'Slow','Paralyze'}
  557. Defense = S{'Stoneskin'}
  558.  
  559.  
  560. -------------------------------------------------------------------------------------------------------------------
  561. -- Job-specific hooks for standard casting events.
  562. -------------------------------------------------------------------------------------------------------------------
  563.  
  564. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  565. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  566. function job_precast(spell, action, spellMap, eventArgs)
  567. if spell.english == "Impact" then
  568. equip(sets.precast.FC,sets.precast.FC.Impact)
  569. end
  570. end
  571.  
  572.  
  573. function job_midcast(spell, action, spellMap, eventArgs)
  574. if spell.skill == 'Healing Magic' then
  575. if Cures:contains(spell.name) then
  576. if world.day =='Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm' then
  577. equip(sets.midcast.CureWithLightWeather)
  578. elseif buffactive['Afflatus Solace'] then
  579. equip(sets.midcast.CureSolace)
  580. end
  581. end
  582. if Curagas:contains(spell.name) then
  583. if world.day =='Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm' then
  584. equip(sets.midcast.CureWithLightWeather)
  585. else
  586. equip(sets.midcast.Curaga)
  587. end
  588. end
  589. end
  590. end
  591.  
  592.  
  593. function job_post_midcast(spell, action, spellMap, eventArgs)
  594. if spell.action_type == 'Magic' then
  595. if spell.english == 'Cursna' then
  596. equip(check_player_for_doom(spell.target.name))
  597. end
  598. end
  599. if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
  600. equip(sets.buff['Divine Caress'])
  601. end
  602. end
  603.  
  604. party_buffs = {}
  605. function party_buff_change(party_member,name,gain,buff)
  606. if name == 'doom' and gain then
  607. party_buffs[party_member.name] = name
  608. elseif name == 'doom' and gain == false then
  609. if table.containskey(party_buffs, party_member.name) then
  610. party_buffs[party_member.name] = nil
  611. end
  612. end
  613. end
  614. function check_player_for_doom(target)
  615. if table.containskey(party_buffs, target) then
  616. if player.sub_job == "DNC" or player.sub_job == "NIN" then
  617. return sets.midcast.Yagdoom
  618. elseif buffactive.Accession then
  619. return sets.midcast.Cursna.Accession
  620. else
  621. return sets.midcast.Doom
  622. end
  623. else
  624. return sets.midcast.Cursna
  625. end
  626. end
  627. -------------------------------------------------------------------------------------------------------------------
  628. -- Job-specific hooks for non-casting events.
  629. -------------------------------------------------------------------------------------------------------------------
  630.  
  631. -- Handle notifications of general user state change.
  632. function job_state_change(stateField, newValue, oldValue)
  633. if stateField == 'Offense Mode' then
  634. if newValue == 'Normal' then
  635. disable('main','sub','range')
  636. else
  637. enable('main','sub','range')
  638. end
  639. end
  640. end
  641.  
  642. -------------------------------------------------------------------------------------------------------------------
  643. -- User code that supplements standard library decisions.
  644. -------------------------------------------------------------------------------------------------------------------
  645.  
  646. -- Custom spell mapping.
  647. function job_get_spell_map(spell, default_spell_map)
  648. if spell.action_type == 'Magic' then
  649. if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
  650. return "CureMelee"
  651. elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
  652. return "CureSolace"
  653. elseif default_spell_map == 'BarStatus' then
  654. return "BarStatus"
  655. elseif (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and (world.day == 'Lightsday' or world.weather_element == 'Light' or buffactive == 'Aurorastorm') then
  656. return "CureWithLightWeather"
  657. elseif spell.skill == "Enfeebling Magic" then
  658. if spell.type == "WhiteMagic" then
  659. return "MndEnfeebles"
  660. else
  661. return "IntEnfeebles"
  662. end
  663. end
  664.  
  665. end
  666. end
  667.  
  668.  
  669. function customize_idle_set(idleSet)
  670. if player.mpp < 51 then
  671. idleSet = set_combine(idleSet, sets.latent_refresh)
  672. end
  673. return idleSet
  674. end
  675.  
  676. -- Function to display the current relevant user state when doing an update.
  677. function display_current_job_state(eventArgs)
  678. display_current_caster_state()
  679. eventArgs.handled = true
  680. end
  681.  
  682. -------------------------------------------------------------------------------------------------------------------
  683. -- Utility functions specific to this job.
  684. -------------------------------------------------------------------------------------------------------------------
  685.  
  686. -- Select default macro book on initial load or subjob change.
  687. function select_default_macro_book()
  688. -- Default macro set/book
  689. set_macro_page(1, 5)
  690. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement