Advertisement
BenWagner

SAM(GS)

Jun 27th, 2014
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.23 KB | None | 0 0
  1.  
  2.  
  3. -- *** Credit goes to Flippant for helping me with Gearswap *** --
  4. -- ** I Use Motenten's Macro Book Function ** --
  5. -- Last Updated: 05/02/14 8:00 PM *Added RA Sets* --
  6.  
  7. function get_sets()
  8. AccIndex = 1
  9. AccArray = {"LowACC","MidACC","HighACC","Lentus"} -- 3 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. Can Delete Lentus If You Don't Need It. --
  10. WeaponIndex = 1
  11. WeaponArray = {"Kogarasumaru","Tsurumaru","Amanomurakumo","Masamune","Lentus"} -- Default TP Set Is Kogarasumaru. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
  12. IdleIndex = 1
  13. IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
  14. Armor = 'None'
  15. Twilight = 'None'
  16. warning = false
  17. Attack = 'ON' -- Set Default Attack Set ON or OFF Here --
  18. Seigan = 'ON' -- Set Default Seigan Set ON or OFF Here --
  19. Third_Eye = 'ON' -- Set Default Third Eye Set ON or OFF Here --
  20. Samurai_Roll = 'OFF' -- Set Default SAM Roll ON or OFF Here --
  21. ammo_warning_limit = 10 -- Set Ammo Limit Check Here --
  22. target_distance = 5.2 -- Set Default Distance Here --
  23. select_default_macro_book() -- Change Default Macro Book At The End --
  24.  
  25. sc_map = {SC1="TachiFudo", SC2="TachiRana", SC3="NamasArrow"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  26.  
  27. include('organizer-lib')
  28.  
  29. sets.Idle = {}
  30. -- Idle/Town Sets --
  31. sets.Idle.Regen = {
  32. head="Twilight Helm",
  33. neck="Wiglen Gorget",
  34. ear1="Dawn Earring",
  35. ear2="Infused Earring",
  36. body="Kumarbi's Akar",
  37. hands="Crusher Gauntlets",
  38. ring1="Sheltered Ring",
  39. ring2="Paguroidea Ring",
  40. back="Scuta Cape",
  41. waist="Flume Belt +1",
  42. legs="Rao Haidate",
  43. feet="Danzo Sune-Ate"}
  44. sets.Idle.Regen.Kogarasumaru = set_combine(sets.Idle.Regen,{
  45. main="Kogarasumaru",
  46. sub="Bloodrain Strap",
  47. range="Cibitshavore",
  48. ammo="Eminent Arrow"})
  49. sets.Idle.Regen.Tsurumaru = set_combine(sets.Idle.Regen,{
  50. main="Tsurumaru",
  51. range="Yoichinoyumi",
  52. ammo="Eminent Arrow"})
  53. sets.Idle.Regen.Amanomurakumo = set_combine(sets.Idle.Regen,{
  54. main="Amanomurakumo",
  55. sub="Bloodrain strap",
  56. range="Cibitshavore",
  57. ammo="Eminent Arrow"})
  58. sets.Idle.Regen.Masamune = set_combine(sets.Idle.Regen,{
  59. main="",
  60. sub="Duplus Grip",
  61. range="Cibitshavore",
  62. ammo="Tulfaire Arrow"})
  63. sets.Idle.Regen.Lentus = set_combine(sets.Idle.Regen,{
  64. range="Cibitshavore",
  65. ammo="Tulfaire Arrow"})
  66.  
  67. sets.Idle.Movement = set_combine(sets.Idle.Regen,{
  68. head="Loess Barbuta +1",
  69. legs="Hachiryu Haidate",
  70. neck="Da. Nodowa +1",
  71. hands="Crusher Gauntlets",
  72. waist="Metalsinger Belt",
  73. ear1="Zwazo earring",
  74. ear2="Zwazo earring +1",
  75. body="Mes. Haubergeon",
  76. ring1="Ifrit Ring +1",
  77. ring2="Ifrit Ring +1",
  78. back="Takaha Mantle"})
  79.  
  80. sets.Idle.Movement.Kogarasumaru = set_combine(sets.Idle.Movement,{
  81. main="Kogarasumaru",
  82. sub="Bloodrain strap",
  83. ammo="Eminent Arrow"})
  84. sets.Idle.Movement.Tsurumaru = set_combine(sets.Idle.Movement,{
  85. main="Tsurumaru",
  86. range="Yoichinoyumi",
  87. ammo="Eminent Arrow"})
  88. sets.Idle.Movement.Amanomurakumo = set_combine(sets.Idle.Movement,{
  89. main="Amanomurakumo",
  90. sub="Bloodrain strap",
  91. range="Cibitshavore",
  92. ammo="Eminent Arrow"})
  93. sets.Idle.Movement.Masamune = set_combine(sets.Idle.Movement,{
  94. main="Murasamemaru",
  95. sub="Duplus Grip",
  96. range="Cibitshavore",
  97. ammo="Eminent Arrow"})
  98. sets.Idle.Movement.Lentus = set_combine(sets.Idle.Movement,{
  99. main="",
  100. sub="",
  101. range="Cibitshavore",
  102. ammo="Tulfaire Arrow"})
  103.  
  104. sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
  105.  
  106. -- Preshot Set --
  107. sets.Preshot = {}
  108.  
  109. -- Midshot Sets --
  110. sets.Midshot = { head="Sakonji Kabuto +1",
  111. body="Kyujutsugi",
  112. ring1="Hajduk Ring +1",
  113. ring2="Hajduk Ring +1",
  114. ear1="Altdorf's earring",
  115. ear2="Wilhelm's earring",
  116. feet="Waki. Sune-ate +1",
  117. legs="Wakido Haidate +1",
  118. neck="Iqabi necklace",
  119. hands="Kasuga Kote +1",
  120. back="Thall Mantle"}
  121. sets.Midshot.MidACC = set_combine(sets.Midshot,{})
  122. sets.Midshot.HighACC = set_combine(sets.Midshot.MidACC,{})
  123.  
  124. -- TP Base Set --
  125. sets.TP = {
  126. head="Acro helm",
  127. neck="Ganesha's Mala",
  128. ear1="Steelflash earring",
  129. ear2="Bladeborn Earring",
  130. body="Kasuga Domaru +1",
  131. hands="Acro Gauntlets",
  132. ring1="Petrov ring",
  133. ring2="Rajas Ring",
  134. back="Bleating Mantle",
  135. waist="Windbuffet Belt +1",
  136. legs="Kasuga Haidate +1",
  137. feet="Sak. Sune-ate +1"}
  138.  
  139. -- Kogarasumaru(AM3 Down) TP Sets --
  140. sets.TP.Kogarasumaru = {
  141. main="Kogarasumaru",
  142. sub="Bloodrain Strap",
  143. range="Cibitshavore",
  144. ammo="Tulfaire Arrow",
  145. head="Acro Helm",
  146. neck="Ganesha's Mala",
  147. ear1="Trux Earring",
  148. ear2="Brutal earring",
  149. body="Kasuga Domaru +1",
  150. hands="Acro gauntlets",
  151. ring1="Petrov Ring",
  152. ring2="Rajas Ring",
  153. back="Takaha Mantle",
  154. waist="Windbuffet Belt +1",
  155. legs="Kasuga Haidate +1",
  156. feet="Acro leggings"}
  157. sets.TP.Kogarasumaru.MidACC = set_combine(sets.TP.Kogarasumaru,{
  158. head="Yaoyotl Helm",
  159. neck="Da. Nodowa +1",
  160. ear2="Zennaroi Earring",
  161. ear1="Zwazo Earring +1",
  162. waist="Olseni Belt",
  163. feet="Acro leggings",
  164. back="Takaha Mantle"})
  165. sets.TP.Kogarasumaru.HighACC = set_combine(sets.TP.Kogarasumaru.MidACC,{
  166. neck="Subtlety Spec.",
  167. head="Gavialis Helm",
  168. waist="Olseni Belt",
  169. ear2="Zennaroi Earring",
  170. ring1="Ramuh Ring +1",
  171. ring2="Ramuh Ring +1"})
  172.  
  173. -- Kogarasumaru(AM3 Up) TP Sets --
  174. sets.TP.Kogarasumaru.AM3 = set_combine(sets.TP.Kogarasumaru,{
  175. head="Acro helm",
  176. ear1="Tripudio Earring",
  177. ear2="Enervating Earring",
  178. feet="Sak. Sune-ate +1",
  179. back="Takaha Mantle"})
  180. sets.TP.Kogarasumaru.MidACC.AM3 = set_combine(sets.TP.Kogarasumaru.AM3,{
  181. ear2="Zennaroi earring",
  182. neck="Da. Nodowa +1",
  183. feet="Acro Leggings",
  184. ear1="Zwazo Earring +1",
  185. head="Yaoyotl Helm",
  186. waist="Olseni Belt",
  187. back="Takaha Mantle"})
  188. sets.TP.Kogarasumaru.HighACC.AM3 = set_combine(sets.TP.Kogarasumaru.MidACC.AM3,{
  189. neck="Iqabi Necklace",
  190. ring1="Ramuh ring +1",
  191. head="Gavialis Helm",
  192. neck="subtlety spec.",
  193. ring2="Ramuh Ring +1",
  194. waist="Olseni Belt",
  195. ear2="Zennaroi earring"})
  196.  
  197. -- Kogarasumaru(AM3 Down: Ionis) TP Sets --
  198. sets.TP.Kogarasumaru.Ionis = set_combine(sets.TP.Kogarasumaru,{})
  199. sets.TP.Kogarasumaru.MidACC.Ionis = set_combine(sets.TP.Kogarasumaru.MidACC,{})
  200. sets.TP.Kogarasumaru.HighACC.Ionis = set_combine(sets.TP.Kogarasumaru.HighACC,{})
  201.  
  202. -- Kogarasumaru(AM3 Up: Ionis) TP Sets --
  203. sets.TP.Kogarasumaru.AM3.Ionis = set_combine(sets.TP.Kogarasumaru.AM3,{})
  204. sets.TP.Kogarasumaru.MidACC.AM3.Ionis = set_combine(sets.TP.Kogarasumaru.MidACC.AM3,{})
  205. sets.TP.Kogarasumaru.HighACC.AM3.Ionis = set_combine(sets.TP.Kogarasumaru.HighACC.AM3,{})
  206.  
  207. -- Kogarasumaru(AM3 Down: SAM Roll) TP Sets --
  208. sets.TP.Kogarasumaru.STP = set_combine(sets.TP.Kogarasumaru,{
  209. head="Sakonji Kabuto +1",
  210. ear1="Tripudio Earring",
  211. ear2="Neritic Earring",
  212. back="Takaha Mantle",
  213. waist="Goading Belt"})
  214. sets.TP.Kogarasumaru.MidACC.STP = set_combine(sets.TP.Kogarasumaru.STP,{
  215. head="Yaoyotl Helm",
  216. feet="Sak. Sune-Ate +1"})
  217. sets.TP.Kogarasumaru.HighACC.STP = set_combine(sets.TP.Kogarasumaru.MidACC.STP,{
  218. neck="Iqabi Necklace",
  219. ear1="Steelflash Earring",
  220. ear2="Bladeborn Earring",
  221. body="Mes. Haubergeon",
  222. ring1="Mars's Ring",
  223. waist="Dynamic Belt +1",
  224. legs="Xaddi Cuisses"})
  225.  
  226. -- Kogarasumaru(AM3 Up: SAM Roll) TP Sets --
  227. sets.TP.Kogarasumaru.AM3.STP = set_combine(sets.TP.Kogarasumaru.STP,{})
  228. sets.TP.Kogarasumaru.MidACC.AM3.STP = set_combine(sets.TP.Kogarasumaru.MidACC.STP,{})
  229. sets.TP.Kogarasumaru.HighACC.AM3.STP = set_combine(sets.TP.Kogarasumaru.HighACC.STP,{})
  230.  
  231. -- Kogarasumaru(AM3 Down: Ionis + SAM Roll) TP Sets --
  232. sets.TP.Kogarasumaru.Ionis.STP = set_combine(sets.TP.Kogarasumaru.STP,{})
  233. sets.TP.Kogarasumaru.MidACC.Ionis.STP = set_combine(sets.TP.Kogarasumaru.MidACC.STP,{})
  234. sets.TP.Kogarasumaru.HighACC.Ionis.STP = set_combine(sets.TP.Kogarasumaru.HighACC.STP,{})
  235.  
  236. -- Kogarasumaru(AM3 Up: Ionis + SAM Roll) TP Sets --
  237. sets.TP.Kogarasumaru.AM3.Ionis.STP = set_combine(sets.TP.Kogarasumaru.AM3.STP,{})
  238. sets.TP.Kogarasumaru.MidACC.AM3.Ionis.STP = set_combine(sets.TP.Kogarasumaru.MidACC.AM3.STP,{})
  239. sets.TP.Kogarasumaru.HighACC.AM3.Ionis.STP = set_combine(sets.TP.Kogarasumaru.HighACC.AM3.STP,{})
  240.  
  241. -- Kogarasumaru(4 Hits) TP Set --
  242. sets.TP.Kogarasumaru.Lentus = {
  243. main="Kogarasumaru",
  244. sub="Lentus Grip",
  245. range="Cibitshavore",
  246. ammo="Eminent Arrow",
  247. head="Kasuga Kabuto +1",
  248. neck="Ganesha's Mala",
  249. ear1="Tripudio Earring",
  250. ear2="Enervating Earring",
  251. body="Kasuga Domaru +1",
  252. hands="Acro Gauntlets",
  253. ring1="Petrov Ring",
  254. ring2="Rajas Ring",
  255. back="Takaha Mantle",
  256. waist="Goading Belt",
  257. legs="Kasuga Haidate +1",
  258. feet="Sak. Sune-ate +1"}
  259.  
  260. -- Tsurumaru TP Sets --
  261. sets.TP.Tsurumaru = {
  262. main="Tsurumaru",
  263. range="Yoichinoyumi",
  264. ammo="Eminent Arrow",
  265. head="Acro Helm",
  266. neck="Ganesha's Mala",
  267. ear1="Trux earring",
  268. ear2="Brutal Earring",
  269. body="Kasuga Domaru +1",
  270. hands="Acro Gauntlets",
  271. ring1="Petrov Ring",
  272. ring2="Rajas Ring",
  273. back="Takaha Mantle",
  274. waist="Windbuffet Belt +1",
  275. legs="Kasuga Haidate +1",
  276. feet="Acro Leggings"}
  277. sets.TP.Tsurumaru.MidACC = set_combine(sets.TP.Tsurumaru,{
  278. head="Yaoyotl Helm",
  279. ear2="Steelflash Earring",
  280. ear1="Zennaroi Earring",
  281. feet="Acro leggings",
  282. ring1="Ramuh Ring +1",
  283. back="Takaha Mantle"})
  284. sets.TP.Tsurumaru.HighACC = set_combine(sets.TP.Tsurumaru.MidACC,{
  285. neck="Sublety Spec.",
  286. ear2="Zennaroi earring",
  287. ring2="Ramuh Ring +1",
  288. back="Ground. Mantle +1",
  289. waist="Olseni Belt",
  290. legs="Wukong's Haka. +1",
  291. feet="Acro Leggings"})
  292.  
  293. -- Tsurumaru(Ionis) TP Sets --
  294. sets.TP.Tsurumaru.Ionis = set_combine(sets.TP.Tsurumaru,{
  295. range="Yoichinoyumi",
  296. back="Bleating Mantle"})
  297. sets.TP.Tsurumaru.MidACC.Ionis = set_combine(sets.TP.Tsurumaru.Ionis,{
  298. head="Yaoyotl Helm",
  299. neck="Iqabi Necklace",
  300. ear2="Steelflash Earring",
  301. ear1="Zennaroi earring",
  302. waist="Olseni Belt"})
  303. sets.TP.Tsurumaru.HighACC.Ionis = set_combine(sets.TP.Tsurumaru.MidACC.Ionis,{
  304. body="Mes. Haubergeon",
  305. ring1="Ramuh Ring +1",
  306. back="Ground. Mantle +1",
  307. ring2="Ramuh Ring +1",
  308. feet="Acro leggings"})
  309.  
  310. -- Tsurumaru(SAM Roll) TP Sets --
  311. sets.TP.Tsurumaru.STP = set_combine(sets.TP.Tsurumaru,{})
  312. sets.TP.Tsurumaru.MidACC.STP = set_combine(sets.TP.Tsurumaru.MidACC,{})
  313. sets.TP.Tsurumaru.HighACC.STP = set_combine(sets.TP.Tsurumaru.HighACC,{})
  314.  
  315. -- Tsurumaru(Ionis + SAM Roll) TP Sets --
  316. sets.TP.Tsurumaru.Ionis.STP = set_combine(sets.TP.Tsurumaru.Ionis,{
  317. ear1="Tripudio Earring",
  318. ear2="Brutal Earring"})
  319. sets.TP.Tsurumaru.MidACC.Ionis.STP = set_combine(sets.TP.Tsurumaru.Ionis.STP,{
  320. head="Yaoyotl Helm",
  321. neck="Iqabi Necklace",
  322. ear1="Steelflash Earring",
  323. ear2="Bladeborn Earring",
  324. ring1="Mars's Ring",
  325. back="Takaha Mantle",
  326. waist="Olseni Belt"})
  327. sets.TP.Tsurumaru.HighACC.Ionis.STP = set_combine(sets.TP.Tsurumaru.MidACC.Ionis.STP,{
  328. feet="Sak. Sune-Ate +1"})
  329.  
  330. -- Tsurumaru Lentus Set --
  331. sets.TP.Tsurumaru.Lentus = {
  332. main="Tsurumaru",
  333. sub="Lentus Grip"}
  334.  
  335. -- Amanomurakumo(AM Down) TP Sets --
  336. sets.TP.Amanomurakumo = {
  337. main="Amanomurakumo",
  338. sub="Bloodrain strap",
  339. range="Cibitshavore",
  340. ammo="Eminent Arrow",
  341. head="Sakonji Kabuto +1",
  342. neck="Ganesha's Mala",
  343. ear1="Tripudio Earring",
  344. ear2="Brutal Earring",
  345. body="",
  346. hands="Wakido Kote +1",
  347. ring1="K'ayres Ring",
  348. ring2="Rajas Ring",
  349. back="Takaha Mantle",
  350. waist="Windbuffet Belt +1",
  351. legs="Otronif Brais +1",
  352. feet="Otronif Boots +1"}
  353. sets.TP.Amanomurakumo.MidACC = set_combine(sets.TP.Amanomurakumo,{
  354. head="Yaoyotl Helm",
  355. ear2="Zennaroi Earring",
  356. back="Takaha Mantle",
  357. neck="Iqabi Necklace",
  358. waist="Olseni Belt"})
  359. sets.TP.Amanomurakumo.HighACC = set_combine(sets.TP.Amanomurakumo.MidACC,{
  360. neck="Iqabi Necklace",
  361. legs="Wukong's Haka. +1",
  362. head="Gavialis Helm",
  363. body="Mes. Haubergeon",
  364. ear1="Steelflash earring",
  365. ring1="Ramuh Ring +1",
  366. ring2="Ramuh ring +1",
  367. feet="Xaddi boots"})
  368.  
  369. -- Amanomurakumo(AM Up) TP Sets --
  370. sets.TP.Amanomurakumo.AM = set_combine(sets.TP.Amanomurakumo,{})
  371. sets.TP.Amanomurakumo.MidACC.AM = set_combine(sets.TP.Amanomurakumo.AM,{})
  372. sets.TP.Amanomurakumo.HighACC.AM = set_combine(sets.TP.Amanomurakumo.MidACC.AM,{})
  373.  
  374. -- Amanomurakumo(AM Down: Ionis) TP Sets --
  375. sets.TP.Amanomurakumo.Ionis = set_combine(sets.TP.Amanomurakumo,{})
  376. sets.TP.Amanomurakumo.MidACC.Ionis = set_combine(sets.TP.Amanomurakumo.Ionis,{})
  377. sets.TP.Amanomurakumo.HighACC.Ionis = set_combine(sets.TP.Amanomurakumo.MidACC.Ionis,{})
  378.  
  379. -- Amanomurakumo(AM Up: Ionis) TP Sets --
  380. sets.TP.Amanomurakumo.AM.Ionis = set_combine(sets.TP.Amanomurakumo.AM,{})
  381. sets.TP.Amanomurakumo.MidACC.AM.Ionis = set_combine(sets.TP.Amanomurakumo.AM.Ionis,{})
  382. sets.TP.Amanomurakumo.HighACC.AM.Ionis = set_combine(sets.TP.Amanomurakumo.MidACC.AM.Ionis,{})
  383.  
  384. -- Amanomurakumo(AM Down: SAM Roll) TP Sets --
  385. sets.TP.Amanomurakumo.STP = set_combine(sets.TP.Amanomurakumo,{})
  386. sets.TP.Amanomurakumo.MidACC.STP = set_combine(sets.TP.Amanomurakumo.MidACC,{})
  387. sets.TP.Amanomurakumo.HighACC.STP = set_combine(sets.TP.Amanomurakumo.HighACC,{})
  388.  
  389. -- Amanomurakumo(AM Up: SAM Roll) TP Sets --
  390. sets.TP.Amanomurakumo.AM.STP = set_combine(sets.TP.Amanomurakumo.STP,{})
  391. sets.TP.Amanomurakumo.MidACC.AM.STP = set_combine(sets.TP.Amanomurakumo.MidACC.STP,{})
  392. sets.TP.Amanomurakumo.HighACC.AM.STP = set_combine(sets.TP.Amanomurakumo.HighACC.STP,{})
  393.  
  394. -- Amanomurakumo(AM Down: Ionis + SAM Roll) TP Sets --
  395. sets.TP.Amanomurakumo.Ionis.STP = set_combine(sets.TP.Amanomurakumo.STP,{})
  396. sets.TP.Amanomurakumo.MidACC.Ionis.STP = set_combine(sets.TP.Amanomurakumo.MidACC.STP,{})
  397. sets.TP.Amanomurakumo.HighACC.Ionis.STP = set_combine(sets.TP.Amanomurakumo.HighACC.STP,{})
  398.  
  399. -- Amanomurakumo(AM Up: Ionis + SAM Roll) TP Sets --
  400. sets.TP.Amanomurakumo.AM.Ionis.STP = set_combine(sets.TP.Amanomurakumo.AM.STP,{})
  401. sets.TP.Amanomurakumo.MidACC.AM.Ionis.STP = set_combine(sets.TP.Amanomurakumo.MidACC.AM.STP,{})
  402. sets.TP.Amanomurakumo.HighACC.AM.Ionis.STP = set_combine(sets.TP.Amanomurakumo.HighACC.AM.STP,{})
  403.  
  404. -- Amanomurakumo Lentus Set --
  405. sets.TP.Amanomurakumo.Lentus = {
  406. main="Amanomurakumo",
  407. sub="Lentus Grip"}
  408.  
  409. -- Masamune TP Sets --
  410. sets.TP.Masamune = {
  411. main="Murasamemaru",
  412. sub="Duplus Grip",
  413. range="Cibitshavore",
  414. ammo="Eminent Arrow",
  415. head="Otomi Helm",
  416. neck="Ganesha's Mala",
  417. ear1="Bladeborn Earring",
  418. ear2="Steelflash Earring",
  419. body="Kasuga Domaru +1",
  420. hands="Acro Gauntlets",
  421. ring1="K'ayres Ring",
  422. ring2="Rajas Ring",
  423. back="Bleating Mantle",
  424. waist="Windbuffet Belt +1",
  425. legs="Kasuga Haidate +1",
  426. feet="Sak. Sune-ate +1"}
  427. sets.TP.Masamune.MidACC = set_combine(sets.TP.Masamune,{
  428. head="Yaoyotl Helm",
  429. ear1="Steelflash Earring",
  430. ear2="Bladeborn Earring",
  431. back="Takaha Mantle",
  432. waist="Dynamic Belt +1"})
  433. sets.TP.Masamune.HighACC = set_combine(sets.TP.Masamune.MidACC,{
  434. neck="Iqabi Necklace",
  435. body="Mes. Haubergeon",
  436. ring1="Mars's Ring",
  437. feet="Waki. Sune-Ate +1"})
  438.  
  439. -- Masamune(Ionis) TP Sets --
  440. sets.TP.Masamune.Ionis = set_combine(sets.TP.Masamune,{})
  441. sets.TP.Masamune.MidACC.Ionis = set_combine(sets.TP.Masamune.Ionis,{})
  442. sets.TP.Masamune.HighACC.Ionis = set_combine(sets.TP.Masamune.MidACC.Ionis,{})
  443.  
  444. -- Masamune(SAM Roll) TP Sets --
  445. sets.TP.Masamune.STP = set_combine(sets.TP.Masamune,{})
  446. sets.TP.Masamune.MidACC.STP = set_combine(sets.TP.Masamune.MidACC,{})
  447. sets.TP.Masamune.HighACC.STP = set_combine(sets.TP.Masamune.HighACC,{})
  448.  
  449. -- Masamune(Ionis + SAM Roll) TP Sets --
  450. sets.TP.Masamune.Ionis.STP = set_combine(sets.TP.Masamune.Ionis,{})
  451. sets.TP.Masamune.MidACC.Ionis.STP = set_combine(sets.TP.Masamune.Ionis.STP,{})
  452. sets.TP.Masamune.HighACC.Ionis.STP = set_combine(sets.TP.Masamune.MidACC.Ionis.STP,{})
  453.  
  454. -- Masamune Lentus Set --
  455. sets.TP.Masamune.Lentus = {
  456. main="Masamune",
  457. sub="Lentus Grip"}
  458.  
  459. -- Seigan TP Set --
  460. sets.TP.Seigan = {head="Kasuga Kabuto +1",
  461. legs="Sakonji Haidate +1"}
  462.  
  463. -- Third Eye TP Set --
  464. sets.TP['Third Eye'] = {legs="Sakonji Haidate +1"}
  465.  
  466. -- PDT/MDT Sets --
  467. sets.PDT = {
  468. head="Genmei Kabuto",
  469. neck="Loricate Collar +1",
  470. ear1="Genmei earring",
  471. ear2="Brutal Earring",
  472. body="Chozor. coselete",
  473. hands="Crusher Gauntlets",
  474. ring1="Vocane Ring",
  475. ring2="Defending Ring",
  476. back="Xucau Mantle",
  477. waist="Flume Belt +1",
  478. legs="Kasuga Haidate +1",
  479. feet="Xaddi Boots"}
  480.  
  481. sets.MDT = set_combine(sets.PDT,{
  482. head="Ptica Headgear",
  483. neck="Warder's charm +1",
  484. ear1="Spellbr. Earring",
  485. ear2="Sanare Earring",
  486. body="Chozor. coselete",
  487. legs="Osmium Cuisses",
  488. hands="Buremte Gloves",
  489. feet="Daihanshi habaki",
  490. ring1="Shadow Ring",
  491. back="Engulfer Cape +1",
  492. waist="Flax Sash"})
  493.  
  494. -- Hybrid Sets --
  495. sets.TP.Hybrid = set_combine(sets.PDT,{
  496. ear1="Steelflash Earring",
  497. body="Mes. Haubergeon",
  498. head="Otomi Helm",
  499. hands="Wakido Kote +1",
  500. ear2="Bladeborn Earring",
  501. waist="Windbuffet Belt +1",
  502. legs="Otronif Brais +1",
  503. feet="Otronif Boots +1",
  504. neck="Ganesha's Mala",
  505. back="Mollusca Mantle"})
  506. sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{
  507. head="Yaoyotl Helm",
  508. ear1="Steelflash Earring",
  509. waist="Olseni Belt",
  510. neck="Da. Nodowa +1",
  511. ear2="Bladeborn Earring",
  512. hands="Wakido Kote +1"})
  513. sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{
  514. neck="Iqabi Necklace",
  515. ear2="Zennaroi earring",
  516. body="Mes. Haubergeon"})
  517.  
  518. -- WS Base Set --
  519. sets.WS = {
  520. head="Gavialis Helm",
  521. neck="Ganesha's Mala",
  522. ear1="Zwazo Earring +1",
  523. ear2="Moonshade Earring",
  524. body="Phorcys Korazin",
  525. hands="Boor Bracelets",
  526. ring1="Ifrit Ring +1",
  527. ring2="Ifrit Ring +1",
  528. back="Buquwik Cape",
  529. waist="Metalsinger Belt",
  530. legs="Scuff. Cosciales",
  531. feet="Sak. Sune-Ate +1"}
  532.  
  533. -- Tachi: Fudo Sets --
  534. sets.WS["Tachi: Fudo"] = {
  535. head="Gavialis Helm",
  536. neck="Fotia Gorget",
  537. ear2="Moonshade Earring",
  538. ear1="Zwazo Earring +1",
  539. body="Phorcys Korazin",
  540. hands="Boor Bracelets",
  541. ring1="Ifrit Ring +1",
  542. ring2="Ifrit Ring +1",
  543. back="Buquwik Cape",
  544. waist="Metalsinger belt",
  545. legs="Rao Haidate",
  546. feet="Sak. Sune-Ate +1"}
  547. sets.WS["Tachi: Fudo"].MidACC = set_combine(sets.WS["Tachi: Fudo"],{
  548. head="Gavialis Helm",
  549. legs="Acro Breeches",
  550. waist="Fotia Belt",
  551. hands="Acro Gauntlets"})
  552. sets.WS["Tachi: Fudo"].HighACC = set_combine(sets.WS["Tachi: Fudo"].MidACC,{
  553. back="Takaha Mantle",
  554. ear2="Zennaroi earring",
  555. legs="Acro Breeches",
  556. body="Mes. Haubergeon",
  557. waist="Olseni Belt",
  558. feet="Acro Leggings"})
  559.  
  560. -- Tachi: Fudo(4 Hits) Set --
  561. sets.WS["Tachi: Fudo"].Lentus = set_combine(sets.WS["Tachi: Fudo"],{
  562. ring2="Ifrit Ring +1"})
  563.  
  564. -- Tachi: Fudo(SAM Roll) Sets --
  565. sets.WS["Tachi: Fudo"].STP = set_combine(sets.WS["Tachi: Fudo"],{})
  566. sets.WS["Tachi: Fudo"].MidACC.STP = set_combine(sets.WS["Tachi: Fudo"].MidACC,{})
  567. sets.WS["Tachi: Fudo"].HighACC.STP = set_combine(sets.WS["Tachi: Fudo"].HighACC,{})
  568.  
  569. -- Tachi: Fudo(Attack) Set --
  570. sets.WS["Tachi: Fudo"].ATT = set_combine(sets.WS["Tachi: Fudo"],{
  571. waist="Prosilio Belt +1",
  572. hands="Founder's Gauntlets"})
  573.  
  574. -- Tachi: Kasha Sets --
  575. sets.WS["Tachi: Kasha"] = {
  576. head="Gavialis Helm",
  577. neck="Fotia Gorget",
  578. ear2="Moonshade Earring",
  579. ear1="Zwazo earring +1",
  580. body="Phorcys Korazin",
  581. hands="Boor Bracelets",
  582. ring1="Ifrit Ring +1",
  583. ring2="Ifrit Ring +1",
  584. back="Buquwik Cape",
  585. waist="Metalsinger belt",
  586. legs="Rao Haidate",
  587. feet="Sak. Sune-Ate +1"}
  588. sets.WS["Tachi: Kasha"].MidACC = set_combine(sets.WS["Tachi: Kasha"],{
  589. head="Gavialis Helm",
  590. waist="Olseni Belt",
  591. hands="Acro Gauntlets"})
  592. sets.WS["Tachi: Kasha"].HighACC = set_combine(sets.WS["Tachi: Kasha"].MidACC,{
  593. back="Letalis Mantle",
  594. body="Mes. Haubergeon",
  595. feet="Acro Leggings"})
  596. -- Tachi: Kasha(Attack) Set --
  597. sets.WS["Tachi: Kasha"].ATT = set_combine(sets.WS["Tachi: Kasha"],{
  598. waist="Prosilio Belt +1",
  599. hands="Founder's Gauntlets"})
  600.  
  601.  
  602. -- Tachi: Shoha Sets --
  603. sets.WS["Tachi: Shoha"] = {
  604. head="Gavialis Helm",
  605. neck="Ganesha's Mala",
  606. ear2="Moonshade Earring",
  607. ear1="Zwazo earring +1",
  608. body="Mes. Haubergeon",
  609. hands="Boor Bracelets",
  610. ring1="Ifrit Ring +1",
  611. ring2="Ifrit Ring +1",
  612. back="Buquwik Cape",
  613. waist="Windbuffet Belt +1",
  614. legs="Rao Haidate",
  615. feet="Sak. Sune-Ate +1"}
  616. sets.WS["Tachi: Shoha"].MidACC = set_combine(sets.WS["Tachi: Shoha"],{
  617. head="Yaoyotl Helm",
  618. neck="Fotia Gorget",
  619. hands="Acro Gauntlets"})
  620. sets.WS["Tachi: Shoha"].HighACC = set_combine(sets.WS["Tachi: Shoha"].MidACC,{
  621. back="Letalis Mantle",
  622. legs="Acro Breeches"})
  623.  
  624. -- Tachi: Shoha(Attack) Set --
  625. sets.WS["Tachi: Shoha"].ATT = set_combine(sets.WS["Tachi: Shoha"],{
  626. hands="Founder's Gauntlets"})
  627.  
  628. -- Tachi: Shoha(4 Hits) Set --
  629. sets.WS["Tachi: Shoha"].Lentus = set_combine(sets.WS["Tachi: Shoha"],{})
  630.  
  631. -- Tachi: Shoha(SAM Roll) Sets --
  632. sets.WS["Tachi: Shoha"].STP = set_combine(sets.WS["Tachi: Shoha"],{})
  633. sets.WS["Tachi: Shoha"].MidACC.STP = set_combine(sets.WS["Tachi: Shoha"].MidACC,{})
  634. sets.WS["Tachi: Shoha"].HighACC.STP = set_combine(sets.WS["Tachi: Shoha"].HighACC,{})
  635.  
  636. -- Tachi: Kaiten Sets --
  637. sets.WS["Tachi: Kaiten"] = {
  638. head="Otomi Helm",
  639. neck="Fotia Gorget",
  640. ear1="Vulcan's Pearl",
  641. ear2="Brutal Earring",
  642. body="Phorcys Korazin",
  643. hands="Boor Bracelets",
  644. ring1="Pyrosoul Ring",
  645. ring2="Pyrosoul Ring",
  646. back="Buquwik Cape",
  647. waist="Light Belt",
  648. legs="Wakido Haidate +1",
  649. feet="Sak. Sune-Ate +1"}
  650. sets.WS["Tachi: Kaiten"].MidACC = set_combine(sets.WS["Tachi: Kaiten"],{
  651. head="Yaoyotl Helm",
  652. hands="Miki. Gauntlets",
  653. legs="Xaddi Cuisses",
  654. feet="Waki. Sune-Ate +1"})
  655. sets.WS["Tachi: Kaiten"].HighACC = set_combine(sets.WS["Tachi: Kaiten"].MidACC,{
  656. body="Mes. Haubergeon",
  657. back="Takaha Mantle",
  658. legs="Miki. Cuisses",
  659. feet="Waki. Sune-Ate +1"})
  660.  
  661. -- Tachi: Kaiten(Lentus) Set --
  662. sets.WS["Tachi: Kaiten"].Lentus = set_combine(sets.WS["Tachi: Kaiten"],{})
  663.  
  664. -- Tachi: Kaiten(SAM Roll) Sets --
  665. sets.WS["Tachi: Kaiten"].STP = set_combine(sets.WS["Tachi: Kaiten"],{})
  666. sets.WS["Tachi: Kaiten"].MidACC.STP = set_combine(sets.WS["Tachi: Kaiten"].MidACC,{})
  667. sets.WS["Tachi: Kaiten"].HighACC.STP = set_combine(sets.WS["Tachi: Kaiten"].HighACC,{})
  668.  
  669. -- Tachi: Kaiten(Attack) Set --
  670. sets.WS["Tachi: Kaiten"].ATT = set_combine(sets.WS["Tachi: Kaiten"],{
  671. head="Yaoyotl Helm",
  672. hands="Miki. Gauntlets"})
  673.  
  674. -- Tachi: Rana Sets --
  675. sets.WS["Tachi: Rana"] = {
  676. head="Gavialis Helm",
  677. neck="Fotia Gorget",
  678. ear2="Zwazo earring",
  679. ear1="Zwazo earring +1",
  680. body="Mes. Haubergeon",
  681. hands="Boor Bracelets",
  682. ring1="Ifrit Ring +1",
  683. ring2="Ifrit Ring +1",
  684. back="Buquwik Cape",
  685. waist="Windbuffet belt +1",
  686. legs="Rao Haidate",
  687. feet="Sak. Sune-Ate +1"}
  688. sets.WS["Tachi: Rana"].MidACC = set_combine(sets.WS["Tachi: Rana"],{
  689. hands="Acro Gauntlets",
  690. legs="Acro Breeches",
  691. waist="Olseni Belt",
  692. head="Yaoyotl Helm"})
  693. sets.WS["Tachi: Rana"].HighACC = set_combine(sets.WS["Tachi: Rana"].MidACC,{
  694. back="Letalis Mantle"})
  695.  
  696. -- Tachi: Rana(4 Hits) Set --
  697. sets.WS["Tachi: Rana"].Lentus = set_combine(sets.WS["Tachi: Rana"],{})
  698.  
  699. -- Tachi: Rana(SAM Roll) Sets --
  700. sets.WS["Tachi: Rana"].STP = set_combine(sets.WS["Tachi: Rana"],{})
  701. sets.WS["Tachi: Rana"].MidACC.STP = set_combine(sets.WS["Tachi: Rana"].MidACC,{})
  702. sets.WS["Tachi: Rana"].HighACC.STP = set_combine(sets.WS["Tachi: Rana"].HighACC,{})
  703.  
  704. -- Tachi: Rana(Attack) Set --
  705. sets.WS["Tachi: Rana"].ATT = set_combine(sets.WS["Tachi: Rana"],{
  706. waist="Metalsinger Belt",
  707. hands="Founder's Gauntlets"})
  708.  
  709. -- Namas Arrow Sets --
  710. sets.WS["Namas Arrow"] = {
  711. ammo="Eminent Arrow",
  712. head="Sakonji Kabuto +1",
  713. neck="Fotia Gorget",
  714. ear1="Zwazo earring",
  715. ear2="Zwazo earring +1",
  716. body="Phorcys Korazin",
  717. hands="Kasuga Kote +1",
  718. ring1="Ifrit Ring +1",
  719. ring2="Ifrit Ring +1",
  720. back="Buquwik Cape",
  721. waist="Fotia Belt",
  722. legs="Wakido Haidate +1",
  723. feet="Waki. Sune-Ate +1"}
  724. sets.WS["Namas Arrow"].MidACC = set_combine(sets.WS["Namas Arrow"],{
  725. ring1="Hajduk Ring +1",
  726. ear1="Altdorf's earring",
  727. ear2="Wilhelm's earring",
  728. back="Thall Mantle"})
  729. sets.WS["Namas Arrow"].HighACC = set_combine(sets.WS["Namas Arrow"].MidACC,{
  730. ring2="Hajduk Ring +1",
  731. body="Kyujutsugi"})
  732. -- Namas Arrow(Attack) Set --
  733. sets.WS["Namas Arrow"].ATT = set_combine(sets.WS["Namas Arrow"],{
  734. waist="Fotia Belt"})
  735.  
  736.  
  737. -- Apex Arrow Sets --
  738. sets.WS["Apex Arrow"] = {
  739. ammo="Eminent Arrow",
  740. head="Sakonji Kabuto +1",
  741. neck="Breeze Gorget",
  742. ear1="Altdorf's Earring",
  743. ear2="Wilhelm's Earring",
  744. body="Phorcys Korazin",
  745. hands="Kasuga Kote +1",
  746. ring1="Stormsoul Ring",
  747. ring2="Stormsoul Ring",
  748. back="Ik Cape",
  749. waist="Breeze Belt",
  750. legs="Wakido Haidate +1",
  751. feet="Waki. Sune-Ate +1"}
  752. sets.WS["Apex Arrow"].MidACC = set_combine(sets.WS["Apex Arrow"],{
  753. ring1="Hajduk Ring +1",
  754. ring2="Hajduk Ring +1",
  755. back="Thall Mantle"})
  756. sets.WS["Apex Arrow"].HighACC = set_combine(sets.WS["Apex Arrow"].MidACC,{
  757. body="Kyujutsugi"})
  758.  
  759. -- JA Sets --
  760. sets.JA = {}
  761. sets.JA.Meditate = {head="Wakido Kabuto +1",back="Takaha Mantle",hands="Sakonji Kote +1"}
  762. sets.JA["Warding Circle"] = {head="Wakido Kabuto +1"}
  763.  
  764. -- Waltz Set --
  765. sets.Waltz = {}
  766.  
  767. sets.Precast = {}
  768. -- Fastcast Set --
  769. sets.Precast.FastCast = {
  770. neck="Orunmila's Torque",
  771. ear1="Loquac. Earring",
  772. ring1="Prolix Ring",
  773. ring2="Veneficium Ring"}
  774.  
  775. sets.Midcast = {}
  776. -- Magic Haste Set --
  777. sets.Midcast.Haste = set_combine(sets.PDT,{})
  778. end
  779.  
  780. function pretarget(spell,action)
  781. if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  782. cancel_spell()
  783. send_command('input /item "Echo Drops" <me>')
  784. elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
  785. cancel_spell()
  786. send_command('Aggressor')
  787. elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
  788. cancel_spell()
  789. send_command('ThirdEye')
  790. elseif spell.english == "Meditate" and player.tp > 2900 then -- Cancel Meditate If TP Is Above 290 --
  791. cancel_spell()
  792. add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
  793. elseif spell.action_type == 'Ranged Attack' and spell.target.distance > 24.9 then
  794. cancel_spell()
  795. add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  796. return
  797. elseif spell.type == 'WeaponSkill' and player.status == 'Engaged' then
  798. if spell.skill == 'Archery' then
  799. if spell.target.distance > 16+target_distance then
  800. cancel_spell()
  801. add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  802. return
  803. end
  804. else
  805. if spell.target.distance > target_distance then
  806. cancel_spell()
  807. add_to_chat(123, spell.name..' Canceled: [Out of Range]')
  808. return
  809. end
  810. end
  811. end
  812. end
  813.  
  814. function precast(spell,action)
  815. local check_ammo
  816. local check_ammo_count = 1
  817. if spell.action_type == 'Ranged Attack' then
  818. check_ammo = player.equipment.ammo
  819. if player.equipment.ammo == 'empty' or player.inventory[check_ammo].count <= check_ammo_count then
  820. add_to_chat(123, spell.name..' Canceled: [Out of Ammo]')
  821. cancel_spell()
  822. return
  823. else
  824. equip(sets.Preshot)
  825. if player.inventory[check_ammo].count <= ammo_warning_limit and player.inventory[check_ammo].count > 1 and not warning then
  826. add_to_chat(8, '***** [Low Ammo Warning!] *****')
  827. warning = true
  828. elseif player.inventory[check_ammo].count > ammo_warning_limit and warning then
  829. warning = false
  830. end
  831. end
  832. elseif spell.type == "WeaponSkill" then
  833. if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
  834. cancel_spell()
  835. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  836. return
  837. else
  838. equipSet = sets.WS
  839. if equipSet[spell.english] then
  840. equipSet = equipSet[spell.english]
  841. end
  842. if Attack == 'ON' then
  843. equipSet = equipSet["ATT"]
  844. end
  845. if equipSet[AccArray[AccIndex]] then
  846. equipSet = equipSet[AccArray[AccIndex]]
  847. end
  848. if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
  849. equipSet = equipSet["STP"]
  850. end
  851. if buffactive.Sekkanoki then -- Equip Kasuga Kote +1 When Sekkanoki Is On --
  852. equipSet = set_combine(equipSet,{hands="Kasuga Kote +1"})
  853. end
  854. if buffactive.Sengikori then -- Equip Kasuga Sune-ate When Sengikori Is On --
  855. equipSet = set_combine(equipSet,{feet="Kas. Sune-ate +1"})
  856. end
  857. if (spell.english == "Tachi: Fudo" or spell.english == "Tachi: Shoha") and (player.tp > 2999 or buffactive.Sekkanoki or (player.tp > 1999 and buffactive.Hagakure)) then -- Equip Vulcan's Pearl When You Have 3000 TP or Sekkanoki On or 2000+ TP For Hagakure --
  858. equipSet = set_combine(equipSet,{ear2="Zwazo earring"})
  859. end
  860. equip(equipSet)
  861. end
  862. elseif spell.type == "JobAbility" then
  863. if sets.JA[spell.english] then
  864. equip(sets.JA[spell.english])
  865. end
  866. elseif spell.action_type == 'Magic' then
  867. if string.find(spell.english,'Utsusemi') then
  868. if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  869. cancel_spell()
  870. add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
  871. return
  872. else
  873. equip(sets.Precast.FastCast)
  874. end
  875. else
  876. equip(sets.Precast.FastCast)
  877. end
  878. elseif spell.type == "Waltz" then
  879. refine_waltz(spell,action)
  880. equip(sets.Waltz)
  881. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  882. cast_delay(0.2)
  883. send_command('cancel Sneak')
  884. end
  885. if Twilight == 'Twilight' then
  886. equip(sets.Twilight)
  887. end
  888. end
  889.  
  890. function midcast(spell,action)
  891. if spell.action_type == 'Ranged Attack' then
  892. equipSet = sets.Midshot
  893. if equipSet[AccArray[AccIndex]] then
  894. equipSet = equipSet[AccArray[AccIndex]]
  895. end
  896. equip(equipSet)
  897. elseif spell.action_type == 'Magic' then
  898. if string.find(spell.english,'Utsusemi') then
  899. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (1)']) then
  900. send_command('@wait 1.7;cancel Copy Image*')
  901. end
  902. equip(sets.Midcast.Haste)
  903. elseif spell.english == 'Monomi: Ichi' then
  904. if buffactive['Sneak'] then
  905. send_command('@wait 1.7;cancel sneak')
  906. end
  907. equip(sets.Midcast.Haste)
  908. else
  909. equip(sets.Midcast.Haste)
  910. end
  911. end
  912. end
  913.  
  914. function aftercast(spell,action)
  915. if not spell.interrupted then
  916. if spell.type == "WeaponSkill" then
  917. send_command('wait 0.2;gs c TP')
  918. elseif spell.english == "Warding Circle" then -- Warding Circle Countdown --
  919. send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
  920. end
  921. end
  922. status_change(player.status)
  923. end
  924.  
  925. function status_change(new,old)
  926. if Armor == 'PDT' then
  927. equip(sets.PDT)
  928. elseif Armor == 'MDT' then
  929. equip(sets.MDT)
  930. elseif new == 'Engaged' then
  931. equipSet = sets.TP
  932. if Armor == 'Hybrid' and equipSet["Hybrid"] then
  933. equipSet = equipSet["Hybrid"]
  934. end
  935. if equipSet[WeaponArray[WeaponIndex]] then
  936. equipSet = equipSet[WeaponArray[WeaponIndex]]
  937. end
  938. if equipSet[AccArray[AccIndex]] then
  939. equipSet = equipSet[AccArray[AccIndex]]
  940. end
  941. if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
  942. equipSet = equipSet["AM3"]
  943. end
  944. if buffactive.Ionis and equipSet["Ionis"] then
  945. equipSet = equipSet["Ionis"]
  946. end
  947. if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
  948. equipSet = equipSet["STP"]
  949. end
  950. if buffactive.Seigan and Seigan == 'ON' then -- Use Seigan Toggle For Seigan TP Set --
  951. equipSet = set_combine(equipSet,sets.TP.Seigan)
  952. end
  953. if buffactive["Third Eye"] and Third_Eye == 'ON' then -- Use Third Eye Toggle For Third Eye TP Set --
  954. equipSet = set_combine(equipSet,sets.TP["Third Eye"])
  955. end
  956. equip(equipSet)
  957. else
  958. equipSet = sets.Idle
  959. if equipSet[IdleArray[IdleIndex]] then
  960. equipSet = equipSet[IdleArray[IdleIndex]]
  961. end
  962. if equipSet[WeaponArray[WeaponIndex]] then
  963. equipSet = equipSet[WeaponArray[WeaponIndex]]
  964. end
  965. equip(equipSet)
  966. end
  967. if Twilight == 'Twilight' then
  968. equip(sets.Twilight)
  969. end
  970. end
  971.  
  972. function buff_change(buff,gain)
  973. buff = string.lower(buff)
  974. if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  975. if gain then
  976. 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.]')
  977. else
  978. send_command('timers delete "Aftermath: Lv.3"')
  979. add_to_chat(123,'AM3: [OFF]')
  980. end
  981. elseif buff == "perfect defense" then -- PD Timer --
  982. if gain then
  983. send_command('timers create "Perfect Defense" 57 down')
  984. else
  985. send_command('timers delete "Perfect Defense"')
  986. add_to_chat(123,'PD: [OFF]')
  987. end
  988. elseif buff == "yaegasumi" then -- Yaegasumi Timer --
  989. if gain then
  990. send_command('timers create "Yaegasumi" 45 down')
  991. else
  992. send_command('timers delete "Yaegasumi"')
  993. add_to_chat(123,'Yaegasumi: [OFF]')
  994. end
  995. elseif buff == 'weakness' then -- Weakness Timer --
  996. if gain then
  997. send_command('timers create "Weakness" 300 up')
  998. else
  999. send_command('timers delete "Weakness"')
  1000. end
  1001. end
  1002. 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 --
  1003. equip({neck="Berserker's Torque"})
  1004. else
  1005. if not midaction() then
  1006. status_change(player.status)
  1007. end
  1008. end
  1009. end
  1010.  
  1011. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  1012. function self_command(command)
  1013. if command == 'C1' then -- Accuracy Toggle --
  1014. AccIndex = (AccIndex % #AccArray) + 1
  1015. add_to_chat(158,'Accuracy Level: '..AccArray[AccIndex])
  1016. status_change(player.status)
  1017. elseif command == 'C17' then -- Main Weapon Toggle --
  1018. WeaponIndex = (WeaponIndex % #WeaponArray) + 1
  1019. add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
  1020. status_change(player.status)
  1021. elseif command == 'C5' then -- Auto Update Gear Toggle --
  1022. status_change(player.status)
  1023. add_to_chat(158,'Auto Update Gear')
  1024. elseif command == 'C2' then -- Hybrid Toggle --
  1025. if Armor == 'Hybrid' then
  1026. Armor = 'None'
  1027. add_to_chat(123,'Hybrid Set: [Unlocked]')
  1028. else
  1029. Armor = 'Hybrid'
  1030. add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
  1031. end
  1032. status_change(player.status)
  1033. elseif command == 'C7' then -- PDT Toggle --
  1034. if Armor == 'PDT' then
  1035. Armor = 'None'
  1036. add_to_chat(123,'PDT Set: [Unlocked]')
  1037. else
  1038. Armor = 'PDT'
  1039. add_to_chat(158,'PDT Set: [Locked]')
  1040. end
  1041. status_change(player.status)
  1042. elseif command == 'C15' then -- MDT Toggle --
  1043. if Armor == 'MDT' then
  1044. Armor = 'None'
  1045. add_to_chat(123,'MDT Set: [Unlocked]')
  1046. else
  1047. Armor = 'MDT'
  1048. add_to_chat(158,'MDT Set: [Locked]')
  1049. end
  1050. status_change(player.status)
  1051. elseif command == 'C16' then -- Seigan Toggle --
  1052. if Seigan == 'ON' then
  1053. Seigan = 'OFF'
  1054. add_to_chat(123,'Seigan Set: [Unlocked]')
  1055. else
  1056. Seigan = 'ON'
  1057. add_to_chat(158,'Seigan Set: [Locked]')
  1058. end
  1059. status_change(player.status)
  1060. elseif command == 'C12' then -- Third Eye Toggle --
  1061. if Third_Eye == 'ON' then
  1062. Third_Eye = 'OFF'
  1063. add_to_chat(123,'Third Eye Set: [Unlocked]')
  1064. else
  1065. Third_Eye = 'ON'
  1066. add_to_chat(158,'Third Eye Set: [Locked]')
  1067. end
  1068. status_change(player.status)
  1069. elseif command == 'C11' then -- SAM Roll Toggle --
  1070. if Samurai_Roll == 'ON' then
  1071. Samurai_Roll = 'OFF'
  1072. add_to_chat(123,'SAM Roll: [OFF]')
  1073. else
  1074. Samurai_Roll = 'ON'
  1075. add_to_chat(158,'SAM Roll: [ON]')
  1076. end
  1077. status_change(player.status)
  1078. elseif command == 'C9' then -- Attack Toggle --
  1079. if Attack == 'ON' then
  1080. Attack = 'OFF'
  1081. add_to_chat(123,'Attack: [OFF]')
  1082. else
  1083. Attack = 'ON'
  1084. add_to_chat(158,'Attack: [ON]')
  1085. end
  1086. status_change(player.status)
  1087. elseif command == 'C3' then -- Twilight Toggle --
  1088. if Twilight == 'Twilight' then
  1089. Twilight = 'None'
  1090. add_to_chat(123,'Twilight Set: [Unlocked]')
  1091. else
  1092. Twilight = 'Twilight'
  1093. add_to_chat(158,'Twilight Set: [locked]')
  1094. end
  1095. status_change(player.status)
  1096. elseif command == 'C8' then -- Distance Toggle --
  1097. if player.target.distance then
  1098. target_distance = math.floor(player.target.distance*10)/10
  1099. add_to_chat(158,'Distance: '..target_distance)
  1100. else
  1101. add_to_chat(123,'No Target Selected')
  1102. end
  1103. elseif command == 'C10' then -- Cancel Meikyo Shisui --
  1104. send_command('Cancel Meikyo Shisui')
  1105. add_to_chat(123,'Meikyo Shisui: [OFF]')
  1106. elseif command == 'C6' then -- Idle Toggle --
  1107. IdleIndex = (IdleIndex % #IdleArray) + 1
  1108. add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  1109. status_change(player.status)
  1110. elseif command == 'TP' then
  1111. add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
  1112. elseif command:match('^SC%d$') then
  1113. send_command('//'..sc_map[command])
  1114. end
  1115. end
  1116.  
  1117. function refine_waltz(spell,action)
  1118. if spell.type ~= 'Waltz' then
  1119. return
  1120. end
  1121.  
  1122. if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" then
  1123. return
  1124. end
  1125.  
  1126. local newWaltz = spell.english
  1127. local waltzID
  1128.  
  1129. local missingHP
  1130.  
  1131. if spell.target.type == "SELF" then
  1132. missingHP = player.max_hp - player.hp
  1133. elseif spell.target.isallymember then
  1134. local target = find_player_in_alliance(spell.target.name)
  1135. local est_max_hp = target.hp / (target.hpp/100)
  1136. missingHP = math.floor(est_max_hp - target.hp)
  1137. end
  1138.  
  1139. if missingHP ~= nil then
  1140. if player.sub_job == 'DNC' then
  1141. if missingHP < 40 and spell.target.name == player.name then
  1142. add_to_chat(123,'Full HP!')
  1143. cancel_spell()
  1144. return
  1145. elseif missingHP < 150 then
  1146. newWaltz = 'Curing Waltz'
  1147. waltzID = 190
  1148. elseif missingHP < 300 then
  1149. newWaltz = 'Curing Waltz II'
  1150. waltzID = 191
  1151. else
  1152. newWaltz = 'Curing Waltz III'
  1153. waltzID = 192
  1154. end
  1155. else
  1156. return
  1157. end
  1158. end
  1159.  
  1160. local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50}
  1161. local tpCost = waltzTPCost[newWaltz]
  1162.  
  1163. local downgrade
  1164.  
  1165. if player.tp < tpCost then
  1166.  
  1167. if player.tp < 20 then
  1168. add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
  1169. cancel_spell()
  1170. return
  1171. elseif player.tp < 35 then
  1172. newWaltz = 'Curing Waltz'
  1173. elseif player.tp < 50 then
  1174. newWaltz = 'Curing Waltz II'
  1175. end
  1176.  
  1177. downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
  1178. end
  1179.  
  1180. if newWaltz ~= spell.english then
  1181. send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
  1182. if downgrade then
  1183. add_to_chat(8, downgrade)
  1184. end
  1185. cancel_spell()
  1186. return
  1187. end
  1188.  
  1189. if missingHP > 0 then
  1190. add_to_chat(8,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
  1191. end
  1192. end
  1193.  
  1194. function find_player_in_alliance(name)
  1195. for i,v in ipairs(alliance) do
  1196. for k,p in ipairs(v) do
  1197. if p.name == name then
  1198. return p
  1199. end
  1200. end
  1201. end
  1202. end
  1203.  
  1204. function sub_job_change(newSubjob, oldSubjob)
  1205. select_default_macro_book()
  1206. end
  1207.  
  1208. function set_macro_page(set,book)
  1209. if not tonumber(set) then
  1210. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1211. return
  1212. end
  1213. if set < 1 or set > 10 then
  1214. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1215. return
  1216. end
  1217.  
  1218. if book then
  1219. if not tonumber(book) then
  1220. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1221. return
  1222. end
  1223. if book < 1 or book > 20 then
  1224. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1225. return
  1226. end
  1227. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1228. else
  1229. send_command('@input /macro set '..tostring(set))
  1230. end
  1231. end
  1232.  
  1233. function select_default_macro_book()
  1234. -- Default macro set/book
  1235. if player.sub_job == 'WAR' then
  1236. set_macro_page(4, 3)
  1237. elseif player.sub_job == 'DNC' then
  1238. set_macro_page(4, 17)
  1239. elseif player.sub_job == 'DRK' then
  1240. set_macro_page(2, 12)
  1241. elseif player.sub_job == 'NIN' then
  1242. set_macro_page(4, 12)
  1243. else
  1244. set_macro_page(1, 12)
  1245. end
  1246. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement