Advertisement
Guest User

Untitled

a guest
Dec 28th, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.39 KB | None | 0 0
  1.  
  2.  
  3. function get_sets()
  4. AccIndex = 1
  5. 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 --
  6. IdleIndex = 1
  7. IdleArray = {"Movement","Refresh"} -- Default Idle Set Is Movement --
  8. Armor = 'None'
  9. StunIndex = 0
  10. Obi = 'ON' -- Turn Default Obi ON or OFF Here --
  11. MB = 'OFF' -- Set Default MB ON or OFF Here --
  12. target_distance = 5 -- Set Default Distance Here --
  13. select_default_macro_book() -- Change Default Macro Book At The End --
  14.  
  15. Non_Obi_Spells = S{
  16. 'Burn','Choke','Drown','Frost','Rasp','Shock','Impact','Anemohelix','Cryohelix',
  17. 'Geohelix','Hydrohelix','Ionohelix','Luminohelix','Noctohelix','Pyrohelix'}
  18.  
  19. Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
  20. Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
  21. sc_map = {SC1 = "Stun", SC2 = "ThunderV", SC3 = "BlizzardV"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  22.  
  23. -- Idle Sets --
  24. sets.Idle = {}
  25. sets.Idle.Refresh = {
  26. main="Lathi",
  27. sub="Zuuxowu Grip",
  28. ammo="Vanir Battery",
  29. head="Spurrina Coif",
  30. neck="Wiglen Gorget",
  31. ear1="Etiolation Earring",
  32. ear2="Ethereal Earring",
  33. body="Witching Robe",
  34. hands="Serpentes Cuffs",
  35. ring1="Sheltered Ring",
  36. ring2="Shneddick Ring",
  37. back="Kumbira Cape",
  38. waist="Fucho-no-Obi",
  39. legs="Assiduity Pants +1",
  40. feet="Serpentes Sabots"}
  41. sets.Idle.Movement = set_combine(sets.Idle.Refresh,{
  42. neck="Wiglen Gorget",
  43. waist="Slipor Sash",
  44. feet="Serpentes Sabots"})
  45. sets.Resting = set_combine(sets.Idle.Movement,{})
  46.  
  47. -- PDT Set --
  48. sets.PDT = {
  49. neck="Loricate Torque +1",
  50. head="Hagondes Hat +1",
  51. body="Onca Suit",
  52. ring1="Defending Ring",
  53. ring2="Dark Ring",
  54. ammo="Vanir Battery",
  55. ear1="Etiolation Earring",
  56. ear2="Ethereal Earring",
  57. back="Umbra cape",
  58. waist="Slipor Sash"}
  59.  
  60. sets.Sublimation = {
  61. main="Lathi",
  62. sub="Zuuxowu Grip",
  63. ammo="Vanir Battery",
  64. head="Spurrina Coif",
  65. neck="Wiglen Gorget",
  66. ear1="Etiolation Earring",
  67. ear2="Ethereal Earring",
  68. body="Witching Robe",
  69. hands="Serpentes Cuffs",
  70. ring1="Sheltered Ring",
  71. ring2="Shneddick Ring",
  72. back="Kumbira Cape",
  73. waist="Slipor Sash",
  74. legs="Assiduity Pants +1",
  75. feet="Serpentes Sabots"}
  76.  
  77. sets.Precast = {}
  78.  
  79. -- Fastcast Set --
  80. sets.Precast.FastCast = {
  81. ammo="Impatiens",
  82. head="Nahtirah Hat",
  83. neck="Orunmila's Torque",
  84. ear2="Loquac. Earring",
  85. hands={ name="Merlinic Dastanas", augments={'"Fast Cast"+7',}},
  86. body="Anhur Robe",
  87. ear1="Enchntr. Earring +1",
  88. ring1="Prolix Ring",
  89. ring2="Lebeche Ring",
  90. back="Swith Cape +1",
  91. waist="Witful Belt";
  92. legs="Artsieq Hose",
  93. feet="Regal Pumps +1"}
  94.  
  95. -- Elemental Staves --
  96. sets.Precast.Thunder = {main='Lathi'}
  97. sets.Precast.Water = {main='Lathi'}
  98. sets.Precast.Fire = {main='Lathi'}
  99. sets.Precast.Ice = {main='Lathi'}
  100. sets.Precast.Wind = {main='Lathi'}
  101. sets.Precast.Earth = {main='Lathi'}
  102. sets.Precast.Light = {main='Lathi'}
  103. sets.Precast.Dark = {main='Lathi'}
  104.  
  105. sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{waist="Siegel Sash",head="Umuthi Hat",legs="Doyen pants"})
  106.  
  107. -- Precast Cure Set --
  108. sets.Precast.Cure = {
  109. head="Nahtirah Hat",
  110. neck="Orunmila's Torque",
  111. ear1="Enchntr. Earring +1",
  112. ear2="Loquac. Earring",
  113. body="Heka's Kalasiris",
  114. ring1="Prolix Ring",
  115. ring2="Lebeche Ring",
  116. back="Pahtli Cape",
  117. waist="Witful Belt";
  118. legs="Artsieq Hose",
  119. feet="Vanya Clogs"}
  120.  
  121. -- Midcast Base Set --
  122. sets.Midcast = {}
  123.  
  124. -- Haste Set --
  125. sets.Midcast.Haste = {
  126. ammo="Impatiens",
  127. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  128. neck="Orunmila's Torque",
  129. ear1="Enchntr. Earring +1",
  130. ear2="Loquac. Earring",
  131. body={ name="Telchine Chas.", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
  132. hands={ name="Telchine Gloves", augments={'Accuracy+10 Attack+10','"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
  133. ring1="Prolix Ring",
  134. ring2="Lebeche Ring",
  135. back="Swith Cape +1",
  136. waist="Witful Belt",
  137. legs={ name="Telchine Braconi", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  138. feet="Telchine Pigaches"}
  139.  
  140.  
  141. sets.Midcast.RefreshDur = {
  142. ammo="Impatiens",
  143. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  144. neck="Orunmila's Torque",
  145. ear1="Enchntr. Earring +1",
  146. ear2="Loquac. Earring",
  147. body={ name="Telchine Chas.", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
  148. hands={ name="Telchine Gloves", augments={'Accuracy+10 Attack+10','"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
  149. ring1="Prolix Ring",
  150. ring2="Lebeche Ring",
  151. legs={ name="Telchine Braconi", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  152. back="Grapevine Cape",
  153. waist="Gishdubar Sash",
  154. legs="Artsieq Hose",
  155. feet="Inspirited Boots"}
  156.  
  157. -- Cure Set --
  158. sets.Midcast.Cure = {
  159. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  160. neck="Incanter's Torque",
  161. ear1="Lifestorm Earring",
  162. ear2="Mendi. Earring",
  163. body="Vrikodara Jupon",
  164. hands="Telchine Gloves",
  165. ring1="Kunaji Ring",
  166. ring2="Asklepian Ring",
  167. back="Tempered Cape +1",
  168. waist="Gishdubar Sash",
  169. legs="Telchine Braconi",
  170. feet="Medium's Sabots"}
  171.  
  172. -- Curaga Set --
  173. sets.Midcast.Curaga = {
  174. ammo="Pemphredo Tathlum",
  175. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  176. neck="Incanter's Torque",
  177. ear1="Lifestorm Earring",
  178. ear2="Mendi. Earring",
  179. body="Vrikodara Jupon",
  180. hands="Telchine Gloves",
  181. ring1="Kunaji Ring",
  182. ring2="Asklepian Ring",
  183. back="Tempered Cape +1",
  184. waist="Gishdubar Sash",
  185. legs="Telchine Braconi",
  186. feet="Medium's Sabots"}
  187.  
  188. -- Enhancing Magic Set --
  189. sets.Midcast['Enhancing Magic'] = {
  190. ammo="Impatiens",
  191. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  192. neck="Orunmila's Torque",
  193. ear1="Enchntr. Earring +1",
  194. ear2="Loquac. Earring",
  195. body={ name="Telchine Chas.", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
  196. hands={ name="Telchine Gloves", augments={'Accuracy+10 Attack+10','"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
  197. ring1="Prolix Ring",
  198. ring2="Lebeche Ring",
  199. back="Swith Cape +1",
  200. waist="Witful Belt",
  201. legs={ name="Telchine Braconi", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  202. feet="Telchine Pigaches"}
  203.  
  204. -- Stoneskin Set --
  205. sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{
  206. ammo="Impatiens",
  207. head={ name="Telchine Cap", augments={'Accuracy+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  208. neck="Orunmila's Torque",
  209. ear1="Enchntr. Earring +1",
  210. ear2="Loquac. Earring",
  211. body={ name="Telchine Chas.", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
  212. hands={ name="Telchine Gloves", augments={'Accuracy+10 Attack+10','"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
  213. ring1="Prolix Ring",
  214. ring2="Lebeche Ring",
  215. back="Swith Cape +1",
  216. waist="Witful Belt",
  217. legs={ name="Telchine Braconi", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +9',}},
  218. feet="Telchine Pigaches"})
  219.  
  220. -- Cursna Set --
  221. sets.Midcast.Cursna = set_combine(sets.Midcast.Haste,{
  222. head="Nahtirah Hat",
  223. neck="Incanter's Torque",
  224. ear2="Beatific Earring",
  225. body="Hedera Cotehardie",
  226. hands="Hieros Mittens",
  227. ring1="Ephedra Ring",
  228. ring2="Ephedra Ring",
  229. back="Tempered Cape",
  230. waist="Bishop Sash",
  231. legs="Bokwus Slops",
  232. feet="Hag. Sabots +1"})
  233.  
  234. -- Stun Sets --
  235. sets.Midcast.Stun = {
  236. main='Lathi',
  237. head="Nahtirah Hat",
  238. neck="Orunmila's Torque",
  239. ear1="Lifestorm Earring",
  240. ear2="Psystorm Earring",
  241. body="Vanya Robe",
  242. hands={ name="Merlinic Dastanas", augments={'"Fast Cast"+7',}},
  243. ring1="Etana Ring",
  244. ring2="Sangoma Ring",
  245. back="Swith Cape +1",
  246. waist="Witful Belt",
  247. legs="Artsieq Hose",
  248. feet="Amalric Nails"}
  249. sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
  250. sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})
  251.  
  252. -- Dark Magic Sets --
  253. sets.Midcast['Dark Magic'] = {
  254. main='Lathi',
  255. head="Befouled Crown",
  256. ammo="Pemphredo Tathlum",
  257. neck="Incanter's Torque",
  258. ear1="Bakaro. Earring",
  259. ear2="Gwati Earring",
  260. body="Vanya Robe",
  261. hands="Lurid Mitts",
  262. ring1="Evanescence Ring",
  263. ring2="Sangoma Ring",
  264. back="Ogapepo Cape",
  265. waist="Eschan Stone",
  266. legs="Vanya Slops",
  267. feet="Medium's Sabots"}
  268. sets.Midcast['Dark Magic'].MidACC = set_combine(sets.Midcast['Dark Magic'],{})
  269. sets.Midcast['Dark Magic'].HighACC = set_combine(sets.Midcast['Dark Magic'].MidACC,{})
  270.  
  271. sets.Midcast['Drain'] = {
  272. main='Lathi',
  273. head="Pixie Hairpin +1",
  274. ammo="Pemphredo Tathlum",
  275. neck="Incanter's Torque",
  276. ear1="Bakaro. Earring",
  277. ear2="Hirudinea Earring",
  278. body="Vanya Robe",
  279. hands="Lurid Mitts",
  280. ring1="Evanescence Ring",
  281. ring2="Archon Ring",
  282. back="Ogapepo Cape",
  283. waist="Fucho-no-Obi",
  284. legs="Vanya Slops",
  285. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','Magic burst mdg.+10%','INT+2','"Mag.Atk.Bns."+1',}}}
  286.  
  287. -- Elemental Sets --
  288. sets.Midcast['Elemental Magic'] = {
  289. main='Lathi',
  290. sub="Zuuxowu Grip",
  291. head="Welkin Crown",
  292. ammo="Pemphredo Tathlum",
  293. neck="Sanctity Necklace",
  294. ear1="Barkaro. Earring",
  295. ear2="Friomisi Earring",
  296. body="Witching Robe",
  297. hands="Helios Gloves",
  298. ring1="Shiva Ring +1",
  299. ring2="Shiva ring +1",
  300. back="Toro Cape",
  301. waist="Refoccilation Stone",
  302. legs="Merlinic Shalwar",
  303. feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+26','"Occult Acumen"+9','MND+2','Mag. Acc.+1',}}}
  304. sets.Midcast['Elemental Magic'].MidACC = set_combine(sets.Midcast['Elemental Magic'],{
  305. main='Lathi',
  306. sub="Zuuxowu Grip",
  307. head="Hagondes Hat +1",
  308. ammo="Pemphredo Tathlum",
  309. neck="Sanctity Necklace",
  310. ear1="Barkaro. Earring",
  311. ear2="Friomisi Earring",
  312. body="Witching Robe",
  313. hands="Amalric Gages",
  314. ring1="Shiva Ring +1",
  315. ring2="Shiva ring +1",
  316. back="Toro Cape",
  317. waist="Refoccilation Stone",
  318. legs="Amalric Slops",
  319. feet="Amalric Nails"})
  320. sets.Midcast['Elemental Magic'].HighACC = set_combine(sets.Midcast['Elemental Magic'].MidACC,{})
  321.  
  322.  
  323.  
  324. sets.MB = {
  325. ammo="Pemphredo Tathlum",
  326. head="Helios Band",
  327. neck="Mizu. Kubikazari",
  328. ear1="Barkaro. Earring",
  329. ear2="Friomisi Earring",
  330. body="Witching Robe",
  331. hands="Amalric Gages",
  332. ring1="Mujin Band",
  333. ring2="Locus Ring",
  334. back="Seshaw cape +1",
  335. waist="Refoccilation Stone",
  336. legs="Amalric Slops",
  337. feet={ name="Merlinic Crackows", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','Magic burst mdg.+10%','INT+2','"Mag.Atk.Bns."+1',}}}
  338.  
  339. sets.Midcast.Comet = {
  340. main='Lathi',
  341. sub="Zuuxowu Grip",
  342. head="Pixie Hairpin +1",
  343. ammo="Pemphredo Tathlum",
  344. neck="Sanctity Necklace",
  345. ear1="Barkaro. Earring",
  346. ear2="Friomisi Earring",
  347. body="Witching Robe",
  348. hands="Amalric Gages",
  349. ring1="Archon Ring",
  350. ring2="Shiva ring +1",
  351. back="Toro Cape",
  352. waist="Refoccilation Stone",
  353. legs="Merlinic Shalwar",
  354. feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+26','"Occult Acumen"+9','MND+2','Mag. Acc.+1',}}}
  355.  
  356.  
  357.  
  358.  
  359. -- Enfeebling Sets --
  360. sets.Midcast['Enfeebling Magic'] = {
  361. main='Lathi',
  362. head="Befouled Crown",
  363. ammo="Pemphredo Tathlum",
  364. neck="Incanter's Torque",
  365. ear1="Lifestorm Earring",
  366. ear2="Psystorm Earring",
  367. body="Vanya Robe",
  368. hands="Lurid Mitts",
  369. ring1="Etana Ring",
  370. ring2="Sangoma Ring",
  371. back="Ogapepo Cape",
  372. waist="Rumination Sash",
  373. legs="Vanya Slops",
  374. feet="Medium's Sabots"}
  375. sets.Midcast['Enfeebling Magic'].MidACC = set_combine(sets.Midcast['Enfeebling Magic'],{})
  376. sets.Midcast['Enfeebling Magic'].HighACC = set_combine(sets.Midcast['Enfeebling Magic'].MidACC,{})
  377.  
  378. -- Impact Set --
  379. sets.Midcast.Impact = {
  380. main='Lathi',
  381. sub="Zuuxowu Grip",
  382. head="Hagondes Hat +1",
  383. ammo="Pemphredo Tathlum",
  384. neck="Sanctity Necklace",
  385. ear1="Barkaro. Earring",
  386. ear2="Friomisi Earring",
  387. body="Witching Robe",
  388. hands="Helios Gloves",
  389. ring1="Shiva Ring +1",
  390. ring2="Shiva Ring +1",
  391. back="Toro Cape",
  392. waist="Refoccilation Stone",
  393. legs="Amalric Slops",
  394. feet="Helios Boots"}
  395.  
  396. -- Meteor Set --
  397. sets.Midcast.Meteor = {
  398. main='Lathi',
  399. sub="Zuuxowu Grip",
  400. head="Welkin Crown",
  401. ammo="Pemphredo Tathlum",
  402. neck="Sanctity Necklace",
  403. ear1="Barkaro. Earring",
  404. ear2="Friomisi Earring",
  405. body="Witching Robe",
  406. hands="Amalric Gages",
  407. ring1="Shiva ring +1",
  408. ring2="Shiva ring +1",
  409. back="Toro Cape",
  410. waist="Refoccilation Stone",
  411. legs="Merlinic Shalwar",
  412. feet={ name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+26','"Occult Acumen"+9','MND+2','Mag. Acc.+1',}}}
  413.  
  414. -- Elemental Obi/Twilight Cape --
  415. sets.Obi = {waist="Hachirin-no-Obi"}
  416. sets.Obi.Thunder = {waist='Hachirin-no-Obi'}
  417. sets.Obi.Water = {waist='Hachirin-no-Obi'}
  418. sets.Obi.Fire = {waist='Hachirin-no-Obi'}
  419. sets.Obi.Ice = {waist='Hachirin-no-Obi'}
  420. sets.Obi.Wind = {waist='Hachirin-no-Obi'}
  421. sets.Obi.Earth = {waist='Hachirin-no-Obi'}
  422. sets.Obi.Light = {waist='Hachirin-no-Obi'}
  423. sets.Obi.Dark = {waist='Hachirin-no-Obi'}
  424.  
  425. -- JA Sets --
  426. sets.JA = {}
  427. sets.JA.Manafont = {body="Src. Coat +2"}
  428. sets.JA['Enmity Douse'] = {hands="Goetia Gloves +2"}
  429. sets.JA['Mana Wall'] = {feet="Goetia Sabots +2"}
  430.  
  431. -- Melee Set --
  432. sets.Melee = {
  433. main="Lathi",
  434. sub="Zuuxowu Grip",
  435. ammo="Hasty Pinion +1",
  436. head={ name="Telchine Cap", augments={'Accuracy+20','Haste+3','Weapon skill damage +2%',}},
  437. neck="Asperity Necklace",
  438. ear1="Brutal Earring",
  439. ear2="Cessance Earring",
  440. body="Onca suit",
  441. ring1="Rajas Ring",
  442. ring2="Petrov Ring",
  443. back="Relucent Cape",
  444. waist="Windbuffet Belt +1"}
  445.  
  446. -- WS Base Set --
  447. sets.WS = {
  448. main="Lathi",
  449. sub="Zuuxowu Grip",
  450. ammo="Vanir Battery",
  451. head={ name="Telchine Cap", augments={'Accuracy+20','Haste+3','Weapon skill damage +2%',}},
  452. neck="Fotia Gorget",
  453. ear1="Brutal Earring",
  454. ear2="Moonshade Earring",
  455. body="Onca suit",
  456. ring1="Rajas Ring",
  457. ring2="Ifrit Ring +1",
  458. back="Relucent Cape",
  459. waist="Fotia Belt"}
  460.  
  461. sets.WS.Shattersoul = {
  462. main="Lathi",
  463. sub="Zuuxowu Grip",
  464. ammo="Vanir Battery",
  465. head={ name="Telchine Cap", augments={'Accuracy+20','Haste+3','Weapon skill damage +2%',}},
  466. neck="Fotia Gorget",
  467. ear1="Brutal Earring",
  468. ear2="Moonshade Earring",
  469. body="Onca suit",
  470. ring1="Rajas Ring",
  471. ring2="Ifrit Ring +1",
  472. back="Relucent Cape",
  473. waist="Fotia Belt"}
  474.  
  475. sets.WS.Myrkr = {
  476. main="Lathi",
  477. sub="Zuuxowu Grip",
  478. ammo="Pemphredo Tathlum",
  479. head="Pixie Hairpin +1",
  480. neck="Orunmila's Torque",
  481. ear1="Etiolation Earring",
  482. ear2="Moonshade Earring",
  483. body="Witching Robe",
  484. hands="Helios Gloves",
  485. ring1="Sangoma Ring",
  486. ring2="Etana Ring",
  487. back="Pahtli Cape",
  488. waist="Refoccilation Stone",
  489. legs="Doyen Pants",
  490. feet="Regal Pumps +1"}
  491.  
  492. sets.WS.Retribution = {
  493. main="Lathi",
  494. sub="Zuuxowu Grip",
  495. ammo="Vanir Battery",
  496. head={ name="Telchine Cap", augments={'Accuracy+20','Haste+3','Weapon skill damage +2%',}},
  497. neck="Fotia Gorget",
  498. ear1="Brutal Earring",
  499. ear2="Moonshade Earring",
  500. body="Onca suit",
  501. ring1="Rajas Ring",
  502. ring2="Ifrit Ring +1",
  503. back="Relucent Cape",
  504. waist="Fotia Belt"}
  505.  
  506. sets.WS.Vidohunir = {
  507. main='Lathi',
  508. sub="Zuuxowu Grip",
  509. head="Hagondes Hat +1",
  510. ammo="Pemphredo Tathlum",
  511. neck="Sanctity Necklace",
  512. ear1="Barkaro. Earring",
  513. ear2="Friomisi Earring",
  514. body="Witching Robe",
  515. hands="Amalric Gages",
  516. ring1="Shiva Ring +1",
  517. ring2="Shiva ring +1",
  518. back="Toro Cape",
  519. waist="Refoccilation Stone",
  520. legs="Amalric Slops",
  521. feet="Amalric Nails"}
  522.  
  523. sets.WS["Rock Crusher"] = {
  524. main='Lathi',
  525. sub="Zuuxowu Grip",
  526. head="Hagondes Hat +1",
  527. ammo="Pemphredo Tathlum",
  528. neck="Sanctity Necklace",
  529. ear1="Barkaro. Earring",
  530. ear2="Friomisi Earring",
  531. body="Witching Robe",
  532. hands="Amalric Gages",
  533. ring1="Shiva Ring +1",
  534. ring2="Shiva ring +1",
  535. back="Toro Cape",
  536. waist="Refoccilation Stone",
  537. legs="Amalric Slops",
  538. feet="Amalric Nails"}
  539.  
  540. sets.WS["Full Swing"] = {
  541. main="Lathi",
  542. sub="Zuuxowu Grip",
  543. ammo="Vanir Battery",
  544. head={ name="Telchine Cap", augments={'Accuracy+20','Haste+3','Weapon skill damage +2%',}},
  545. neck="Fotia Gorget",
  546. ear1="Brutal Earring",
  547. ear2="Moonshade Earring",
  548. body="Onca suit",
  549. ring1="Rajas Ring",
  550. ring2="Ifrit Ring +1",
  551. back="Relucent Cape",
  552. waist="Fotia Belt"}
  553. sets.WS["Gate of Tartarus"] = {}
  554. end
  555.  
  556. function pretarget(spell,action)
  557. if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  558. cancel_spell()
  559. send_command('input /item "Echo Drops" <me>')
  560. elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
  561. degrade_spell(spell,Cure_Spells)
  562. elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
  563. degrade_spell(spell,Curaga_Spells)
  564. elseif spell.english == "Meteor" and not buffactive['Elemental Seal'] then -- Auto Elemental Seal When You Use Meteor --
  565. cancel_spell()
  566. send_command('input /ja "Elemental Seal" <me>;wait 1;input /ma "Meteor" <t>')
  567. elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
  568. if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
  569. cancel_spell()
  570. send_command('input /ja Addendum: White <me>')
  571. elseif spell.english == "Manifestation" then
  572. cancel_spell()
  573. send_command('input /ja Accession <me>')
  574. elseif spell.english == "Alacrity" then
  575. cancel_spell()
  576. send_command('input /ja Celerity <me>')
  577. elseif spell.english == "Parsimony" then
  578. cancel_spell()
  579. send_command('input /ja Penury <me>')
  580. end
  581. elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
  582. if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
  583. cancel_spell()
  584. send_command('input /ja Addendum: Black <me>')
  585. elseif spell.english == "Accession" then
  586. cancel_spell()
  587. send_command('input /ja Manifestation <me>')
  588. elseif spell.english == "Celerity" then
  589. cancel_spell()
  590. send_command('input /ja Alacrity <me>')
  591. elseif spell.english == "Penury" then
  592. cancel_spell()
  593. send_command('input /ja Parsimony <me>')
  594. end
  595. end
  596. end
  597.  
  598. function precast(spell,action)
  599. if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
  600. if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  601. cancel_spell()
  602. add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  603. return
  604. else
  605. if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
  606. equip(sets.Precast.Cure)
  607. elseif spell.english == "Impact" then
  608. equip(set_combine(sets.Precast.FastCast,{body="Twilight Cloak"}))
  609. elseif string.find(spell.english,'Utsusemi') then
  610. if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  611. cancel_spell()
  612. add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
  613. return
  614. else
  615. equip(sets.Precast.FastCast)
  616. end
  617. elseif sets.Precast[spell.skill] then
  618. equip(sets.Precast[spell.skill])
  619. else
  620. equip(sets.Precast.FastCast)
  621. end
  622. end
  623. elseif spell.type == "WeaponSkill" then
  624. if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  625. cancel_spell()
  626. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  627. return
  628. else
  629. if sets.WS[spell.english] then
  630. equip(sets.WS[spell.english])
  631. end
  632. end
  633. elseif spell.type == "JobAbility" then
  634. if sets.JA[spell.english] then
  635. equip(sets.JA[spell.english])
  636. end
  637. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  638. cast_delay(0.2)
  639. send_command('cancel Sneak')
  640. end
  641. if sets.Precast[spell.element] then
  642. equip(sets.Precast[spell.element])
  643. end
  644. if StunIndex == 1 then
  645. equip(sets.Midcast.Stun)
  646. end
  647. end
  648.  
  649. function midcast(spell,action)
  650. equipSet = {}
  651. if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' or spell.type == 'BardSong' then
  652. equipSet = sets.Midcast
  653.  
  654. if string.find(spell.english,'Cure') then
  655. equipSet = equipSet.Cure
  656. elseif string.find(spell.english,'Cura') then
  657. equipSet = equipSet.Curaga
  658. if world.day_element == spell.element or world.weather_element == spell.element then
  659. equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
  660. end
  661. elseif spell.skill == 'Elemental Magic' and MB == 'ON' then
  662. equipSet = set_combine(equipSet,sets.MB)
  663. elseif string.find(spell.english,'Refresh') then
  664. equipSet = equipSet.RefreshDur
  665. elseif string.find(spell.english,'Haste') then
  666. equipSet = equipSet.Haste
  667. elseif string.find(spell.english,'Aquaveil') then
  668. equipSet = equipSet.Haste
  669.  
  670. elseif string.find(spell.english,'Protect') then
  671. equipSet = equipSet.Haste
  672. elseif string.find(spell.english,'Shell') then
  673. equipSet = equipSet.Haste
  674. elseif string.find(spell.english,'Aspir') then
  675. equipSet = equipSet.Drain
  676. elseif string.find(spell.english,'Drain') then
  677. equipSet = equipSet.Drain
  678. elseif string.find(spell.english,'Banish') then
  679. equipSet = set_combine(equipSet.Haste,{ring1="Fenian Ring"})
  680. elseif spell.english == "Stoneskin" then
  681. if buffactive.Stoneskin then
  682. send_command('@wait 2.8;cancel stoneskin')
  683. end
  684. equipSet = equipSet.Stoneskin
  685. elseif spell.english == "Sneak" then
  686. if spell.target.name == player.name and buffactive['Sneak'] then
  687. send_command('cancel sneak')
  688. end
  689. equipSet = equipSet.Haste
  690. elseif string.find(spell.english,'Utsusemi') then
  691. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  692. send_command('@wait 1.7;cancel Copy Image*')
  693. end
  694. equipSet = equipSet.Haste
  695. elseif spell.english == 'Monomi: Ichi' then
  696. if buffactive['Sneak'] then
  697. send_command('@wait 1.7;cancel sneak')
  698. end
  699. equipSet = equipSet.Haste
  700. else
  701. if equipSet[spell.english] then
  702. equipSet = equipSet[spell.english]
  703. end
  704. if equipSet[spell.skill] then
  705. equipSet = equipSet[spell.skill]
  706. end
  707. if equipSet[AccArray[AccIndex]] then
  708. equipSet = equipSet[AccArray[AccIndex]]
  709. end
  710. if equipSet[spell.type] then
  711. equipSet = equipSet[spell.type]
  712. end
  713. if (spell.skill == 'Elemental Magic' or spell.english:startswith('Cur') or spell.english:startswith('Bio') or spell.english:startswith('Dia') or spell.english:startswith('Aspir') or spell.english == 'Drain') 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' and spell.english ~= "Cursna" then -- Use Obi Toggle To Equip Normal Waist Gear --
  714. equipSet = set_combine(equipSet,sets.Obi[spell.element])
  715. end
  716. end
  717. elseif equipSet[spell.english] then
  718. equipSet = equipSet[spell.english]
  719. end
  720. equip(equipSet)
  721. if StunIndex == 1 then
  722. equip(sets.Midcast.Stun)
  723. end
  724. end
  725.  
  726. function aftercast(spell,action)
  727. if not spell.interrupted then
  728. if spell.english == 'Mana Wall' and player.equipment.feet == "Goetia Sabots +2" then
  729. disable('feet')
  730. elseif spell.english == "Sleep II" or spell.english == "Sleepga II" then -- Sleep II & Sleepga II Countdown --
  731. 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.]')
  732. elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
  733. 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.]')
  734. elseif spell.english == "Banish II" then -- Banish II Countdown --
  735. send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
  736. end
  737. end
  738. status_change(player.status)
  739. end
  740.  
  741. function status_change(new,old)
  742. if Armor == 'PDT' then
  743. equip(sets.PDT)
  744. elseif new=='Engaged' then
  745. equip(sets.Melee)
  746. elseif new == 'Idle' then
  747. equip(sets.Idle[IdleArray[IdleIndex]])
  748. elseif new == 'Resting' then
  749. equip(sets.Resting)
  750. end
  751. if StunIndex == 1 then
  752. equip(sets.Midcast.Stun)
  753. end
  754. end
  755.  
  756. function buff_change(buff,gain)
  757. buff = string.lower(buff)
  758. if buff == "mana wall" and not gain then
  759. enable('feet')
  760. elseif buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  761. if gain then
  762. 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.]')
  763. else
  764. send_command('timers delete "Aftermath: Lv.3"')
  765. add_to_chat(123,'AM3: [OFF]')
  766. end
  767. elseif buff == 'weakness' then -- Weakness Timer --
  768. if gain then
  769. send_command('timers create "Weakness" 300 up')
  770. else
  771. send_command('timers delete "Weakness"')
  772. end
  773. end
  774. if not midaction() then
  775. status_change(player.status)
  776. end
  777. end
  778.  
  779. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  780. function self_command(command)
  781. if command == 'C1' then -- Magic Accuracy Toggle --
  782. AccIndex = (AccIndex % #AccArray) + 1
  783. add_to_chat(158,'Magic Accuracy Level: ' .. AccArray[AccIndex])
  784. status_change(player.status)
  785. elseif command == 'C5' then -- Auto Update Gear Toggle --
  786. status_change(player.status)
  787. add_to_chat(158,'Auto Update Gear')
  788. elseif command == 'C2' then -- MB Toggle --
  789. if MB == 'ON' then
  790. MB = 'OFF'
  791. add_to_chat(123,'MB: [OFF]')
  792. else
  793. MB = 'ON'
  794. add_to_chat(158,'MB: [ON]')
  795. end
  796. status_change(player.status)
  797. elseif command == 'C3' then -- Obi Toggle --
  798. if Obi == 'ON' then
  799. Obi = 'OFF'
  800. add_to_chat(123,'Obi: [OFF]')
  801. else
  802. Obi = 'ON'
  803. add_to_chat(158,'Obi: [ON]')
  804. end
  805. status_change(player.status)
  806. elseif command == 'C7' then -- PDT Toggle --
  807. if Armor == 'PDT' then
  808. Armor = 'None'
  809. add_to_chat(123,'PDT Set: [Unlocked]')
  810. else
  811. Armor = 'PDT'
  812. add_to_chat(158,'PDT Set: [Locked]')
  813. end
  814. status_change(player.status)
  815. elseif command == 'C8' then -- Distance Toggle --
  816. if player.target.distance then
  817. target_distance = math.floor(player.target.distance*10)/10
  818. add_to_chat(158,'Distance: '..target_distance)
  819. else
  820. add_to_chat(123,'No Target Selected')
  821. end
  822. elseif command == 'C6' then -- Idle Toggle --
  823. IdleIndex = (IdleIndex % #IdleArray) + 1
  824. add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  825. status_change(player.status)
  826. elseif command:match('^SC%d$') then
  827. send_command('//' .. sc_map[command])
  828. end
  829. end
  830.  
  831. function actualCost(originalCost)
  832. if buffactive["Penury"] then
  833. return originalCost*.5
  834. elseif buffactive["Light Arts"] then
  835. return originalCost*.9
  836. else
  837. return originalCost
  838. end
  839. end
  840.  
  841. function degrade_spell(spell,degrade_array)
  842. spell_index = table.find(degrade_array,spell.name)
  843. if spell_index > 1 then
  844. new_spell = degrade_array[spell_index - 1]
  845. change_spell(new_spell,spell.target.raw)
  846. add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
  847. end
  848. end
  849.  
  850. function change_spell(spell_name,target)
  851. cancel_spell()
  852. send_command('//'..spell_name..' '..target)
  853. end
  854.  
  855. function sub_job_change(newSubjob, oldSubjob)
  856. select_default_macro_book()
  857. end
  858.  
  859. function set_macro_page(set,book)
  860. if not tonumber(set) then
  861. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  862. return
  863. end
  864. if set < 1 or set > 10 then
  865. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  866. return
  867. end
  868.  
  869. if book then
  870. if not tonumber(book) then
  871. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  872. return
  873. end
  874. if book < 1 or book > 20 then
  875. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  876. return
  877. end
  878. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  879. else
  880. send_command('@input /macro set '..tostring(set))
  881. end
  882. end
  883.  
  884. function select_default_macro_book()
  885. -- Default macro set/book
  886. if player.sub_job == 'WHM' then
  887. set_macro_page(6, 2)
  888. elseif player.sub_job == 'RDM' then
  889. set_macro_page(6, 2)
  890. elseif player.sub_job == 'SCH' then
  891. set_macro_page(6, 2)
  892. elseif player.sub_job == 'DNC' then
  893. set_macro_page(6, 2)
  894. elseif player.sub_job == 'NIN' then
  895. set_macro_page(6, 2)
  896. else
  897. set_macro_page(6, 2)
  898. end
  899. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement