Advertisement
Guest User

Warusha BLM

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