Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.60 KB | None | 0 0
  1. -- *** Credit goes to Flippant for helping me with Gearswap *** --
  2. -- ** I Use Some of Motenten's Functions ** --
  3.  
  4. function get_sets()
  5. AccIndex = 1
  6. AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. Default ACC Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
  7. IdleIndex = 1
  8. IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  9. Armor = 'None'
  10. target_distance = 5 -- Set Default Distance Here --
  11. select_default_macro_book() -- Change Default Macro Book At The End --
  12.  
  13. sc_map = {SC1="Resolution", SC2="Berserk", SC3="Aggressor"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  14.  
  15. sets.Idle = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
  16. sub="Refined Grip +1",
  17. ammo="Staunch Tathlum",
  18. head="Turms Cap",
  19. body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
  20. hands="Erilaz Gauntlets +1",
  21. legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
  22. feet="Erilaz Greaves +1",
  23. neck="Loricate Torque +1",
  24. waist="Flume Belt +1",
  25. left_ear="Sanare Earring",
  26. right_ear="Genmei Earring",
  27. left_ring="Gelatinous Ring +1",
  28. right_ring="Defending Ring",
  29. back="Shadow Mantle"}
  30. -- Idle/Town Sets --
  31.  
  32. sets.Idle.Regen = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
  33. sub="Refined Grip +1",
  34. ammo="Staunch Tathlum",
  35. head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
  36. body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
  37. hands="Erilaz Gauntlets +1",
  38. legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
  39. feet="Erilaz Greaves +1",
  40. neck="Loricate Torque +1",
  41. waist="Flume Belt +1",
  42. left_ear="Sanare Earring",
  43. right_ear="Genmei Earring",
  44. left_ring="Woltaris Ring +1",
  45. right_ring="Defending Ring",
  46. back="Shadow Mantle"}
  47. sets.Idle.Movement = set_combine(sets.Idle.Regen,{main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
  48. sub="Refined Grip +1",
  49. ammo="Staunch Tathlum",
  50. head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
  51. body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
  52. hands="Erilaz Gauntlets +1",
  53. legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
  54. feet="Erilaz Greaves +1",
  55. neck="Loricate Torque +1",
  56. waist="Flume Belt +1",
  57. left_ear="Sanare Earring",
  58. right_ear="Genmei Earring",
  59. left_ring="Gelatinous Ring +1",
  60. right_ring="Defending Ring",
  61. back="Shadow Mantle"})
  62.  
  63. -- TP Sets --
  64. sets.TP = {Main="Lionheart",
  65. sub="Utu Grip",
  66. ammo="Yamarang",
  67. head={ name="Dampening Tam", augments={'DEX+10','Accuracy+15','Mag. Acc.+15','Quadruple Attack +3',}},
  68. body={ name="Herculean Vest", augments={'Accuracy+29','"Triple Atk."+4','DEX+3',}},
  69. hands="Adhemar Wristbands +1",
  70. legs={ name="Samnuha Tights", augments={'STR+10','DEX+10','"Dbl.Atk."+3','"Triple Atk."+3',}},
  71. feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+4',}},
  72. neck="Clotharius Torque",
  73. waist="Windbuffet Belt +1",
  74. left_ear="Telos Earring",
  75. right_ear="Sherida Earring",
  76. left_ring="Niqmaddu Ring",
  77. back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  78. right_ring="Epona's Ring"}
  79. sets.TP.MidACC = set_combine(sets.TP,{
  80. })
  81. sets.TP.HighACC = set_combine(sets.TP.MidACC,{})
  82.  
  83. -- TP Swordplay Set
  84. sets.TP.Swordplay = {}
  85.  
  86. -- PDT/MDT Sets --
  87. sets.PDT = {main={ name="Aettir", augments={'Accuracy+70','Mag. Evasion+50','Weapon skill damage +10%',}},
  88. sub="Refined Grip +1",
  89. ammo="Staunch Tathlum",
  90. head={ name="Fu. Bandeau +1", augments={'Enhances "Battuta" effect',}},
  91. body={ name="Futhark Coat +1", augments={'Enhances "Elemental Sforzo" effect',}},
  92. hands="Turms Mittens",
  93. legs="Eri. Leg Guards +1",
  94. feet="Turms Leggings",
  95. neck="Loricate Torque +1",
  96. waist="Flume Belt +1",
  97. left_ear="Sanare Earring",
  98. right_ear="Eabani Earring",
  99. left_ring="Gelatinous Ring +1",
  100. right_ring="Defending Ring",
  101. back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}}
  102.  
  103. sets.MDT = set_combine(sets.PDT,{
  104. ammo="Vanir Battery",
  105. ear1="Etiolation earring",
  106. head="Erilaz Galea +1",
  107. right_ring="Dark ring",
  108. hands="Futhark mitons +1",
  109. body="Runeist coat +1",
  110. back="Engulfer cape +1"})
  111.  
  112. -- Hybrid Sets --
  113. sets.TP.Hybrid = set_combine(sets.PDT,{main="Hepatizon Axe +1",
  114. sub="Utu Grip",
  115. ammo="Staunch Tathlum",
  116. head="Meghanada Visor +2",
  117. body="Ayanmo Corazza +2",
  118. hands={ name="Adhemar Wrist. +1", augments={'DEX+12','AGI+12','Accuracy+20',}},
  119. legs="Meg. Chausses +2",
  120. feet={ name="Herculean Boots", augments={'Accuracy+30','"Triple Atk."+4',}},
  121. neck="Loricate Torque +1",
  122. waist="Flume Belt +1",
  123. left_ear="Telos Earring",
  124. right_ear="Genmei Earring",
  125. left_ring="Gelatinous Ring +1",
  126. back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  127. right_ring="Defending Ring"})
  128. sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  129. sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  130.  
  131. -- WS Base Set --
  132. sets.WS = {ammo="Seeth. Bomblet +1",
  133. head="Adhemar Bonnet +1",
  134. body="Adhemar Jacket +1",
  135. hands={ name="Herculean Gloves", augments={'Accuracy+23 Attack+23','Crit. hit damage +4%','STR+10','Accuracy+10','Attack+1',}},
  136. legs="Meghanada Chausses +2",
  137. feet={ name="Herculean Boots", augments={'Accuracy+13 Attack+13','"Triple Atk."+1','STR+12','Accuracy+7','Attack+6',}},
  138. neck="Fotia Gorget",
  139. waist="Fotia Belt",
  140. right_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
  141. left_ear="Telos Earring",
  142. left_ring="Regal Ring",
  143. back={ name="Ogma's cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},
  144. right_ring="Epona's Ring"}
  145.  
  146. -- WS Sets --
  147. sets.WS.Resolution = {
  148. ammo="Seeth. Bomblet +1",
  149. head="Adhemar Bonnet +1",
  150. body="Adhemar Jacket +1",
  151. hands={ name="Herculean Gloves", augments={'Accuracy+23 Attack+23','Crit. hit damage +4%','STR+10','Accuracy+10','Attack+1',}},
  152. legs="Meghanada Chausses +2",
  153. feet={ name="Herculean Boots", augments={'Accuracy+13 Attack+13','"Triple Atk."+1','STR+12','Accuracy+7','Attack+6',}},
  154. neck="Fotia Gorget",
  155. waist="Fotia Belt",
  156. left_ear={ name="Moonshade Earring", augments={'Attack+4','TP Bonus +25',}},
  157. right_ear="Sherida Earring",
  158. left_ring="Niqmaddu Ring",
  159. back={ name="Ogma's cape", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}},
  160. right_ring="Epona's Ring"}
  161. sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{})
  162. sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{})
  163.  
  164. sets.WS.SavageBlade = {
  165. head="Lilitu headpiece",
  166. body="Adhemar jacket",
  167. ear1="Moonshade earring",
  168. ear2="Ishvara earring",
  169. left_ring="Ifrit ring +1",
  170. right_ring="Ifrit ring +1",
  171. ammo="Seething bomblet +1",
  172. back="Phalangite Mantle",
  173. legs="Meghanada Chausses +2",
  174. neck="Fotia gorget",
  175. waist="Fotia belt"}
  176. sets.WS.SavageBlade.MidACC = set_combine(sets.WS.SavageBlade,{})
  177. sets.WS.SavageBlade.HighACC = set_combine(sets.WS.SavageBlade.MidACC,{})
  178.  
  179. sets.WS.Dimidiation = {
  180. head="Lilitu Headpiece",
  181. neck="Fotia gorget",
  182. hands="Meghanada Gloves +2",
  183. body="Adhemar Jacket +1",
  184. ammo="Seething Bomblet +1",
  185. ear1="Moonshade earring",
  186. ear2="Ishvara earring",
  187. waist="Fotia belt",
  188. legs="Lusratio Subligar +1",
  189. back={ name="Ogma's cape", augments={'DEX+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}},
  190. feet={ name="Herculean Boots", augments={'Accuracy+4 Attack+4','Weapon skill damage +5%','DEX+8','Accuracy+12','Attack+13',}},
  191. left_ring="Ilabrat ring",
  192. right_ring="Regal ring"}
  193. sets.WS.Dimidiation.MidACC = set_combine(sets.WS.Dimidiation,{})
  194. sets.WS.Dimidiation.HighACC = set_combine(sets.WS.Dimidiation.MidACC,{})
  195.  
  196. sets.WS.Requiescat = {
  197. head="Adhemar Bonnet +1",
  198. body="Adhemar jacket +1",
  199. ear1="Moonshade earring",
  200. ear2="Ishvara earring",
  201. left_ring="Ifrit ring +1",
  202. right_ring="Ifrit ring +1",
  203. ammo="Seething bomblet +1",
  204. back="Phalangite Mantle",
  205. legs={ name="Herculean Trousers", augments={'Attack+14','Phys. dmg. taken -1%','STR+15','Accuracy+15',}},
  206. neck="Fotia gorget",
  207. waist="Fotia belt"}
  208. sets.WS.Requiescat.MidACC = set_combine(sets.WS.Requiescat,{})
  209. sets.WS.Requiescat.HighACC = set_combine(sets.WS.Requiescat.MidACC,{})
  210.  
  211. sets.WS.Upheaval = {}
  212. sets.WS.Upheaval.MidACC = set_combine(sets.WS.Upheaval,{})
  213. sets.WS.Upheaval.HighACC = set_combine(sets.WS.Upheaval.MidACC,{})
  214.  
  215. -- Enmity Set --
  216. sets.Enmity = {
  217. head="Halitus Helm",
  218. body="Emet harness +1",
  219. waist="Goading belt",
  220. ammo="Sapience Orb",
  221. back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
  222. left_ring="Provocare ring",
  223. right_ring="Eihwaz ring",
  224. ear1="Cryptic Earring",
  225. ear2="Friomisi earring",
  226. neck="Unmoving Collar +1",
  227. hands="Kurys gloves",
  228. legs="Eri. leg Guards +1",
  229. feet="Erilaz greaves +1"}
  230.  
  231. sets.JA = {}
  232. -- JA Sets --
  233. sets.JA.Lunge = {
  234. ammo="Seething Bomblet",
  235. head={ name="Herculean Helm", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Weapon skill damage +4%','STR+4','"Mag.Atk.Bns."+11',}},
  236. body={ name="Samnuha Coat", augments={'Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+5','"Dual Wield"+5',}},
  237. hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
  238. legs={ name="Herculean Trousers", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +4%','INT+3','Mag. Acc.+14','"Mag.Atk.Bns."+14',}},
  239. feet={ name="Herculean Boots", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Crit. hit damage +1%','INT+8','Mag. Acc.+5','"Mag.Atk.Bns."+4',}},
  240. neck="Sanctity Necklace",
  241. waist="Eschan Stone",
  242. left_ear="Friomisi Earring",
  243. right_ear="Crematio Earring",
  244. left_ring="Mujin Band",
  245. right_ring="Locus Ring",
  246. back="Toro Cape"}
  247. sets.JA.Swipe = set_combine(sets.Lunge,{})
  248. sets.JA.Vallation = set_combine(sets.Enmity,{body="Runeist Coat +1", back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}, legs="Futhark Trousers +1"})
  249. sets.JA.Swordplay = set_combine(sets.Enmity,{hands="Futhark Mitons +1"})
  250. sets.JA.Pflug = set_combine(sets.Enmity,{feet="Runeist Bottes +3"})
  251. sets.JA.Valiance = set_combine(sets.Enmity,{ back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}}, body="Runeist Coat +1"})
  252. sets.JA.Embolden = set_combine(sets.Enmity,{back="Evasionist's Cape", legs="Futhark Trousers +1",head="Erilaz Galea +1"})
  253. sets.JA.Gambit = set_combine(sets.Enmity,{hands="Runeist's Mitons +3"})
  254. sets.JA.Liement = set_combine(sets.Enmity,{body="Futhark Coat +1"})
  255. sets.JA["One For All"] = set_combine(sets.Enmity)
  256. sets.JA.Battuta = set_combine(sets.Enmity,{head="Futhark Bandeau +1"})
  257. sets.JA.Rayke = set_combine(sets.Enmity,{feet="Futhark Boots"})
  258. sets.JA['Elemental Sforzo'] = set_combine(sets.Enmity,{body="Futhark Coat"})
  259. sets.JA['Vivacious Pulse'] = set_combine(sets.Enmity,{head="Erilaz Galea +1",
  260. legs="Runeist Trousers +3",
  261. neck="Incanter's Torque",
  262. ear1="Beatific Earring",
  263. waist="Bishop's Sash",
  264. left_ring="Stikini Ring",
  265. right_ring="Globidonta Ring",
  266. back="Altruistic Cape"})
  267. sets.JA.Provoke = set_combine(sets.Enmity)
  268. sets.JA.Warcry = set_combine(sets.Enmity)
  269.  
  270. -- Waltz Set --
  271. sets.Waltz = {}
  272.  
  273. -- Flourish --
  274. sets.Flourish = {}
  275.  
  276. sets.Precast = {}
  277. -- Fastcast Set --
  278. sets.Precast.FastCast = {back={ name="Ogma's cape", augments={'HP+60','"Fast Cast"+10',}},
  279. ammo="Sapience Orb",
  280. head="Carmine Mask +1",
  281. body={ name="Taeon Tabard", augments={'"Fast Cast"+4',}},
  282. hands={ name="Leyline Gloves", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
  283. legs="Ayanmo Cosciales +2",
  284. feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}},
  285. neck="Orunmila's Torque",
  286. waist="Flume Belt",
  287. left_ear="Loquac. Earring",
  288. right_ear="Etiolation Earring",
  289. left_ring="Kishar Ring",
  290. right_ring="Prolix Ring"
  291. }
  292.  
  293. -- Utsusemi Precast Set --
  294. sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{})
  295.  
  296. -- Precast Enhancing Magic --
  297. sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{
  298. legs="Futhark Trousers +1"})
  299.  
  300. -- Midcast Base Set --
  301. sets.Midcast = {left_ring="Moonbeam ring",
  302. back="Moonbeam Cape",
  303. ammo="Staunch Tathlum",
  304. hands="Rawhide gloves",
  305. head={ name="Taeon Chapeau", augments={'Spell interruption rate down -8%',}},
  306. body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%',}},
  307. ear1="Halasz earring",
  308. waist="Rumination sash",
  309. feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%',}},
  310. right_ring="Evanescence ring",
  311. ear2="Dignitary's earring",
  312. neck="Willpower Torque",
  313. legs="Carmine cuisses +1"}
  314.  
  315. -- Magic Haste Set --
  316. sets.Midcast.Haste = {back="Moonbeam Cape",
  317. left_ring="Moonbeam ring",
  318. ammo="Staunch Tathlum",
  319. hands="Rawhide gloves",
  320. head={ name="Taeon Chapeau", augments={'Spell interruption rate down -8%',}},
  321. body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%',}},
  322. ear1="Halasz earring",
  323. waist="Rumination sash",
  324.  
  325.  
  326. feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%',}},
  327. right_ring="Evanescence ring",
  328. ear2="Dignitary's earring",
  329. neck="Willpower Torque",
  330. legs="Carmine cuisses +1"}
  331.  
  332. -- Flash Set --
  333. sets.Midcast.Flash = {
  334. head="Halitus Helm",
  335. body="Emet harness +1",
  336. waist="Goading belt",
  337. ammo="Sapience Orb",
  338. back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
  339. left_ring="Provocare ring",
  340. right_ring="Eihwaz ring",
  341. ear1="Cryptic Earring",
  342. ear2="Friomisi earring",
  343. neck="Unmoving Collar +1",
  344. hands="Kurys gloves",
  345. legs="Eri. leg Guards +1",
  346. feet="Erilaz greaves +1"}
  347.  
  348. -- Enhancing Magic --
  349. sets.Midcast['Enhancing Magic'] = {
  350. neck="Incanter's torque",
  351. ear1="Andoaa earring",
  352.  
  353. ear2="Augmenting Earring",
  354. waist="Olympus sash",
  355. ring1="Stikini Ring",
  356. ring2="Stikini Ring",
  357. back="Evasionist's Cape",
  358. head="Erilaz Galea +1",
  359. hands="Runeist's Mitons +3",
  360. legs="Carmine Cuisses +1"}
  361.  
  362. sets.Midcast.Temper = {main="Pukulatmuj +1",
  363. neck="Incanter's torque",
  364. ear1="Andoaa earring",
  365. body="Manasa Chasuble",
  366. ear2="Augmenting Earring",
  367. waist="Olympus sash",
  368. ring1="Stikini Ring",
  369. ring2="Stikini Ring",
  370. back="Evasionist's Cape",
  371. head="Carmine Mask +1",
  372. hands="Runeist's Mitons +3",
  373. legs="Carmine Cuisses +1"}
  374.  
  375.  
  376.  
  377. -- Cure Set --
  378. sets.Midcast.Cure = {
  379. ammo="Impatiens",
  380. hands="Buremte gloves",
  381. head={ name="Taeon Chapeau", augments={'"Cure" potency +5%',}},
  382. legs={ name="Taeon Tights", augments={'"Cure" potency +5%',}},
  383. feet={ name="Taeon Boots", augments={'"Cure" potency +4%',}},
  384. body="Vrikodara Jupon",
  385. waist="Gishdubar sash",
  386. back={ name="Ogma's cape", augments={'"Cure" potency +10%',}},
  387. left_ring="Asklepian ring",
  388. right_ring="Kunaji ring",
  389. ear1="Mendicant's earring",
  390. ear2="Roundel earring",
  391. neck="Incanter's torque"}
  392.  
  393. -- Self Cure Set --
  394. sets.Midcast.SelfCure = set_combine(sets.Midcast.Cure,{
  395. ammo="Impatiens",
  396. hands="Buremte gloves",
  397. head={ name="Taeon Chapeau", augments={'"Cure" potency +5%',}},
  398. legs={ name="Taeon Tights", augments={'"Cure" potency +5%',}},
  399. feet={ name="Taeon Boots", augments={'"Cure" potency +4%',}},
  400. body="Vrikodara Jupon",
  401. waist="Gishdubar sash",
  402. back={ name="Ogma's cape", augments={'"Cure" potency +10%',}},
  403. left_ring="Asklepian ring",
  404. right_ring="Kunaji ring",
  405. ear1="Mendicant's earring",
  406. ear2="Roundel earring",
  407. neck="Incanter's torque"})
  408.  
  409. -- Stoneskin --
  410. sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{})
  411.  
  412. -- Phalanx --
  413. sets.Midcast.Phalanx = set_combine(sets.Midcast['Enhancing Magic'],{main="Deacon Sword", head="Futhark bandeau +1",body={ name="Taeon Tabard", augments={'Spell interruption rate down -10%','Phalanx +3',}},
  414. hands={ name="Taeon Gloves", augments={'Phalanx +3',}},
  415. legs={ name="Taeon Tights", augments={'Phalanx +3',}},
  416. feet={ name="Taeon Boots", augments={'Spell interruption rate down -9%','Phalanx +3',}}, })
  417. -- Foil --
  418. sets.Midcast.Foil = {head="Halitus Helm",
  419. body="Emet harness +1",
  420. waist="Goading belt",
  421. ammo="Sapience Orb",
  422. back={ name="Ogma's cape", augments={'INT+20','Eva.+20 /Mag. Eva.+20','Enmity+10',}},
  423. left_ring="Provocare ring",
  424. right_ring="Eihwaz ring",
  425. ear1="Cryptic Earring",
  426. ear2="Friomisi earring",
  427. neck="Unmoving Collar +1",
  428. hands="Kurys gloves",
  429. legs="Eri. leg Guards +1",
  430. feet="Erilaz greaves +1"}
  431.  
  432. -- Regen --
  433. sets.Midcast.Regen = {}
  434.  
  435. -- Divine Magic --
  436. sets.Midcast['Divine Magic'] = {}
  437. end
  438.  
  439. function pretarget(spell,action)
  440. if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  441. cancel_spell()
  442. send_command('input /item "Echo Drops" <me>')
  443. elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  444. cancel_spell()
  445. send_command('Aggressor')
  446. elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
  447. cancel_spell()
  448. add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  449. return
  450. end
  451. end
  452.  
  453. function precast(spell,action)
  454. if spell.type == "WeaponSkill" then
  455. if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  456. cancel_spell()
  457. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  458. return
  459. else
  460. equipSet = sets.WS
  461. if equipSet[spell.english] then
  462. equipSet = equipSet[spell.english]
  463. end
  464. if equipSet[AccArray[AccIndex]] then
  465. equipSet = equipSet[AccArray[AccIndex]]
  466. end
  467. if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  468. equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  469. end
  470. equip(equipSet)
  471. end
  472. elseif spell.type == "JobAbility" or spell.type == "Ward" or spell.type == "Effusion" then
  473. if sets.JA[spell.english] then
  474. equip(sets.JA[spell.english])
  475. end
  476. elseif spell.type == "Rune" then
  477. equip(sets.Enmity)
  478. elseif spell.action_type == 'Magic' then
  479. if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  480. cancel_spell()
  481. add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  482. return
  483. else
  484. if spell.english:startswith('Utsusemi') then
  485. if spell.english == 'Utsusemi: Ni' then
  486. if buffactive['Copy Image (3)'] then
  487. cancel_spell()
  488. add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
  489. return
  490. else
  491. equip(sets.Precast.Utsusemi)
  492. end
  493. else
  494. equip(sets.Precast.Utsusemi)
  495. end
  496. elseif sets.Precast[spell.skill] then
  497. equip(sets.Precast[spell.skill])
  498. else
  499. equip(sets.Precast.FastCast)
  500. end
  501. end
  502. elseif spell.type:endswith('Flourish') then
  503. if spell.english == "Animated Flourish" then
  504. equip(sets.Enmity)
  505. else
  506. equip(sets.Flourish)
  507. end
  508. elseif spell.type == "Waltz" then
  509. refine_waltz(spell,action)
  510. equip(sets.Waltz)
  511. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  512. cast_delay(0.2)
  513. send_command('cancel Sneak')
  514. end
  515. end
  516.  
  517. function midcast(spell,action)
  518. equipSet = {}
  519. if spell.action_type == 'Magic' then
  520. equipSet = sets.Midcast
  521. if equipSet[spell.english] then
  522. equipSet = equipSet[spell.english]
  523. elseif spell.english:startswith('Protect') or spell.english:startswith('Shell') then
  524. equipSet = equipSet.Haste
  525. if spell.target.name == player.name then
  526. equipSet = set_combine(equipSet,{ring2="Sheltered Ring"})
  527. end
  528. elseif (string.find(spell.english,'Cur') or spell.english == "Wild Carrot" or spell.english == "Healing Breeze") and spell.english ~= "Cursna" then
  529. if spell.target.name == player.name then
  530. equipSet = equipSet.SelfCure
  531. else
  532. equipSet = equipSet.Cure
  533. end
  534. elseif spell.english == "Stoneskin" then
  535. if buffactive.Stoneskin then
  536. send_command('@wait 2.8;cancel stoneskin')
  537. end
  538. equipSet = equipSet.Stoneskin
  539. elseif spell.english == "Sneak" then
  540. if spell.target.name == player.name and buffactive['Sneak'] then
  541. send_command('cancel sneak')
  542. end
  543. equipSet = equipSet.Haste
  544. elseif spell.english:endswith('Spikes') then
  545. equipSet = equipSet.Haste
  546. elseif spell.english:startswith('Utsusemi') then
  547. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
  548. send_command('@wait 1.7;cancel Copy Image*')
  549. end
  550. equipSet = equipSet.Haste
  551. elseif spell.english == 'Monomi: Ichi' then
  552. if buffactive['Sneak'] then
  553. send_command('@wait 1.7;cancel sneak')
  554. end
  555. equipSet = equipSet.Haste
  556. elseif equipSet[spell.skill] then
  557. equipSet = equipSet[spell.skill]
  558. end
  559. elseif equipSet[spell.english] then
  560. equipSet = equipSet[spell.english]
  561. end
  562. equip(equipSet)
  563. end
  564.  
  565. function aftercast(spell,action)
  566. if spell.type == "WeaponSkill" and not spell.interrupted then
  567. send_command('wait 0.2;gs c TP')
  568. end
  569. status_change(player.status)
  570. end
  571.  
  572. function status_change(new,old)
  573. check_equip_lock()
  574. if Armor == 'PDT' then
  575. equip(sets.PDT)
  576. elseif Armor == 'MDT' then
  577. equip(sets.MDT)
  578. elseif new == 'Engaged' then
  579. equipSet = sets.TP
  580. if Armor == 'Hybrid' and equipSet["Hybrid"] then
  581. equipSet = equipSet["Hybrid"]
  582. end
  583. if equipSet[AccArray[AccIndex]] then
  584. equipSet = equipSet[AccArray[AccIndex]]
  585. end
  586. if buffactive.Swordplay then
  587. equipSet = set_combine(equipSet,sets.TP.Swordplay)
  588. end
  589. equip(equipSet)
  590. else
  591. equipSet = sets.Idle
  592. if equipSet[IdleArray[IdleIndex]] then
  593. equipSet = equipSet[IdleArray[IdleIndex]]
  594. end
  595. if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  596. equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  597. end
  598. if world.area:endswith('Adoulin') then
  599. equipSet = set_combine(equipSet,{body={ name="Herculean Vest", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','"Dbl.Atk."+3','STR+10','"Mag.Atk.Bns."+10',}},})
  600. end
  601. equip(equipSet)
  602. end
  603. end
  604.  
  605. function buff_change(buff,gain)
  606. buff = string.lower(buff)
  607. if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  608. if gain then
  609. send_command('timers create "Aftermath: Lv.3" 180 down;wait 150;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 15;input /echo Aftermath: Lv.3 [WEARING OFF IN 15 SEC.];wait 5;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
  610. else
  611. send_command('timers delete "Aftermath: Lv.3"')
  612. add_to_chat(123,'AM3: [OFF]')
  613. end
  614. elseif buff == 'weakness' then -- Weakness Timer --
  615. if gain then
  616. send_command('timers create "Weakness" 300 up')
  617. else
  618. send_command('timers delete "Weakness"')
  619. end
  620. end
  621. if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
  622. equip({head="Frenzy sallet"})
  623. else
  624. if not midaction() then
  625. status_change(player.status)
  626. end
  627. end
  628. end
  629.  
  630. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  631. function self_command(command)
  632. if command == 'C1' then -- Accuracy Level Toggle --
  633. AccIndex = (AccIndex % #AccArray) + 1
  634. add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
  635. status_change(player.status)
  636. elseif command == 'C5' then -- Auto Update Gear Toggle --
  637. status_change(player.status)
  638. add_to_chat(158,'Auto Update Gear')
  639. elseif command == 'C2' then -- Hybrid Toggle --
  640. if Armor == 'Hybrid' then
  641. Armor = 'None'
  642. add_to_chat(123,'Hybrid Set: [Unlocked]')
  643. else
  644. Armor = 'Hybrid'
  645. add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  646. end
  647. status_change(player.status)
  648. elseif command == 'C7' then -- PDT Toggle --
  649. if Armor == 'PDT' then
  650. Armor = 'None'
  651. add_to_chat(123,'PDT Set: [Unlocked]')
  652. else
  653. Armor = 'PDT'
  654. add_to_chat(158,'PDT Set: [Locked]')
  655. end
  656. status_change(player.status)
  657. elseif command == 'C15' then -- MDT Toggle --
  658. if Armor == 'MDT' then
  659. Armor = 'None'
  660. add_to_chat(123,'MDT Set: [Unlocked]')
  661. else
  662. Armor = 'MDT'
  663. add_to_chat(158,'MDT Set: [Locked]')
  664. end
  665. status_change(player.status)
  666. elseif command == 'C8' then -- Distance Toggle --
  667. if player.target.distance then
  668. target_distance = math.floor(player.target.distance*10)/10
  669. add_to_chat(158,'Distance: '..target_distance)
  670. else
  671. add_to_chat(123,'No Target Selected')
  672. end
  673. elseif command == 'C6' then -- Idle Toggle --
  674. IdleIndex = (IdleIndex % #IdleArray) + 1
  675. add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
  676. status_change(player.status)
  677. elseif command == 'TP' then
  678. add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  679. elseif command:match('^SC%d$') then
  680. send_command('//' .. sc_map[command])
  681. end
  682. end
  683.  
  684. function check_equip_lock() -- Lock Equipment Here --
  685. if player.equipment.left_ring == "Warp Ring" or player.equipment.left_ring == "Capacity Ring" or player.equipment.right_ring == "Warp Ring" or player.equipment.right_ring == "Capacity Ring" then
  686. disable('left_ring','right_ring')
  687. elseif player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Mecisto. Mantle" then
  688. disable('back')
  689. else
  690. enable('left_ring','right_ring','back')
  691. end
  692. end
  693.  
  694. function refine_waltz(spell,action)
  695. if spell.type ~= 'Waltz' then
  696. return
  697. end
  698.  
  699. if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
  700. return
  701. end
  702.  
  703. local newWaltz = spell.english
  704. local waltzID
  705.  
  706. local missingHP
  707.  
  708. if spell.target.type == "SELF" then
  709. missingHP = player.max_hp - player.hp
  710. elseif spell.target.isallymember then
  711. local target = find_player_in_alliance(spell.target.name)
  712. local est_max_hp = target.hp / (target.hpp/100)
  713. missingHP = math.floor(est_max_hp - target.hp)
  714. end
  715.  
  716. if missingHP ~= nil then
  717. if player.sub_job == 'DNC' then
  718. if missingHP < 40 and spell.target.name == player.name then
  719. add_to_chat(123,'Full HP!')
  720. cancel_spell()
  721. return
  722. elseif missingHP < 150 then
  723. newWaltz = 'Curing Waltz'
  724. waltzID = 190
  725. elseif missingHP < 300 then
  726. newWaltz = 'Curing Waltz II'
  727. waltzID = 191
  728. else
  729. newWaltz = 'Curing Waltz III'
  730. waltzID = 192
  731. end
  732. else
  733. return
  734. end
  735. end
  736.  
  737. local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
  738. local tpCost = waltzTPCost[newWaltz]
  739.  
  740. local downgrade
  741.  
  742. if player.tp < tpCost and not buffactive.trance then
  743.  
  744. if player.tp < 20 then
  745. add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  746. cancel_spell()
  747. return
  748. elseif player.tp < 35 then
  749. newWaltz = 'Curing Waltz'
  750. elseif player.tp < 50 then
  751. newWaltz = 'Curing Waltz II'
  752. elseif player.tp < 65 then
  753. newWaltz = 'Curing Waltz III'
  754. elseif player.tp < 80 then
  755. newWaltz = 'Curing Waltz IV'
  756. end
  757.  
  758. downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  759. end
  760.  
  761. if newWaltz ~= spell.english then
  762. send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  763. if downgrade then
  764. add_to_chat(158, downgrade)
  765. end
  766. cancel_spell()
  767. return
  768. end
  769.  
  770. if missingHP > 0 then
  771. add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  772. end
  773. end
  774.  
  775. function find_player_in_alliance(name)
  776. for i,v in ipairs(alliance) do
  777. for k,p in ipairs(v) do
  778. if p.name == name then
  779. return p
  780. end
  781. end
  782. end
  783. end
  784.  
  785. function sub_job_change(newSubjob, oldSubjob)
  786. select_default_macro_book()
  787. end
  788.  
  789. function set_macro_page(set,book)
  790. if not tonumber(set) then
  791. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  792. return
  793. end
  794. if set < 1 or set > 10 then
  795. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  796. return
  797. end
  798.  
  799. if book then
  800. if not tonumber(book) then
  801. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  802. return
  803. end
  804. if book < 1 or book > 20 then
  805. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  806. return
  807. end
  808. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  809. else
  810. send_command('@input /macro set '..tostring(set))
  811. end
  812. end
  813.  
  814. function select_default_macro_book()
  815. -- Default macro set/book
  816. if player.sub_job == 'BLU' then
  817. set_macro_page(1, 12)
  818. elseif player.sub_job == 'WAR' then
  819. set_macro_page(1, 12)
  820. elseif player.sub_job == 'SAM' then
  821. set_macro_page(1, 12)
  822. elseif player.sub_job == 'DNC' then
  823. set_macro_page(1, 12)
  824. elseif player.sub_job == 'NIN' then
  825. set_macro_page(1, 12)
  826. else
  827. set_macro_page(1, 12)
  828. end
  829. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement