Advertisement
Guest User

Untitled

a guest
Feb 11th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.85 KB | None | 0 0
  1. ---------------------------------------------------------------------------------------
  2. -- Initialization function that defines sets and variables to be used.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
  6.  
  7. -- Initialization function for this job file.
  8. function get_sets()
  9. -- Load and initialize the include file.
  10. include('Mote-Include.lua')
  11. end
  12.  
  13. -- Setup vars that are user-independent.
  14. function job_setup()
  15. state.Buff['Afflatus Solace'] = buffactive['afflatus solace'] or false
  16. end
  17.  
  18.  
  19. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  20. function user_setup()
  21. -- Options: Override default values
  22. options.OffenseModes = {'None', 'Normal'}
  23. options.DefenseModes = {'Normal'}
  24. options.WeaponskillModes = {'Normal'}
  25. options.CastingModes = {'Normal', 'Resistant', 'Dire'}
  26. options.IdleModes = {'Normal', 'PDT'}
  27. options.RestingModes = {'Normal'}
  28. options.PhysicalDefenseModes = {'PDT'}
  29. options.MagicalDefenseModes = {'MDT'}
  30.  
  31. state.Defense.PhysicalMode = 'PDT'
  32. state.OffenseMode = 'None'
  33.  
  34.  
  35. -- Default macro set/book
  36. set_macro_page(3, 2)
  37. end
  38.  
  39. -- Called when this job file is unloaded (eg: job change)
  40. function file_unload()
  41. if binds_on_unload then
  42. binds_on_unload()
  43. end
  44. end
  45.  
  46.  
  47. -- Define sets and vars used by this job file.
  48. function init_gear_sets()
  49. --------------------------------------
  50. -- Start defining the sets
  51. --------------------------------------
  52.  
  53. -- Precast Sets
  54. -- Fast cast sets for spells
  55. sets.precast.FC = {
  56. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  57. sub="Vivid Strap",
  58. ammo="Incantor Stone",
  59. head="Nahtirah Hat",
  60. body="Anhur Robe",
  61. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','Magic dmg. taken -2%','"Cure" potency +4%',}},
  62. legs="Artsieq Hose",
  63. feet="Chelona Boots",
  64. neck="Orison Locket",
  65. waist="Witful Belt",
  66. left_ear="Gifted Earring",
  67. right_ear="Loquacious Earring",
  68. left_ring="Sangoma Ring",
  69. right_ring="Prolix Ring",
  70. back="Swith Cape",
  71. }
  72.  
  73.  
  74. sets.precast.FC['HealingMagic'] = {
  75. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  76. sub="Vivid Strap",
  77. ammo="Incantor Stone",
  78. head="Nahtirah Hat",
  79. body="Anhur Robe",
  80. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -4%',}},
  81. legs="Orsn. Pantaln. +2",
  82. feet="Chelona Boots",
  83. neck="Orison Locket",
  84. waist="Witful Belt",
  85. left_ear="Gifted Earring",
  86. right_ear="Loquac. Earring",
  87. left_ring="Ephedra Ring",
  88. right_ring="Prolix Ring",
  89. back="Swith Cape",
  90. }
  91.  
  92. sets.precast.FC.StatusRemoval = sets.precast.FC.HealingMagic
  93.  
  94. sets.precast.FC['Cure'] = {
  95. main="Ababinili",
  96. sub="Dominie's Grip",
  97. ammo="Incantor Stone",
  98. head="Nahtirah Hat",
  99. body="Nefer Kalasiris",
  100. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -4%',}},
  101. legs="Orsn. Pantaln. +2",
  102. feet="Litany Clogs",
  103. neck="Orison Locket",
  104. waist="Witful Belt",
  105. left_ear="Gifted Earring",
  106. right_ear="Loquac. Earring",
  107. left_ring="Ephedra Ring",
  108. right_ring="Prolix Ring",
  109. back="Pahtli Cape",
  110. }
  111.  
  112. sets.precast.FC.Curaga = {
  113. main="Ababinili",
  114. sub="Dominie's Grip",
  115. ammo="Incantor Stone",
  116. head="Nahtirah Hat",
  117. body="Nefer Kalasiris",
  118. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -4%',}},
  119. legs="Orsn. Pantaln. +2",
  120. feet="Litany Clogs",
  121. neck="Orison Locket",
  122. waist="Witful Belt",
  123. left_ear="Gifted Earring",
  124. right_ear="Loquac. Earring",
  125. left_ring="Ephedra Ring",
  126. right_ring="Prolix Ring",
  127. back="Pahtli Cape",
  128. }
  129.  
  130. -- Precast sets to enhance JAs
  131. sets.precast.JA.Benediction = {body="Cleric's Briault +2"}
  132.  
  133. -- Waltz set (chr and vit)
  134. sets.precast.Waltz = {
  135. head="Nahtirah Hat",ear1="Roundel Earring",
  136. body="Vanir Cotehardie",hands="Gendewitha Gages +1",
  137. back="Refraction Cape",legs="Gendewitha Spats",feet="Gendewitha Galoshes +1"}
  138.  
  139.  
  140. -- Weaponskill sets
  141.  
  142. -- Default set for any weaponskill that isn't any more specifically defined
  143. gear.default.weaponskill_neck = "Asperity Necklace"
  144. gear.default.weaponskill_waist = ""
  145. sets.precast.WS = {
  146. head="Nahtirah Hat",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
  147. body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  148. back="Refraction Cape",waist=gear.ElementalBelt,legs="Gendewitha Spats",feet="Gendewitha Galoshes +1"}
  149.  
  150. sets.precast.WS['Flash Nova'] = {
  151. head="Nahtirah Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring",
  152. body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Rajas Ring",ring2="Strendu Ring",
  153. back="Toro Cape",waist="Thunder Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes +1"}
  154.  
  155.  
  156. -- Midcast Sets
  157.  
  158. sets.midcast.FastRecast = {
  159. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  160. sub="Arbuda Grip",
  161. head="Nahtirah Hat",
  162. body="Anhur Robe",
  163. hands="Dynasty Mitts",
  164. legs="Artsieq Hose",
  165. feet="Umbani Boots",
  166. neck="Orison Locket",
  167. waist="Goading Belt",
  168. left_ear="Gwati Earring",
  169. right_ear="Gifted Earring",
  170. left_ring="Sangoma Ring",
  171. right_ring="Prolix Ring",
  172. back="Swith Cape",
  173. }
  174.  
  175. sets.midcast['Sacrifice'] = {
  176. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  177. sub="Arbuda Grip",
  178. head="Nahtirah Hat",
  179. body="Anhur Robe",
  180. hands="Gendewitha Gages +1",
  181. legs="Artsieq Hose",
  182. feet="Umbani Boots",
  183. neck="Orison Locket",
  184. waist="Witful Belt",
  185. left_ear="Gwati Earring",
  186. right_ear="Gifted Earring",
  187. left_ring="Sangoma Ring",
  188. right_ring="Prolix Ring",
  189. back="Swith Cape",
  190. }
  191.  
  192. sets.midcast.Sacrifice = {
  193. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  194. sub="Arbuda Grip",
  195. head="Nahtirah Hat",
  196. body="Anhur Robe",
  197. hands="Gendewitha Gages +1",
  198. legs="Artsieq Hose",
  199. feet="Umbani Boots",
  200. neck="Orison Locket",
  201. waist="Witful Belt",
  202. left_ear="Gwati Earring",
  203. right_ear="Gifted Earring",
  204. left_ring="Sangoma Ring",
  205. right_ring="Prolix Ring",
  206. back="Swith Cape",
  207. }
  208.  
  209. sets.midcast.Haste = {
  210. main={ name="Lehbrailg +1", augments={'DMG:+18','CHR+1','"Fast Cast"+4',}},
  211. sub="Arbuda Grip",
  212. head="Nahtirah Hat",
  213. body="Hedera Cotehardie",
  214. hands="Dynasty Mitts",
  215. legs="Artsieq Hose",
  216. feet="Umbani Boots",
  217. neck="Orison Locket",
  218. waist="Goading Belt",
  219. left_ear="Gwati Earring",
  220. right_ear="Gifted Earring",
  221. left_ring="Sangoma Ring",
  222. right_ring="Prolix Ring",
  223. back="Swith Cape",
  224. }
  225. sets.midcast.CureSolace = {
  226. main={ name="Tamaxchi", augments={'System: 1 ID: 912 Val: 8','Enmity-10',}},
  227. sub="Sors Shield",
  228. ammo="Kalboron Stone",
  229. head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -3%','"Cure" potency +4%',}},
  230. body="Orison Bliaud +2",
  231. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -3%','Magic dmg. taken -2%','"Cure" potency +4%',}},
  232. legs="Orsn. Pantaln. +2",
  233. feet="Artsieq Boots",
  234. neck="Phrenic Torque",
  235. waist="Witful Belt",
  236. left_ear="Roundel Earring",
  237. right_ear="Novia Earring",
  238. left_ring="Sangoma Ring",
  239. right_ring="Prolix Ring",
  240. back="Orison Cape"
  241. }
  242.  
  243. sets.midcast.Cure = {
  244. main={ name="Tamaxchi", augments={'System: 1 ID: 912 Val: 8','Enmity-10',}},
  245. sub="Sors Shield",
  246. ammo="Kalboron Stone",
  247. head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -3%','"Cure" potency +4%',}},
  248. body="Heka's Kalasiris",
  249. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -4%',}},
  250. legs="Orsn. Pantaln. +2",
  251. feet="Artsieq Boots",
  252. neck="Phrenic Torque",
  253. waist="Bishop's Sash",
  254. left_ear="Roundel Earring",
  255. right_ear="Novia Earring",
  256. left_ring="Ephedra Ring",
  257. right_ring="Ephedra Ring",
  258. back="Mending Cape"
  259. }
  260.  
  261. sets.midcast.Curaga = {
  262. main={ name="Tamaxchi", augments={'System: 1 ID: 912 Val: 8','Enmity-10',}},
  263. sub="Sors Shield",
  264. ammo="Kalboron Stone",
  265. head={ name="Gende. Caubeen +1", augments={'Phys. dmg. taken -3%','"Cure" potency +4%',}},
  266. body="Heka's Kalasiris",
  267. hands={ name="Gende. Gages +1", augments={'Phys. dmg. taken -2%','"Cure" spellcasting time -4%',}},
  268. legs="Orsn. Pantaln. +2",
  269. feet="Litany Clogs",
  270. neck="Phrenic Torque",
  271. waist="Bishop's Sash",
  272. left_ear="Roundel Earring",
  273. right_ear="Novia Earring",
  274. left_ring="Ephedra Ring",
  275. right_ring="Ephedra Ring",
  276. back="Mending Cape"
  277. }
  278.  
  279.  
  280. sets.midcast.CureMelee = {main="Tamaxchi",sub="Sors Shield",ammo="Incantor Stone",
  281. head="Gendewitha Caubeen +1",neck="Phrenic Torque",ear1="Novia Earring",ear2="Orison Earring",
  282. body="Heka's Kalasiris",hands="Gendewitha Gages +1",ring1="Sangoma Ring",ring2="Prolix Ring",
  283. back="Mending Cape",waist="Aswang Sash",legs="Orison Pantaloons +2",feet="Litany Clogs"}
  284.  
  285. sets.midcast.Cursna = {ammo="Incantor Stone",head="Orison Cap +1",neck="Malison Medallion",ear1="Gwati Earring",ear2="Loquacious Earring",
  286. body="Orison Bliaud +2",hands="Dynasty Mitts",ring1="Ephedra Ring",ring2="Ephedra Ring",
  287. back="Mending Cape",waist="Bishop's Sash",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}
  288.  
  289. sets.midcast.StatusRemoval = {
  290. head="Orison Cap +1",legs="Orison Pantaloons +2"}
  291.  
  292.  
  293. sets.midcast.['Enhancing Magic'] 'name'=
  294. {main="Ababinili",
  295. sub="Fulcio Grip",
  296. ammo="Hasty Pinion",
  297. head="Umuthi Hat",
  298. body="Anhur Robe",
  299. hands="Dynasty Mitts",
  300. legs="Piety Pantaloons",
  301. feet="Orsn. Duckbills +2",
  302. neck="Enhancing Torque",
  303. waist="Olympus Sash",
  304. left_ear="Andoaa Earring",
  305. right_ear="Loquac. Earring",
  306. left_ring="Sangoma Ring",
  307. right_ring="Prolix Ring",
  308. back="Merciful Cape",
  309. }
  310.  
  311.  
  312. sets.midcast.Stoneskin = {
  313. main={ name="Ababinili",
  314. sub="Arbuda Grip",
  315. ammo="Hasty Pinion",
  316. head="Umuthi HAt",
  317. body="Anhur Robe",
  318. hands="Dynasty Mitts",
  319. legs="Piety Pantaloons",
  320. feet="Orsn. Duckbills +2",
  321. neck="Enhancing Torque",
  322. waist="Olympus Sash",
  323. left_ear="Andoaa Earring",
  324. right_ear="Loquac. Earring",
  325. left_ring="Sangoma Ring",
  326. right_ring="Prolix Ring",
  327. back="Swith Cape",
  328. }
  329.  
  330. sets.midcast.Auspice = {feet="Orsn. Duckbills +2"}
  331.  
  332. sets.midcast.BarElement = {
  333. main={ name="Ababinili",
  334. sub="Fulcio Grip",
  335. ammo="Hasty Pinion",
  336. head="Umuthi Hat",
  337. body="Anhur Robe",
  338. hands="Dynasty Mitts",
  339. legs="Piety Pantaloons",
  340. feet="Orsn. Duckbills +2",
  341. neck="Enhancing Torque",
  342. waist="Olympus Sash",
  343. left_ear="Andoaa Earring",
  344. right_ear="Loquac. Earring",
  345. left_ring="Sangoma Ring",
  346. right_ring="Prolix Ring",
  347. back="Merciful Cape",
  348. }
  349.  
  350. sets.midcast.Regen = {
  351. body="Cleric's Briault"}
  352.  
  353. sets.midcast.Protectra = {ring1="Sheltered Ring"}
  354.  
  355. sets.midcast.Shellra = {ring1="Sheltered Ring",legs="Piety Pantaloons"}
  356.  
  357.  
  358. sets.midcast['Divine Magic'] = {
  359. main={ name="Lehbrailg +2", augments={'DMG:+17','"Conserve MP"+1','"Mag.Atk.Bns."+20',}},
  360. sub="Mephitis Grip",
  361. ammo="Dosis Tathlum",
  362. head="Kaabnax Hat",
  363. body="Weatherspoon Robe +1",
  364. hands="Otomi Gloves",
  365. legs="Theurgist's Slacks",
  366. feet="Weatherspoon Souliers",
  367. neck="Eddy Necklace",
  368. waist="Sekhmet Corset",
  369. left_ear="Novio Earring",
  370. right_ear="Strophadic Earring",
  371. left_ring="Strendu Ring",
  372. right_ring="Acumen Ring",
  373. back="Toro Cape",
  374. }
  375.  
  376. sets.midcast['Elemental Magic'] = {
  377. main={ name="Lehbrailg +2", augments={'DMG:+17','"Conserve MP"+1','"Mag.Atk.Bns."+20',}},
  378. sub="Mephitis Grip",
  379. ammo="Dosis Tathlum",
  380. head="Kaabnax Hat",
  381. body="Artsieq Jubbah",
  382. hands="Otomi Gloves",
  383. legs="Theurgist's Slacks",
  384. feet={ name="Artsieq Boots", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  385. neck="Eddy Necklace",
  386. waist="Sekhmet Corset",
  387. left_ear="Novio Earring",
  388. right_ear="Strophadic Earring",
  389. left_ring="Strendu Ring",
  390. right_ring="Acumen Ring",
  391. back="Toro Cape",
  392. }
  393.  
  394.  
  395. sets.midcast[ 'Dark Magic' ] = {main="Lehbrailg +2",sub="Mephitis Grip",
  396. head="Kaabnax Hat",neck="Eddy Necklace",ear1="Sortiarius Earring",ear2="Gwati Earring",
  397. body="Haruspex Coat",hands="Otomi Gloves",ring1="Sangoma Ring",ring2="Acumen Ring",
  398. back="Refraction Cape",waist="Sekhmet Corset",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  399.  
  400. sets.midcast.Distract8 =
  401. {
  402. main={ name="Lehbrailg +2", augments={'DMG:+16','Magic crit. hit rate +3','Mag. Acc.+30',}},
  403. sub="Mephitis Grip",
  404. ammo="Kalboron Stone",
  405. head="Kaabnax Hat",
  406. body={ name="Artsieq Jubbah", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  407. hands={ name="Artsieq Cuffs", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  408. legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  409. feet={ name="Artsieq Boots", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  410. neck="Weike Torque",
  411. waist="Ovate Rope",
  412. left_ear="Psystorm Earring",
  413. right_ear="Lifestorm Earring",
  414. left_ring="Sangoma Ring",
  415. right_ring="Perception Ring",
  416. back="Refraction Cape",
  417. }
  418.  
  419. sets.midcast['Enfeebling Magic'] =
  420. {
  421. main={ name="Lehbrailg +2", augments={'DMG:+16','Magic crit. hit rate +3','Mag. Acc.+30',}},
  422. sub="Mephitis Grip",
  423. ammo="Kalboron Stone",
  424. head="Kaabnax Hat",
  425. body={ name="Artsieq Jubbah", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  426. hands={ name="Artsieq Cuffs", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  427. legs={ name="Artsieq Hose", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  428. feet={ name="Artsieq Boots", augments={'MP+30','Mag. Acc.+20','MND+7',}},
  429. neck="Weike Torque",
  430. waist="Ovate Rope",
  431. left_ear="Psystorm Earring",
  432. right_ear="Lifestorm Earring",
  433. left_ring="Sangoma Ring",
  434. right_ring="Perception Ring",
  435. back="Refraction Cape",
  436. }
  437. --sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {main=gear.RecastStaff})
  438.  
  439. -- Custom spell classes
  440.  
  441.  
  442. -- Sets to return to when not performing an action.
  443.  
  444. -- Resting sets
  445. sets.resting = {main=gear.Staff.HMP,
  446. main="Boonwell Staff",
  447. ammo="Clarus Stone",
  448. head="Orvail Corona +1",
  449. body="Chelona Blazer",
  450. hands="Nares Cuffs",
  451. legs="Menhit Slacks",
  452. feet="Serpentes Sabots",
  453. neck="Beak Necklace +1",
  454. waist="Austerity Belt",
  455. left_ear="Relaxing Earring",
  456. right_ear="Impreg. Earring",
  457. left_ring="Star Ring",
  458. right_ring="Star Ring",
  459. back="Vita Cape",
  460.  
  461.  
  462. }
  463.  
  464.  
  465. -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  466. sets.idle = {main="Bolelabunga",sub="Genbu's Shield",ammo="Brigantia Pebble",
  467. neck="Twilight Torque",ear1="Flashward Earring",ear2="Spellbreaker Earring",
  468. body="Respite Cloak",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Patricius Ring",
  469. back="Umbra Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Serpentes Sabots"}
  470.  
  471. sets.idle.PDT = {main="Terra's Staff",sub="Volos Strap",ammo="Brigantia Pebble",
  472. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Flashward Earring",ear2="Impregnable Earring",
  473. body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  474. back="Umbra Cape",waist="Fucho-no-Obi",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  475.  
  476. sets.idle.Town = {main="Bolelabunga",sub="Mundus Shield",ammo="Brigantia Pebble",
  477. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Flashward Earring",ear2="Impregnable Earring",
  478. body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  479. back="Umbra Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Gendewitha Galoshes +1"}
  480.  
  481. sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Brigantia Pebble",
  482. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
  483. body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Sangoma Ring",ring2="Dark Ring",
  484. back="Umbra Cape",waist="Fucho-no-Obi",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  485.  
  486.  
  487.  
  488. -- Defense sets
  489.  
  490. sets.defense.PDT = {main="Terra's Staff",sub="Volos Strap",ammo="Brigantia Pebble",
  491. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Flashward Earring",ear2="Impregnable Earring",
  492. body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  493. back="Umbra Cape",waist="Fucho-no-Obi",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  494.  
  495. sets.defense.MDT = {main="Terra's Staff",sub="Volos Strap",ammo="Brigantia Pebble",
  496. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Flashward Earring",ear2="Impregnable Earring",
  497. body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  498. back="Umbra Cape",waist="Fucho-no-Obi",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  499.  
  500. -- Engaged sets
  501.  
  502. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  503. -- sets if more refined versions aren't defined.
  504. -- If you create a set with both offense and defense modes, the offense mode should be first.
  505. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  506.  
  507. -- Basic set for if no TP weapon is defined.
  508. sets.engaged = {
  509. head="Theophany Cap +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  510. body="Vanir Cotehardie",hands="Dynasty Mitts",ring1="Rajas Ring",ring2="K'ayres Ring",
  511. back="Umbra Cape",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes +1"}
  512.  
  513.  
  514. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  515.  
  516. end
  517.  
  518. -------------------------------------------------------------------------------------------------------------------
  519. -- Job-specific hooks that are called to process player actions at specific points in time.
  520. -------------------------------------------------------------------------------------------------------------------
  521.  
  522. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  523. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  524. function job_precast(spell, action, spellMap, eventArgs)
  525. classes.CustomClass = get_spell_class(spell, action, spellMap)
  526.  
  527. if spell.english == "Paralyna" and buffactive.Paralyzed then
  528. -- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
  529. eventArgs.handled = true
  530. end
  531.  
  532. if spell.skill == 'HealingMagic' then
  533. gear.default.obi_back = "Refraction Cape"
  534. else
  535. gear.default.obi_back = "Toro Cape"
  536. end
  537. end
  538.  
  539.  
  540. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  541. function job_midcast(spell, action, spellMap, eventArgs)
  542. if spell.action_type == 'Magic' then
  543. -- Default base equipment layer of fast recast.
  544. equip(sets.midcast.FastRecast)
  545. end
  546. end
  547.  
  548.  
  549. function job_post_midcast(spell, action, spellMap, eventArgs)
  550. -- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
  551. if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
  552. equip(sets.buff['Divine Caress'])
  553. end
  554. end
  555.  
  556.  
  557. -- Return true if we handled the aftercast work. Otherwise it will fall back
  558. -- to the general aftercast() code in Mote-Include.
  559. function job_aftercast(spell, action, spellMap, eventArgs)
  560. if not spell.interrupted then
  561. if state.Buff[spell.name] ~= nil then
  562. state.Buff[spell.name] = true
  563. elseif spell.name == "Afflatus Misery" then
  564. state.Buff['Afflatus Solace'] = false
  565. end
  566. end
  567. end
  568.  
  569.  
  570. -------------------------------------------------------------------------------------------------------------------
  571. -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  572. -------------------------------------------------------------------------------------------------------------------
  573.  
  574. function customize_idle_set(idleSet)
  575. if player.mpp < 90 and state.IdleMode == "Normal" and state.Defense.Active == false then
  576. idleSet = set_combine(idleSet, sets.Owleyes)
  577. end
  578.  
  579. return idleSet
  580. end
  581.  
  582.  
  583. -------------------------------------------------------------------------------------------------------------------
  584. -- General hooks for other events.
  585. -------------------------------------------------------------------------------------------------------------------
  586.  
  587. -- Called when a player gains or loses a buff.
  588. -- buff == buff gained or lost
  589. -- gain == true if the buff was gained, false if it was lost.
  590. function job_buff_change(buff, gain)
  591. if state.Buff[buff] ~= nil then
  592. state.Buff[buff] = gain
  593. end
  594. end
  595.  
  596.  
  597. -------------------------------------------------------------------------------------------------------------------
  598. -- User code that supplements self-commands.
  599. -------------------------------------------------------------------------------------------------------------------
  600.  
  601. -- Called by the 'update' self-command.
  602. function job_update(cmdParams, eventArgs)
  603. if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
  604. local needsArts =
  605. player.sub_job:lower() == 'sch' and
  606. not buffactive['Light Arts'] and
  607. not buffactive['Addendum: White'] and
  608. not buffactive['Dark Arts'] and
  609. not buffactive['Addendum: Black']
  610.  
  611. if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
  612. if needsArts then
  613. send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
  614. else
  615. send_command('@input /ja "Afflatus Solace" <me>')
  616. end
  617. end
  618. end
  619. end
  620.  
  621.  
  622. -- Handle notifications of general user state change.
  623. function job_state_change(stateField, newValue)
  624. if stateField == 'OffenseMode' then
  625. if newValue == 'Normal' then
  626. disable('main','sub')
  627. else
  628. enable('main','sub')
  629. end
  630. elseif stateField == 'Reset' then
  631. if state.OffenseMode == 'None' then
  632. enable('main','sub')
  633. end
  634. end
  635. end
  636.  
  637.  
  638. -- Function to display the current relevant user state when doing an update.
  639. -- Return true if display was handled, and you don't want the default info shown.
  640. function display_current_job_state(eventArgs)
  641. local defenseString = ''
  642. if state.Defense.Active then
  643. local defMode = state.Defense.PhysicalMode
  644. if state.Defense.Type == 'Magical' then
  645. defMode = state.Defense.MagicalMode
  646. end
  647.  
  648. defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
  649. end
  650.  
  651. local meleeString = ''
  652. if state.OffenseMode == '' then
  653. meleeString = 'Melee: Weapons locked, '
  654. end
  655.  
  656. add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
  657. 'Kiting: '..on_off_names[state.Kiting])
  658.  
  659. eventArgs.handled = true
  660. end
  661.  
  662. -------------------------------------------------------------------------------------------------------------------
  663. -- Utility functions specific to this job.
  664. -------------------------------------------------------------------------------------------------------------------
  665.  
  666. function get_spell_class(spell, action, spellMap)
  667. local spellclass
  668.  
  669. if spell.action_type == 'Magic' then
  670. if spell.skill == "Enfeebling Magic" then
  671. if spell.type == "WhiteMagic" then
  672. spellclass = "MndEnfeebles"
  673. else
  674. spellclass = "IntEnfeebles"
  675. end
  676. else
  677. if spellMap == 'Cure' and state.Buff['Afflatus Solace'] then
  678. spellclass = "CureSolace"
  679. elseif (spellMap == 'Cure' or spellMap == "Curaga") and player.status == 'Engaged' and player.equipment.main ~= 'Tamaxchi' then
  680. spellclass = "CureMelee"
  681. end
  682. end
  683. end
  684.  
  685. return spellclass
  686. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement