Advertisement
bongarippa

EvdaSCH

Nov 16th, 2023
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.00 KB | None | 0 0
  1. -- Original: Motenten / Modified: Arislan
  2.  
  3. -------------------------------------------------------------------------------------------------------------------
  4. -- Keybinds
  5. -------------------------------------------------------------------------------------------------------------------
  6.  
  7. -- Modes: [ F10 ] Emergency -PDT Mode
  8. -- [ ALT+F10 ] Toggle Kiting Mode
  9. -- [ F11 ] Emergency -MDT Mode
  10. -- [ CTRL+F11 ] Cycle Casting Modes
  11. -- [ F12 ] Update Current Gear / Report Current Status
  12. -- [ CTRL+F12 ] Cycle Idle Modes
  13. -- [ ALT+F12 ] Cancel Emergency -PDT/-MDT Mode
  14. -- [ ALT+` ] Toggle Magic Burst Mode
  15. -- [ WIN+C ] Toggle Capacity Points Mode
  16. -- [ WIN+H ] Cycle Helix Mode
  17. -- [ WIN+R ] Cycle Regen Mode
  18. -- [ WIN+S ] Toggle Storm Surge
  19. --
  20. -- Abilities: [ CTRL+` ] Immanence
  21. -- [ CTRL+- ] Light Arts/Addendum: White
  22. -- [ CTRL+= ] Dark Arts/Addendum: Black
  23. -- [ CTRL+[ ] Rapture/Ebullience
  24. -- [ CTRL+] ] Altruism/Focalization
  25. -- [ CTRL+; ] Celerity/Alacrity
  26. -- [ ALT+[ ] Accesion/Manifestation
  27. -- [ ALT+] ] Perpetuance
  28. -- [ ALT+; ] Penury/Parsimony
  29. --
  30. -- Weapons: [ CTRL+W ] Toggles Weapon Lock
  31. --
  32. -- WS: [ CTRL+Numpad0 ] Myrkr
  33. --
  34. --
  35. -- (Global-Binds.lua contains additional non-job-related keybinds)
  36.  
  37.  
  38. -------------------------------------------------------------------------------------------------------------------
  39. -- Setup functions for this job. Generally should not be modified.
  40. -------------------------------------------------------------------------------------------------------------------
  41.  
  42. -- Addendum Commands:
  43. -- Shorthand versions for each strategem type that uses the version appropriate for
  44. -- the current Arts.
  45. -- Light Arts Dark Arts
  46. -- ---------- ---------
  47. -- gs c scholar light Light Arts/Addendum
  48. -- gs c scholar dark Dark Arts/Addendum
  49. -- gs c scholar cost Penury Parsimony
  50. -- gs c scholar speed Celerity Alacrity
  51. -- gs c scholar aoe Accession Manifestation
  52. -- gs c scholar power Rapture Ebullience
  53. -- gs c scholar duration Perpetuance
  54. -- gs c scholar accuracy Altruism Focalization
  55. -- gs c scholar enmity Tranquility Equanimity
  56. -- gs c scholar skillchain Immanence
  57. -- gs c scholar addendum Addendum: White Addendum: Black
  58.  
  59.  
  60. -------------------------------------------------------------------------------------------------------------------
  61. -- Setup functions for this job. Generally should not be modified.
  62. -------------------------------------------------------------------------------------------------------------------
  63.  
  64. -- Initialization function for this job file.
  65. function get_sets()
  66. mote_include_version = 2
  67.  
  68. -- Load and initialize the include file.
  69. include('Mote-Include.lua')
  70. end
  71.  
  72. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  73. function job_setup()
  74. info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
  75. "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}
  76.  
  77. state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
  78. state.HelixMode = M{['description']='Helix Mode', 'Potency', 'Duration'}
  79. state.RegenMode = M{['description']='Regen Mode', 'Duration', 'Potency'}
  80. state.CP = M(false, "Capacity Points Mode")
  81.  
  82. update_active_strategems()
  83.  
  84. no_swap_gear = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
  85. "Trizek Ring", "Echad Ring", "Facility Ring", "Capacity Ring"}
  86. degrade_array = {
  87. ['Aspirs'] = {'Aspir','Aspir II'}
  88. }
  89. elemental_ws = S{}--"Cataclysm", "Flash Nova"
  90. lockstyleset = 10
  91.  
  92. end
  93.  
  94. -------------------------------------------------------------------------------------------------------------------
  95. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  96. -------------------------------------------------------------------------------------------------------------------
  97.  
  98. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  99. function user_setup()
  100. state.OffenseMode:options('Normal', 'Acc')
  101. state.CastingMode:options('Normal', 'Seidr', 'Resistant')
  102. state.IdleMode:options('Normal', 'Volte', 'Reraise', 'Zendik','Refresh')
  103.  
  104. state.WeaponLock = M(false, 'Weapon Lock')
  105. state.MagicBurst = M(false, 'Magic Burst')
  106. state.StormSurge = M(false, 'Stormsurge')
  107.  
  108. info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder",
  109. "Stone II", "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II",}
  110. info.high_nukes = S{"Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
  111. "Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
  112. "Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V",}
  113.  
  114. -- Additional local binds
  115. -- include('Global-Binds.lua') -- OK to remove this line
  116. -- include('Global-GEO-Binds.lua') -- OK to remove this line
  117.  
  118. send_command('lua l gearinfo')
  119. -- send_command('lua l SCH-hud')
  120. send_command('bind ^` input /ja Immanence <me>')
  121. --send_command('bind !` gs c toggle MagicBurst')
  122. send_command('bind !p gs c toggle MagicBurst')
  123. send_command('bind ^L gs c scholar light')
  124. send_command('bind ^D gs c scholar dark')
  125. send_command('bind ^[ gs c scholar power')
  126. send_command('bind ^] gs c scholar accuracy')
  127. send_command('bind ^; gs c scholar speed')
  128. send_command('bind !w input /ma "Aspir II" <t>')
  129. send_command('bind !o input /ma "Regen V" <stpc>')
  130. send_command('bind ![ gs c scholar aoe')
  131. send_command('bind !] gs c scholar duration')
  132. send_command('bind !; gs c scholar cost')
  133. send_command('bind @c gs c toggle CP')
  134. send_command('bind @h gs c cycle HelixMode')
  135. send_command('bind @r gs c cycle RegenMode')
  136. send_command('bind @s gs c toggle StormSurge')
  137. send_command('bind @w gs c toggle WeaponLock')
  138.  
  139. send_command('bind ^numpad0 input /Myrkr')
  140.  
  141. -- include('Global-Binds.lua')
  142.  
  143. select_default_macro_book()
  144. set_lockstyle()
  145.  
  146. state.Auto_Kite = M(false, 'Auto_Kite')
  147. moving = false
  148. end
  149.  
  150. -- Called when this job file is unloaded (eg: job change)
  151. function user_unload()
  152. send_command('unbind ^`')
  153. -- send_command('unbind !`')
  154. send_command('unbind ^L')
  155. send_command('unbind ^D')
  156. send_command('unbind ^[')
  157. send_command('unbind ^]')
  158. send_command('unbind ^;')
  159. send_command('unbind !w')
  160. send_command('unbind !o')
  161. send_command('unbind !p')
  162. send_command('unbind ![')
  163. send_command('unbind !]')
  164. send_command('unbind !;')
  165. send_command('unbind ^,')
  166. send_command('unbind !.')
  167. send_command('unbind @c')
  168. send_command('unbind @h')
  169. send_command('unbind @g')
  170. send_command('unbind @s')
  171. send_command('unbind @w')
  172. send_command('unbind ^numpad0')
  173.  
  174. send_command('unbind #`')
  175. send_command('unbind #1')
  176. send_command('unbind #2')
  177. send_command('unbind #3')
  178. send_command('unbind #4')
  179. send_command('unbind #5')
  180. send_command('unbind #6')
  181. send_command('unbind #7')
  182. send_command('unbind #8')
  183. send_command('unbind #9')
  184. send_command('unbind #0')
  185. -- send_command('lua u SCH-hud')
  186. send_command('lua u gearinfo')
  187. end
  188.  
  189.  
  190.  
  191. -- Define sets and vars used by this job file.
  192. function init_gear_sets()
  193.  
  194. ------------------------------------------------------------------------------------------------
  195. ---------------------------------------- Precast Sets ------------------------------------------
  196. ------------------------------------------------------------------------------------------------
  197.  
  198. -- Precast sets to enhance JAs
  199. sets.precast.JA['Tabula Rasa'] = {legs="Peda. Pants +3"}
  200. sets.precast.JA['Focalization'] = {head="Peda. M.Board +3"}
  201. sets.precast.JA['Altruism'] = {head="Peda. M.Board +3"}
  202. sets.precast.JA['Enlightenment'] = {body="Peda. Gown +3"}
  203. sets.precast.JA['Sublimation'] = {
  204. head="Acad. Mortar. +3",
  205. body={ name="Peda. Gown +3", augments={'Enhances "Enlightenment" effect',}},
  206. waist="Embla Sash",
  207. }
  208.  
  209. -- Fast cast sets for spells
  210. sets.precast.FC = {
  211. main="Musa",
  212. head={ name="Vanya Hood", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
  213. body="Pinga Tunic",
  214. hands="Acad. Bracers +3",
  215. legs="Agwu's Slops",
  216. feet="Peda. Loafers +3",
  217. neck="Voltsurge Torque",
  218. waist="Embla Sash",
  219. left_ear="Malignance Earring",
  220. right_ear="Loquac. Earring",
  221. left_ring="Kishar Ring",
  222. right_ring="Medada's Ring",
  223. back="Fi Follet Cape +1",
  224. }
  225.  
  226. sets.precast.FC.Grimoire = {head="Peda. M.Board +3", feet="Acad. Loafers +2"}
  227. sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
  228. sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {})
  229.  
  230. sets.precast.FC.Cure = set_combine(sets.precast.FC, {
  231. --feet="Kaykaus Boots +1", --7
  232. ear1="Mendi. Earring", --5
  233. --ring1="Lebeche Ring", --(2)
  234. waist="Witful Belt", --3/(3)
  235. })
  236.  
  237. sets.precast.FC.Curaga = sets.precast.FC.Cure
  238. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty, body="Twilight Cloak"})
  239. sets.precast.FC.Dispelga = set_combine(sets.precast.FC, {main="Daybreak", sub="Ammurapi Shield"})
  240. sets.precast.Storm = set_combine(sets.precast.FC, {})--ring2={name="Stikini Ring +1", bag="wardrobe4"},
  241.  
  242.  
  243. ------------------------------------------------------------------------------------------------
  244. ------------------------------------- Weapon Skill Sets ----------------------------------------
  245. ------------------------------------------------------------------------------------------------
  246.  
  247. sets.precast.WS = {
  248. ammo="Amar Cluster",
  249. head="Jhakri Coronal +2",
  250. body="Nyame Mail",
  251. hands="Jhakri Cuffs +2",
  252. legs="Nyame flanchard",
  253. feet="Nyame sollerets",
  254. neck="Argute Stole +2",
  255. ear1="Moonshade Earring",
  256. ear2="Telos Earring",
  257. ring1="Epaminondas's Ring",
  258. ring2="Rufescent Ring",
  259. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  260. waist="Fotia Belt",
  261. }
  262.  
  263. sets.precast.WS['Black Halo'] = {ammo="Oshasha's Treatise",
  264. head="Nyame Helm",
  265. body="Nyame Mail",
  266. hands="Nyame Gauntlets",
  267. legs="Nyame Flanchard",
  268. feet="Nyame Sollerets",
  269. neck="Rep. Plat. Medal",
  270. waist="Windbuffet Belt +1",
  271. left_ear={ name="Moonshade Earring", augments={'Accuracy+4','TP Bonus +250',}},
  272. right_ear="Balder Earring +1",
  273. left_ring="Epaminondas's Ring",
  274. right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  275. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}}}
  276.  
  277. sets.precast.WS['Judgment'] = set_combine(sets.precast.WS['Black Halo'], {})
  278.  
  279.  
  280. sets.precast.WS['Shattersoul'] = {ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
  281. head="Nyame Helm",
  282. body="Nyame Mail",
  283. hands="Nyame Gauntlets",
  284. legs="Nyame Flanchard",
  285. feet="Nyame Sollerets",
  286. neck="Argute Stole +2",
  287. waist="Acuity Belt +1",
  288. left_ear="Regal Earring",
  289. right_ear="Malignance Earring",
  290. left_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  291. right_ring="Freke Ring",
  292. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  293. }
  294.  
  295. sets.precast.WS['Shell Crusher'] = sets.precast.WS['Shattersoul']
  296.  
  297. sets.precast.WS['Omniscience'] = {ammo="Pemphredo Tathlum",
  298. head="Pixie Hairpin +1",
  299. body="Nyame Mail",
  300. hands="Jhakri Cuffs +2",
  301. legs="Nyame Flanchard",
  302. -- feet="Nyame Sollerets",
  303. feet="Arbatel Loafers +2",
  304. neck="Baetyl Pendant",
  305. waist="Orpheus's Sash",
  306. left_ear="Malignance Earring",
  307. right_ear="Regal Earring",
  308. left_ring="Archon Ring",
  309. right_ring="Epaminondas's Ring",
  310. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  311. }
  312.  
  313. sets.precast.WS['Flash Nova'] = {ammo="Sroda Tathlum",
  314. head="Nyame helm",
  315. body="Nyame Mail",
  316. --hands="Nyame Gauntlets",
  317. hands="Jhakri Cuffs +2",
  318. legs="Nyame flanchard",
  319. --feet="Nyame sollerets",
  320. feet="Arbatel Loafers +2",
  321. neck="Sanctity Necklace",
  322. waist="Orpheus's Sash",
  323. left_ear="Malignance Earring",
  324. right_ear="Regal Earring",
  325. left_ring="Weatherspoon Ring +1",
  326. right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  327. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  328. }
  329.  
  330. sets.precast.WS['Starburst'] = sets.precast.WS['Flash Nova']
  331. sets.precast.WS['Earth Crusher'] = {ammo="Sroda Tathlum",
  332. head={ name="Nyame Helm", augments={'Path: B',}},
  333. body={ name="Nyame Mail", augments={'Path: B',}},
  334. hands="Jhakri Cuffs +2",
  335. legs={ name="Nyame Flanchard", augments={'Path: B',}},
  336. feet="Arbatel Loafers +2",
  337. -- feet={ name="Nyame Sollerets", augments={'Path: B',}},
  338. neck="Quanpur Necklace",
  339. waist="Orpheus's Sash",
  340. left_ear="Malignance Earring",
  341. right_ear="Regal Earring",
  342. left_ring="Epaminondas's Ring",
  343. right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  344. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  345. }
  346.  
  347. sets.precast.WS['Myrkr'] = {ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
  348. head={ name="Amalric Coif +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  349. body={ name="Amalric Doublet +1", augments={'MP+80','"Mag.Atk.Bns."+25','"Fast Cast"+4',}},
  350. hands={ name="Kaykaus Cuffs +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
  351. legs={ name="Amalric Slops +1", augments={'MP+80','"Mag.Atk.Bns."+25','Enmity-6',}},
  352. feet={ name="Amalric Nails +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  353. neck="Sanctity Necklace",
  354. waist="Luminary Sash",
  355. left_ear="Loquac. Earring",
  356. right_ear="Etiolation Earring",
  357. left_ring="Mephitas's Ring +1",
  358. right_ring="Mephitas's Ring",
  359. back="Fi Follet Cape +1",
  360. } -- Max MP
  361.  
  362. sets.precast.WS['Cataclysm'] = {ammo="Sroda Tathlum",
  363. head="Pixie Hairpin +1",
  364. body="Nyame Mail",
  365. hands="Jhakri Cuffs +2",
  366. legs="Nyame flanchard",
  367. -- feet="Nyame sollerets",
  368. feet="Arbatel Loafers +2",
  369. neck="Argute Stole +2",
  370. waist="Skrymir Cord",
  371. left_ear="Malignance Earring",
  372. right_ear="Regal Earring",
  373. left_ring="Archon Ring",
  374. right_ring="Freke Ring",
  375. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  376. }
  377.  
  378. sets.precast.WS['Aeolian Edge'] = {
  379. ammo="Sroda Tathlum",
  380. head={ name="Nyame Helm", augments={'Path: B',}},
  381. body={ name="Nyame Mail", augments={'Path: B',}},
  382. hands="Jhakri Cuffs +2",
  383. legs={ name="Nyame Flanchard", augments={'Path: B',}},
  384. feet="Arbatel Loafers +2",
  385. neck={ name="Argute Stole +2", augments={'Path: A',}},
  386. waist="Orpheus's Sash",
  387. left_ear="Regal Earring",
  388. right_ear="Malignance Earring",
  389. left_ring="Epaminondas's Ring",
  390. right_ring="Freke Ring",
  391. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%',}},
  392. }
  393. ------------------------------------------------------------------------------------------------
  394. ---------------------------------------- Midcast Sets ------------------------------------------
  395. ------------------------------------------------------------------------------------------------
  396.  
  397. sets.midcast.FastRecast = sets.precast.FC
  398.  
  399. sets.midcast.Cure = {
  400. main="Daybreak",
  401. sub="Genmei Shield",
  402. ammo="Clarus Stone",
  403. head={ name="Kaykaus Mitra +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
  404. body={ name="Kaykaus Bliaut +1", augments={'MP+80','"Cure" potency +6%','"Conserve MP"+7',}},
  405. hands={ name="Peda. Bracers +3", augments={'Enh. "Tranquility" and "Equanimity"',}},
  406. legs={ name="Kaykaus Tights +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  407. feet={ name="Kaykaus Boots +1", augments={'Mag. Acc.+20','"Cure" potency +6%','"Fast Cast"+4',}},
  408. neck="Incanter's Torque",
  409. waist="Luminary Sash",
  410. left_ear="Mendi. Earring",
  411. right_ear="Meili Earring",
  412. left_ring="Naji's Loop",
  413. right_ring="Mephitas's Ring +1",
  414. back={ name="Fi Follet Cape +1", augments={'Path: A',}},
  415. }
  416.  
  417. sets.midcast.CureWeather = set_combine(sets.midcast.Cure, {
  418. main="Chatoyant Staff", --10
  419. sub="Khonsu", --0/(-5)
  420. hands="Kaykaus Cuffs +1",
  421. waist="Hachirin-no-Obi",
  422. })
  423.  
  424. sets.CureArts = set_combine(sets.midcast.Cure, {
  425. body="Arbatel Gown +2",
  426. legs="Acad. Pants +3",
  427. feet="Acad. Loafers +2"})
  428.  
  429. sets.midcast.Curaga = set_combine(sets.midcast.Cure, {
  430. --neck="Nuna Gorget +1",
  431. ring1="Stikini Ring +1",
  432. ring2="Metamor. Ring +1",
  433. waist="Luminary Sash",
  434. })
  435.  
  436. sets.midcast['Healing Breeze'] = {
  437. main="Daybreak",
  438. sub="Ammurapi Shield",
  439. ammo="Esper Stone +1",
  440. head={ name="Kaykaus Mitra +1", augments={'MP+80','"Cure" spellcasting time -7%','Enmity-6',}},
  441. body={ name="Kaykaus Bliaut +1", augments={'MP+80','MND+12','Mag. Acc.+20',}},
  442. hands="Peda. Bracers +3",
  443. legs="Kaykaus Tights +1",
  444. feet="Kaykaus Boots +1",
  445. neck="Incanter's Torque",
  446. waist="Embla Sash",
  447. left_ear="Beatific Earring",
  448. right_ear="Meili Earring",
  449. left_ring="Lebeche Ring",
  450. right_ring="Menelaus's Ring",
  451. back={ name="Lugh's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}},
  452. }
  453.  
  454. sets.midcast.StatusRemoval = {main={ name="Musa", augments={'Path: C',}},
  455. sub="Khonsu",
  456. ammo="Clarus Stone",
  457. head={ name="Vanya Hood", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  458. body={ name="Vanya Robe", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  459. hands={ name="Peda. Bracers +3", augments={'Enh. "Tranquility" and "Equanimity"',}},
  460. legs="Acad. Pants +3",
  461. feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  462. neck={ name="Argute Stole +2", augments={'Path: A',}},
  463. waist="Embla Sash",
  464. left_ear="Malignance Earring",
  465. right_ear="Meili Earring",
  466. left_ring="Menelaus's Ring",
  467. right_ring="Stikini Ring +1",
  468. back={ name="Fi Follet Cape +1", augments={'Path: A',}}
  469. }
  470.  
  471. sets.midcast.Cursna = set_combine(sets.midcast.StatusRemoval, {
  472. main="Daybreak",
  473. sub="Ammurapi Shield",
  474. neck="Debilis Medallion",
  475. waist="Bishop's Sash",
  476. left_ear="Crep. Earring",
  477. right_ear="Meili Earring",
  478. right_ring="Haoma's Ring",
  479. back="Oretan. Cape +1",
  480. })
  481.  
  482. sets.midcast['Enhancing Magic'] = {
  483. main={ name="Musa", augments={'Path: C',}},
  484. sub="Khonsu",
  485. ammo="Staunch Tathlum",
  486. head={ name="Telchine Cap", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
  487. body={ name="Peda. Gown +3", augments={'Enhances "Enlightenment" effect',}},
  488. hands={ name="Telchine Gloves", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
  489. legs={ name="Telchine Braconi", augments={'"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
  490. feet={ name="Telchine Pigaches", augments={'"Conserve MP"+4','Enh. Mag. eff. dur. +10',}},
  491. neck="Incanter's Torque",
  492. waist="Olympus Sash",
  493. left_ear="Mimir Earring",
  494. right_ear="Andoaa Earring",
  495. left_ring="Stikini Ring +1",
  496. right_ring="Stikini Ring +1",
  497. back={ name="Fi Follet Cape +1", augments={'Path: A',}}
  498. }
  499.  
  500. sets.midcast.EnhancingDuration = set_combine(sets.midcast['Enhancing Magic'], {
  501. main="Musa",
  502. sub="Khonsu",
  503. head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +10',}},
  504. body={ name="Peda. Gown +3", augments={'Enhances "Enlightenment" effect',}},
  505. hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}},
  506. legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
  507. feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +10',}},
  508. waist="Embla Sash"})
  509.  
  510. sets.midcast.Phalanx = sets.midcast.EnhancingDuration
  511.  
  512. sets.midcast.Regen = set_combine(sets.midcast['Enhancing Magic'], {
  513. back={ name="Bookworm's Cape", augments={'INT+1','MND+3','"Regen" potency+10',}},
  514. })
  515.  
  516. sets.midcast.RegenDuration = set_combine(sets.midcast['Enhancing Magic'], {})
  517.  
  518. sets.midcast.Embrava = set_combine(sets.midcast['Enhancing Magic'], {
  519. main="Musa",
  520. sub="Khonsu",
  521. head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +10',}},
  522. body={ name="Peda. Gown +3", augments={'Enhances "Enlightenment" effect',}},
  523. hands={ name="Telchine Gloves", augments={'Enh. Mag. eff. dur. +10',}},
  524. legs={ name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +10',}},
  525. feet={ name="Telchine Pigaches", augments={'Enh. Mag. eff. dur. +10',}},
  526. waist="Embla Sash",
  527. })
  528.  
  529. sets.midcast.Haste = sets.midcast.EnhancingDuration
  530.  
  531. sets.midcast.Refresh = set_combine(sets.midcast.EnhancingDuration, {
  532. head="Amalric Coif +1",
  533. waist="Gishdubar Sash",
  534. })
  535.  
  536. sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingDuration, {
  537. head="Umuthi hat",
  538. neck="Nodens Gorget",
  539. waist="Siegel Sash",
  540. legs="Shedir seraweels",
  541. })
  542.  
  543. sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingDuration, {
  544. main="Vadose Rod",
  545. sub="Ammurapi Shield",
  546. ammo="Staunch Tathlum +1",
  547. head="Amalric Coif +1",
  548. hands="Regal Cuffs",
  549. legs="Shedir seraweels",
  550. ring1="Freke Ring",
  551. waist="Emphatikos Rope",
  552. })
  553.  
  554. sets.midcast.Repose = {
  555. main="Contemplator +1",
  556. sub="Khonsu",
  557. ammo="Pemphredo Tathlum",
  558. head="Acad. Mortar. +3",
  559. body="Acad. Gown +3",
  560. hands="Regal Cuffs",
  561. legs="Acad. Pants +3",
  562. feet="Acad. Loafers +2",
  563. neck="Erra Pendant",
  564. waist="Obstinate Sash",
  565. left_ear="Malignance Earring",
  566. right_ear="Vor Earring",
  567. left_ring="Stikini Ring +1",
  568. right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  569. back={ name="Lugh's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}},
  570. }
  571.  
  572. sets.midcast.Barfire = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  573. sets.midcast.Barblizzard = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  574. sets.midcast.Baraero = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  575. sets.midcast.Barstone = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  576. sets.midcast.Barthunder = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  577. sets.midcast.Barwater = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  578. sets.midcast.Barsleep = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  579. sets.midcast.Barpoison = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  580. sets.midcast.Barparalyze = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  581. sets.midcast.Barblind = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  582. sets.midcast.Barsilence = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  583. sets.midcast.Barpetrify = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  584. sets.midcast.Barvirus = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  585. sets.midcast.Baramnesia = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  586. sets.midcast.Barfira = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  587. sets.midcast.Barblizzara = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  588. sets.midcast.Baraera = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  589. sets.midcast.Barstonra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  590. sets.midcast.Barthundra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  591. sets.midcast.Barwatera = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  592. sets.midcast.Barsleepra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  593. sets.midcast.Barpoisonra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  594. sets.midcast.Barparalyzra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  595. sets.midcast.Barblindra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  596. sets.midcast.Barsilencera = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  597. sets.midcast.Barpetra = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  598. sets.midcast.Barvira = set_combine(sets.midcast['Enhancing Magic'],{legs="Shedir seraweels"})
  599.  
  600. sets.midcast.Storm = set_combine(sets.midcast.EnhancingDuration, {feet="Peda. Loafers +3"})
  601.  
  602. sets.midcast.Stormsurge = set_combine(sets.midcast.EnhancingDuration, {feet="Peda. Loafers +3"})
  603.  
  604. sets.midcast.Protect = set_combine(sets.midcast.EnhancingDuration, {ring2="Sheltered Ring"})
  605. sets.midcast.Protectra = sets.midcast.Protect
  606. sets.midcast.Shell = sets.midcast.Protect
  607. sets.midcast.Shellra = sets.midcast.Shell
  608.  
  609. -- Custom spell classes
  610. sets.midcast.MndEnfeebles = {
  611. main="Daybreak",
  612. sub="Ammurapi Shield",
  613. ammo="Quartz Tathlum +1",
  614. head="Acad. Mortar. +3",
  615. body="Acad. Gown +3",
  616. hands="Peda. Bracers +3",
  617. legs="Arbatel Pants +2",
  618. feet="Acad. Loafers +2",
  619. neck="Erra Pendant",
  620. waist="Obstin. Sash",
  621. left_ear="Malignance Earring",
  622. right_ear="Crep. Earring",
  623. left_ring="Kishar Ring",
  624. right_ring="Metamor. Ring +1",
  625. back="Aurist's Cape +1"
  626. }
  627.  
  628. sets.midcast.IntEnfeebles = set_combine(sets.midcast.MndEnfeebles, {left_ring="Medada's Ring",
  629. waist="Acuity Belt +1",
  630. })
  631.  
  632. sets.midcast.ElementalEnfeeble = set_combine(sets.midcast['IntEnfeebles'], {main="Marin Staff +1",
  633. sub="Enki Strap",
  634. ammo="Ghastly Tathlum +1",
  635. ear2="Regal Earring",
  636. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}},
  637. waist="Acuity Belt +1",
  638. legs="Agwu's Slops"})
  639. sets.midcast.Dispelga = set_combine(sets.midcast.IntEnfeebles, {main="Daybreak", sub="Ammurapi Shield"})
  640.  
  641. sets.midcast['Dark Magic'] = {
  642. main="Rubicundity",
  643. sub="Ammurapi Shield",
  644. ammo="Pemphredo Tathlum",
  645. head="Acad. Mortar. +3",
  646. body="Acad. Gown +3",
  647. hands="Acad. Bracers +3",
  648. legs="Peda. Pants +3",
  649. feet="Acad. Loafers +2",
  650. neck="Incanter's Torque",
  651. ear1="Malignance Earring",
  652. ear2="Mani Earring",
  653. ring1="Stikini Ring +1",
  654. ring2="Stikini Ring +1",
  655. back="Perimede Cape",
  656. waist="Sacro cord",
  657. }
  658.  
  659. sets.midcast.Kaustra = {
  660. main="Bunzi's Rod",
  661. sub="Ammurapi Shield",
  662. ammo="Ghastly Tathlum +1",
  663. head="Pixie Hairpin +1",
  664. body={ name="Amalric Doublet +1", augments={'MP+80','"Mag.Atk.Bns."+25','"Fast Cast"+4',}},
  665. hands="Amalric Gages +1", --(5)
  666. legs="Agwu's Slops", --6
  667. feet="Arbatel Loafers +2",
  668. neck="Baetyl Pendant",
  669. ear1="Malignance Earring",
  670. ear2="Friomisi Earring",
  671. ring1="Mujin Band",
  672. ring2="Archon Ring",
  673. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}},
  674. waist="Skrymir Cord",
  675. }
  676.  
  677. sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
  678. head="Pixie Hairpin +1",
  679. ring1="Evanescence Ring",
  680. ring2="Archon Ring",
  681. waist="Fucho-no-obi",
  682. })
  683.  
  684. sets.midcast.Aspir = sets.midcast.Drain
  685.  
  686. sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {
  687. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}},
  688. })
  689.  
  690. -- Elemental Magic
  691. sets.midcast['Elemental Magic'] = {
  692. main="Marin Staff +1",
  693. sub="Khonsu",
  694. ammo="Ghastly Tathlum +1",
  695. head={ name="Peda. M.Board +3", augments={'Enh. "Altruism" and "Focalization"',}},
  696. body="Arbatel Gown +2",
  697. hands="Arbatel Bracers +2",
  698. legs="Arbatel Pants +2",
  699. feet="Arbatel Loafers +2",
  700. neck={ name="Argute Stole +2", augments={'Path: A',}},
  701. waist="Skrymir Cord",
  702. left_ear="Malignance Earring",
  703. right_ear="Friomisi Earring",
  704. left_ring="Shiva Ring +1",
  705. right_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  706. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}}
  707. }
  708.  
  709. sets.midcast['Elemental Magic'].Seidr = set_combine(sets.midcast['Elemental Magic'], {
  710. body="Seidr Cotehardie",
  711. legs="Peda. Pants +3",
  712. neck="Erra Pendant",
  713. })
  714.  
  715. sets.midcast['Elemental Magic'].Resistant = set_combine(sets.midcast['Elemental Magic'], {
  716. main="Marin Staff +1",
  717. sub="Khonsu",
  718. legs="Peda. Pants +3",
  719. feet="Jhakri Pigaches +2",
  720. neck="Argute Stole +2",
  721. })
  722.  
  723. sets.midcast['Elemental Magic'].LowTierNuke = set_combine(sets.midcast['Elemental Magic'], {
  724. main="Marin Staff +1",
  725. sub="Khonsu",
  726. ammo="Ghastly Tathlum +1",
  727. head="Agwu's Cap",
  728. body="Agwu's Robe",
  729. hands="Agwu's Gages",
  730. legs="Agwu's Slops",
  731. feet="Agwu's Pigaches",
  732. })
  733.  
  734. sets.midcast['Elemental Magic'].LowTierNuke.Seidr = set_combine(sets.midcast['Elemental Magic'].LowTierNuke, {
  735. body="Seidr Cotehardie",
  736. legs="Peda. Pants +3",
  737. neck="Erra Pendant",
  738. })
  739.  
  740. sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {})
  741.  
  742. sets.midcast['Elemental Magic'].HighTierNuke.Seidr = set_combine(sets.midcast['Elemental Magic'], {
  743. body="Seidr Cotehardie",
  744. legs="Peda. Pants +3",
  745. neck="Erra Pendant",
  746. })
  747.  
  748. --sets.midcast['Aero III'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1", sub="Enki Strap"})
  749. --sets.midcast['Aero IV'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1", sub="Enki Strap"})
  750. --sets.midcast['Aero V'] = set_combine(sets.midcast['Elemental Magic'], {main="Marin Staff +1", sub="Enki Strap"})
  751.  
  752. sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {
  753. head=empty,
  754. body="Twilight Cloak",
  755. ring2="Archon Ring",
  756. })
  757.  
  758. sets.midcast.Helix = set_combine(sets.midcast['Elemental Magic'], {
  759. main="Marin Staff +1",
  760. sub="Khonsu",
  761. waist="Acuity Belt +1",
  762. back={ name="Bookworm's Cape", augments={'INT+2','MND+3','Helix eff. dur. +20',}}
  763. })
  764.  
  765. sets.midcast.Anemohelix = set_combine(sets.midcast.Helix, {
  766. main="Marin Staff +1",
  767. sub="Enki Strap",
  768. ammo="Ghastly Tathlum +1",
  769. neck="Argute Stole +2",
  770. waist="Acuity Belt +1",
  771. back={ name="Bookworm's Cape", augments={'INT+2','MND+3','Helix eff. dur. +20',}}
  772. })
  773.  
  774. sets.midcast.DarkHelix = set_combine(sets.midcast.Helix, {
  775. head="Pixie Hairpin +1",
  776. ring2="Archon Ring",
  777. waist="Acuity Belt +1",
  778. back={ name="Bookworm's Cape", augments={'INT+2','MND+3','Helix eff. dur. +20',}}
  779. })
  780.  
  781. sets.midcast.LightHelix = set_combine(sets.midcast.Helix, {
  782. main="Daybreak",
  783. sub="Ammurapi Shield",
  784. waist="Acuity Belt +1",
  785. back={ name="Bookworm's Cape", augments={'INT+2','MND+3','Helix eff. dur. +20',}}
  786. })
  787.  
  788. sets.midcast.Holy = set_combine(sets.midcast['Elemental Magic'], {
  789. main="Daybreak",
  790. sub="Ammurapi Shield",
  791. waist="Acuity Belt +1"
  792. })
  793.  
  794. -- Initializes trusts at iLvl 119
  795. sets.midcast.Trust = sets.precast.FC
  796.  
  797.  
  798. ------------------------------------------------------------------------------------------------
  799. ----------------------------------------- Idle Sets --------------------------------------------
  800. ------------------------------------------------------------------------------------------------
  801.  
  802. sets.idle = {
  803. main="Daybreak",
  804. sub="Genmei Shield",
  805. ammo="Homiliary",
  806. head="Arbatel Bonnet +2",
  807. body="Arbatel Gown +2",
  808. hands="Nyame Gauntlets",
  809. legs="Arbatel Pants +2",
  810. feet="Nyame Sollerets",
  811. neck="Sibyl Scarf",
  812. waist="Fucho-no-Obi",
  813. left_ear="Eabani Earring",
  814. right_ear="Lugalbanda Earring",
  815. left_ring="Stikini Ring +1",
  816. right_ring="Shneddick Ring",
  817. back={ name="Lugh's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10','Enmity-10','Phys. dmg. taken-10%',}}
  818. }
  819. sets.idle.Volte = set_combine(sets.idle, {
  820. head="Volte Cap",
  821. hands="Volte Bracers",
  822. legs="Volte Hose",
  823. feet="Volte Boots",
  824. left_ring="Defending Ring",
  825. right_ring="Gelatinous Ring +1",})
  826.  
  827. sets.idle.Reraise = set_combine(sets.idle, {
  828. body="Annoint. Kalasiris",})
  829.  
  830. sets.idle.Zendik = set_combine(sets.idle, {
  831. body="Zendik Robe",})
  832.  
  833. sets.idle.Refresh = set_combine(sets.idle, {
  834. ammo="Homiliary",
  835. head="Volte Beret",
  836. hands="Volte Gloves",
  837. body="Arbatel Gown +2",
  838. neck="Sibyl Scarf",
  839. left_ring="Stikini ring +1",
  840. right_ring="Stikini ring +1",
  841. legs="Volte Brais",
  842. feet="Volte Gaiters",})
  843.  
  844.  
  845. sets.idle.Town = sets.idle
  846.  
  847. sets.resting = sets.idle
  848.  
  849. ------------------------------------------------------------------------------------------------
  850. ---------------------------------------- Defense Sets ------------------------------------------
  851. ------------------------------------------------------------------------------------------------
  852.  
  853. sets.defense.PDT = sets.idle.DT
  854. sets.defense.MDT = sets.idle
  855. sets.Kiting = sets.idle
  856. sets.latent_refresh = {waist="Fucho-no-obi"}
  857.  
  858. ------------------------------------------------------------------------------------------------
  859. ---------------------------------------- Engaged Sets ------------------------------------------
  860. ------------------------------------------------------------------------------------------------
  861.  
  862. sets.engaged = {ammo="Amar Cluster",
  863. head={ name="Blistering Sallet +1", augments={'Path: A',}},
  864. body="Nyame Mail",
  865. hands="Nyame Gauntlets",
  866. legs="Nyame Flanchard",
  867. feet="Nyame Sollerets",
  868. neck="Sanctity Necklace",
  869. waist="Cetl Belt",
  870. left_ear="Brutal Earring",
  871. right_ear="Telos Earring",
  872. left_ring="Chirich Ring +1",
  873. right_ring="Chirich Ring +1",
  874. back={ name="Lugh's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
  875. }
  876.  
  877. sets.engaged.Acc = {ammo="Amar Cluster",
  878. head={ name="Blistering Sallet +1", augments={'Path: A',}},
  879. body="Nyame Mail",
  880. hands="Gazu Bracelet +1",
  881. legs="Nyame Flanchard",
  882. feet="Nyame Sollerets",
  883. neck="Sanctity Necklace",
  884. waist="Cetl Belt",
  885. left_ear="Brutal Earring",
  886. right_ear="Telos Earring",
  887. left_ring="Chirich Ring +1",
  888. right_ring="Chirich Ring +1",
  889. back={ name="Lugh's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
  890. }
  891.  
  892. ------------------------------------------------------------------------------------------------
  893. ---------------------------------------- Special Sets ------------------------------------------
  894. ------------------------------------------------------------------------------------------------
  895.  
  896. sets.magic_burst = {
  897. --main={ name="Akademos", augments={'MP+80','INT+20','"Mag.Atk.Bns."+20',}},
  898. --sub="Enki Strap",
  899. main="Bunzi's Rod",
  900. sub="Ammurapi Shield",
  901. head={ name="Peda. M.Board +3", augments={'Enh. "Altruism" and "Focalization"',}},
  902. body="Agwu's Robe",
  903. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  904. feet={ name="Amalric Nails +1", augments={'Mag. Acc.+20','"Mag.Atk.Bns."+20','"Conserve MP"+7',}},
  905. ring2="Mujin Band",
  906. legs="Agwu's Slops",
  907. neck="Argute Stole +2",
  908. -- left_ring="Mujin Band",
  909. }
  910. sets.lumino_magic_burst= {
  911. main="Daybreak",
  912. sub="Ammurapi Shield",
  913. head={ name="Peda. M.Board +3", augments={'Enh. "Altruism" and "Focalization"',}},
  914. body="Agwu's Robe",
  915. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  916. legs="Agwu's Slops",
  917. feet={ name="Amalric Nails +1", augments={'Mag. Acc.+20','"Mag.Atk.Bns."+20','"Conserve MP"+7',}},
  918. neck="Argute Stole +2",
  919. }
  920.  
  921. sets.magic_burst_holy = {
  922. main="Daybreak",
  923. sub="Ammurapi Shield",
  924. ammo={ name="Ghastly Tathlum +1", augments={'Path: A',}},
  925. head={ name="Peda. M.Board +3", augments={'Enh. "Altruism" and "Focalization"',}},
  926. body="Agwu's Robe",
  927. hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
  928. legs="Agwu's Slops",
  929. feet="Arbatel Loafers +2",
  930. neck={ name="Argute Stole +2", augments={'Path: A',}},
  931. waist="Sacro Cord",
  932. left_ear="Malignance Earring",
  933. right_ear="Regal Earring",
  934. left_ring={ name="Metamor. Ring +1", augments={'Path: A',}},
  935. right_ring="Weather. Ring +1",
  936. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}},
  937. }
  938.  
  939. sets.buff['Ebullience'] = {head="Arbatel Bonnet +2"}
  940. sets.buff['Rapture'] = {head="Arbatel Bonnet +2"}
  941. sets.buff['Perpetuance'] = {hands="Arbatel Bracers +2"}
  942. sets.buff['Immanence'] = {head="Nyame Helm",
  943. body="Nyame Mail",
  944. hands="Arbatel Bracers +2",
  945. neck="Warder's Charm +1",
  946. back={ name="Lugh's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','Magic Damage +10','"Mag.Atk.Bns."+10','Mag. Evasion+15',}}}
  947. sets.buff['Penury'] = {legs="Arbatel Pants +2"}
  948. sets.buff['Parsimony'] = {legs="Arbatel Pants +2"}
  949. sets.buff['Celerity'] = {feet="Peda. Loafers +3"}
  950. sets.buff['Alacrity'] = {feet="Peda. Loafers +3"}
  951. sets.buff['Klimaform'] = {feet="Arbatel Loafers +2"}
  952. sets.buff['Focalization'] = {head="Peda. M.Board +3"}
  953.  
  954. sets.buff.FullSublimation = {
  955. --main="Siriti", --1
  956. main="Malignance Pole",
  957. --sub="Genmei Shield", --10/0
  958. sub="Khonsu",
  959. head="Acad. Mortar. +3", --4
  960. body="Peda. Gown +3", --5
  961. ear1="Savant's Earring", --1
  962. waist="Embla Sash", --5
  963. }
  964.  
  965. sets.buff.Doom = {
  966. waist="Gishdubar Sash", --10
  967. }
  968.  
  969. sets.LightArts = {legs="Acad. Pants +3", feet="Acad. Loafers +2"}
  970. sets.DarkArts = {body="Acad. Gown +3", feet="Acad. Loafers +2"}
  971.  
  972. sets.Obi = {waist="Hachirin-no-Obi"}
  973. sets.Bookworm = {back="Bookworm's Cape"}
  974. sets.CP = {back="Mecisto. Mantle"}
  975.  
  976. end
  977. -------------------------------------------------------------------------------------------------------------------
  978. -- Job-specific hooks for standard casting events.
  979. -------------------------------------------------------------------------------------------------------------------
  980.  
  981. function job_precast(spell, action, spellMap, eventArgs)
  982. if spell.name:startswith('Aspir') then
  983. refine_various_spells(spell, action, spellMap, eventArgs)
  984. end
  985. end
  986.  
  987. function job_post_precast(spell, action, spellMap, eventArgs)
  988. if (spell.type == "WhiteMagic" and (buffactive["Light Arts"] or buffactive["Addendum: White"])) or
  989. (spell.type == "BlackMagic" and (buffactive["Dark Arts"] or buffactive["Addendum: Black"])) then
  990. equip(sets.precast.FC.Grimoire)
  991. elseif spell.name == 'Impact' then
  992. equip(sets.precast.FC.Impact)
  993. end
  994. if elemental_ws:contains(spell.name) then
  995. -- Matching double weather (w/o day conflict).
  996. if spell.element == world.weather_element and (get_weather_intensity() == 2 and spell.element ~= elements.weak_to[world.day_element]) then
  997. equip(sets.Obi)
  998. -- Target distance under 1.7 yalms.
  999. elseif spell.target.distance < (1.7 + spell.target.model_size) then
  1000. equip({waist="Orpheus's Sash"})
  1001. -- Matching day and weather.
  1002. elseif spell.element == world.day_element and spell.element == world.weather_element then
  1003. equip(sets.Obi)
  1004. -- Target distance under 8 yalms.
  1005. elseif spell.target.distance < (8 + spell.target.model_size) then
  1006. equip({waist="Orpheus's Sash"})
  1007. -- Match day or weather.
  1008. elseif spell.element == world.day_element or spell.element == world.weather_element then
  1009. equip(sets.Obi)
  1010. end
  1011. end
  1012. end
  1013.  
  1014. -- Run after the general midcast() is done.
  1015. function job_post_midcast(spell, action, spellMap, eventArgs)
  1016. if spell.skill == 'Elemental Magic' then
  1017. if spellMap == "Helix" then
  1018. equip(sets.midcast['Elemental Magic'])
  1019. if spell.english:startswith('Lumino') then
  1020. equip(sets.midcast.LightHelix)
  1021. elseif spell.english:startswith('Nocto') then
  1022. equip(sets.midcast.DarkHelix)
  1023. elseif spell.english:startswith('Anemo') then
  1024. equip(sets.midcast.Anemohelix)
  1025. else
  1026. equip(sets.midcast.Helix)
  1027. end
  1028. if state.HelixMode.value == 'Duration' then
  1029. equip(sets.Bookworm)
  1030. end
  1031. end
  1032. if buffactive['Klimaform'] and spell.element == world.weather_element then
  1033. equip(sets.buff['Klimaform'])
  1034. end
  1035. end
  1036. if spell.action_type == 'Magic' then
  1037. apply_grimoire_bonuses(spell, action, spellMap, eventArgs)
  1038. end
  1039. if spell.skill == 'Enfeebling Magic' then
  1040. if spell.type == "WhiteMagic" and (buffactive["Light Arts"] or buffactive["Addendum: White"]) then
  1041. equip(sets.LightArts)
  1042. elseif spell.type == "BlackMagic" and (buffactive["Dark Arts"] or buffactive["Addendum: Black"]) then
  1043. equip(sets.DarkArts)
  1044. end
  1045. end
  1046. if spell.skill == 'Healing Magic' and spell.english:startswith('Cure') or spell.english:startswith('Cura')then
  1047. if spell.type == "WhiteMagic" and (buffactive["Light Arts"] or buffactive["Addendum: White"]) then
  1048. equip(sets.CureArts)
  1049. end
  1050. end
  1051. if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
  1052. equip(sets.magic_burst)
  1053. if state.Buff.Ebullience and spell.english ~= 'Impact' then
  1054. equip(sets.buff['Ebullience'])
  1055. end
  1056. if spell.english == "Impact" then
  1057. equip(sets.midcast.Impact)
  1058. end
  1059. if spell.english == 'Holy' and state.MagicBurst.value then
  1060. equip(sets.magic_burst_holy)
  1061. -- if spell.english:startswith('Lumino') then
  1062. -- equip(sets.lumino_magic_burst)
  1063. -- end
  1064. end
  1065. end
  1066. if spell.skill == 'Elemental Magic' or spell.english == "Kaustra" then
  1067. if spell.element == world.weather_element and (get_weather_intensity() == 2 and spell.element ~= elements.weak_to[world.day_element]) and not(spell.english:lower():find('helix')) then
  1068. equip(sets.Obi)
  1069. -- Target distance under 1.7 yalms.
  1070. elseif spell.target.distance < (1.7 + spell.target.model_size) then
  1071. equip({waist="Orpheus's Sash"})
  1072. -- Matching day and weather.
  1073. elseif spell.element == world.day_element and spell.element == world.weather_element and not(spell.english:lower():find('helix')) then
  1074. equip(sets.Obi)
  1075. -- Target distance under 8 yalms.
  1076. elseif spell.target.distance < (8 + spell.target.model_size) then
  1077. equip({waist="Orpheus's Sash"})
  1078. -- Match day or weather.
  1079. elseif spell.element == world.day_element and not(spell.english:lower():find('helix')) or spell.element == world.weather_element and not(spell.english:lower():find('helix')) then
  1080. equip(sets.Obi)
  1081. end
  1082. end
  1083. -- if spell.skill == 'Elemental Magic' or spell.english == "Kaustra" then
  1084. -- if spell.element == world.weather_element and (get_weather_intensity() == 2 and spell.element ~= elements.weak_to[world.day_element]) then
  1085. -- equip(sets.Obi)
  1086. -- -- Target distance under 1.7 yalms.
  1087. -- elseif spell.target.distance < (1.7 + spell.target.model_size) then
  1088. -- equip({waist="Orpheus's Sash"})
  1089. -- -- Matching day and weather.
  1090. -- elseif spell.element == world.day_element and spell.element == world.weather_element then
  1091. -- equip(sets.Obi)
  1092. -- -- Target distance under 8 yalms.
  1093. -- elseif spell.target.distance < (8 + spell.target.model_size) then
  1094. -- equip({waist="Orpheus's Sash"})
  1095. -- -- Match day or weather.
  1096. -- elseif spell.element == world.day_element or spell.element == world.weather_element then
  1097. -- equip(sets.Obi)
  1098. -- end
  1099. -- end
  1100. if spell.skill == 'Enhancing Magic' then
  1101. if classes.NoSkillSpells:contains(spell.english) then
  1102. equip(sets.midcast.EnhancingDuration)
  1103. if spellMap == 'Refresh' then
  1104. equip(sets.midcast.Refresh)
  1105. end
  1106. end
  1107. if spellMap == "Regen" and state.RegenMode.value == 'Duration' then
  1108. equip(sets.midcast.RegenDuration)
  1109. end
  1110. if state.Buff.Perpetuance then
  1111. equip(sets.buff['Perpetuance'])
  1112. end
  1113. if state.Buff.Perpetuance and spell.english == 'Aquaveil' then
  1114. equip(sets.midcast.Aquaveil)
  1115. end
  1116. if spellMap == "Storm" and state.StormSurge.value then
  1117. equip (sets.midcast.Stormsurge)
  1118. end
  1119. end
  1120. end
  1121.  
  1122. function job_aftercast(spell, action, spellMap, eventArgs)
  1123. if not spell.interrupted then
  1124. if spell.english == "Sleep II" then
  1125. send_command('@timers c "Sleep II ['..spell.target.name..']" 90 down spells/00259.png')
  1126. elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
  1127. send_command('@timers c "Sleep ['..spell.target.name..']" 60 down spells/00253.png')
  1128. elseif spell.english == "Break" then
  1129. send_command('@timers c "Break ['..spell.target.name..']" 30 down spells/00255.png')
  1130. end
  1131. end
  1132. end
  1133.  
  1134.  
  1135. -------------------------------------------------------------------------------------------------------------------
  1136. -- Job-specific hooks for non-casting events.
  1137. -------------------------------------------------------------------------------------------------------------------
  1138.  
  1139. -- Called when a player gains or loses a buff.
  1140. -- buff == buff gained or lost
  1141. -- gain == true if the buff was gained, false if it was lost.
  1142. function job_buff_change(buff, gain)
  1143. if buff == "Sublimation: Activated" then
  1144. handle_equipping_gear(player.status)
  1145. end
  1146.  
  1147. if buff == "doom" then
  1148. if gain then
  1149. equip(sets.buff.Doom)
  1150. send_command('@input /p Doomed.')
  1151. disable('ring1','ring2','waist')
  1152. else
  1153. enable('ring1','ring2','waist')
  1154. handle_equipping_gear(player.status)
  1155. end
  1156. end
  1157.  
  1158. end
  1159.  
  1160. -- Handle notifications of general user state change.
  1161. function job_state_change(stateField, newValue, oldValue)
  1162. if state.WeaponLock.value == true then
  1163. disable('main','sub')
  1164. else
  1165. enable('main','sub')
  1166. end
  1167. end
  1168.  
  1169. -------------------------------------------------------------------------------------------------------------------
  1170. -- User code that supplements standard library decisions.
  1171. -------------------------------------------------------------------------------------------------------------------
  1172.  
  1173. function job_handle_equipping_gear(playerStatus, eventArgs)
  1174. check_rings()
  1175. check_moving()
  1176. end
  1177.  
  1178. -- Called by the 'update' self-command.
  1179. function job_update(cmdParams, eventArgs)
  1180. handle_equipping_gear(player.status)
  1181. update_active_strategems()
  1182. update_sublimation()
  1183. end
  1184.  
  1185. -- Custom spell mapping.
  1186. function job_get_spell_map(spell, default_spell_map)
  1187. if spell.action_type == 'Magic' then
  1188. if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
  1189. if (world.weather_element == 'Light' or world.day_element == 'Light') then
  1190. return 'CureWeather'
  1191. end
  1192. elseif spell.skill == 'Enfeebling Magic' then
  1193. if spell.type == 'WhiteMagic' then
  1194. return 'MndEnfeebles'
  1195. else
  1196. return 'IntEnfeebles'
  1197. end
  1198. elseif spell.skill == 'Elemental Magic' then--ringo
  1199. if info.low_nukes:contains(spell.english) then--ringo
  1200. return 'LowTierNuke'--ringo
  1201. elseif info.high_nukes:contains(spell.english) then--ringo
  1202. return 'HighTierNuke'--ringo
  1203. end--ringo
  1204. end
  1205. end
  1206. end
  1207.  
  1208. function customize_idle_set(idleSet)
  1209. if state.Buff['Sublimation: Activated'] then
  1210. idleSet = set_combine(idleSet, sets.buff.FullSublimation)
  1211. end
  1212. if player.mpp < 51 then
  1213. idleSet = set_combine(idleSet, sets.latent_refresh)
  1214. end
  1215. if state.CP.current == 'on' then
  1216. equip(sets.CP)
  1217. disable('back')
  1218. else
  1219. enable('back')
  1220. end
  1221. if state.Auto_Kite.value == true then
  1222. idleSet = set_combine(idleSet, sets.Kiting)
  1223. end
  1224.  
  1225. return idleSet
  1226. end
  1227.  
  1228. -- Function to display the current relevant user state when doing an update.
  1229. -- Return true if display was handled, and you don't want the default info shown.
  1230. function display_current_job_state(eventArgs)
  1231.  
  1232. local c_msg = state.CastingMode.value
  1233.  
  1234. local h_msg = state.HelixMode.value
  1235.  
  1236. local r_msg = state.RegenMode.value
  1237.  
  1238. local d_msg = 'None'
  1239. if state.DefenseMode.value ~= 'None' then
  1240. d_msg = state.DefenseMode.value .. state[state.DefenseMode.value .. 'DefenseMode'].value
  1241. end
  1242.  
  1243. local i_msg = state.IdleMode.value
  1244.  
  1245. local msg = ''
  1246. if state.MagicBurst.value then
  1247. msg = ' Burst: On |'
  1248. end
  1249. if state.Kiting.value then
  1250. msg = msg .. ' Kiting: On |'
  1251. end
  1252.  
  1253. add_to_chat(060, '| Magic: ' ..string.char(31,001)..c_msg.. string.char(31,002).. ' |'
  1254. ..string.char(31,060).. ' Helix: ' ..string.char(31,001)..h_msg.. string.char(31,002).. ' |'
  1255. ..string.char(31,060).. ' Regen: ' ..string.char(31,001)..r_msg.. string.char(31,002).. ' |'
  1256. ..string.char(31,004).. ' Defense: ' ..string.char(31,001)..d_msg.. string.char(31,002).. ' |'
  1257. ..string.char(31,008).. ' Idle: ' ..string.char(31,001)..i_msg.. string.char(31,002).. ' |'
  1258. ..string.char(31,002)..msg)
  1259.  
  1260. eventArgs.handled = true
  1261. end
  1262.  
  1263. -------------------------------------------------------------------------------------------------------------------
  1264. -- User code that supplements self-commands.
  1265. -------------------------------------------------------------------------------------------------------------------
  1266.  
  1267. -- Called for direct player commands.
  1268. function job_self_command(cmdParams, eventArgs)
  1269. gearinfo(cmdParams, eventArgs)
  1270. if cmdParams[1]:lower() == 'scholar' then
  1271. handle_strategems(cmdParams)
  1272. eventArgs.handled = true
  1273. elseif cmdParams[1]:lower() == 'nuke' then
  1274. handle_nuking(cmdParams)
  1275. eventArgs.handled = true
  1276. end
  1277. end
  1278.  
  1279. -------------------------------------------------------------------------------------------------------------------
  1280. -- Utility functions specific to this job.
  1281. -------------------------------------------------------------------------------------------------------------------
  1282.  
  1283. function gearinfo(cmdParams, eventArgs)
  1284. if cmdParams[1] == 'gearinfo' then
  1285. if type(cmdParams[4]) == 'string' then
  1286. if cmdParams[4] == 'true' then
  1287. moving = true
  1288. elseif cmdParams[4] == 'false' then
  1289. moving = false
  1290. end
  1291. end
  1292. if not midaction() then
  1293. job_update()
  1294. end
  1295. end
  1296. end
  1297.  
  1298. -- Reset the state vars tracking strategems.
  1299. function update_active_strategems()
  1300. state.Buff['Ebullience'] = buffactive['Ebullience'] or false
  1301. state.Buff['Rapture'] = buffactive['Rapture'] or false
  1302. state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false
  1303. state.Buff['Immanence'] = buffactive['Immanence'] or false
  1304. -- state.Buff['Penury'] = buffactive['Penury'] or false
  1305. -- state.Buff['Parsimony'] = buffactive['Parsimony'] or false
  1306. -- state.Buff['Celerity'] = buffactive['Celerity'] or false
  1307. -- state.Buff['Alacrity'] = buffactive['Alacrity'] or false
  1308. state.Buff['Focalization'] = buffactive['Focalization'] or false
  1309. state.Buff['Klimaform'] = buffactive['Klimaform'] or false
  1310. end
  1311.  
  1312. function update_sublimation()
  1313. state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
  1314. end
  1315.  
  1316. -- Equip sets appropriate to the active buffs, relative to the spell being cast.
  1317. function apply_grimoire_bonuses(spell, action, spellMap)
  1318. if state.Buff.Perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then
  1319. equip(sets.buff['Perpetuance'])
  1320. end
  1321. if state.Buff.Perpetuance and spell.english == 'Aquaveil' then
  1322. equip(sets.midcast.Aquaveil)
  1323. end
  1324. if state.Buff.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then
  1325. equip(sets.buff['Rapture'])
  1326. end
  1327. if spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then
  1328. if state.Buff.Ebullience and spell.english ~= 'Impact' then
  1329. equip(sets.buff['Ebullience'])
  1330. end
  1331. if state.Buff.Immanence then
  1332. equip(sets.buff['Immanence'])
  1333. end
  1334. if state.Buff.Klimaform and spell.element == world.weather_element then
  1335. equip(sets.buff['Klimaform'])
  1336. end
  1337. end
  1338.  
  1339. -- if state.Buff.Penury then equip(sets.buff['Penury']) end
  1340. -- if state.Buff.Parsimony then equip(sets.buff['Parsimony']) end
  1341. -- if state.Buff.Celerity then equip(sets.buff['Celerity']) end
  1342. -- if state.Buff.Alacrity then equip(sets.buff['Alacrity']) end
  1343. if state.Buff.Focalization then equip(sets.buff['Focalization']) end
  1344. end
  1345.  
  1346.  
  1347. -- General handling of strategems in an Arts-agnostic way.
  1348. -- Format: gs c scholar <strategem>
  1349. function handle_strategems(cmdParams)
  1350. -- cmdParams[1] == 'scholar'
  1351. -- cmdParams[2] == strategem to use
  1352.  
  1353. if not cmdParams[2] then
  1354. add_to_chat(123,'Error: No strategem command given.')
  1355. return
  1356. end
  1357. local strategem = cmdParams[2]:lower()
  1358.  
  1359. if strategem == 'light' then
  1360. if buffactive['light arts'] then
  1361. send_command('input /ja "Addendum: White" <me>')
  1362. elseif buffactive['addendum: white'] then
  1363. add_to_chat(122,'Error: Addendum: White is already active.')
  1364. else
  1365. send_command('input /ja "Light Arts" <me>')
  1366. end
  1367. elseif strategem == 'dark' then
  1368. if buffactive['dark arts'] then
  1369. send_command('input /ja "Addendum: Black" <me>')
  1370. elseif buffactive['addendum: black'] then
  1371. add_to_chat(122,'Error: Addendum: Black is already active.')
  1372. else
  1373. send_command('input /ja "Dark Arts" <me>')
  1374. end
  1375. elseif buffactive['light arts'] or buffactive['addendum: white'] then
  1376. if strategem == 'cost' then
  1377. send_command('input /ja Penury <me>')
  1378. elseif strategem == 'speed' then
  1379. send_command('input /ja Celerity <me>')
  1380. elseif strategem == 'aoe' then
  1381. send_command('input /ja Accession <me>')
  1382. elseif strategem == 'power' then
  1383. send_command('input /ja Rapture <me>')
  1384. elseif strategem == 'duration' then
  1385. send_command('input /ja Perpetuance <me>')
  1386. elseif strategem == 'accuracy' then
  1387. send_command('input /ja Altruism <me>')
  1388. elseif strategem == 'enmity' then
  1389. send_command('input /ja Tranquility <me>')
  1390. elseif strategem == 'skillchain' then
  1391. add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.')
  1392. elseif strategem == 'addendum' then
  1393. send_command('input /ja "Addendum: White" <me>')
  1394. else
  1395. add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
  1396. end
  1397. elseif buffactive['dark arts'] or buffactive['addendum: black'] then
  1398. if strategem == 'cost' then
  1399. send_command('input /ja Parsimony <me>')
  1400. elseif strategem == 'speed' then
  1401. send_command('input /ja Alacrity <me>')
  1402. elseif strategem == 'aoe' then
  1403. send_command('input /ja Manifestation <me>')
  1404. elseif strategem == 'power' then
  1405. send_command('input /ja Ebullience <me>')
  1406. elseif strategem == 'duration' then
  1407. add_to_chat(122,'Error: Dark Arts does not have a duration strategem.')
  1408. elseif strategem == 'accuracy' then
  1409. send_command('input /ja Focalization <me>')
  1410. elseif strategem == 'enmity' then
  1411. send_command('input /ja Equanimity <me>')
  1412. elseif strategem == 'skillchain' then
  1413. send_command('input /ja Immanence <me>')
  1414. elseif strategem == 'addendum' then
  1415. send_command('input /ja "Addendum: Black" <me>')
  1416. else
  1417. add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
  1418. end
  1419. else
  1420. add_to_chat(123,'No arts has been activated yet.')
  1421. end
  1422. end
  1423.  
  1424.  
  1425. -- Gets the current number of available strategems based on the recast remaining
  1426. -- and the level of the sch.
  1427. function get_current_strategem_count()
  1428. -- returns recast in seconds.
  1429. local allRecasts = windower.ffxi.get_ability_recasts()
  1430. local stratsRecast = allRecasts[231]
  1431.  
  1432. local maxStrategems = (player.main_job_level + 10) / 20
  1433.  
  1434. local fullRechargeTime = 4*60
  1435.  
  1436. local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime)
  1437.  
  1438. return currentCharges
  1439. end
  1440.  
  1441. function refine_various_spells(spell, action, spellMap, eventArgs)
  1442. local newSpell = spell.english
  1443. local spell_recasts = windower.ffxi.get_spell_recasts()
  1444. local cancelling = 'All '..spell.english..' are on cooldown. Cancelling.'
  1445.  
  1446. local spell_index
  1447.  
  1448. if spell_recasts[spell.recast_id] > 0 then
  1449. if spell.name:startswith('Aspir') then
  1450. spell_index = table.find(degrade_array['Aspirs'],spell.name)
  1451. if spell_index > 1 then
  1452. newSpell = degrade_array['Aspirs'][spell_index - 1]
  1453. send_command('@input /ma '..newSpell..' '..tostring(spell.target.raw))
  1454. eventArgs.cancel = true
  1455. end
  1456. end
  1457. end
  1458. end
  1459.  
  1460. function check_moving()
  1461. if state.DefenseMode.value == 'None' and state.Kiting.value == false then
  1462. if state.Auto_Kite.value == false and moving then
  1463. state.Auto_Kite:set(true)
  1464. elseif state.Auto_Kite.value == true and moving == false then
  1465. state.Auto_Kite:set(false)
  1466. end
  1467. end
  1468. end
  1469.  
  1470. function check_rings()
  1471. rings = S{"Warp Ring", "Dim. Ring (Dem)", "Dim. Ring (Holla)", "Dim. Ring (Mea)",
  1472. "Trizek Ring", "Echad Ring", "Facility Ring", "Capacity Ring"}
  1473.  
  1474. if rings:contains(player.equipment.left_ring) then
  1475. disable("left_ring")
  1476. else
  1477. enable("left_ring")
  1478. end
  1479.  
  1480. if rings:contains(player.equipment.right_ring) then
  1481. disable("right_ring")
  1482. else
  1483. enable("right_ring")
  1484. end
  1485. end
  1486.  
  1487. windower.register_event('zone change',
  1488. function()
  1489. if no_swap_gear:contains(player.equipment.left_ring) then
  1490. enable("ring1")
  1491. equip(sets.idle)
  1492. end
  1493. if no_swap_gear:contains(player.equipment.right_ring) then
  1494. enable("ring2")
  1495. equip(sets.idle)
  1496. end
  1497. if no_swap_gear:contains(player.equipment.waist) then
  1498. enable("waist")
  1499. equip(sets.idle)
  1500. end
  1501. end
  1502. )
  1503.  
  1504. -- Select default macro book on initial load or subjob change.
  1505. function select_default_macro_book()
  1506. set_macro_page(1, 3)
  1507. end
  1508.  
  1509. function set_lockstyle()
  1510. send_command('wait 2; input /lockstyleset ' .. lockstyleset)
  1511. end
  1512.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement