Advertisement
Guest User

WAR_LUA

a guest
Jan 18th, 2018
695
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.40 KB | None | 0 0
  1. -- *** Credit goes to Flippant for helping me with Gearswap *** --
  2. -- ** I Use Some of Motenten's Functions ** --
  3. -- All Credit goes to Bokura and her Credit notes, I Simply altered a few things to make it work for me and simplify it slightly--
  4.  
  5. function get_sets()
  6. include('organizer-lib')
  7.  
  8. --KeyBinds
  9. send_command('bind ^f1 gs c C7')
  10. send_command('bind ^f2 gs c C15')
  11. send_command('bind ^f3 gs c C16')
  12. send_command('bind !f1 gs c C2')
  13. send_command('bind !f2 gs c C10')
  14. send_command('bind !f3 gs c C5')
  15.  
  16. AccIndex = 1
  17. AccArray = {"LowACC","MidACC","HighACC","MaxACC"} -- 4 Levels Of Accuracy Sets For TP/WS/Hybrid. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
  18. WeaponIndex = 1
  19. WeaponArray = {"Chango","Ukonvasara","Ragnarok","Bravura","Quint","Generic"} -- Default Main Weapon Is Ukonvasara. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
  20. IdleIndex = 1
  21. IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  22. Armor = 'None'
  23. Twilight = 'None'
  24. Attack = 'OFF' -- Set Default WS Attack Set ON or OFF Here --
  25. Retaliation = 'OFF' -- Set Default Retaliation ON or OFF Here --
  26. select_default_macro_book() -- Change Default Macro Book At The End --
  27.  
  28. -- Gavialis Helm --
  29. elements = {}
  30. elements.equip = {head="Gavialis Helm"}
  31. elements["Ukko's Fury"] = S{"Light","Lightning","Wind"}
  32. elements.Resolution = S{"Lightning","Wind","Earth"}
  33.  
  34. sets.Idle = {}
  35. -- Idle/Town Sets --
  36. sets.Idle.Regen = {
  37. ammo="Staunch Tathlum",
  38. head="Sulevia's Mask +1",
  39. body="Sulevia's Plate. +2",
  40. hands="Sulev. Gauntlets +2",
  41. legs="Sulev. Cuisses +1",
  42. feet="Sulev. Leggings +2",
  43. neck="Loricate Torque +1",
  44. waist="Ioskeha Belt",
  45. left_ear="Telos Earring",
  46. right_ear="Cessance Earring",
  47. left_ring="Defending Ring",
  48. right_ring="Vocane Ring",
  49. back="Agema Cape"}
  50.  
  51. sets.Idle.Regen.Chango = set_combine(sets.Idle.Regen,
  52. {main="Chango",
  53. sub="Bloodrain Strap"})
  54. sets.Idle.Regen.Ukonvasara = set_combine(sets.Idle.Regen,
  55. {main="Ukonvasara",
  56. sub="Bloodrain Strap"})
  57. sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,
  58. {main="Ragnarok",
  59. sub="Bloodrain Strap"})
  60. sets.Idle.Regen.Bravura = set_combine(sets.Idle.Regen,
  61. {main="Bravura",
  62. sub="Bloodrain Strap"})
  63. sets.Idle.Regen.Quint = set_combine(sets.Idle.Regen,
  64. {main="Quint Spear",
  65. sub="Bloodrain Strap"})
  66. sets.Idle.Regen.Generic = set_combine(sets.Idle.Regen,{})
  67. -- These 2 sets are here if you want them. Simply add "DW" and/or "Fencer" in the weaponarray after Generic.
  68. --sets.Idle.Regen.DW = set_combine(sets.Idle.Regen,{})
  69. --sets.Idle.Regen.Fencer = set_combine(sets.Idle.Regen,{})
  70.  
  71. sets.Idle.Movement = set_combine(sets.Idle.Regen,{})
  72. sets.Idle.Movement.Ukonvasara = set_combine(sets.Idle.Movement,
  73. {main="Ukonvasara",
  74. sub="Bloodrain Strap"})
  75. sets.Idle.Movement.Chango = set_combine(sets.Idle.Movement,
  76. {main="Chango",
  77. sub="Bloodrain Strap"})
  78. sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,
  79. {main="Ragnarok",
  80. sub="Bloodrain Strap"})
  81. sets.Idle.Movement.Bravura = set_combine(sets.Idle.Movement,
  82. {main="Bravura",
  83. sub="Bloodrain Strap"})
  84. sets.Idle.Movement.Quint = set_combine(sets.Idle.Movement,
  85. {main="Quint Spear",
  86. sub="Bloodrain Strap"})
  87.  
  88. sets.Idle.Movement.Generic = set_combine(sets.Idle.Movement,{})
  89.  
  90. --sets.Idle.Movement.DW = set_combine(sets.Idle.Movement,{})
  91. --sets.Idle.Movement.Fencer = set_combine(sets.Idle.Movement,{})
  92.  
  93. sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  94.  
  95. -- TP Base Set --
  96. sets.TP = {}
  97.  
  98. -- Chango TP Sets --
  99. sets.TP.Chango = {
  100. ammo="Ginsen",
  101. head="Flam. Zucchetto +2",
  102. body="Valorous Mail",
  103. hands="Sulev. Gauntlets +2",
  104. legs="Pumm. Cuisses +2",
  105. feet="Pumm. Calligae +2",
  106. neck="Ainia Collar",
  107. waist="Ioskeha Belt",
  108. left_ear="Brutal Earring",
  109. right_ear="Cessance Earring",
  110. left_ring="Petrov Ring",
  111. right_ring="Chirich Ring",
  112. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  113.  
  114. sets.TP.Chango.MidACC = set_combine(sets.TP.Chango,{})
  115. sets.TP.Chango.HighACC = set_combine(sets.TP.Chango.MidACC,{})
  116. sets.TP.Chango.MaxACC = set_combine(sets.TP.Chango.HighACC,{})
  117.  
  118. -- Ukonvasara TP Sets --
  119. sets.TP.Ukonvasara = {
  120. ammo="Ginsen",
  121. head="Flam. Zucchetto +2",
  122. body="Valorous Mail",
  123. hands="Sulev. Gauntlets +2",
  124. legs="Pumm. Cuisses +2",
  125. feet="Pumm. Calligae +2",
  126. neck="Ainia Collar",
  127. waist="Ioskeha Belt",
  128. left_ear="Brutal Earring",
  129. right_ear="Cessance Earring",
  130. left_ring="Petrov Ring",
  131. right_ring="Chirich Ring",
  132. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  133.  
  134. sets.TP.Ukonvasara.MidACC = set_combine(sets.TP.Ukonvasara,{})
  135. sets.TP.Ukonvasara.HighACC = set_combine(sets.TP.Ukonvasara.MidACC,{})
  136. sets.TP.Ukonvasara.MaxACC = set_combine(sets.TP.Ukonvasara.HighACC,{})
  137.  
  138. -- Ragnarok TP Sets --
  139. sets.TP.Ragnarok = {
  140. ammo="Ginsen",
  141. head="Flam. Zucchetto +2",
  142. body="Flamma Korazin +2",
  143. hands="Sulev. Gauntlets +2",
  144. legs="Pumm. Cuisses +2",
  145. feet="Valorous Greaves",
  146. neck="Ainia Collar",
  147. waist="Ioskeha Belt",
  148. left_ear="Brutal Earring",
  149. right_ear="Cessance Earring",
  150. left_ring="Petrov Ring",
  151. right_ring="Chirich Ring",
  152. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  153.  
  154. sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{})
  155. sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{})
  156. sets.TP.Ragnarok.MaxACC = set_combine(sets.TP.Ragnarok.HighACC,{})
  157.  
  158.  
  159. -- Bravura TP Sets --
  160. sets.TP.Bravura = {
  161. ammo="Ginsen",
  162. head="Flam. Zucchetto +2",
  163. body="Valorous Mail",
  164. hands="Sulev. Gauntlets +2",
  165. legs="Pumm. Cuisses +2",
  166. feet="Pumm. Calligae +2",
  167. neck="Ainia Collar",
  168. waist="Ioskeha Belt",
  169. left_ear="Brutal Earring",
  170. right_ear="Cessance Earring",
  171. left_ring="Petrov Ring",
  172. right_ring="Chirich Ring",
  173. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  174.  
  175. sets.TP.Bravura.MidACC = set_combine(sets.TP.Bravura,{})
  176. sets.TP.Bravura.HighACC = set_combine(sets.TP.Bravura.MidACC,{})
  177. sets.TP.Bravura.MaxACC = set_combine(sets.TP.Bravura.HighACC,{})
  178.  
  179. -- Quint Spear (Omen) TP Sets --
  180. sets.TP.Quint = {
  181. ammo="Ginsen",
  182. head="Flam. Zucchetto +2",
  183. body="Flamma Korazin +2",
  184. hands="Sulev. Gauntlets +2",
  185. legs="Pumm. Cuisses +2",
  186. feet="Pumm. Calligae +2",
  187. neck="Ainia Collar",
  188. waist="Ioskeha Belt",
  189. left_ear="Telos Earring",
  190. right_ear="Cessance Earring",
  191. left_ring="Petrov Ring",
  192. right_ring="Chirich Ring",
  193. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  194.  
  195. sets.TP.Quint.MidACC = set_combine(sets.TP.Quint,{})
  196.  
  197. sets.TP.Quint.HighACC = set_combine(sets.TP.Quint.MidACC,{})
  198.  
  199. sets.TP.Quint.MaxACC = set_combine(sets.TP.Quint.HighACC,{})
  200.  
  201. --Duel Wield Set
  202. sets.TP.DW = {
  203. }
  204. sets.TP.DW.MidACC = set_combine(sets.TP.DW,{})
  205.  
  206. sets.TP.DW.HighACC = set_combine(sets.TP.DW.MidACC,{})
  207.  
  208. sets.TP.DW.MaxACC = set_combine(sets.TP.DW.HighACC,{})
  209.  
  210. --Fencer Set
  211. sets.TP.Fencer = {}
  212.  
  213. sets.TP.Fencer.MidACC = set_combine(sets.TP.Fencer,{})
  214.  
  215. sets.TP.Fencer.HighACC = set_combine(sets.TP.Fencer.MidACC,{})
  216.  
  217. sets.TP.Fencer.MaxACC = set_combine(sets.TP.Fencer.HighACC,{})
  218.  
  219. --Generic Set
  220. sets.TP.Generic = {}
  221.  
  222. sets.TP.Generic.MidACC = set_combine(sets.TP.Generic,{})
  223.  
  224. sets.TP.Generic.HighACC = set_combine(sets.TP.Generic.MidACC,{})
  225.  
  226. sets.TP.Generic.MaxACC = set_combine(sets.TP.Generic.HighACC,{})
  227.  
  228. -- Mighty Strikes TP Set --
  229. sets.TP.MS = {}
  230.  
  231. -- Retaliation Set --
  232. sets.TP.Retaliation = {hands="Pumm. Mufflers +2",feet="Boii Calligae +1"}
  233.  
  234. -- AM3 Rancor ON Mantle --
  235. sets.TP.Rancor = {back=""}
  236.  
  237. -- PDT/MDT Sets --
  238. sets.PDT = {
  239. ammo="Staunch Tathlum",
  240. head="Sulev. Mask +1",
  241. body="Sulev. Plate. +2",
  242. hands="Sulev. Gauntlets +2",
  243. legs="Sulev. Cuisses +1",
  244. feet="Sulev. Leggings +2",
  245. neck="Loricate Torque +1",
  246. waist="Ioskeha Belt",
  247. left_ear="Telos Earring",
  248. right_ear="Cessance Earring",
  249. left_ring="Defending Ring",
  250. right_ring="Vocane Ring",
  251. back="Agema Cape"}
  252.  
  253. sets.MDT = set_combine(sets.PDT,{})
  254.  
  255. -- Hybrid/Kiting Sets for me personally this is my Bravura AM set when expecting to take dmg --
  256. sets.TP.Hybrid = {
  257. ammo="Staunch Tathlum",
  258. head="Sulevia's Mask +1",
  259. body="Emicho Haubert",
  260. hands="Pumm. Mufflers +2",
  261. legs="Pumm. Cuisses +2",
  262. feet="Pumm. Calligae +2",
  263. neck="Loricate Torque +1",
  264. waist="Ioskeha Belt",
  265. left_ear="Telos Earring",
  266. right_ear="Zennaroi Earring",
  267. left_ring="Defending Ring",
  268. right_ring="Vocane Ring",
  269. back="Agema cape"}
  270.  
  271. sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
  272. sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})
  273. sets.TP.Hybrid.MaxACC = set_combine(sets.TP.Hybrid.HighACC,{})
  274.  
  275. sets.Kiting = set_combine(sets.PDT,{feet="Hermes' Sandals"})
  276.  
  277. -- CP Mantle --
  278. sets.CP = {back="Mecisto. Mantle"}
  279.  
  280. -- WS Base Set --
  281. sets.WS = {
  282. ammo="Seething Bomblet +1",
  283. head="Sulev. Mask +1",
  284. body="Sulev. Plate. +2",
  285. hands="Sulev. Gauntlets +2",
  286. legs="Sulev. Cuisses +1",
  287. feet="Sulev. Leggings +2",
  288. neck="Fotia Gorget",
  289. waist="Fotia Belt",
  290. left_ear="Telos Earring",
  291. right_ear="Moonshade Earring",
  292. left_ring="Ifrit Ring",
  293. right_ring="Ifrit Ring",
  294. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  295.  
  296.  
  297. -- Upheaval Sets --
  298. sets.WS.Upheaval = {
  299. ammo="Knobkierrie",
  300. head={ name="Odyssean Helm", augments={'Accuracy+28','Weapon skill damage +3%','STR+11','Attack+4',}},
  301. body="Valorous mail",
  302. hands="Sulev. Gauntlets +2",
  303. legs={ name="Odyssean Cuisses", augments={'Accuracy+21 Attack+21','Weapon skill damage +4%','Accuracy+15','Attack+11',}},
  304. feet="Sulev. Leggings +2",
  305. neck="Fotia Gorget",
  306. waist="Fotia Belt",
  307. left_ear="Telos Earring",
  308. right_ear="Moonshade Earring",
  309. left_ring="Ifrit Ring",
  310. right_ring="Ifrit Ring",
  311. back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Weapon skill damage +10%',}}}
  312.  
  313. sets.WS.Upheaval.MidACC = set_combine(sets.WS.Upheaval,{
  314. right_ear="Cessance Earring",
  315. left_ring="Cacoethic Ring +1",
  316. right_ring="Chirich Ring"})
  317. sets.WS.Upheaval.HighACC = set_combine(sets.WS.Upheaval.MidACC,{})
  318. sets.WS.Upheaval.MaxACC = set_combine(sets.WS.Upheaval.HighACC,{})
  319.  
  320. -- Upheaval(Attack) Set --
  321. sets.WS.Upheaval.ATT = set_combine(sets.WS.Upheaval,{})
  322.  
  323. -- Ukko's Fury Sets --
  324. sets.WS["Ukko's Fury"] = {
  325. ammo="Yetshila",
  326. head="Argosy Celata",
  327. body="Argosy Hauberk",
  328. hands="Argosy Mufflers",
  329. legs="Argosy Breeches",
  330. feet="Boii Calligae +1",
  331. neck="Fotia Gorget",
  332. waist="Fotia Belt",
  333. left_ear="Brutal Earring",
  334. right_ear="Moonshade Earring",
  335. left_ring="ifrit Ring",
  336. right_ring="Ifrit Ring",
  337. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
  338.  
  339. sets.WS["Ukko's Fury"].MidACC = set_combine(sets.WS["Ukko's Fury"],{})
  340.  
  341. sets.WS["Ukko's Fury"].HighACC = set_combine(sets.WS["Ukko's Fury"].MidACC,{})
  342. sets.WS["Ukko's Fury"].MaxACC = set_combine(sets.WS["Ukko's Fury"].HighACC,{})
  343.  
  344. -- Ukko's Fury(Attack) Set --
  345. sets.WS["Ukko's Fury"].ATT = set_combine(sets.WS["Ukko's Fury"],{})
  346.  
  347. -- King's Justice Sets --
  348. sets.WS["King's Justice"] = {
  349. ammo="Seething Bomblet +1",
  350. head="Argosy Celata",
  351. body="Argosy Hauberk",
  352. hands="Argosy Mufflers",
  353. legs="Argosy Breeches",
  354. feet="Argosy Sollerets +1",
  355. neck="Fotia Gorget",
  356. waist="Fotia Belt",
  357. left_ear="Moonshade Earring",
  358. right_ear="Cessance Earring",
  359. left_ring="Ifrit Ring",
  360. right_ring="Ifrit Ring",
  361. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  362.  
  363. sets.WS["King's Justice"].MidACC = set_combine(sets.WS["King's Justice"],{
  364. left_ear="Telos Earring",
  365. left_ring="Cacoethic Ring +1",
  366. right_ring="Chirich Ring"})
  367.  
  368. sets.WS["King's Justice"].HighACC = set_combine(sets.WS["King's Justice"].MidACC,{})
  369. sets.WS["King's Justice"].MaxACC = set_combine(sets.WS["King's Justice"].HighACC,{})
  370.  
  371. -- Metatron Torment Sets --
  372. sets.WS["Metatron Torment"] = {
  373. ammo="Seething Bomblet +1",
  374. head="Sulev. Mask +1",
  375. body="Sulev. Plate. +2",
  376. hands="Sulev. Gauntlets +2",
  377. legs="Sulev. Cuisses +1",
  378. feet="Sulev. Leggings +2",
  379. neck="Fotia Gorget",
  380. waist="Fotia Belt",
  381. left_ear="Telos Earring",
  382. right_ear="Moonshade Earring",
  383. left_ring="Ifrit Ring",
  384. right_ring="Ifrit Ring",
  385. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  386.  
  387. sets.WS["Metatron Torment"].MidACC = set_combine(sets.WS["Metatron Torment"],{
  388. })
  389. sets.WS["Metatron Torment"].HighACC = set_combine(sets.WS["Metatron Torment"].MidACC,{})
  390. sets.WS["Metatron Torment"].MaxACC = set_combine(sets.WS["Metatron Torment"].HighACC,{})
  391.  
  392. -- Fell Cleave Set --
  393. sets.WS["Fell Cleave"] = {
  394. ammo="Seething Bomblet +1",
  395. head="Sulev. Mask +1",
  396. body="Sulev. Plate. +2",
  397. hands="Sulev. Gauntlets +2",
  398. legs="Sulev. Cuisses +1",
  399. feet="Sulev. Leggings +2",
  400. neck="Fotia Gorget",
  401. waist="Fotia Belt",
  402. left_ear="Telos Earring",
  403. right_ear="Moonshade Earring",
  404. left_ring="Ifrit Ring",
  405. right_ring="Ifrit Ring",
  406. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}}
  407.  
  408. -- Resolution --
  409. sets.WS.Resolution = {
  410. ammo="Seeth. Bomblet +1",
  411. head="Argosy Celata",
  412. body="Argosy Hauberk",
  413. hands="Argosy Mufflers",
  414. legs="Argosy Breeches",
  415. feet="Argosy Sollerets +1",
  416. neck="Fotia Gorget",
  417. waist="Fotia Belt",
  418. left_ear="Telos Earring",
  419. right_ear="Moonshade Earring",
  420. left_ring="Ifrit Ring",
  421. right_ring="Ifrit Ring",
  422. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
  423.  
  424. sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{})
  425.  
  426. sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{})
  427. sets.WS.Resolution.MaxACC = set_combine(sets.WS.Resolution.HighACC,{})
  428.  
  429. -- Scourge --
  430. sets.WS.Scourge = {
  431. ammo="Seething Bomblet +1",
  432. head="Sulevia's Mask +1",
  433. body="Sulevia's Plate. +2",
  434. hands="Sulev. Gauntlets +2",
  435. legs="Argosy Breeches",
  436. feet="Sulev. Leggings +2",
  437. neck="Fotia Gorget",
  438. waist="Grunfeld Rope",
  439. left_ear="Brutal Earring",
  440. right_ear="Moonshade Earring",
  441. left_ring="Ifrit Ring",
  442. right_ring="Ifrit Ring",
  443. back={ name="Cichol's Mantle", augments={'STR+30','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}}
  444.  
  445. sets.WS.Scourge.MidACC = set_combine(sets.WS.Scourge,{
  446. left_ear="Telos Earring",
  447. left_ring="Cacoethic Ring +1",
  448. right_ring="Chirich Ring"
  449. })
  450. sets.WS.Scourge.HighACC = set_combine(sets.WS.Scourge.MidACC,{})
  451. sets.WS.Scourge.MaxACC = set_combine(sets.WS.Scourge.HighACC,{})
  452.  
  453. -- Magic Based WS --
  454. sets.WS.Cloudsplitter = {
  455. ammo="Seething Bomblet +1",
  456. head={ name="Jumalik Helm", augments={'MND+10','"Mag.Atk.Bns."+15','Magic burst dmg.+10%','"Refresh"+1',}},
  457. body={ name="Found. Breastplate", augments={'Accuracy+11','Mag. Acc.+10','Attack+10','"Mag.Atk.Bns."+9',}},
  458. hands={ name="Founder's Gauntlets", augments={'STR+10','Attack+15','"Mag.Atk.Bns."+15','Phys. dmg. taken -5%',}},
  459. legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  460. feet={ name="Founder's Greaves", augments={'VIT+10','Accuracy+15','"Mag.Atk.Bns."+15','Mag. Evasion+15',}},
  461. neck="Sanctity Necklace",
  462. waist="Eschan Stone",
  463. left_ear="Friomisi Earring",
  464. right_ear="Hecate's Earring",
  465. left_ring="Shiva Ring",
  466. right_ring="Rufescent Ring",
  467. back="Toro Cape"}
  468.  
  469. sets.WS['Sanguine Blade'] = {
  470. ammo="Seething Bomblet +1",
  471. head={ name="Jumalik Helm", augments={'MND+10','"Mag.Atk.Bns."+15','Magic burst dmg.+10%','"Refresh"+1',}},
  472. body={ name="Found. Breastplate", augments={'Accuracy+11','Mag. Acc.+10','Attack+10','"Mag.Atk.Bns."+9',}},
  473. hands={ name="Founder's Gauntlets", augments={'STR+10','Attack+15','"Mag.Atk.Bns."+15','Phys. dmg. taken -5%',}},
  474. legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  475. feet={ name="Founder's Greaves", augments={'VIT+10','Accuracy+15','"Mag.Atk.Bns."+15','Mag. Evasion+15',}},
  476. neck="Sanctity Necklace",
  477. waist="Eschan Stone",
  478. left_ear="Friomisi Earring",
  479. right_ear="Hecate's Earring",
  480. left_ring="Shiva Ring",
  481. right_ring="Rufescent Ring",
  482. back="Toro Cape"}
  483.  
  484. -- Mighty Strikes WS Set --
  485. sets.MS_WS = {ammo="Yetshila", feet="Boii Calligae +1"}
  486.  
  487. -- JA Sets --
  488. sets.JA = {}
  489. sets.JA.Berserk = {feet="Agoge Calligae +1", body="Pumm. Lorica +2", back="Cichol's Mantle"}
  490. sets.JA.Aggressor = {head="Pummeler's mask +2",body="Agoge Lorica +1"}
  491. sets.JA.["Blood Rage"] = {body="Boii Lorica +1"}
  492. sets.JA.Warcry = {head="Agoge Mask +1"}
  493. sets.JA.Tomahawk = {ammo="Thr. Tomahawk",feet="Agoge Calligae +1"}
  494. sets.JA.["Mighty Strikes"] = {hands="Agoge Mufflers +1"}
  495. sets.JA.Retaliation = {hands="Pummeler's Mufflers +2",feet="Boii Calligae +1"}
  496. sets.JA.["Warrior\'s Charge"] = {legs="Agoge Cuisses +1"}
  497. sets.JA.Restraint = {hands="Boii Mufflers +1"}
  498.  
  499. -- Waltz Set --
  500. sets.Waltz = {}
  501.  
  502. sets.Precast = {}
  503. -- Fastcast Set --
  504. sets.Precast.FastCast = {
  505. ammo="Sapience Orb",
  506. body="Odyssean Chestplate",
  507. hands="Leyline Gloves",
  508. legs={ name="Eschite Cuisses", augments={'"Mag.Atk.Bns."+25','"Conserve MP"+6','"Fast Cast"+5',}},
  509. feet={ name="Odyssean Greaves", augments={'Accuracy+28','"Fast Cast"+1','Attack+13',}},
  510. neck="Baetyl Pendant",
  511. left_ear="Loquac. Earring",
  512. right_ear="Etiolation Earring",
  513. left_ring="Veneficium Ring"}
  514.  
  515. sets.Midcast = {}
  516. -- Magic Haste Set --
  517. sets.Midcast.Haste = set_combine(sets.PDT,{})
  518.  
  519. sets.organizer = {
  520.  
  521. sushi1="sublime Sushi +1",
  522. sushi="sublime Sushi",
  523. Bsushi1="Bream Sushi +1",
  524. Bsushi="Bream Sushi",
  525. DeepF="Deep Fried Shrimp",
  526. Red1="Red Curry Bun +1",
  527. Red="Red Curry Bun",
  528. Cut="Cutlet Sandwich",
  529. Soy="Soy Ramen",
  530. Rem="Remedy",
  531. Pan="Panacea"}
  532.  
  533.  
  534. end
  535.  
  536. function pretarget(spell,action)
  537. if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  538. cancel_spell()
  539. send_command('input /item "Echo Drops" <me>')
  540. elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  541. cancel_spell()
  542. send_command('Aggressor')
  543. elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  544. cancel_spell()
  545. send_command('ThirdEye')
  546. elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 2900 --
  547. cancel_spell()
  548. add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  549. elseif spell.type == 'WeaponSkill' and player.status == 'Engaged' then
  550. if spell.english ~= 'Bora Axe' and spell.name ~= 'Mistral Axe' and spell.target.distance > target_distance then -- Cancel WS If You Are Out Of Range --
  551. cancel_spell()
  552. add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  553. return
  554. end
  555. end
  556. end
  557.  
  558. function precast(spell,action)
  559. if spell.type == "WeaponSkill" then
  560. if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  561. cancel_spell()
  562. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  563. return
  564. else
  565. equipSet = sets.WS
  566. if equipSet[spell.english] then
  567. equipSet = equipSet[spell.english]
  568. end
  569. if Attack == 'ON' then
  570. equipSet = equipSet["ATT"]
  571. end
  572. if equipSet[AccArray[AccIndex]] then
  573. equipSet = equipSet[AccArray[AccIndex]]
  574. end
  575. if elements[spell.name] and elements[spell.name]:contains(world.day_element) then
  576. equipSet = set_combine(equipSet,elements.equip)
  577. end
  578. if buffactive["Mighty Strikes"] then -- Equip MS_WS Set When You Have Mighty Strikes On --
  579. equipSet = set_combine(equipSet,sets.MS_WS)
  580. end
  581. if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  582. equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  583. end
  584. if (spell.english == "Ukko's Fury" or spell.english == "King's Justice") then
  585. if world.time <= (7*60) or world.time >= (17*60) then -- Equip Lugra Earring +1 From Dusk To Dawn --
  586. equipSet = set_combine(equipSet,{ear1="Lugra Earring +1"})
  587. end
  588. end
  589. if spell.english == "Upheaval" then
  590. if world.time <= (7*60) or world.time >= (17*60) then -- Equip Lugra Earring +1 From Dusk To Dawn --
  591. equipSet = set_combine(equipSet,{ear1="Lugra Earring +1"})
  592. end
  593. end
  594. end
  595. equip(equipSet)
  596. elseif spell.type == "JobAbility" then
  597. if sets.JA[spell.english] then
  598. equip(sets.JA[spell.english])
  599. end
  600. elseif spell.action_type == 'Magic' then
  601. if spell.english == 'Utsusemi: Ni' then
  602. if buffactive['Copy Image (3)'] then
  603. cancel_spell()
  604. add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
  605. return
  606. else
  607. equip(sets.Precast.FastCast)
  608. end
  609. else
  610. equip(sets.Precast.FastCast)
  611. end
  612. elseif spell.type == "Waltz" then
  613. refine_waltz(spell,action)
  614. equip(sets.Waltz)
  615. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  616. cast_delay(0.2)
  617. send_command('cancel Sneak')
  618. end
  619. if Twilight == 'Twilight' then
  620. equip(sets.Twilight)
  621. end
  622. end
  623.  
  624. function midcast(spell,action)
  625. if spell.action_type == 'Magic' then
  626. if spell.english:startswith('Utsusemi') then
  627. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then -- Cancel Copy Image 1, 2 & 3 For Utsusemi: Ichi --
  628. send_command('@wait 1.7;cancel Copy Image*')
  629. end
  630. equip(sets.Midcast.Haste)
  631. elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
  632. if buffactive['Sneak'] then
  633. send_command('@wait 1.7;cancel sneak')
  634. end
  635. equip(sets.Midcast.Haste)
  636. else
  637. equip(sets.Midcast.Haste)
  638. end
  639. end
  640. end
  641.  
  642. function aftercast(spell,action)
  643. if not spell.interrupted then
  644. if spell.type == "WeaponSkill" then
  645. send_command('wait 0.2;gs c TP')
  646. elseif spell.english == "Blood Rage" then -- Blood Rage Timer/Countdown --
  647. timer_blood_rage()
  648. send_command('wait 50;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  649. elseif spell.english == "Tomahawk" then -- Tomahawk Timer/Countdown --
  650. timer_tomahawk()
  651. send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Tomahawk";input /echo '..spell.name..': [OFF]')
  652. end
  653. end
  654. status_change(player.status)
  655. end
  656.  
  657. function status_change(new,old)
  658. check_equip_lock()
  659. if Armor == 'PDT' then
  660. equip(sets.PDT)
  661. elseif Armor == 'MDT' then
  662. equip(sets.MDT)
  663. elseif Armor == 'Kiting' then
  664. equip(sets.Kiting)
  665. --[[ elseif Armor == 'CP' then
  666. send_command('gs disable back')]]--
  667. elseif new == 'Engaged' then
  668. equipSet = sets.TP
  669. if Armor == 'Hybrid' and equipSet["Hybrid"] then
  670. equipSet = equipSet["Hybrid"]
  671. end
  672. if equipSet[WeaponArray[WeaponIndex]] then
  673. equipSet = equipSet[WeaponArray[WeaponIndex]]
  674. end
  675. if equipSet[AccArray[AccIndex]] then
  676. equipSet = equipSet[AccArray[AccIndex]]
  677. end
  678. if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  679. if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
  680. equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
  681. else -- Use Rancor Toggle For Atheling Mantle --
  682. equipSet = equipSet["AM3"]
  683. end
  684. end
  685. if buffactive.Aftermath and equipSet["AM"] then
  686. equipSet = equipSet["AM"]
  687. end
  688. if buffactive["Mighty Strikes"] then -- Mighty Strikes TP Set --
  689. equipSet = set_combine(equipSet,sets.TP.MS)
  690. end
  691. if buffactive.Retaliation and Retaliation == 'ON' then -- Use Retaliation Toggle For Retaliation TP Set --
  692. equipSet = set_combine(equipSet,sets.TP.Retaliation)
  693. end
  694. equip(equipSet)
  695. else
  696. equipSet = sets.Idle
  697. if equipSet[IdleArray[IdleIndex]] then
  698. equipSet = equipSet[IdleArray[IdleIndex]]
  699. end
  700. if equipSet[WeaponArray[WeaponIndex]] then
  701. equipSet = equipSet[WeaponArray[WeaponIndex]]
  702. end
  703. if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
  704. equipSet = set_combine(equipSet,{neck="Ygnas's Resolve +1"})
  705. end
  706. equip(equipSet)
  707. end
  708. if Twilight == 'Twilight' then
  709. equip(sets.Twilight)
  710. end
  711. end
  712.  
  713. function buff_change(buff,gain)
  714. buff = string.lower(buff)
  715. if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  716. if gain then
  717. 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.]')
  718. else
  719. send_command('timers delete "Aftermath: Lv.3"')
  720. add_to_chat(123,'AM3: [OFF]')
  721. end
  722. elseif buff == "blood rage" and not gain then
  723. send_command('timers delete "Blood Rage"')
  724. elseif buff == 'weakness' then -- Weakness Timer --
  725. if gain then
  726. send_command('timers create "Weakness" 300 up')
  727. else
  728. send_command('timers delete "Weakness"')
  729. end
  730. end
  731. 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 --
  732. equip({neck="Berserker's Torque"})
  733. else
  734. if not midaction() then
  735. status_change(player.status)
  736. end
  737. end
  738. end
  739.  
  740. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  741. function self_command(command)
  742. if command == 'C1' then -- Accuracy Toggle --
  743. AccIndex = (AccIndex % #AccArray) + 1
  744. add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
  745. status_change(player.status)
  746. elseif command == 'C2' then -- Main Weapon Toggle --
  747. WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  748. add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
  749. status_change(player.status)
  750. elseif command == 'C5' then -- Auto Update Gear Toggle --
  751. status_change(player.status)
  752. add_to_chat(158,'Auto Update Gear')
  753. elseif command == 'C16' then -- Hybrid Toggle --
  754. if Armor == 'Hybrid' then
  755. Armor = 'None'
  756. add_to_chat(123,'Hybrid Set: [Unlocked]')
  757. else
  758. Armor = 'Hybrid'
  759. add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  760. end
  761. status_change(player.status)
  762. elseif command == 'C7' then -- PDT Toggle --
  763. if Armor == 'PDT' then
  764. Armor = 'None'
  765. add_to_chat(123,'PDT Set: [Unlocked]')
  766. else
  767. Armor = 'PDT'
  768. add_to_chat(158,'PDT Set: [Locked]')
  769. end
  770. status_change(player.status)
  771. elseif command == 'C15' then -- MDT Toggle --
  772. if Armor == 'MDT' then
  773. Armor = 'None'
  774. add_to_chat(123,'MDT Set: [Unlocked]')
  775. else
  776. Armor = 'MDT'
  777. add_to_chat(158,'MDT Set: [Locked]')
  778. end
  779. status_change(player.status)
  780. elseif command == 'C12' then -- Kiting Toggle --
  781. if Armor == 'Kiting' then
  782. Armor = 'None'
  783. add_to_chat(123,'Kiting Set: [Unlocked]')
  784. else
  785. Armor = 'Kiting'
  786. add_to_chat(158,'Kiting Set: [Locked]')
  787. end
  788. status_change(player.status)
  789. --[[elseif command == 'C17' then -- CP Back Toggle --
  790. if Armor == 'CP' then
  791. Armor = 'None'
  792. add_to_chat(123,'CP Back Set: [Unlocked]')
  793. send_command('gs enable back')
  794. else
  795. Armor = 'CP'
  796. equipSet = set_combine(equipSet,{back="Mecisto. Mantle"})
  797. add_to_chat(158,'CP Back Set: [Locked]')
  798. end
  799. status_change(player.status)]]--
  800. elseif command == 'C10' then -- Retaliation Toggle --
  801. if Retaliation == 'ON' then
  802. Retaliation = 'OFF'
  803. add_to_chat(123,'Retaliation Set: [Unlocked]')
  804. else
  805. Retaliation = 'ON'
  806. add_to_chat(158,'Retaliation Set: [Locked]')
  807. end
  808. status_change(player.status)
  809. elseif command == 'C9' then -- Attack Toggle --
  810. if Attack == 'ON' then
  811. Attack = 'OFF'
  812. add_to_chat(123,'Attack: [OFF]')
  813. else
  814. Attack = 'ON'
  815. add_to_chat(158,'Attack: [ON]')
  816. end
  817. status_change(player.status)
  818. elseif command == 'C3' then -- Twilight Toggle --
  819. if Twilight == 'Twilight' then
  820. Twilight = 'None'
  821. add_to_chat(123,'Twilight Set: [Unlocked]')
  822. else
  823. Twilight = 'Twilight'
  824. add_to_chat(158,'Twilight Set: [locked]')
  825. end
  826. status_change(player.status)
  827. elseif command == 'C6' then -- Idle Toggle --
  828. IdleIndex = (IdleIndex % #IdleArray) + 1
  829. add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
  830. status_change(player.status)
  831. elseif command == 'TP' then
  832. add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  833. elseif command:match('^SC%d$') then
  834. send_command('//' .. sc_map[command])
  835. end
  836. end
  837.  
  838.  
  839. function check_equip_lock() -- Lock Equipment Here --
  840. 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
  841. disable('ring1','ring2')
  842. elseif player.equipment.back == "Mecisto. Mantle" or player.equipment.back == "Aptitude Mantle +1" or player.equipment.back == "Aptitude Mantle" then
  843. disable('back')
  844. else
  845. enable('ring1','ring2','back')
  846. end
  847. end
  848.  
  849.  
  850. function timer_blood_rage()
  851. local duration = 60
  852. send_command('timers create "Blood Rage" '..tostring(duration)..' down')
  853. end
  854.  
  855. function timer_tomahawk()
  856. local duration = 90
  857. send_command('timers create "Tomahawk" '..tostring(duration)..' down')
  858. end
  859.  
  860. function refine_waltz(spell,action)
  861. if spell.type ~= 'Waltz' then
  862. return
  863. end
  864.  
  865. if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
  866. return
  867. end
  868.  
  869. local newWaltz = spell.english
  870. local waltzID
  871.  
  872. local missingHP
  873.  
  874. if spell.target.type == "SELF" then
  875. missingHP = player.max_hp - player.hp
  876. elseif spell.target.isallymember then
  877. local target = find_player_in_alliance(spell.target.name)
  878. local est_max_hp = target.hp / (target.hpp/100)
  879. missingHP = math.floor(est_max_hp - target.hp)
  880. end
  881.  
  882. if missingHP ~= nil then
  883. if player.sub_job == 'DNC' then
  884. if missingHP < 40 and spell.target.name == player.name then
  885. add_to_chat(8,'Full HP!')
  886. cancel_spell()
  887. return
  888. elseif missingHP < 150 then
  889. newWaltz = 'Curing Waltz'
  890. waltzID = 190
  891. elseif missingHP < 300 then
  892. newWaltz = 'Curing Waltz II'
  893. waltzID = 191
  894. else
  895. newWaltz = 'Curing Waltz III'
  896. waltzID = 192
  897. end
  898. else
  899. return
  900. end
  901. end
  902.  
  903. local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50}
  904. local tpCost = waltzTPCost[newWaltz]
  905.  
  906. local downgrade
  907.  
  908. if player.tp < tpCost and not buffactive.trance then
  909.  
  910. if player.tp < 20 then
  911. add_to_chat(8, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  912. cancel_spell()
  913. return
  914. elseif player.tp < 35 then
  915. newWaltz = 'Curing Waltz'
  916. elseif player.tp < 50 then
  917. newWaltz = 'Curing Waltz II'
  918. end
  919.  
  920. downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  921. end
  922.  
  923. if newWaltz ~= spell.english then
  924. send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  925. if downgrade then
  926. add_to_chat(158, downgrade)
  927. end
  928. cancel_spell()
  929. return
  930. end
  931.  
  932. if missingHP > 0 then
  933. add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  934. end
  935. end
  936.  
  937. function find_player_in_alliance(name)
  938. for i,v in ipairs(alliance) do
  939. for k,p in ipairs(v) do
  940. if p.name == name then
  941. return p
  942. end
  943. end
  944. end
  945. end
  946.  
  947. function sub_job_change(newSubjob, oldSubjob)
  948. select_default_macro_book()
  949. end
  950.  
  951. function set_macro_page(set,book)
  952. if not tonumber(set) then
  953. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  954. return
  955. end
  956. if set < 1 or set > 10 then
  957. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  958. return
  959. end
  960.  
  961. if book then
  962. if not tonumber(book) then
  963. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  964. return
  965. end
  966. if book < 1 or book > 20 then
  967. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  968. return
  969. end
  970. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  971. else
  972. send_command('@input /macro set '..tostring(set))
  973. end
  974. end
  975.  
  976. function select_default_macro_book()
  977. -- Default macro set/book
  978. if player.sub_job == 'SAM' then
  979. set_macro_page(1, 5)
  980. elseif player.sub_job == 'NIN' then
  981. set_macro_page(2, 5)
  982. elseif player.sub_job == 'BLU' then
  983. set_macro_page(3, 5)
  984. elseif player.sub_job == 'DNC' then
  985. set_macro_page(4, 5)
  986. else
  987. set_macro_page(5, 5)
  988. end
  989. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement