Advertisement
Guest User

Untitled

a guest
Jun 4th, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.75 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 ^s input /ma Stun <t>')
  33. send_command('bind ^p gs c cycle CastingMode')
  34. send_command('bind ^o gs c toggle MagicBurst')
  35. send_command('bind ^i 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 ^a input /item "Holy Water" <me>')
  45. send_command('bind ^z input /item Panacea <me>')
  46. send_command('bind ^k input /ma Klimaform <me>')
  47. send_command('bind ^l input /ma Aquaveil <me>')
  48. send_command('bind ^t input /ma "Thunder I" <t>')
  49. send_command('bind ^b input /ma "Blizzard I" <t>')
  50. send_command('bind ^d input /ma "Watre I" <t>')
  51. send_command('bind ^f input /ma "Fire I" <t>')
  52. send_command('bind ^m input /ws Myrkr <me>')
  53. send_command('bind ^q input /item "Remedy" <me>')
  54. send_command('bind ^g input /recast Stratagems <me>')
  55.  
  56.  
  57.  
  58. select_default_macro_book()
  59. end
  60.  
  61. -- Called when this job file is unloaded (eg: job change)
  62.  
  63.  
  64. -- Define sets and vars used by this job file.
  65. function init_gear_sets()
  66.  
  67. --------------------------------------
  68. -- Start defining the sets
  69. --------------------------------------
  70. -- Obi --
  71.  
  72. sets['Lightning'] = {waist="Hachirin-no-Obi"}
  73. sets['Ice'] = {waist="Hachirin-no-Obi"}
  74. sets['Water'] = {waist="Hachirin-no-Obi"}
  75. sets['Fire'] = {waist="Hachirin-no-Obi"}
  76. sets['Earth'] = {waist="Hachirin-no-Obi"}
  77. sets['Wind'] = {waist="Hachirin-no-Obi"}
  78. sets['Light'] = {waist="Hachirin-no-Obi",back="Twilight Cape"}
  79. sets['Dark'] = {waist="Hachirin-no-Obi"}
  80.  
  81. gear.default.obi_waist = "Refoccilation Stone"
  82.  
  83. ---- Precast Sets ----
  84.  
  85. -- Precast sets to enhance JAs
  86. sets.precast.JA['Mana Wall'] = {feet="Wicce Sabots +1",
  87. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  88.  
  89. sets.precast.JA.Manafont = {body={ name="Arch. Coat", augments={'Enhances "Manafont" effect',}},}
  90.  
  91. -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
  92. sets.precast.JA.Convert = {}
  93.  
  94.  
  95. -- Fast cast sets for spells
  96.  
  97. sets.precast.FC = {ammo="Sapience Orb",
  98. head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+30','"Fast Cast"+7','Mag. Acc.+13',}},
  99. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+16','"Fast Cast"+6','CHR+8','"Mag.Atk.Bns."+8',}},
  100. hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+3','"Fast Cast"+7','"Mag.Atk.Bns."+12',}},
  101. legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  102. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+7','INT+6','Mag. Acc.+14','"Mag.Atk.Bns."+3',}},
  103. neck="Orunmila's Torque",
  104. waist="Witful Belt",
  105. left_ear="Loquac. Earring",
  106. right_ear="Etiolation Earring",
  107. left_ring="Kishar Ring",
  108. right_ring="Metamorph Ring",
  109. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10',}},}
  110.  
  111. sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {right_ear="Barkaro. Earring",
  112. right_ring="Lebeche Ring"})
  113.  
  114. sets.precast.FC.Cure = {ammo="Pemphredo Tathlum",
  115. head={ name="Vanya Hood", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
  116. body="Vrikodara Jupon",
  117. hands="Jhakri Cuffs +2",
  118. legs="Doyen Pants",
  119. feet={ name="Vanya Clogs", augments={'"Cure" potency +5%','"Cure" spellcasting time -15%','"Conserve MP"+6',}},
  120. neck="Phalaina Locket",
  121. waist="Luminary Sash",
  122. left_ear="Regal Earring",
  123. right_ear="Mendi. Earring",
  124. left_ring="Lebeche Ring",
  125. right_ring="Sirona's Ring",
  126. back="Oretan. Cape +1",}
  127.  
  128. sets.precast.FC.Curaga = sets.precast.FC.Cure
  129.  
  130. -- Weaponskill sets
  131. -- Default set for any weaponskill that isn't any more specifically defined
  132. sets.precast.WS = {}
  133.  
  134. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  135. sets.precast.WS['Vidohunir'] = {}
  136.  
  137. sets.precast.WS['Myrkr'] = {ammo="Pemphredo Tathlum",
  138. head="Pixie Hairpin +1",
  139. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  140. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  141. legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  142. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  143. neck="Sanctity Necklace",
  144. waist="Luminary Sash",
  145. left_ear="Evans Earring",
  146. right_ear="Etiolation Earring",
  147. left_ring="Metamorph Ring",
  148. right_ring="Mujin Band",
  149. back="Bane Cape",}
  150.  
  151. ---- Midcast Sets ----
  152.  
  153. sets.midcast.FastRecast = {ammo="Sapience Orb",
  154. head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+30','"Fast Cast"+7','Mag. Acc.+13',}},
  155. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+16','"Fast Cast"+6','CHR+8','"Mag.Atk.Bns."+8',}},
  156. hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+3','"Fast Cast"+7','"Mag.Atk.Bns."+12',}},
  157. legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  158. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+7','INT+6','Mag. Acc.+14','"Mag.Atk.Bns."+3',}},
  159. neck="Stoicheion Medal",
  160. waist="Witful Belt",
  161. left_ear="Loquac. Earring",
  162. right_ear="Etiolation Earring",
  163. left_ring="Kishar Ring",
  164. right_ring="Metamorph Ring",
  165. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10',}},}
  166.  
  167. sets.midcast.Cure = {ammo="Staunch Tathlum",
  168. head={ name="Merlinic Hood", augments={'Mag. Acc.+7','Phys. dmg. taken -3%','MND+7','"Mag.Atk.Bns."+6',}},
  169. body="Vrikodara Jupon",
  170. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  171. legs="Assid. Pants +1",
  172. feet="Jhakri Pigaches +2",
  173. neck="Loricate Torque +1",
  174. waist="Fucho-no-Obi",
  175. left_ear="Evans Earring",
  176. right_ear="Etiolation Earring",
  177. left_ring="Stikini Ring",
  178. right_ring="Stikini Ring",
  179. back="Moonbeam Cape",}
  180.  
  181. sets.midcast['Enhancing Magic'] = {ammo="Pemphredo Tathlum",
  182. head="Befouled Crown",
  183. body="Manasa Chasuble",
  184. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  185. legs="Jhakri Slops +2",
  186. feet="Jhakri Pigaches +2",
  187. neck="Incanter's Torque",
  188. waist="Olympus Sash",
  189. left_ear="Regal Earring",
  190. right_ear="Andoaa Earring",
  191. left_ring="Stikini Ring",
  192. right_ring="Stikini Ring",
  193. back="Perimede Cape",}
  194.  
  195.  
  196. sets.midcast.Warp = sets.midcast.FastRecast
  197.  
  198. sets.midcast.Haste = set_combine(sets.midcast.FastCast,
  199. {})
  200.  
  201. sets.midcast.Refresh = {ammo="Staunch Tathlum",feet="Inspirited Boots",}
  202. sets.midcast.Blink = sets.midcast.FastRecast
  203. sets.midcast.Stoneskin = set_combine(sets.midcast.FastCast,
  204. {waist="Siegel Sash",legs="Doyen Pants",})
  205.  
  206. sets.midcast.Phalanx = {ammo="Pemphredo Tathlum",
  207. head="Ea Hat +1",
  208. body="Spaekona's Coat +3",
  209. hands="Jhakri Cuffs +2",
  210. legs="Jhakri Slops +2",
  211. feet="Jhakri Pigaches +2",
  212. neck="Incanter's Torque",
  213. waist="Olympus Sash",
  214. left_ear="Regal Earring",
  215. right_ear="Andoaa Earring",
  216. left_ring="Stikini Ring",
  217. right_ring="Stikini Ring",
  218. back="Perimede Cape",}
  219.  
  220. sets.midcast['Enfeebling Magic'] = {ammo="Pemphredo Tathlum",
  221. head="Befouled Crown",
  222. body="Spaekona's Coat +3",
  223. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  224. legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
  225. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  226. neck="Incanter's Torque",
  227. waist="Rumination Sash",
  228. left_ear="Regal Earring",
  229. right_ear="Barkaro. Earring",
  230. left_ring="Shiva Ring +1",
  231. right_ring="Vertigo Ring",
  232. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  233.  
  234. sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']
  235.  
  236. sets.midcast['Dark Magic'] = {ammo="Pemphredo Tathlum",
  237. head="Pixie Hairpin +1",
  238. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  239. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  240. legs="Spae. Tonban +3",
  241. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  242. neck="Erra Pendant",
  243. waist="Fucho-no-Obi",
  244. left_ear="Regal Earring",
  245. right_ear="Etiolation Earring",
  246. left_ring="Evanescence Ring",
  247. right_ring="Archon Ring",
  248. back="Perimede Cape",}
  249.  
  250. sets.midcast.Drain = {ammo="Pemphredo Tathlum",
  251. head="Pixie Hairpin +1",
  252. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+23','"Drain" and "Aspir" potency +10','CHR+1','"Mag.Atk.Bns."+13',}},
  253. hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+24','"Drain" and "Aspir" potency +10','CHR+6','"Mag.Atk.Bns."+12',}},
  254. legs="Spae. Tonban +3",
  255. feet={ name="Merlinic Crackows", augments={'"Drain" and "Aspir" potency +10','CHR+5','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
  256. neck="Erra Pendant",
  257. waist="Fucho-no-Obi",
  258. left_ear="Barkaro. Earring",
  259. right_ear="Etiolation Earring",
  260. left_ring="Evanescence Ring",
  261. right_ring="Archon Ring",
  262. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  263.  
  264. sets.midcast.Drain.Death = {ammo="Pemphredo Tathlum",
  265. head="Pixie Hairpin +1",
  266. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+23','"Drain" and "Aspir" potency +10','CHR+1','"Mag.Atk.Bns."+13',}},
  267. hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+24','"Drain" and "Aspir" potency +10','CHR+6','"Mag.Atk.Bns."+12',}},
  268. legs="Spae. Tonban +3",
  269. feet={ name="Merlinic Crackows", augments={'"Drain" and "Aspir" potency +10','CHR+5','Mag. Acc.+13','"Mag.Atk.Bns."+5',}},
  270. neck="Erra Pendant",
  271. waist="Fucho-no-Obi",
  272. left_ear="Barkaro. Earring",
  273. right_ear="Etiolation Earring",
  274. left_ring="Evanescence Ring",
  275. right_ring="Archon Ring",
  276. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  277.  
  278. sets.midcast.Aspir = sets.midcast.Drain
  279. sets.midcast["Aspir II"] = sets.midcast.Drain
  280. sets.midcast["Aspir III"] = sets.midcast.Drain
  281.  
  282. sets.midcast.Stun = {ammo="Pemphredo Tathlum",
  283. head="Pixie Hairpin +1",
  284. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  285. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  286. legs="Spae. Tonban +3",
  287. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+7','INT+6','Mag. Acc.+14','"Mag.Atk.Bns."+3',}},
  288. neck="Erra Pendant",
  289. waist="Fucho-no-Obi",
  290. left_ear="Regal Earring",
  291. right_ear="Etiolation Earring",
  292. left_ring="Evanescence Ring",
  293. right_ring="Archon Ring",
  294. back="Perimede Cape",}
  295.  
  296.  
  297. -- Elemental Magic sets
  298.  
  299. sets.midcast['Elemental Magic'] = {ammo="Pemphredo Tathlum",
  300. head="Ea Hat +1",
  301. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  302. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  303. legs="Ea Slops +1",
  304. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  305. neck="Saevus Pendant +1",
  306. waist="Refoccilation Stone",
  307. left_ear="Regal Earring",
  308. right_ear="Barkaro. Earring",
  309. left_ring="Shiva Ring +1",
  310. right_ring="Shiva Ring +1",
  311. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  312.  
  313. sets.midcast['Elemental Magic'].MACC = {ammo="Pemphredo Tathlum",
  314. head="Ea Hat +1",
  315. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  316. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  317. legs="Ea Slops +1",
  318. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  319. neck="Sanctity Necklace",
  320. waist="Refoccilation Stone",
  321. left_ear="Regal Earring",
  322. right_ear="Barkaro. Earring",
  323. left_ring="Shiva Ring +1",
  324. right_ring="Shiva Ring +1",
  325. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  326.  
  327. sets.midcast['Elemental Magic'].ConserveMP = {ammo="Pemphredo Tathlum",
  328. head="Ea Hat +1",
  329. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  330. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  331. legs="Ea Slops +1",
  332. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  333. neck="Saevus Pendant +1",
  334. waist="Refoccilation Stone",
  335. left_ear="Regal Earring",
  336. right_ear="Barkaro. Earring",
  337. left_ring="Shiva Ring +1",
  338. right_ring="Shiva Ring +1",
  339. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  340.  
  341. sets.magic_burst = {ammo="Pemphredo Tathlum",
  342. head="Ea Hat +1",
  343. body="Spaekona's Coat +3",
  344. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  345. legs="Ea Slops +1",
  346. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  347. neck="Mizu. Kubikazari",
  348. waist="Hachirin-no-Obi",
  349. left_ear="Regal Earring",
  350. right_ear="Barkaro. Earring",
  351. left_ring="Mujin Band",
  352. right_ring="Locus Ring",
  353. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  354.  
  355. sets.magic_burst.ConserveMP = {ammo="Pemphredo Tathlum",
  356. head="Ea Hat +1",
  357. body="Spaekona's Coat +3",
  358. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  359. legs="Ea Slops +1",
  360. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  361. neck="Mizu. Kubikazari",
  362. waist="Hachirin-no-Obi",
  363. left_ear="Regal Earring",
  364. right_ear="Barkaro. Earring",
  365. left_ring="Mujin Band",
  366. right_ring="Locus Ring",
  367. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  368.  
  369. sets.magic_burst.MACC = {ammo="Pemphredo Tathlum",
  370. head="Ea Hat +1",
  371. body="Spaekona's Coat +3",
  372. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  373. legs="Ea Slops +1",
  374. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Magic burst dmg.+8%','CHR+7','Mag. Acc.+11','"Mag.Atk.Bns."+13',}},
  375. neck="Sanctity Necklace",
  376. waist="Refoccilation Stone",
  377. left_ear="Regal Earring",
  378. right_ear="Barkaro. Earring",
  379. left_ring="Shiva Ring +1",
  380. right_ring="Shiva Ring +1",
  381. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  382.  
  383. -- Sets to return to when not performing an action.
  384.  
  385. -- Idle sets
  386.  
  387. -- Normal refresh idle set
  388. sets.idle = {ammo="Staunch Tathlum",
  389. head="Befouled Crown",
  390. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  391. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  392. legs="Assid. Pants +1",
  393. feet="Herald's Gaiters",
  394. neck="Loricate Torque +1",
  395. waist="Fucho-no-Obi",
  396. left_ear="Regal Earring",
  397. right_ear="Etiolation Earring",
  398. left_ring="Vocane Ring",
  399. right_ring="Defending Ring",
  400. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  401.  
  402. -- Idle mode scopes:
  403. -- Idle mode when weak.
  404.  
  405. -- Defense sets
  406.  
  407. sets.defense.PDT = {ammo="Staunch Tathlum",
  408. head={ name="Merlinic Hood", augments={'Mag. Acc.+7','Phys. dmg. taken -3%','MND+7','"Mag.Atk.Bns."+6',}},
  409. body="Mallquis Saio +2",
  410. hands={ name="Merlinic Dastanas", augments={'"Mag.Atk.Bns."+24','Phys. dmg. taken -2%','STR+8',}},
  411. legs={ name="Merlinic Shalwar", augments={'Mag. Acc.+19','Phys. dmg. taken -3%','STR+2',}},
  412. feet="Hippomenes Socks",
  413. neck="Loricate Torque +1",
  414. waist="Luminary Sash",
  415. left_ear="Halasz Earring",
  416. right_ear="Etiolation Earring",
  417. left_ring="Vocane Ring",
  418. right_ring="Defending Ring",
  419. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  420.  
  421. sets.Kiting = {feet="Herald's Gaiters"}
  422.  
  423.  
  424. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  425.  
  426. sets.buff['Mana Wall'] = {feet="Wicce Sabots +1",back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},}
  427.  
  428.  
  429. -- Engaged sets
  430.  
  431. sets.engaged.DD = {ammo="Jukukik Feather",
  432. head="Jhakri Coronal +1",
  433. body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  434. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  435. legs="Jhakri Slops +2",
  436. feet="Jhakri Pigaches +2",
  437. neck="Combatant's Torque",
  438. waist="Goading Belt",
  439. left_ear="Cessance Earring",
  440. right_ear="Telos Earring",
  441. left_ring="Petrov Ring",
  442. right_ring="Hetairoi Ring",
  443. back={ name="Taranus's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10','Phys. dmg. taken-10%',}},}
  444.  
  445. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  446. -- sets if more refined versions aren't defined.
  447. -- If you create a set with both offense and defense modes, the offense mode should be first.
  448. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  449.  
  450.  
  451. -- Normal melee group
  452.  
  453. sets.obi ={"Hachirin-no-Obi"}
  454.  
  455.  
  456. end
  457.  
  458. -------------------------------------------------------------------------------------------------------------------
  459. -- Job-specific hooks for standard casting events.
  460. -------------------------------------------------------------------------------------------------------------------
  461. function job_setup()
  462. state.BurstMode = M{['description']='Magic Burst Mode', 'MB1', 'MB2','MBMacc'}
  463. end
  464. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  465. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  466. function job_precast(spell, action, spellMap, eventArgs)
  467. if buffactive ['storm'] then
  468. equip(sets.obi)
  469. end
  470. if spellMap == 'Cure' or spellMap == 'Curaga' then
  471. gear.default.obi_waist = "Refoccilation Stone"
  472. elseif spell.skill == 'Elemental Magic' then
  473. if state.CastingMode.value == 'Proc' then
  474. classes.CustomClass = 'Proc'
  475. end
  476. end
  477. end
  478. function job_post_precast(spell, action, spellMap, eventArgs)
  479. if spell.english == "Vidohunir" and (buffactive['Voidstorm'] or buffactive['Voidstorm II']) then
  480. --print('weather mode')
  481. equip({waist="Hachirin-no-Obi"})
  482. end
  483. if spell.english == "Sunburst" or "Starburst" and (buffactive['Voidstorm'] or buffactive['Voidstorm II']) then
  484. --print('weather mode')
  485. equip({waist="Hachirin-no-Obi"})
  486. end
  487. if spell.english == "Rock Crusher" or "Earth Crusher" and (buffactive['Sandstorm'] or buffactive['Sandstorm II']) then
  488. --print('weather mode')
  489. equip({waist="Hachirin-no-Obi"})
  490. end
  491. end
  492.  
  493. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  494. function job_midcast(spell, action, spellMap, eventArgs)
  495.  
  496. end
  497.  
  498. function job_post_midcast(spell, action, spellMap, eventArgs)
  499. if spell.skill == 'Elemental Magic' or spell.english == "Kaustra" then
  500. if (spell.element == world.day_element or spell.element == world.weather_element) then
  501. equip(sets.Obi)
  502. end
  503. if spell.action_type == 'Magic' then
  504. if spell.element == "Earth" and spell.skill == 'Elemental Magic' and (state.CastingMode.value == "Normal" or state.CastingMode.value == "ConserveMP") then
  505. equip({ neck="Quanpur Necklace" })
  506. end
  507. if spellMap == 'Cure' and spell.target.type == 'SELF' then
  508. equip(sets.midcast.CureSelf)
  509. end
  510. if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  511. if state.CastingMode.value == "ConserveMP" then
  512. equip(sets.magic_burst.ConserveMP)
  513. elseif state.CastingMode.value == "MACC" then
  514. equip(sets.magic_burst.MACC)
  515. else
  516. equip(sets.magic_burst)
  517. end
  518. if spell.english == "Impact" then
  519. equip(sets.midcast.Impact)
  520. if spell.element == world.weather_element or spell.element == world.day_element or
  521. (spell.element == 'Lightning' and buffactive['Thunderstorm']) or
  522. (spell.element == 'Ice' and buffactive['Hailstorm']) or
  523. (spell.element == 'Water' and buffactive['Rainstorm']) or
  524. (spell.element == 'Fire' and buffactive['Firestorm']) or
  525. (spell.element == 'Earth' and buffactive['Sandstorm']) or
  526. (spell.element == 'Wind' and buffactive['Windstorm']) or
  527. (spell.element == 'Light' and buffactive['Aurorastorm']) or
  528. (spell.element == 'Dark' and buffactive['Voidstorm']) then
  529. if spell.skill == 'Elemental Magic' and spellMap ~= 'Helix' then
  530. equip(sets[spell.element])
  531. elseif string.find(spell.english,'Cure') then
  532. equip(sets[spell.element])
  533. end
  534. end
  535. end
  536. end
  537. end
  538. end
  539. end
  540.  
  541. function job_aftercast(spell, action, spellMap, eventArgs)
  542. -- Lock feet after using Mana Wall.
  543. if not spell.interrupted then
  544. if spell.english == 'Mana Wall' then
  545. enable('feet','back')
  546. equip(sets.buff['Mana Wall'])
  547. disable('feet','back')
  548.  
  549. end
  550. end
  551. if not spell.interrupted then
  552. if spell.english == 'Break' or spell.english == 'Breakga' then
  553. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 33 down spells/00220.png')
  554. elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  555. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 66 down spells/00220.png')
  556. elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  557. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 99 down spells/00220.png')
  558. end
  559. classes.CustomIdleGroups:clear()
  560. end
  561. end
  562.  
  563. -------------------------------------------------------------------------------------------------------------------
  564. -- Job-specific hooks for non-casting events.
  565. -------------------------------------------------------------------------------------------------------------------
  566.  
  567. -- Called when a player gains or loses a buff.
  568. -- buff == buff gained or lost
  569. -- gain == true if the buff was gained, false if it was lost.
  570. function job_buff_change(buff, gain)
  571. -- Unlock feet when Mana Wall buff is lost.
  572. if buff == "Mana Wall" and not gain then
  573. enable('feet','back')
  574. handle_equipping_gear(player.status)
  575. end
  576. end
  577.  
  578. -- Handle notifications of general user state change.
  579. function job_state_change(stateField, newValue, oldValue)
  580. end
  581.  
  582.  
  583. -------------------------------------------------------------------------------------------------------------------
  584. -- User code that supplements standard library decisions.
  585. -------------------------------------------------------------------------------------------------------------------
  586.  
  587. -- Custom spell mapping.
  588. function job_get_spell_map(spell, default_spell_map)
  589. if spell.action_type == 'Magic' then
  590. if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
  591. if world.weather_element == 'Light' then
  592. return 'CureWithLightWeather'
  593. end
  594. end
  595. end
  596. end
  597.  
  598. -- Modify the default idle set after it was constructed.
  599. function customize_idle_set(idleSet)
  600. if player.mpp < 51 then
  601. idleSet = set_combine(idleSet, sets.latent_refresh)
  602. end
  603.  
  604. return idleSet
  605. end
  606.  
  607.  
  608. -- Function to display the current relevant user state when doing an update.
  609. function display_current_job_state(eventArgs)
  610. display_current_caster_state()
  611. eventArgs.handled = true
  612. end
  613.  
  614. -------------------------------------------------------------------------------------------------------------------
  615. -- Utility functions specific to this job.
  616. -------------------------------------------------------------------------------------------------------------------
  617.  
  618. -- Select default macro book on initial load or subjob change.
  619. function select_default_macro_book()
  620. set_macro_page(1,9)
  621. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement