Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 41.62 KB | None | 0 0
  1. function get_sets()
  2. AccIndex = 1
  3. AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For Magic. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
  4. IdleIndex = 1
  5. IdleArray = {"Movement","Refresh","Pdt"} -- Default Idle Set Is Movement --
  6. Armor = 'None'
  7. StunIndex = 0
  8. Obi = 'ON' -- Turn Default Obi ON or OFF Here --
  9. target_distance = 10 -- Set Default Distance Here --
  10. select_default_macro_book() -- Change Default Macro Book At The End --
  11.  
  12. Non_Obi_Spells = S{
  13. 'Burn','Choke','Drown','Frost','Rasp','Shock','Impact','Anemohelix','Cryohelix',
  14. 'Geohelix','Hydrohelix','Ionohelix','Luminohelix','Noctohelix','Pyrohelix'}
  15.  
  16. Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
  17. Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
  18. sc_map = {SC1 = "LightArts", SC2 = "Perpetuance", SC3 = "Accession"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  19.  
  20. -- Idle Sets --
  21. sets.Idle = {}
  22. sets.Idle.Refresh = {main="Contemplator +1",
  23. sub="Oneiros Grip",
  24. ammo="Homiliary",
  25. head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +10','"Rapid Shot"+1','"Refresh"+2','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
  26. neck="Loricate Torque +1",
  27. ear1="Ethereal Earring",
  28. ear2="Genmei Earring",
  29. body="Jhakri Robe +2",
  30. hands={ name="Merlinic Dastanas", augments={'Pet: Phys. dmg. taken -3%','Pet: STR+2','"Refresh"+2','Accuracy+9 Attack+9','Mag. Acc.+20 "Mag.Atk.Bns."+20',}},
  31. ring1="Woltaris Ring +1",
  32. ring2="Defending Ring",
  33. back="Moonbeam Cape",
  34. waist="Fucho-no-Obi",
  35. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  36. legs="Assiduity Pants +1"}
  37. sets.Idle.Movement = set_combine(sets.Idle.Refresh,{})
  38. sets.Idle.Pdt = set_combine(sets.Idle.Refresh,{main="Contemplator +1",
  39. sub="Oneiros Grip",
  40. ammo="Homiliary",
  41. head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +10','"Rapid Shot"+1','"Refresh"+2','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
  42. neck="Loricate Torque +1",
  43. ear1="Ethereal Earring",
  44. ear2="Genmei Earring",
  45. body="Jhakri Robe +2",
  46. hands={ name="Merlinic Dastanas", augments={'Pet: Phys. dmg. taken -3%','Pet: STR+2','"Refresh"+2','Accuracy+9 Attack+9','Mag. Acc.+20 "Mag.Atk.Bns."+20',}},
  47. ring1="Woltaris Ring +1",
  48. ring2="Defending Ring",
  49. back="Moonbeam Cape",
  50. waist="Fucho-no-Obi",
  51. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  52. legs="Assiduity Pants +1"})
  53. sets.Resting = set_combine(sets.Idle.Movement,{})
  54.  
  55. -- PDT Set --
  56. sets.PDT = {main="Contemplator +1",
  57. sub="Oneiros Grip",
  58. ammo="Homiliary",
  59. head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +10','"Rapid Shot"+1','"Refresh"+2','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
  60. neck="Loricate Torque +1",
  61. ear1="Ethereal Earring",
  62. ear2="Genmei Earring",
  63. body="Jhakri Robe +2",
  64. hands={ name="Merlinic Dastanas", augments={'Pet: Phys. dmg. taken -3%','Pet: STR+2','"Refresh"+2','Accuracy+9 Attack+9','Mag. Acc.+20 "Mag.Atk.Bns."+20',}},
  65. ring1="Gelatinous Ring +1",
  66. ring2="Defending Ring",
  67. back="Moonbeam Cape",
  68. waist="Fucho-no-Obi",
  69. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  70. legs="Assiduity Pants +1"}
  71.  
  72. sets.Sublimation = {main="Contemplator +1",
  73. sub="Oneiros Grip",
  74. ammo="Homiliary",
  75. head={ name="Merlinic Hood", augments={'"Drain" and "Aspir" potency +10','"Rapid Shot"+1','"Refresh"+2','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
  76. neck="Loricate Torque +1",
  77. ear1="Ethereal Earring",
  78. ear2="Genmei Earring",
  79. body="Jhakri Robe +2",
  80. hands={ name="Merlinic Dastanas", augments={'Pet: Phys. dmg. taken -3%','Pet: STR+2','"Refresh"+2','Accuracy+9 Attack+9','Mag. Acc.+20 "Mag.Atk.Bns."+20',}},
  81. ring1="Woltaris Ring +1",
  82. ring2="Defending Ring",
  83. back="Moonbeam Cape",
  84. waist="Fucho-no-Obi",
  85. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  86. legs="Assiduity Pants +1"}
  87.  
  88. sets.Precast = {}
  89. -- Fastcast Sets --
  90. sets.Precast.FastCast = {main="Oranyan",
  91. sub="Clerisy Strap +1",
  92. head={ name="Merlinic Hood", augments={'"Fast Cast"+7',}},
  93. ammo="Impatiens",
  94. neck="Orunmila's Torque",
  95. ear1="Loquac. Earring",
  96. ear2="Etiolation Earring",
  97. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+16','"Fast Cast"+7','INT+1','"Mag.Atk.Bns."+14',}},
  98. hands="Gendewitha Gages",
  99. ring1="Kishar Ring",
  100. waist="Witful Belt",
  101. ring2="Lebeche Ring",
  102. back="Swith Cape +1",
  103. legs="Psycloth Lappas",
  104. feet="Academic's Loafers +3"}
  105.  
  106.  
  107.  
  108. -- Precast Enhancing Magic --
  109. sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{})
  110.  
  111. -- Precast Cure Set --
  112. sets.Precast.Cure = {main="Oranyan",
  113. sub="Clerisy Strap +1",
  114. head={ name="Merlinic Hood", augments={'"Fast Cast"+7',}},
  115. ammo="Impatiens",
  116. neck="Orunmila's Torque",
  117. ear1="Loquac. Earring",
  118. ear2="Etiolation Earring",
  119. body="Heka's Kalasiris",
  120. hands="Gendewitha Gages",
  121. ring1="Kishar Ring",
  122. waist="Witful Belt",
  123. ring2="Lebeche Ring",
  124. back="Ogapepo Cape",
  125. legs="Psycloth Lappas",
  126. feet="Academic's Loafers +3"}
  127.  
  128. -- Midcast Base Set --
  129. sets.Midcast = {}
  130.  
  131. -- Haste Set --
  132. sets.Midcast.Haste = set_combine(sets.Precast.FastCast,{
  133. ammo="Impatiens",
  134. neck="Orunmila's Torque",
  135. ear1="Gifted Earring",
  136. ear2="Calamitous Earring",
  137. head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}},
  138. body={ name="Telchine Chas.", augments={'Accuracy+18','"Dbl.Atk."+3','Enh. Mag. eff. dur. +8',}},
  139. legs={ name="Telchine Braconi", augments={'Accuracy+8 Attack+8','"Store TP"+5','Enh. Mag. eff. dur. +9',}},
  140. feet={ name="Telchine Pigaches", augments={'Accuracy+17','"Dbl.Atk."+3','Enh. Mag. eff. dur. +9',}},
  141.  
  142. hands="Arbatel Bracers +1",
  143. ring1="Patricius Ring",
  144. ring2="Defending Ring",
  145. waist="Austerity Belt"})
  146.  
  147. -- Cure Set --
  148. sets.Midcast.Cure = {main="Iridal Staff",
  149. sub="Enki Strap",
  150. back="Twilight Cape",
  151. ammo="Pemphredo Tathlum",
  152. head="Kaykaus Mitra +1",
  153. neck="Incanter's Torque",
  154. ear2="Mendicant's Earring",
  155. ear1="Beatific Earring",
  156. feet="Vanya Clogs",
  157. body="Kaykaus Bliaut +1",
  158. hands="Revealer's Mitts",
  159. ring1="Sirona's Ring",
  160. ring2="Ephedra Ring",
  161. waist="Hachirin-no-Obi",
  162. legs="Academic's Pants +3"}
  163.  
  164.  
  165. -- Curaga Set --
  166. sets.Midcast.Curaga = {main="Iridal Staff",
  167. sub="Enki Strap",
  168. back="Twilight Cape",
  169. ammo="Pemphredo Tathlum",
  170. head="Kaykaus Mitra +1",
  171. neck="Incanter's Torque",
  172. ear2="Mendicant's Earring",
  173. ear1="Beatific Earring",
  174. feet="Vanya Clogs",
  175. body="Kaykaus Bliaut +1",
  176. hands="Revealer's Mitts",
  177. ring1="Sirona's Ring",
  178. ring2="Ephedra Ring",
  179. waist="Hachirin-no-Obi",
  180. legs="Academic's Pants +3"}
  181.  
  182. -- Enhancing Magic --
  183. sets.Midcast['Enhancing Magic'] = { main="Oranyan",
  184. ear2="Calamitous Earring",
  185. ammo="Pemphredo Tathlum",
  186. neck="Incanter's Torque",
  187. ear1="Andoaa Earring",
  188. ear2="Augmenting Earring",
  189. head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}},
  190. body={ name="Telchine Chas.", augments={'Accuracy+18','"Dbl.Atk."+3','Enh. Mag. eff. dur. +8',}},
  191. legs={ name="Telchine Braconi", augments={'Accuracy+8 Attack+8','"Store TP"+5','Enh. Mag. eff. dur. +9',}},
  192. feet={ name="Telchine Pigaches", augments={'Accuracy+17','"Dbl.Atk."+3','Enh. Mag. eff. dur. +9',}},
  193.  
  194. hands="Arbatel Bracers +1",
  195. ring1="Stikini Ring",
  196. ring2="Stikini Ring",
  197. back="Bookworm's Cape",
  198. waist="Olympus Sash",}
  199.  
  200.  
  201.  
  202. -- Stoneskin --
  203. sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{})
  204.  
  205. -- Cursna --
  206. sets.Midcast.Cursna = set_combine(sets.Midcast.Haste,{
  207. ammo="Pemphredo Tathlum",
  208. head="Vanya Hood",
  209. neck="Incanter's Torque",
  210. ear2="Magnetic Earring",
  211. ear1="Beatific Earring",
  212. feet="Vanya Clogs",
  213. body="Heka's Kalasiris",
  214. hands="Telchine Gloves",
  215. ring1="Sirona's Ring",
  216. ring2="Ephedra Ring",
  217. back="Tempered Cape +1",
  218. waist="Austerity Belt",
  219. legs="Academic's Pants +3"})
  220.  
  221. -- Stun Sets --
  222. sets.Midcast.Stun = {main="Grioavolr",
  223. sub="Enki Strap",
  224. ammo="Pemphredo Tathlum",
  225. head={ name="Merlinic Hood", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst dmg.+11%','"Mag.Atk.Bns."+8',}},
  226. neck="Erra Pendant",
  227. ear1="Dignitary's Earring",
  228. ear2="Regal Earring",
  229. body="Academic's Gown +3",
  230. hands="Gende. Gages",
  231. ring1="Stikini Ring",
  232. ring2="Stikini Ring",
  233. back="Swith Cape +1",
  234. waist="Witful Belt",
  235. legs="Chironic Hose",
  236. feet="Academic's Loafers +3"}
  237. sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{
  238. head="Nahtirah Hat",
  239. back="Ogapepo Cape"})
  240. sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
  241.  
  242. -- Dark Magic Sets --
  243. sets.Midcast['Dark Magic'] = {main="Akademos",
  244. sub="Mephitas Grip",
  245. ammo="Pemphredo Tathlum",
  246. head="Pixie Hairpin +1",
  247. neck="Mizukage-no-Kubikazari",
  248. ear1="Regal Earring",
  249. ear2="Barkarole Earring",
  250. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','CHR+2','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
  251. hands="Amalric Gages",
  252. ring1="Mujin Band",
  253. ring2="Archon Ring",
  254. back="Lugh's Cape",
  255. waist="Yamabuki-no-Obi",
  256. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  257. legs="Merlinic Shalwar"}
  258. sets.Midcast['Dark Magic'].MidACC = set_combine(sets.Midcast['Dark Magic'],{})
  259. sets.Midcast['Dark Magic'].HighACC = set_combine(sets.Midcast['Dark Magic'].MidACC,{})
  260.  
  261. sets.Midcast.Drain = set_combine(sets.Midcast['Dark Magic'],{main="Rubicundity",
  262. sub="Ammurapi Shield",
  263.  
  264. ammo="Pemphredo Tathlum",
  265. head="Pixie Hairpin +1",
  266. neck="Erra Pendant",
  267. ear1="Dignitary's Earring",
  268. ear2="Regal Earring",
  269. body="Academic's Gown +3",
  270. hands="Lurid Mitts",
  271. ring1="Evanescence Ring",
  272. ring2="Stikini Ring",
  273. back="Bookworm's Cape",
  274. waist="Fucho-no-obi",
  275. feet={ name="Merlinic Crackows", augments={'Accuracy+21','"Drain" and "Aspir" potency +9','INT+8','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  276. legs="Merlinic Shalwar"})
  277.  
  278. -- Elemental Sets --
  279. sets.Midcast['Elemental Magic'] = {main="Akademos",
  280. sub="Niobid Strap",
  281. ammo="Pemphredo Tathlum",
  282. head={ name="Merlinic Hood", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst dmg.+11%','"Mag.Atk.Bns."+8',}},
  283. neck="Mizukage-no-Kubikazari",
  284. ear1="Regal Earring",
  285. ear2="Barkarole Earring",
  286. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','CHR+2','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
  287. hands="Amalric Gages +1",
  288. ring1="Mujin Band",
  289. ring2="Shiva Ring +1",
  290. back="Lugh's Cape",
  291. waist="Eschan Stone",
  292. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  293. legs="Merlinic Shalwar"}
  294. sets.Midcast['Elemental Magic'].MidACC = set_combine(sets.Midcast['Elemental Magic'],{
  295. ammo="Pemphredo Tathlum",
  296. head={ name="Merlinic Hood", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst dmg.+11%','"Mag.Atk.Bns."+8',}},
  297. neck="Mizukage-no-Kubikazari",
  298. ear1="Regal Earring",
  299. ear2="Barkarole Earring",
  300. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','CHR+2','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
  301. hands="Amalric Gages +1",
  302. ring1="Mujin Band",
  303. ring2="Shiva Ring +1",
  304. back="Lugh's Cape",
  305. waist="Eschan Stone",
  306. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  307. legs="Merlinic Shalwar"})
  308. sets.Midcast['Elemental Magic'].HighACC = set_combine(sets.Midcast['Elemental Magic'].MidACC,{
  309.  
  310. ammo="Pemphredo Tathlum",
  311. head={ name="Merlinic Hood", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst dmg.+11%','"Mag.Atk.Bns."+8',}},
  312. neck="Mizukage-no-Kubikazari",
  313. ear1="Regal Earring",
  314. ear2="Barkarole Earring",
  315. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','CHR+2','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
  316. hands="Amalric Gages +1",
  317. ring1="Mujin Band",
  318. ring2="Shiva Ring +1",
  319. back="Lugh's Cape",
  320. waist="Eschan Stone",
  321. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  322. legs="Merlinic Shalwar"})
  323.  
  324.  
  325. sets.Midcast.Helix = {main="Akademos",
  326. sub="Enki Strap",
  327. ammo="Pemphredo Tathlum",
  328. head={ name="Merlinic Hood", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','Magic burst dmg.+11%','"Mag.Atk.Bns."+8',}},
  329. neck="Mizukage-no-Kubikazari",
  330. ear1="Regal Earring",
  331. ear2="Barkarole Earring",
  332. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','CHR+2','Mag. Acc.+13','"Mag.Atk.Bns."+15',}},
  333. hands="Amalric Gages +1",
  334. ring1="Mujin Band",
  335. ring2="Shiva Ring +1",
  336. back="Lugh's Cape",
  337. waist="Yamabuki-no-Obi",
  338. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  339. legs="Merlinic Shalwar"}
  340. sets.Midcast.Helix.MidACC = set_combine(sets.Midcast.Helix,{})
  341. sets.Midcast.Helix.HighACC = set_combine(sets.Midcast.Helix.MidACC,{})
  342.  
  343. -- Enfeebling Sets --
  344. sets.Midcast['Enfeebling Magic'] = {main={ name="Grioavolr", augments={'Enfb.mag. skill +15','INT+11','Mag. Acc.+21','Magic Damage +2',}},
  345. sub="Enki Strap",
  346. feet="Academic's Loafers +3",
  347. ammo="Pemphredo Tathlum",
  348. head="Befouled Crown",
  349. ear1="Dignitary's Earring",
  350. ear2="Regal Earring",
  351. body="Academic's Gown +3",
  352. hands="Lurid Mitts",
  353. ring1="Stikini Ring",
  354. ring2="Stikini Ring",
  355. back="Lugh's Cape",
  356. waist="Rumination Sash",
  357. legs="Academic's Pants +3"}
  358. sets.Midcast['Enfeebling Magic'].MidACC = set_combine(sets.Midcast['Enfeebling Magic'],{})
  359. sets.Midcast['Enfeebling Magic'].HighACC = set_combine(sets.Midcast['Enfeebling Magic'].MidACC,{})
  360.  
  361. -- Impact --
  362. sets.Midcast.Impact = {main="Akademos",
  363. sub="Mephitas Grip",
  364. ammo="Pemphredo Tathlum",
  365. neck="Incanter's Torque",
  366. ear1="Dignitary's Earring",
  367. ear2="Regal Earring",
  368. body="Twilight Cloak",
  369. hands="Amalric Gages +1",
  370. ring1="Archon Ring",
  371. ring2="Stikini Ring",
  372. back="Lugh's Cape",
  373. waist="Eschan Stone",
  374. legs="Merlinic Shalwar",
  375. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}}}
  376.  
  377. -- Elemental Obi/Twilight Cape --
  378. sets.Obi = {}
  379. sets.Obi.Lightning = {waist='Hachirin-no-Obi'}
  380. sets.Obi.Water = {waist='Hachirin-no-Obi'}
  381. sets.Obi.Fire = {waist='Hachirin-no-Obi'}
  382. sets.Obi.Ice = {waist='Hachirin-no-Obi'}
  383. sets.Obi.Wind = {waist='Hachirin-no-Obi'}
  384. sets.Obi.Earth = {waist='Hachirin-no-Obi'}
  385. sets.Obi.Light = {waist='Hachirin-no-Obi'}
  386. sets.Obi.Dark = {waist='Hachirin-no-Obi'}
  387.  
  388.  
  389. -- JA Sets --
  390. sets.JA = {}
  391. sets.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
  392.  
  393. -- Melee Set --
  394. sets.Melee ={main="Akademos",
  395. sub="Mephitas Grip",
  396. ammo="Hasty Pinion +1",
  397. head={ name="Telchine Cap", augments={'Accuracy+19','"Dbl.Atk."+3','STR+2 DEX+2',}},
  398. body="Onca Suit",
  399. neck="Asperity Necklace",
  400. waist="Cetl Belt",
  401. left_ear="Cessance Earring",
  402. right_ear="Telos Earring",
  403. left_ring="Pernicious Ring",
  404. right_ring="Petrov Ring",
  405. back="Relucent Cape"}
  406.  
  407. -- WS Base Set --
  408. sets.WS = {ammo="Hasty Pinion +1",neck="Fotia Gorget",ear1="Telos Earring",ear2="Moonshade Earring",
  409. head="Jhakri Coronal +2",
  410. body="Jhakri Robe +2",
  411. hands="Jhakri Cuffs +2",
  412. legs="Jhakri Slops +2",
  413. feet="Jhakri Pigaches +2",
  414. ring1="Rufescent Ring",ring2="Begrudging Ring",
  415. back="Bookworm's Cape",
  416. waist="Eschan Stone"}
  417. sets.WS.Shattersoul = {ammo="Hasty Pinion +1",neck="Fotia Gorget",ear1="Telos Earring",ear2="Moonshade Earring",
  418. head="Jhakri Coronal +2",
  419. body="Jhakri Robe +2",
  420. hands="Jhakri Cuffs +2",
  421. legs="Jhakri Slops +2",
  422. feet="Jhakri Pigaches +2",
  423. ring1="Rufescent Ring",ring2="Petrov Ring",
  424. back="Rancorous Mantle",waist="Fotia Belt"}
  425. sets.WS.Myrkr = {ammo="Strobilus",
  426. head="Pixie Hairpin +1",
  427. neck="Fotia Gorget",
  428. ear1="Moonshade Earring",
  429. ear2="Etiolation Earring",
  430. body="Merlinic Jubbah",
  431. hands="Otomi Gloves",
  432. ring1="Mephitas's Ring",
  433. ring2="Mephitas's Ring +1",
  434. back="Altruistic Cape",
  435. waist="Fotia Belt",
  436. legs="Amalric Slops",
  437. feet="Arbatel Loafers +1"}
  438. sets.WS.Omniscience = {ammo="Pemphredo Tathlum",
  439. head={ name="Merlinic Hood", augments={'Accuracy+25','"Fast Cast"+5','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},
  440. neck="Eddy Necklace",
  441. ear1="Friomisi Earring",
  442. ear2="Barkarole Earring",
  443. body="Merlinic Jubbah",
  444. hands="Amalric Gages +1",
  445. ring1="Shiva Ring +1",
  446. ring2="Shiva Ring +1",
  447. back="Bookworm's Cape",
  448. waist="Eschan Stone",
  449. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','INT+15','Mag. Acc.+14','"Mag.Atk.Bns."+10',}},
  450. legs="Merlinic Shalwar"}
  451. end
  452.  
  453. function pretarget(spell,action)
  454. if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  455. cancel_spell()
  456. send_command('input /item "Echo Drops" <me>')
  457. elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
  458. degrade_spell(spell,Cure_Spells)
  459. elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
  460. degrade_spell(spell,Curaga_Spells)
  461. elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
  462. if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
  463. cancel_spell()
  464. send_command('input /ja Addendum: White <me>')
  465. elseif spell.english == "Manifestation" then
  466. cancel_spell()
  467. send_command('input /ja Accession <me>')
  468. elseif spell.english == "Alacrity" then
  469. cancel_spell()
  470. send_command('input /ja Celerity <me>')
  471. elseif spell.english == "Parsimony" then
  472. cancel_spell()
  473. send_command('input /ja Penury <me>')
  474. end
  475. elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
  476. if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
  477. cancel_spell()
  478. send_command('input /ja Addendum: Black <me>')
  479. elseif spell.english == "Accession" then
  480. cancel_spell()
  481. send_command('input /ja Manifestation <me>')
  482. elseif spell.english == "Celerity" then
  483. cancel_spell()
  484. send_command('input /ja Alacrity <me>')
  485. elseif spell.english == "Penury" then
  486. cancel_spell()
  487. send_command('input /ja Parsimony <me>')
  488. end
  489. end
  490. end
  491.  
  492. function precast(spell,action)
  493. if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
  494. if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  495. cancel_spell()
  496. add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  497. return
  498. else
  499. if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
  500. equip(sets.Precast.Cure)
  501. elseif spell.english == "Impact" then
  502. equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
  503. elseif string.find(spell.english,'Utsusemi') then
  504. if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  505. cancel_spell()
  506. add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
  507. return
  508. else
  509. equip(sets.Precast.FastCast)
  510. end
  511. elseif sets.Precast[spell.skill] then
  512. equip(sets.Precast[spell.skill])
  513. else
  514. equip(sets.Precast.FastCast)
  515. end
  516. end
  517. elseif spell.type == "WeaponSkill" then
  518. if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  519. cancel_spell()
  520. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  521. return
  522. else
  523. if sets.WS[spell.english] then
  524. equip(sets.WS[spell.english])
  525. end
  526. end
  527. elseif spell.type == "JobAbility" then
  528. if sets.JA[spell.english] then
  529. equip(sets.JA[spell.english])
  530. end
  531. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  532. cast_delay(0.2)
  533. send_command('cancel Sneak')
  534. end
  535. if sets.Precast[spell.element] then
  536. equip(sets.Precast[spell.element])
  537. end
  538. if StunIndex == 1 then
  539. equip(sets.Midcast.Stun)
  540. end
  541. end
  542.  
  543. function midcast(spell,action)
  544. equipSet = {}
  545. if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  546. equipSet = sets.Midcast
  547. if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
  548. if string.find(spell.english,'Cure') then
  549. equipSet = equipSet.Cure
  550. elseif string.find(spell.english,'Cura') then
  551. equipSet = equipSet.Curaga
  552. end
  553. if buffactive.Rapture then -- Equip Arbatel Bonnet +1 When Rapture Is Up For Curaga Spells --
  554. equipSet = set_combine(equipSet,{head="Arbatel Bonnet +1"})
  555. end
  556. elseif spell.english == "Stoneskin" then
  557. if buffactive.Stoneskin then
  558. send_command('@wait 2.8;cancel stoneskin')
  559. end
  560. equipSet = equipSet.Stoneskin
  561. elseif spell.english == "Geohelix" or spell.english == "Hydrohelix" or spell.english == "Anemohelix" or spell.english == "Pyrohelix" or spell.english == "Cryohelix" or spell.english == "Ionohelix" or spell.english == "Noctohelix" or spell.english == "Luminohelix"then
  562. equip(sets.Midcast.Helix)
  563. elseif spell.english == "Aspir" or spell.english == "Aspir II" or spell.english == "Drain" then
  564. equip(sets.Midcast.Drain)
  565. elseif spell.english == "Sneak" then
  566. if spell.target.name == player.name and buffactive['Sneak'] then
  567. send_command('cancel sneak')
  568. end
  569. equipSet = equipSet.Haste
  570. elseif string.find(spell.english,'Regen') then -- Equip Svnt. Bonnet +1 For Regen Spells --
  571. equipSet = set_combine(equipSet,{ear2="Calamitous Earring",
  572. ammo="Pemphredo Tathlum",
  573. head="Arbatel Bonnet +1",
  574. neck="Incanter's Torque",
  575. body={ name="Telchine Chas.", augments={'Accuracy+18','"Dbl.Atk."+3','Enh. Mag. eff. dur. +8',}},
  576. legs={ name="Telchine Braconi", augments={'Accuracy+8 Attack+8','"Store TP"+5','Enh. Mag. eff. dur. +9',}},
  577. feet={ name="Telchine Pigaches", augments={'Accuracy+17','"Dbl.Atk."+3','Enh. Mag. eff. dur. +9',}},
  578. ear1="Andoaa Earring",
  579. hands="Arbatel Bracers +1",
  580. ring1="Prolix Ring",
  581. ring2="Sheltered Ring",
  582. back="Bookworm's Cape",
  583. waist="Olympus Sash"})
  584. elseif string.find(spell.english,'Banish') then
  585. equipSet = set_combine(equipSet.Haste,{ring1="Fenian Ring"})
  586. elseif spell.english == "Stun" and buffactive.Alacrity and world.weather_element == 'Thunder' then -- Equip Peda. Loafers +1 When Alacrity Is Up And Thunder Weather --
  587. equipSet = set_combine(equipSet,{head="Nahtirah Hat",feet="Peda. Loafers +1"})
  588. elseif string.find(spell.english,'Utsusemi') then
  589. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  590. send_command('@wait 1.7;cancel Copy Image*')
  591. end
  592. equipSet = equipSet.Haste
  593. elseif spell.english == 'Monomi: Ichi' then
  594. if buffactive['Sneak'] then
  595. send_command('@wait 1.7;cancel sneak')
  596. end
  597. equipSet = equipSet.Haste
  598. else
  599. if equipSet[spell.english] then
  600. equipSet = equipSet[spell.english]
  601. end
  602. if equipSet[spell.skill] then
  603. equipSet = equipSet[spell.skill]
  604. end
  605. if equipSet[AccArray[AccIndex]] then
  606. equipSet = equipSet[AccArray[AccIndex]]
  607. end
  608. if equipSet[spell.type] then
  609. equipSet = equipSet[spell.type]
  610. end
  611. if (spell.skill == 'Elemental Magic' or string.find(spell.english,'Cur') or string.find(spell.english,'Bio') or string.find(spell.english,'Dia')) and not Non_Obi_Spells:contains(spell.english) and (world.day_element == spell.element or world.weather_element == spell.element) and sets.Obi[spell.element] and Obi == 'ON' then -- Use Obi Toggle To Equip Normal Waist Gear --
  612. equipSet = set_combine(equipSet,sets.Obi[spell.element])
  613. end
  614. if buffactive.Ebullience then -- Equip Arbatel Bonnet +1 When Ebullience Is Up For Nuke Spells --
  615. equipSet = set_combine(equipSet,{head="Arbatel Bonnet +1"})
  616. end
  617. if buffactive.Klimaform and (world.day_element == spell.element or world.weather_element == spell.element) then -- Equip Arbatel Loafers +1 When Klimaform Is Up And Weather or Day match For Nuke Spells --
  618. equipSet = set_combine(equipSet,{feet="Arbatel Loafers +1"})
  619. end
  620. if spell.english == "Icestorm II" and world.weather_element == spell.element then -- Equip Peda. Loafers +1 If Weather Is Match For Nuke Spells --
  621. equipSet = set_combine(equipSet,{feet="Peda. Loafers +1"})
  622. end
  623. end
  624. end
  625. if buffactive.Perpetuance and spell.skill == "Enhancing Magic" then
  626. equipSet = set_combine(equipSet,{hands="Arbatel Bracers +1"})
  627. elseif equipSet[spell.english] then
  628. equipSet = equipSet[spell.english]
  629. end
  630. equip(equipSet)
  631. if StunIndex == 1 then
  632. equip(sets.Midcast.Stun)
  633. end
  634. end
  635.  
  636. function aftercast(spell,action)
  637. if not spell.interrupted then
  638. if spell.english == "Sleep II" then -- Sleep II Countdown --
  639. send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  640. elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
  641. send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
  642. elseif spell.english == "Banish II" then -- Banish II Countdown --
  643. send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
  644. end
  645. end
  646. status_change(player.status)
  647. end
  648.  
  649. function status_change(new,old)
  650. if Armor == 'PDT' then
  651. equip(sets.PDT)
  652. elseif buffactive["Sublimation: Activated"] then
  653. equip(sets.Sublimation)
  654. elseif new == 'Engaged' then
  655. equip(sets.Melee)
  656. elseif new == 'Idle' then
  657. equip(sets.Idle[IdleArray[IdleIndex]])
  658. elseif new == 'Resting' then
  659. equip(sets.Resting)
  660. end
  661. if StunIndex == 1 then
  662. equip(sets.Midcast.Stun)
  663. end
  664. end
  665.  
  666. function buff_change(buff,gain)
  667. buff = string.lower(buff)
  668. if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  669. if gain then
  670. send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
  671. else
  672. send_command('timers delete "Aftermath: Lv.3"')
  673. add_to_chat(123,'AM3: [OFF]')
  674. end
  675. elseif buff == 'weakness' then -- Weakness Timer --
  676. if gain then
  677. send_command('timers create "Weakness" 300 up')
  678. else
  679. send_command('timers delete "Weakness"')
  680. end
  681. end
  682. if not midaction() then
  683. status_change(player.status)
  684. end
  685. end
  686.  
  687. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  688. function self_command(command)
  689. if command == 'C1' then -- Magic Accuracy Toggle --
  690. AccIndex = (AccIndex % #AccArray) + 1
  691. add_to_chat(158,'Magic Accuracy Level: ' .. AccArray[AccIndex])
  692. status_change(player.status)
  693. elseif command == 'C5' then -- Auto Update Gear Toggle --
  694. status_change(player.status)
  695. add_to_chat(158,'Auto Update Gear')
  696. elseif command == 'C2' then -- Stun Toggle --
  697. if StunIndex == 1 then
  698. StunIndex = 0
  699. add_to_chat(123,'Stun Set: [Unlocked]')
  700. else
  701. StunIndex = 1
  702. add_to_chat(158,'Stun Set: [Locked]')
  703. end
  704. status_change(player.status)
  705. elseif command == 'C3' then -- Obi Toggle --
  706. if Obi == 'ON' then
  707. Obi = 'OFF'
  708. add_to_chat(123,'Obi: [OFF]')
  709. else
  710. Obi = 'ON'
  711. add_to_chat(158,'Obi: [ON]')
  712. end
  713. status_change(player.status)
  714. elseif command == 'C7' then -- PDT Toggle --
  715. if Armor == 'PDT' then
  716. Armor = 'None'
  717. add_to_chat(123,'PDT Set: [Unlocked]')
  718. else
  719. Armor = 'PDT'
  720. add_to_chat(158,'PDT Set: [Locked]')
  721. end
  722. status_change(player.status)
  723. elseif command == 'C8' then -- Distance Toggle --
  724. if player.target.distance then
  725. target_distance = math.floor(player.target.distance*10)/10
  726. add_to_chat(158,'Distance: '..target_distance)
  727. else
  728. add_to_chat(123,'No Target Selected')
  729. end
  730. elseif command == 'C6' then -- Idle Toggle --
  731. IdleIndex = (IdleIndex % #IdleArray) + 1
  732. add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  733. status_change(player.status)
  734. elseif command:match('^SC%d$') then
  735. send_command('//' .. sc_map[command])
  736. end
  737. end
  738.  
  739. function actualCost(originalCost)
  740. if buffactive["Penury"] then
  741. return originalCost*.5
  742. elseif buffactive["Light Arts"] then
  743. return originalCost*.9
  744. else
  745. return originalCost
  746. end
  747. end
  748.  
  749. function degrade_spell(spell,degrade_array)
  750. spell_index = table.find(degrade_array,spell.name)
  751. if spell_index > 1 then
  752. new_spell = degrade_array[spell_index - 1]
  753. change_spell(new_spell,spell.target.raw)
  754. add_to_chat(8,spell.name..' Canceled: [Current MP = ' .. player.mp .. ' | ' .. player.mpp .. '%] Using '..new_spell..' instead.')
  755. end
  756. end
  757.  
  758. function change_spell(spell_name,target)
  759. cancel_spell()
  760. send_command('//'..spell_name..' '..target)
  761. end
  762.  
  763. function sub_job_change(newSubjob, oldSubjob)
  764. select_default_macro_book()
  765. end
  766.  
  767. function set_macro_page(set,book)
  768. if not tonumber(set) then
  769. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  770. return
  771. end
  772. if set < 1 or set > 10 then
  773. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  774. return
  775. end
  776.  
  777. if book then
  778. if not tonumber(book) then
  779. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  780. return
  781. end
  782. if book < 1 or book > 20 then
  783. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  784. return
  785. end
  786. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  787. else
  788. send_command('@input /macro set '..tostring(set))
  789. end
  790. end
  791.  
  792. function select_default_macro_book()
  793. -- Default macro set/book
  794. if player.sub_job == 'RDM' then
  795. set_macro_page(1, 1)
  796. elseif player.sub_job == 'BLM' then
  797. set_macro_page(1, 1)
  798. elseif player.sub_job == 'WHM' then
  799. set_macro_page(1, 1)
  800. else
  801. set_macro_page(1, 1)
  802. end
  803. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement