Advertisement
Spicyryan

BLU Basic Lite .lua (Most basic version)

Aug 29th, 2017
3,790
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.65 KB | None | 0 0
  1. ---Basic Lite BLU .lua---
  2. --Based off of Spicyryan of Asura's .lua https://pastebin.com/u/Spicyryan
  3.  
  4. -------------------------------------
  5. --------- ---------
  6. ------ ------
  7. --- Start of Gear ---
  8. ------ ------
  9. --------- ---------
  10. -------------------------------------
  11.  
  12. --Place Augmented Gear here, do //export while wearing it
  13. --Then find the folder where you store your .luas--
  14. function get_sets()
  15. maps()
  16.  
  17. HerculeanHelm = {}
  18. HerculeanHelm.Nuke = { name = "Herculean Helm", augments = { 'Mag. Acc.+18 "Mag.Atk.Bns."+18', '"Fast Cast"+1', 'INT+9', 'Mag. Acc.+9', '"Mag.Atk.Bns."+12', } }
  19. HerculeanHelm.DT = { name = "Herculean Helm", augments = { 'Attack+12', 'Phys. dmg. taken -4%', 'STR+9', 'Accuracy+8', } }
  20. HerculeanHelm.Refesh = { name = "Herculean Helm", augments = { 'Weapon skill damage +2%','Pet: Accuracy+11 Pet: Rng. Acc.+11','"Refresh"+2', } }
  21. HerculeanHelm.WSD = { name = "Herculean Helm", augments = { 'Attack+18','Weapon skill damage +4%','STR+10','Accuracy+12', } }
  22. HerculeanHelm.WSDAcc = { name = "Herculean Helm", augments = { 'Accuracy+23 Attack+23','Weapon skill damage +3%','STR+3','Accuracy+13','Attack+11', } }
  23.  
  24. HerculeanVest = {}
  25. HerculeanVest.Phalanx = { name="Herculean Vest", augments = {'Accuracy+2','DEX+8','Phalanx +2','Accuracy+1 Attack+1','Mag. Acc.+20 "Mag.Atk.Bns."+20',}}
  26. HerculeanVest.CDC = { name="Herculean Vest", augments={'Accuracy+19 Attack+19','Crit. hit damage +3%','DEX+14','Accuracy+3',}}
  27.  
  28. TaeonBody = {}
  29. TaeonBody.FC = { name="Taeon Tabard", augments={'Accuracy+23','"Fast Cast"+5','HP+36',} }
  30. TaeonBody.SIR = {name="Taeon Tabard", augments = {'Spell interruption rate down -8%','STR+7 VIT+7'} }
  31.  
  32. HerculeanGloves = {}
  33. HerculeanGloves.WSD = { name = "Herculean Gloves", augments = { 'Accuracy+21 Attack+21', 'Weapon skill damage +4%', 'Accuracy+9', 'Attack+10', } }
  34. HerculeanGloves.DT = { name = "Herculean Gloves", augments = { 'Accuracy+13', 'Damage taken-3%', 'AGI+1', 'Attack+5', } }
  35. HerculeanGloves.HighAcc = { name = "Herculean Gloves", augments = { 'Accuracy+23 Attack+23', '"Triple Atk."+2', 'DEX+15', 'Accuracy+11', 'Attack+13', } }
  36. HerculeanGloves.Refresh = { name = "Herculean Gloves", augments = { 'DEX+7', 'Weapon skill damage +2%', '"Refresh"+1', } }
  37. HerculeanGloves.Crit = { name = "Herculean Gloves", augments = { 'Attack+23', 'Crit. hit damage +4%', 'DEX+8', 'Accuracy+11', } }
  38. HerculeanGloves.Phalanx = { name="Herculean Gloves", augments={'INT+5','Pet: "Dbl. Atk."+3','Phalanx +4',}}
  39. HerculeanGloves.PhysicalSpells = { name="Herculean Gloves", augments={'Accuracy+11 Attack+11','"Triple Atk."+2','STR+10','Accuracy+15','Attack+5', } }
  40.  
  41. TelchineLegs = {}
  42. TelchineLegs.CP = { name = "Telchine Braconi" , augments = {'Potency of "Cure" effect received+7%','INT+1 MND+1',} }
  43.  
  44. HerculeanLegs = {}
  45. HerculeanLegs.DT = { name = "Herculean Trousers", augments = { 'Accuracy+22', 'Damage taken-2%', 'VIT+6', } }
  46. HerculeanLegs.WSD = { name = "Herculean Trousers", augments = { 'Attack+28', 'Weapon skill damage +3%', 'STR+10', 'Accuracy+9', } }
  47.  
  48. TaeonBoots = {}
  49. TaeonBoots.Regen ={ name="Taeon Boots", augments = {'Mag. Acc.+9','"Conserve MP"+5','"Regen" potency+3',} }
  50.  
  51. HerculeanFeet = {}
  52. HerculeanFeet.QA = { name = "Herculean Boots", augments = { 'AGI+4', '"Dbl.Atk."+2', 'Quadruple Attack +3', 'Accuracy+4 Attack+4', } }
  53. HerculeanFeet.TA = { name = "Herculean Boots", augments = { 'Accuracy+14 Attack+14', '"Triple Atk."+4', 'DEX+3', 'Accuracy+2', 'Attack+15' } }
  54. HerculeanFeet.DT = { name = "Herculean Boots", augments = { 'Accuracy+23', 'Damage taken -3%' } }
  55. HerculeanFeet.Idle = { name = "Herculean Boots", augments = { 'Crit. hit damage +1%','STR+10','"Refresh"+2','Accuracy+15 Attack+15','Mag. Acc.+17 "Mag.Atk.Bns."+17', } }
  56. HerculeanFeet.CritDmg = { name = "Herculean Boots", augments = { 'Accuracy+28', 'Crit. hit damage +5%', 'DEX+9' } }
  57. HerculeanFeet.WSD = { name = "Herculean Boots", augments = { 'Attack+22', 'Weapon skill damage +4%', 'Accuracy+15' } }
  58. HerculeanFeet.DW = { name = "Herculean Boots", augments = { 'Accuracy+3 Attack+3','"Dual Wield"+4','AGI+3','Accuracy+14' } }
  59. HerculeanFeet.Phalanx = { name = "Herculean Boots", augments = {'Mag. Acc.+11 "Mag.Atk.Bns."+11','STR+6','Phalanx +2','Accuracy+12 Attack+12', } }
  60. HerculeanFeet.TH = { name="Herculean Boots", augments = { 'Mag. Acc.+17','"Blood Pact" ability delay -2','"Treasure Hunter"+1' } }
  61.  
  62. Rosmerta = {}
  63. Rosmerta.Crit = { name = "Rosmerta's Cape", augments = { 'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10', } }
  64. Rosmerta.WSD = { name = "Rosmerta's Cape", augments = { 'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%', } }
  65. Rosmerta.STP = { name = "Rosmerta's Cape", augments = { 'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Store TP"+10', } }
  66. Rosmerta.DA = { name = "Rosmerta's Cape", augments = { 'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10' } }
  67. Rosmerta.DW = { name = "Rosmerta's Cape", augments = { 'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10', } }
  68. Rosmerta.Nuke = { name = "Rosmerta's Cape", augments = { 'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10', } }
  69. Rosmerta.Cure = { name = "Rosmerta's Cape", augments = { 'MND+20','Eva.+20 /Mag. Eva.+20','"Cure" potency +10%' } }
  70. Rosmerta.MagicEva = { name = "Rosmerta's Cape", augments = {'INT+20','Eva.+20 /Mag. Eva.+20','Mag. Evasion+10','Enmity+10' } }
  71.  
  72.  
  73. sets.Idle = {}
  74. --Idle Sets--
  75. sets.Idle.index = { 'Standard', 'DT' }
  76. Idle_ind = 1
  77. sets.Idle.Standard = {
  78. ammo = "Staunch Tathlum",
  79. head = HerculeanHelm.Refesh,
  80. neck = "Loricate Torque +1",
  81. ear1 = "Genmei Earring",
  82. ear2 = "Ethereal earring",
  83. body = "Jhakri Robe +2",
  84. hands = HerculeanGloves.Refresh,
  85. ring1 = "Sheltered ring",
  86. ring2 = "Karieyh Ring +1",
  87. back = "Moonbeam Cape",
  88. waist = "Flume Belt",
  89. legs = "Carmine Cuisses +1",
  90. feet = HerculeanFeet.Idle
  91. }
  92.  
  93. sets.Idle.DT = {
  94. ammo = "Staunch Tathlum",
  95. head = "Blistering Sallet +1",
  96. neck = "Loricate Torque +1",
  97. ear1 = "Genmei Earring",
  98. ear2 = "Ethereal Earring",
  99. body = "Ayanmo Corazza +1",
  100. hands = HerculeanGloves.DT,
  101. ring1 = "Defending ring",
  102. ring2 = "Gelatinous Ring +1",
  103. back = "Moonbeam Cape",
  104. waist = "Flume belt",
  105. legs = "Carmine Cuisses +1",
  106. feet = "Ahosi Leggings"
  107. }
  108.  
  109. --TP Sets--
  110. sets.TP = {}
  111. sets.TP.index = { 'DualWield', 'CappedHaste', 'AccuracyMid', 'AccuracyFull', 'DT', 'DTHybrid' }
  112. TP_ind = 1 --Default set, 1 is DW, 2, Haste, etc
  113.  
  114. --DW III, +31 DW needed to cap with only Flutter on--
  115. sets.TP.DualWield = {
  116. ammo = "Ginsen",
  117. head = "Adhemar Bonnet +1",
  118. neck = "Asperity necklace",
  119. ear1 = "Suppanomimi",
  120. ear2 = "Brutal Earring",
  121. body = "Adhemar Jacket +1",
  122. hands = "Adhemar Wristbands +1",
  123. ring1 = "Epona's ring",
  124. ring2 = "Petrov Ring",
  125. back = Rosmerta.DW,
  126. waist = "Reiki Yotai",
  127. legs = "Samnuha Tights",
  128. feet = HerculeanFeet.DW
  129. }
  130. --+11 DW for capping with DW3--
  131. sets.TP.CappedHaste = {
  132. ammo = "Ginsen",
  133. head = "Adhemar Bonnet +1",
  134. neck = "Asperity necklace",
  135. ear1 = "Suppanomimi",
  136. ear2 = "Brutal Earring",
  137. body = "Adhemar Jacket +1",
  138. hands = "Adhemar Wristbands +1",
  139. ring1 = "Epona's ring",
  140. ring2 = "Hetairoi Ring",
  141. back = Rosmerta.DA,
  142. waist = "Windbuffet Belt +1",
  143. legs = "Samnuha Tights",
  144. feet = HerculeanFeet.QA
  145. }
  146.  
  147. sets.TP.AccuracyMid = {
  148. ammo = "Falcon Eye",
  149. head = "Dampening Tam",
  150. neck = "Lissome Necklace",
  151. ear1 = "Suppanomimi",
  152. ear2 = "Telos earring",
  153. body = "Adhemar Jacket +1",
  154. hands = "Adhemar Wristbands +1",
  155. ring1 = "Epona's ring",
  156. ring2 = "Ilabrat Ring",
  157. back = Rosmerta.DA,
  158. waist = "Kentarch Belt +1",
  159. legs = "Samnuha Tights",
  160. feet = HerculeanFeet.TA
  161. }
  162.  
  163. sets.TP.AccuracyFull = {
  164. ammo = "Falcon Eye",
  165. head = "Carmine Mask +1",
  166. neck = "Combatant's Torque",
  167. ear1 = "Mache Earring +1",
  168. ear2 = "Telos earring",
  169. body = "Adhemar Jacket +1",
  170. hands = HerculeanGloves.HighAcc,
  171. ring1 = "Cacoethic Ring +1",
  172. ring2 = "Ilabrat Ring",
  173. back = Rosmerta.DA,
  174. waist = "Olseni Belt",
  175. legs = "Carmine Cuisses +1",
  176. feet = HerculeanFeet.CritDmg
  177. }
  178.  
  179. sets.TP.DT = {
  180. ammo = "Staunch Tathlum",
  181. head = "Blistering Sallet +1",
  182. neck = "Loricate Torque +1",
  183. ear1 = "Etiolation Earring",
  184. ear2 = "Ethereal Earring",
  185. body = "Ayanmo Corazza +1",
  186. hands = HerculeanGloves.DT,
  187. ring1 = "Defending ring",
  188. ring2 = "Gelatinous Ring +1",
  189. back = "Moonbeam Cape",
  190. waist = "Flume belt",
  191. legs = "Ayanmo Cosciales +1",
  192. feet = "Ahosi Leggings"
  193. }
  194.  
  195. sets.TP.DTHybrid = {
  196. ammo = "Falcon Eye",
  197. head = HerculeanHelm.DT,
  198. neck = "Loricate Torque +1",
  199. ear1 = "Eabani Earring",
  200. ear2 = "Telos Earring",
  201. body = "Ayanmo Corazza +1",
  202. hands = HerculeanGloves.DT,
  203. ring1 = "Defending Ring",
  204. ring2 = "Patricius Ring",
  205. back = Rosmerta.DA,
  206. waist = "Reiki Yotai",
  207. legs = "Ayanmo Cosciales +1",
  208. feet = HerculeanFeet.DT
  209. }
  210.  
  211. --Weaponskill Sets--
  212. sets.WS = {}
  213.  
  214. sets.Requiescat = {}
  215.  
  216. sets.Requiescat.index = { 'Attack', 'Accuracy' }
  217. Requiescat_ind = 1
  218.  
  219. sets.Requiescat.Attack = {
  220. ammo = "Hydrocera",
  221. head = "Jhakri Coronal +1",
  222. neck = "Fotia Gorget",
  223. ear1 = "Moonshade Earring",
  224. ear2 = "Brutal Earring",
  225. body = "Jhakri Robe +2",
  226. hands = "Jhakri Cuffs +2",
  227. ring1 = "Epona's ring",
  228. ring2 = "Rufescent Ring",
  229. back = Rosmerta.WSD,
  230. waist = "Fotia Belt",
  231. legs = "Jhakri Slops +1",
  232. feet = "Jhakri Pigaches +1"
  233. }
  234.  
  235. sets.Requiescat.Accuracy = {
  236. ammo = "Falcon Eye",
  237. head = "Jhakri Coronal +1",
  238. neck = "Fotia Gorget",
  239. ear1 = "Moonshade Earring",
  240. ear2 = "Telos Earring",
  241. body = "Jhakri Robe +2",
  242. hands = "Jhakri Cuffs +2",
  243. ring1 = "Epona's ring",
  244. ring2 = "Rufescent Ring",
  245. back = Rosmerta.WSD,
  246. waist = "Fotia Belt",
  247. legs = "Jhakri Slops +1",
  248. feet = "Jhakri Pigaches +1"
  249. }
  250.  
  251. sets.CDC = {}
  252.  
  253. sets.CDC.index = { 'AttackUncapped', 'AttackCapped', 'Accuracy' }
  254. CDC_ind = 1
  255.  
  256. sets.CDC.AttackUncapped = {
  257. ammo = "Jukukik Feather",
  258. head = "Adhemar Bonnet +1",
  259. neck = "Fotia Gorget",
  260. ear1 = "Moonshade earring",
  261. ear2 = "Mache Earring",
  262. body = "Abnoba Kaftan",
  263. hands = "Adhemar Wristbands +1",
  264. ring1 = "Epona's ring",
  265. ring2 = "Begrudging Ring",
  266. back = Rosmerta.Crit,
  267. waist = "Fotia Belt",
  268. legs = "Samnuha Tights",
  269. feet = "Adhemar Gamashes +1"
  270. }
  271.  
  272. sets.CDC.AttackCapped = set_combine(sets.CDC.AttackUncapped, {
  273. feet = "Thereoid Greaves",
  274. })
  275.  
  276. sets.CDC.Accuracy = {
  277. ammo = "Falcon Eye",
  278. head = "Adhemar Bonnet +1",
  279. neck = "Fotia Gorget",
  280. ear1 = "Moonshade earring",
  281. ear2 = "Mache Earring",
  282. body = HerculeanVest.CDC,
  283. hands = "Adhemar Wristbands +1",
  284. ring1 = "Ilabrat Ring",
  285. ring2 = "Begrudging Ring",
  286. back = Rosmerta.Crit,
  287. waist = "Fotia Belt",
  288. legs = "Samnuha Tights",
  289. feet = HerculeanFeet.CritDmg
  290. }
  291.  
  292. sets.Expiacion = {}
  293.  
  294. sets.Expiacion.index = { 'Attack', 'Accuracy' }
  295. Expiacion_ind = 1
  296.  
  297. sets.Expiacion.Attack = {
  298. ammo = "Floestone",
  299. head = HerculeanHelm.WSD,
  300. neck = "Caro Necklace",
  301. ear1 = "Moonshade Earring",
  302. ear2 = "Ishvara Earring",
  303. body = "Assim. Jubbah +3",
  304. hands = "Jhakri Cuffs +2",
  305. ring1 = "Karieyh Ring +1",
  306. ring2 = "Shukuyu Ring",
  307. back = Rosmerta.WSD,
  308. waist = "Prosilio Belt +1",
  309. legs = HerculeanLegs.WSD,
  310. feet = HerculeanFeet.WSD
  311. }
  312.  
  313. sets.Expiacion.Accuracy = {
  314. ammo = "Falcon Eye",
  315. head = HerculeanHelm.WSDAcc,
  316. neck = "Fotia Gorget",
  317. ear1 = "Moonshade Earring",
  318. ear2 = "Telos Earring",
  319. body = "Assim. Jubbah +3",
  320. hands = "Jhakri Cuffs +2",
  321. ring1 = "Karieyh Ring +1",
  322. ring2 = "Rufescent Ring",
  323. back = Rosmerta.WSD,
  324. waist = "Prosilio Belt +1",
  325. legs = HerculeanLegs.WSD,
  326. feet = HerculeanFeet.WSD
  327. }
  328.  
  329. sets.SavageBlade = {}
  330.  
  331. sets.SavageBlade.index = { 'Attack', 'Accuracy' }
  332. SavageBlade_ind = 1
  333. sets.SavageBlade.Attack = set_combine(sets.Expiacion.Attack, {
  334. })
  335.  
  336. sets.SavageBlade.Accuracy = set_combine(sets.Expiacion.Accuracy, {
  337. })
  338.  
  339. sets.SanguineBlade = {
  340. ammo = "Pemphredo Tathlum",
  341. head = "Pixie Hairpin +1",
  342. neck = "Sanctity Necklace",
  343. ear1 = "Friomisi Earring",
  344. ear2 = "Hecate's earring",
  345. body = "Jhakri Robe +2",
  346. hands = "Jhakri Cuffs +2",
  347. ring1 = "Archon Ring",
  348. ring2 = "Rufescent Ring",
  349. back = Rosmerta.Nuke,
  350. waist = "Eschan Stone",
  351. legs = "Jhakri Slops +1",
  352. feet = "Jhakri Pigaches +1"
  353. }
  354.  
  355. sets.CircleBlade = set_combine(sets.Expiacion.Attack[sets.Expiacion.index[Expiacion_ind]], {
  356. })
  357.  
  358. ---------
  359. --Clubs-- These indexs probably will never need to be toggled,
  360. --------- but they exist anyway
  361. sets.Judgement = {}
  362.  
  363. sets.Judgement.index = { 'Attack', 'Accuracy' }
  364. Judgement_ind = 1
  365. sets.Judgement.Attack = set_combine(sets.Expiacion.Attack, {})
  366.  
  367. sets.Judgement.Accuracy = set_combine(sets.Expiacion.Accuracy, {})
  368.  
  369. sets.BlackHalo = {}
  370.  
  371. sets.BlackHalo.index = { 'Attack', 'Accuracy' }
  372. BlackHalo_ind = 1
  373. sets.BlackHalo.Attack = {
  374. ammo = "Floestone",
  375. head = HerculeanHelm.WSD,
  376. neck = "Caro Necklace",
  377. ear1 = "Moonshade Earring",
  378. ear2 = "Telos Earring",
  379. body = "Assim. Jubbah +3",
  380. hands = "Jhakri Cuffs +2",
  381. ring1 = "Karieyh Ring +1",
  382. ring2 = "Rufescent Ring",
  383. back = Rosmerta.WSD,
  384. waist = "Prosilio Belt +1",
  385. legs = HerculeanLegs.WSD,
  386. feet = HerculeanFeet.WSD
  387. }
  388.  
  389. sets.BlackHalo.Accuracy = set_combine(sets.Expiacion.Accuracy, {})
  390.  
  391. sets.Realmrazer = {}
  392.  
  393. sets.Realmrazer.index = { 'Attack', 'Accuracy' }
  394. Realmrazer_ind = 1
  395. sets.Realmrazer.Attack = {
  396. ammo = "Hydrocera",
  397. head = "Jhakri Coronal +1",
  398. neck = "Fotia Gorget",
  399. ear1 = "Telos Earring",
  400. ear2 = "Ishvara Earring",
  401. body = "Jhakri Robe +2",
  402. hands = "Jhakri Cuffs +2",
  403. ring1 = "Ilabrat Ring",
  404. ring2 = "Rufescent Ring",
  405. back = Rosmerta.WSD,
  406. waist = "Fotia Belt",
  407. legs = "Jhakri Slops +1",
  408. feet = "Jhakri Pigaches +1"
  409. }
  410.  
  411. sets.Realmrazer.Accuracy = set_combine(sets.Realmrazer.Attack, {})
  412.  
  413. sets.FlashNova = {}
  414.  
  415. sets.FlashNova.index = { 'Attack', 'Accuracy' }
  416. FlashNova_ind = 1
  417. sets.FlashNova.Attack = {
  418. ammo = "Pemphredo Tathlum",
  419. head = "Jhakri Coronal +1",
  420. neck = "Sanctity Necklace",
  421. ear1 = "Hecate's Earring",
  422. ear2 = "Friomisi Earring",
  423. body = "Jhakri Robe +2",
  424. hands = "Jhakri Cuffs +2",
  425. ring1 = "Shiva Ring +1",
  426. ring2 = "Acumen Ring",
  427. back = Rosmerta.Nuke,
  428. waist = "Eschan Stone",
  429. legs = "Jhakri Slops +1",
  430. feet = "Jhakri Pigaches +1"
  431. }
  432.  
  433. sets.FlashNova.Accuracy = set_combine(sets.FlashNova.Attack, {})
  434.  
  435. -------------------
  436. --Blue Magic Sets--
  437. -------------------
  438. sets.BlueMagic = {}
  439.  
  440. sets.BlueMagic.STR = {
  441. ammo = "Floestone",
  442. head = "Adhemar Bonnet +1",
  443. neck = "Caro Necklace",
  444. ear1 = "Telos Earring",
  445. ear2 = "Odnowa Earring +1",
  446. body = "Assim. Jubbah +3",
  447. hands = HerculeanGloves.PhysicalSpells,
  448. ring1 = "Ifrit Ring +1",
  449. ring2 = "Shukuyu Ring",
  450. back = Rosmerta.WSD,
  451. waist = "Prosilio Belt +1",
  452. legs = HerculeanLegs.WSD,
  453. feet = "Jhakri Pigaches +1"
  454. }
  455.  
  456. sets.BlueMagic.STRDEX = set_combine(sets.BlueMagic.STR, {})
  457.  
  458. sets.BlueMagic.STRVIT = set_combine(sets.BlueMagic.STR, {})
  459.  
  460. sets.BlueMagic.STRMND = set_combine(sets.BlueMagic.STR, {})
  461.  
  462. sets.BlueMagic.AGI = set_combine(sets.BlueMagic.STR, { })
  463. --------------------------------------------------
  464. sets.BlueMagic.INT = {}
  465. sets.BlueMagic.INT.index = { "MAB", "MACC" }
  466. MAB_ind = 1
  467.  
  468. sets.BlueMagic.INT.MAB = {
  469. ammo = "Pemphredo Tathlum",
  470. head = HerculeanHelm.Nuke,
  471. neck = "Sanctity Necklace",
  472. ear1 = "Hermetic Earring",
  473. ear2 = "Friomisi earring",
  474. body = "Jhakri Robe +2",
  475. hands = "Jhakri Cuffs +2",
  476. ring1 = "Shiva Ring +1",
  477. ring2 = "Acumen Ring",
  478. back = Rosmerta.Nuke,
  479. waist = "Eschan Stone",
  480. legs = "Amalric Slops",
  481. feet = "Jhakri Pigaches +1"
  482. }
  483.  
  484. sets.BlueMagic.INT.MACC = {
  485. ammo = "Pemphredo Tathlum",
  486. head = "Jhakri Coronal +1",
  487. neck = "Erra Pendant",
  488. ear1 = "Hermetic Earring",
  489. ear2 = "Friomisi earring",
  490. body = "Jhakri Robe +2",
  491. hands = "Jhakri Cuffs +2",
  492. ring1 = "Shiva Ring +1",
  493. ring2 = "Acumen Ring",
  494. back = Rosmerta.Nuke,
  495. waist = "Eschan Stone",
  496. legs = "Jhakri Slops +1",
  497. feet = "Jhakri Pigaches +1"
  498. }
  499. -----------------------------------------
  500.  
  501. --CP cap 50%, CP Received cap 30%--
  502. sets.BlueMagic.Cures = {
  503. ammo = "Hydrocera",
  504. head = "Carmine Mask",
  505. neck = "Phalaina Locket",
  506. ear1 = "Mendicant's Earring",
  507. ear2 = "Calamitous Earring",
  508. body = "Vrikodara Jupon",
  509. hands = "Hashishin Bazubands +1",
  510. ring1 = "Stikini Ring",
  511. ring2 = "Rufescent Ring",
  512. back = Rosmerta.Cure,
  513. waist = "Luminary Sash",
  514. legs = "Gyve Trousers",
  515. feet = "Medium's Sabots"
  516. }
  517.  
  518. sets.BlueMagic.SelfCures = {
  519. ammo = "Hydrocera",
  520. head = "Carmine Mask",
  521. neck = "Phalaina Locket",
  522. ear1 = "Mendicant's Earring",
  523. ear2 = "Calamitous Earring",
  524. body = "Vrikodara Jupon",
  525. hands = "Telchine Gloves",
  526. ring1 = "Kunaji Ring",
  527. ring2 = "Rufescent Ring",
  528. back = Rosmerta.Cure,
  529. waist = "Gishdubar Sash",
  530. legs = TelchineLegs.CP,
  531. feet = "Medium's Sabots"
  532. }
  533.  
  534. --Conserve MP Gear--
  535. sets.BlueMagic.Buffs = {
  536. ammo = "Pemphredo Tathlum",
  537. head = "Telchine Cap",
  538. neck = "Incanter's Torque",
  539. ear1 = "Mendicant's Earring",
  540. ear2 = "Calamitous Earring",
  541. body = "Vedic Coat",
  542. hands = "Shrieker's Cuffs",
  543. ring1 = "Kishar Ring",
  544. back = "Solemnity Cape",
  545. waist = "Hachirin-no-Obi",
  546. legs = "Lengo Pants",
  547. feet = "Carmine Greaves +1"
  548. }
  549.  
  550. sets.BlueMagic.Battery = set_combine(sets.BlueMagic.Buffs, {
  551. head = "Amalric Coif",
  552. waist = "Gishdubar Sash"
  553. })
  554.  
  555. --Telchine Regen+ potency augments--
  556. sets.BlueMagic.Regeneration = set_combine(sets.BlueMagic.Buffs, {
  557. Body = "Telchine Chasuble",
  558. Feet = TaeonBoots.Regen
  559. })
  560.  
  561. sets.BlueMagic.Stun = {
  562. ammo = "Pemphredo Tathlum",
  563. head = "Carmine Mask +1",
  564. neck = "Erra Pendant",
  565. ear1 = "Telos Earring",
  566. ear2 = "Dignitary's Earring",
  567. body = "Samnuha Coat",
  568. hands = "Leyline Gloves",
  569. ring1 = "Etana Ring",
  570. ring2 = "Stikini Ring",
  571. back = "Cornflower cape",
  572. waist = "Eschan Stone",
  573. legs = "Hashishin Tayt +1",
  574. feet = HerculeanFeet.Idle
  575. }
  576.  
  577. sets.BlueMagic.HeavyStrike = {
  578. ammo = "Falcon Eye",
  579. head = "Adhemar Bonnet +1",
  580. neck = "Caro Necklace",
  581. ear1 = "Telos Earring",
  582. ear2 = "Odnowa Earring +1",
  583. body = "Adhemar Jacket +1",
  584. hands = HerculeanGloves.Crit,
  585. ring1 = "Ifrit Ring +1",
  586. ring2 = "Rufescent Ring",
  587. back = Rosmerta.WSD,
  588. waist = "Prosilio Belt +1",
  589. legs = "Samnuha Tights",
  590. feet = HerculeanFeet.TA
  591. }
  592.  
  593. sets.BlueMagic.WhiteWind = {
  594. ammo = "Falcon Eye",
  595. head = "Blistering Sallet +1",
  596. neck = "Phalaina Locket",
  597. ear1 = "Mendicant's Earring",
  598. ear2 = "Ethereal Earring",
  599. body = "Vrikodara Jupon",
  600. hands = "Telchine Gloves",
  601. ring1 = "Kunaji Ring",
  602. ring2 = "Etana Ring",
  603. back = "Reiki Cloak",
  604. waist = "Carrier's Sash",
  605. legs = "Gyve Trousers",
  606. feet = "Medium's Sabots"
  607. }
  608.  
  609. sets.BlueMagic.MagicAccuracy = {
  610. ammo = "Pemphredo Tathlum",
  611. head = "Carmine Mask +1",
  612. neck = "Erra Pendant",
  613. ear1 = "Hermetic earring",
  614. ear2 = "Dignitary's earring",
  615. body = "Jhakri Robe +2",
  616. hands = "Rawhide Gloves",
  617. ring1 = "Sangoma Ring",
  618. ring2 = "Stikini Ring",
  619. back = "Cornflower Cape",
  620. waist = "Eschan Stone",
  621. legs = "Jhakri Slops +1",
  622. feet = "Jhakri Pigaches +1"
  623. }
  624.  
  625. --Occultation is every 50 skill, magic barrier equals skill, rest dont matter
  626. ---For example diamondhide caps at 500
  627. sets.BlueMagic.Skill = {
  628. ammo = "Pemphredo Tathlum",
  629. head = "Luhlaza Keffiyeh",
  630. neck = "Incanter's Torque",
  631. ear1 = "Suppanomimi",
  632. ear2 = "Ethereal earring",
  633. body = "Assim. Jubbah +3",
  634. hands = "Hashishin Bazubands +1",
  635. ring1 = "Kishar Ring",
  636. ring2 = "Stikini Ring",
  637. back = "Cornflower cape",
  638. waist = "Gishdubar Sash",
  639. legs = "Hashishin Tayt +1",
  640. feet = "Luhlaza charuqs +1"
  641. }
  642.  
  643. sets.BlueMagic.Enmity = {
  644. ammo = "Sapience Orb",
  645. head = "Rabid Visor",
  646. neck = "Warder's Charm +1",
  647. ear1 = "Friomisi Earring",
  648. ear2 = "Cryptic Earring",
  649. body = "Emet Harness +1",
  650. hands = "None",
  651. ring1 = "Supershear Ring",
  652. ring2 = "Pernicious Ring",
  653. back = Rosmerta.MagicEva,
  654. waist = "Kasiri Belt",
  655. legs = "Obatala Subligar",
  656. Feet = "Ahosi Leggings"
  657. }
  658.  
  659.  
  660. --Enhancing Sets--
  661.  
  662. sets.Enhancing = set_combine(sets.BlueMagic.Buffs, {
  663. head = "Telchine Cap",
  664. neck = "Incanter's Torque",
  665. ear1 = "Andoaa Earring",
  666. body = "Telchine Chasuble",
  667. back = "Perimede Cape",
  668. legs = "Carmine Cuisses +1"
  669. })
  670.  
  671. sets.Enhancing.Phalanx = set_combine(sets.BlueMagic.Buffs, {
  672. head = "Telchine Cap",
  673. neck = "Incanter's Torque",
  674. ear1 = "Andoaa Earring",
  675. body = HerculeanVest.Phalanx,
  676. hands = HerculeanGloves.Phalanx,
  677. feet = HerculeanFeet.Phalanx,
  678. back = "Perimede Cape",
  679. legs = "Carmine Cuisses +1"
  680. })
  681.  
  682. sets.Enhancing.Aquaveil = set_combine(sets.BlueMagic.Buffs, {
  683. head = "Amalric Coif",
  684. })
  685.  
  686. sets.Enhancing.ProShell = set_combine(sets.BlueMagic.Buffs, {
  687. ring2 = "Sheltered Ring"
  688. })
  689.  
  690. ----------------
  691. --Utility Sets--
  692. ----------------
  693. --These sets are either called in rules or macroed manually
  694. --Manual macro:
  695. --/console gs equip sets. <name>
  696.  
  697. sets.Utility = {}
  698.  
  699. sets.Utility.TH = {
  700. waist = "Chaac Belt",
  701. feet = HerculeanFeet.TH
  702. }
  703.  
  704. --DT Sets--
  705.  
  706. --Shell V on. Need 23% when 5/5 with pants, 21% with sheltered (23 again with sheltered and trust)--
  707. sets.Utility.MDTV = {
  708. ammo = "Staunch Tathlum",
  709. head = "Amalric Coif",
  710. neck = "Warder's Charm +1",
  711. ear1 = "Eabani Earring",
  712. ear2 = "Etiolation Earring",
  713. body = "Amalric Doublet",
  714. hands = HerculeanGloves.DT,
  715. ring1 = "Defending ring",
  716. ring2 = "Shadow Ring",
  717. back = "Mubvumbamiri Mantle",
  718. waist = "Carrier's Sash",
  719. legs = "Amalric Slops",
  720. feet = "Ahosi Leggings"
  721. }
  722.  
  723. sets.Utility.MEVA = {
  724. ammo = "Staunch Tathlum",
  725. head = "Amalric Coif",
  726. neck = "Warder's Charm +1",
  727. ear1 = "Eabani Earring",
  728. ear2 = "Hearty Earring",
  729. body = "Amalric Doublet",
  730. hands = "Shrieker's Cuffs",
  731. ring1 = "Defending Ring",
  732. ring2 = "Purity Ring",
  733. back = Rosmerta.MagicEva,
  734. waist = "Carrier's Sash",
  735. legs = "Amalric Slops",
  736. feet = "Ahosi Leggings"
  737. }
  738.  
  739. --No Shell--
  740. sets.Utility.MDTNO = {
  741. ammo = "Staunch Tathlum",
  742. head = "Dampening Tam",
  743. neck = "Loricate Torque +1",
  744. ear1 = "Etiolation Earring",
  745. ear2 = "Odnowa Earring +1",
  746. body = "Ayanmo Corazza +1",
  747. hands = HerculeanGloves.DT,
  748. ring1 = "Defending ring",
  749. ring2 = "Dark ring",
  750. back = "Engulfer Cape +1",
  751. waist = "Carrier's Sash",
  752. legs = "Ayanmo Cosciales +1",
  753. feet = HerculeanFeet.DT
  754. }
  755.  
  756. --Job Ability Sets--
  757.  
  758. sets.JA = {}
  759.  
  760. sets.JA.ChainAffinity = { feet = "Assim. charuqs +1" }
  761.  
  762. sets.JA.BurstAffinity = { feet = "Hashishin Basmak +1" }
  763.  
  764. sets.JA.Efflux = { legs = "Hashishin Tayt +1", back= Rosmerta.WSD }
  765.  
  766. sets.JA.AzureLore = { hands = "Luhlaza bazubands" }
  767.  
  768. sets.JA.Diffusion = set_combine(sets.BlueMagic.Buffs, { feet = "Luhlaza Charuqs +1" })
  769.  
  770. sets.JA.Provoke = set_combine(sets.BlueMagic.Enmity, {})
  771.  
  772. sets.JA.Warcry = set_combine(sets.BlueMagic.Enmity, {})
  773.  
  774.  
  775. --Precast Sets--
  776. sets.precast = {}
  777.  
  778. sets.precast.FastCast = {}
  779.  
  780. sets.precast.FastCast.Standard = {
  781. ammo = "Impatiens",
  782. head = "Carmine Mask +1",
  783. neck = "Orunmila's Torque",
  784. ear1 = "Loquac. Earring",
  785. ear2 = "Etiolation Earring",
  786. body = TaeonBody.FC,
  787. hands = "Leyline Gloves",
  788. ring1 = "Kishar Ring",
  789. ring2 = "Prolix Ring",
  790. back = "Perimede Cape",
  791. waist = "Witful Belt",
  792. legs = "Ayanmo Cosciales +1",
  793. feet = "Carmine Greaves +1"
  794. }
  795.  
  796. --Empy body stacks with FC, 80% cap, empy hands must be on at time of casting (mid) for effect--
  797. sets.precast.FastCast.Blue = set_combine(sets.precast.FastCast.Standard, {
  798. --body = "Hashishin Mintan" --remove the -- in order to make active
  799. })
  800. end
  801.  
  802. ---End of Gear---------------------------------------------------------------------------------------------------------------------------------------------------------
  803.  
  804. -------------------------------------
  805. --------- ---------
  806. ------ ------
  807. --- Start of Maps ---
  808. ------ ------
  809. --------- ---------
  810. -------------------------------------
  811.  
  812. -------------------------
  813. -- BLU Spells List --
  814. -------------------------
  815.  
  816. --Place spells into either Physical or Magical, and then further seperate them into type--
  817. --Anything In Physical or Magical is only for making a rule, it won't swap simply for being in that category--
  818. function maps()
  819. --All physical spells go here then they are filtered specifically. Add accordingly.
  820. PhysicalSpells = S {
  821. 'Asuran Claws', 'Bilgestorm', 'Bludgeon', 'Body Slam', 'Feather Storm', 'Mandibular Bite', 'Queasyshroom',
  822. 'Power Attack', 'Ram Charge', 'Saurian Slide', 'Screwdriver', 'Sickle Slash', 'Smite of Rage',
  823. 'Spinal Cleave', 'Spiral Spin', 'Sweeping Gouge', 'Terror Touch', 'Battle Dance', 'Bloodrake',
  824. 'Death Scissors', 'Dimensional Death', 'Empty Thrash', 'Quadrastrike', 'Uppercut', 'Tourbillion',
  825. 'Thrashing Assault', 'Vertical Cleave', 'Whirl of Rage', 'Amorphic Spikes', 'Barbed Crescent',
  826. 'Claw Cyclone', 'Disseverment', 'Foot Kick', 'Frenetic Rip', 'Goblin Rush', 'Hysteric Barrage',
  827. 'Paralyzing Triad', 'Seedspray', 'Sinker Drill', 'Vanity Dive', 'Cannonball', 'Delta Thrust',
  828. 'Glutinous Dart', 'Grand Slam', 'Quad. Continuum', 'Sprout Smack', 'Benthic Typhoon', 'Helldive',
  829. 'Hydro Shot', 'Jet Stream', 'Pinecone Bomb', 'Wild Oats', 'Heavy Strike'
  830. }
  831.  
  832. PhysicalBlueMagic_STR = S {
  833. 'Asuran Claws', 'Bilgestorm', 'Battle Dance', 'Bludgeon', 'Bloodrake', 'Death Scissors',
  834. 'Dimensional Death', 'Empty Thrash', 'Quadrastrike', 'Uppercut', 'Tourbillion', 'Sinker Drill',
  835. 'Thrashing Assault', 'Vertical Cleave', 'Whirl of Rage', 'Saurian Slide', 'Sinal Cleave',
  836. 'Paralyzing Triad'
  837. }
  838.  
  839. PhysicalBlueMagic_DEX = S {
  840. 'Amorphic Spikes', 'Barbed Crescent', 'Claw Cyclone', 'Disseverment', 'Foot Kick',
  841. 'Frenetic Rip', 'Goblin Rush', 'Hysteric Barrage', 'Seedspray',
  842. 'Vanity Dive'
  843. }
  844.  
  845. PhysicalBlueMagic_VIT = S {
  846. 'Cannonball', 'Delta Thrust', 'Glutinous Dart', 'Grand Slam', 'Quad. Continuum',
  847. 'Sprout Smack', 'Sweeping Gouge'
  848. }
  849.  
  850. PhysicalBlueMagic_AGI = S {
  851. 'Benthic Typhoon', 'Helldive', 'Hydro Shot', 'Jet Stream', 'Pinecone Bomb', 'Wild Oats',
  852. 'Spiral Spin'
  853. }
  854. --Heavy Strike has -100 acc penalty--
  855. BlueMagic_PhysicalAcc = S {
  856. 'Heavy Strike'
  857. }
  858. --All nuking spells go here then they are filtered specifically. Add accordingly.
  859. MagicalSpells = S {
  860. 'Acrid Stream', 'Anvil Lightning', 'Crashing Thunder', 'Charged Whisker', 'Droning Whirlwind',
  861. 'Firespit', 'Foul Waters', 'Gates of Hades', 'Leafstorm', 'Molting Plumage', 'Magic Barrier', 'Nectarous Deluge',
  862. 'Polar Roar', 'Regurgitation', 'Rending Deluge', 'Scouring Spate', 'Searing Tempest', 'Silent Storm',
  863. 'Spectral Floe', 'Subduction', 'Sudden Lunge', 'Tem. Upheaval', 'Thermal Pulse', 'Thunderbolt', 'Uproot',
  864. 'Water Bomb', 'Atra. Libations', 'Blood Saber', 'Dark Orb', 'Death Ray', 'Eyes On Me', 'Blazing Bound',
  865. 'Evryone. Grudge', 'Palling Salvo', 'Tenebral Crush', 'Blinding Fulgor', 'Diffusion Ray', 'Ice Break',
  866. 'Magic Hammer', 'Rail Cannon', 'Retinal Glare', 'Embalming Earth', 'Entomb', 'Sandspin', 'Vapor Spray',
  867. }
  868. --Any nuking spell that doesnt have certain armor to enhance it like the pixie hairpin +1 for dark nukes--
  869. BlueMagic_INT = S {
  870. 'Acrid Stream', 'Anvil Lightning', 'Crashing Thunder', 'Charged Whisker', 'Droning Whirlwind', 'Firespit',
  871. 'Foul Waters', 'Gates of Hades', 'Leafstorm', 'Molting Plumage', 'Nectarous Deluge', 'Polar Roar',
  872. 'Regurgitation', 'Rending Deluge', 'Scouring Spate', 'Searing Tempest', 'Silent Storm', 'Spectral Floe',
  873. 'Subduction', 'Tem. Upheaval', 'Thermal Pulse', 'Thunderbolt', 'Uproot', 'Water Bomb'
  874. }
  875.  
  876. BlueMagic_Dark = S {
  877. 'Blood Saber', 'Dark Orb', 'Death Ray', 'Eyes On Me',
  878. 'Evryone. Grudge', 'Palling Salvo', 'Tenebral Crush'
  879. }
  880.  
  881. BlueMagic_Light = S {
  882. 'Blinding Fulgor', 'Diffusion Ray', 'Magic Hammer', 'Rail Cannon', 'Retinal Glare'
  883. }
  884.  
  885. --- here if you need it for earth spells but down below, nuking these spells goes to the same int nuke set at others. I don't carry the neck
  886. BlueMagic_Earth = S {
  887. 'Embalming Earth', 'Entomb', 'Sandspin'
  888. }
  889.  
  890. BlueMagic_Accuracy = S {
  891. '1000 Needles', 'Absolute Terror', 'Auroral Drape', 'Awful Eye', 'Blastbomb', 'Blank Gaze', 'Blistering Roar', 'Blitzstrahl',
  892. 'Blood Drain', 'Blood Saber', 'Chaotic Eye', 'Cimicine Discharge', 'Cold Wave', 'Digest', 'Corrosive Ooze',
  893. 'Demoralizing Roar', 'Dream Flower', 'Enervation', 'Feather Tickle', 'Filamented Hold', 'Frightful Roar',
  894. 'Geist Wall', 'Hecatomb Wave', 'Infrasonics', 'Light of Penance', 'Lowing', 'Mind Blast', 'Mortal Ray',
  895. 'MP Drainkiss', 'Osmosis', 'Reaving Wind', 'Sheep Song', 'Soporific', 'Sound Blast', 'Stinking Gas',
  896. 'Venom Shell', 'Voracious Trunk', 'Yawn'
  897. }
  898.  
  899. BlueMagic_Breath = S {
  900. 'Bad Breath', 'Flying Hip Press', 'Final Sting', 'Frost Breath', 'Heat Breath', 'Magnetite Cloud',
  901. 'Poison Breath', 'Radiant Breath', 'Self Destruct', 'Thunder Breath', 'Vapor Spray', 'Wind Breath'
  902. }
  903.  
  904. BlueMagic_Buffs = S {
  905. 'Barrier Tusk', 'Cocoon', 'Erratic Flutter', 'Harden Shell', 'Orcish Counterstance',
  906. 'Plasma Charge', 'Pyric Bulwark', 'Memento Mori', 'Nat. Meditation', 'Reactor Cool', 'Saline Coat',
  907. 'Feather Barrier','Refueling','Warm-Up', 'Zephyr Mantle', 'Reactor Cool', 'Plasma Charge', 'Amplification'
  908. }
  909.  
  910. BlueMagic_Skill = S {
  911. 'Diamondhide', 'Metallic Body', 'Magic Barrier', 'Occultation', 'Atra. Libations'
  912. }
  913.  
  914. BlueMagic_Healing = S {
  915. 'Healing Breeze', 'Magic Fruit', 'Plenilune Embrace', 'Pollen', 'Restoral', 'Wild Carrot'
  916. }
  917. --- Acc + Macc "Stun" set ---
  918. BlueMagic_Stun = S {
  919. 'Frypan', 'Head Butt', 'Sudden Lunge', 'Tail slap', 'Sub-zero Smash'
  920. }
  921. BlueMagic_Enmity = S {
  922. 'Actinic Burst', 'Exuviation', 'Fantod', 'Jettatura', 'Temporal Shift'
  923. }
  924. BlueMagic_Diffusion = S {
  925. 'Harden Shell', 'Mighty Guard', 'Carcharian Verve', 'Magic Barrier'
  926. }
  927. end
  928.  
  929. ---End of Maps----------------------------------------------------------------------------------------------------------------------------------------------------------
  930.  
  931. --------------------------------------
  932. --------- ---------
  933. ------ ------
  934. --- Start of Rules ---
  935. ------ ------
  936. --------- ---------
  937. --------------------------------------
  938.  
  939. -------------------------------
  940. -- Variables --
  941. -------------------------------
  942. equipSet = {} --Currently Equiped Gearset
  943. LockGearIndex = false
  944. TargetDistance = 0
  945. TH = false
  946.  
  947. --TH rule description--
  948. --TH in this GS works as follows. alt T or macro the command in the toggle to turn it on and off
  949. --It will not equip in your idle set, or while casting buffs, enhancing, cures, skill based BLU spells, diffusion based spells, or blue cures
  950. --It will equip when engaging, and after an action is performed by you it comes off until you re-engage or toggle it on and off.
  951. ---You can change this, but I found it silly to full time it.
  952. --If you are idle, and cast either physical blue spells or offensive magical blue spells it will equip on top of your sets
  953. ---Diaga and stuff don't apply. Feel free to add it.
  954. --When you return to being strictly idle, it doesn't equip either, becuase that would be pointless.
  955.  
  956. --So basically, TH gear (add yours in where applicable) comes on when engaging unti a new action is performed, and while idle using physical or offensive magical nukes.
  957.  
  958. ------------------------------------
  959. -- Windower Hooks --
  960. ------------------------------------
  961.  
  962. function buff_change(n, gain, buff_table)
  963.  
  964. end
  965.  
  966. function has_any_buff_of(buff_set)--returns true if you have any of the buffs given
  967. for i,v in pairs(buff_set) do
  968. if buffactive[v] ~= nil then return true end
  969. end
  970. end
  971.  
  972. ---------------------------
  973. -- Binds --
  974. ---------------------------
  975. send_command('bind f9 gs c toggle TP set') --This means if you hit f9 it toggles the sets
  976. send_command('bind f10 gs c toggle CDC set')
  977. send_command('bind f11 gs c toggle Other Sword sets')
  978. send_command('bind f12 gs c toggle Idle set')
  979. send_command('bind ^f8 input /ws "Sanguine Blade" <t>')
  980. send_command('bind ^f9 input /ws "Chant du Cygne" <t>') -- ^ means cntrl, so hit cntrl + f9
  981. send_command('bind ^f10 input /ws "Expiacion" <t>')
  982. send_command('bind ^f11 input /ws "Requiescat" <t>')
  983. send_command('bind ^f12 input /ws "Savage Blade" <t>')
  984. send_command('bind !f9 gs c toggle backwards') -- ! means alt
  985. send_command('bind !f10 gs c toggle Club sets')
  986. send_command('bind !f11 gs c changemaccmab') -- Toggles macc and mab nuke sets
  987. send_command('bind !f12 empty') -- locks your gear in, but allows midcast changes.
  988.  
  989. send_command('bind !e input /item "Echo Drops" <me>')
  990. send_command('bind !r input /item "Remedy" <me>')
  991. send_command('bind !p input /item "Panacea" <me>')
  992. send_command('bind !h input /item "Holy Water" <me>')
  993. send_command('bind !w input /equip ring2 "Warp Ring"; /echo Warping; wait 11; input /item "Warp Ring" <me>;')
  994. send_command('bind !q input /equip ring2 "Dim. Ring (Holla)"; /echo Reisenjima; wait 11; input /item "Dim. Ring (Holla)" <me>;')
  995. send_command('bind !t gs c toggle TH') -- alt + t toggles TH mode
  996.  
  997. --Unload Binds
  998. function file_unload()
  999. send_command('unbind ^f8')
  1000. send_command('unbind ^f9')
  1001. send_command('unbind ^f10')
  1002. send_command('unbind ^f11')
  1003. send_command('unbind ^f12')
  1004. send_command('unbind !f8')
  1005. send_command('unbind !f9')
  1006. send_command('unbind !f10')
  1007. send_command('unbind !f11')
  1008. send_command('unbind !f12')
  1009. send_command('unbind f9')
  1010. send_command('unbind f10')
  1011. send_command('unbind f11')
  1012. send_command('unbind f12')
  1013.  
  1014. send_command('unbind !e')
  1015. send_command('unbind !r')
  1016. send_command('unbind !p')
  1017. send_command('unbind !h')
  1018. send_command('unbind !w')
  1019. send_command('unbind !q')
  1020. send_command('unbind !t')
  1021. end
  1022. --------------------------------------
  1023. -- Console Commands --
  1024. --------------------------------------
  1025. function self_command(command)
  1026. if command == 'toggle TP set' then
  1027. TP_ind = TP_ind + 1
  1028. if TP_ind > #sets.TP.index then TP_ind = 1 end
  1029. send_command('@input /echo <----- TP Set changed to ' .. sets.TP.index[TP_ind] .. ' ----->')
  1030. if player.status == 'Engaged' then
  1031. ChangeGear(sets.TP[sets.TP.index[TP_ind]])
  1032. end
  1033. elseif command == 'toggle Idle set' then
  1034. Idle_ind = Idle_ind + 1
  1035. if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
  1036. send_command('@input /echo <----- Idle Set changed to ' .. sets.Idle.index[Idle_ind] .. ' ----->')
  1037. if player.status == 'Idle' then
  1038. ChangeGear(sets.Idle[sets.Idle.index[Idle_ind]])
  1039. end
  1040. elseif command == 'toggle CDC set' then
  1041. CDC_ind = CDC_ind + 1
  1042. if CDC_ind > #sets.CDC.index then CDC_ind = 1 end
  1043. send_command('@input /echo <----- CDC Set changed to ' .. sets.CDC.index[CDC_ind] .. ' ----->')
  1044. elseif command == 'toggle Other Sword sets' then
  1045. SavageBlade_ind = SavageBlade_ind + 1
  1046. Expiacion_ind = Expiacion_ind + 1
  1047. Requiescat_ind = Requiescat_ind + 1
  1048. if SavageBlade_ind > #sets.SavageBlade.index then SavageBlade_ind = 1 end
  1049. if Expiacion_ind > #sets.Expiacion.index then Expiacion_ind = 1 end
  1050. if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
  1051. send_command('@input /echo <----- Savage/Expiacion/Req Set changed to ' .. sets.SavageBlade.index[SavageBlade_ind] .. ' ----->')
  1052. elseif command == 'toggle Club sets' then
  1053. BlackHalo_ind = BlackHalo_ind + 1
  1054. Realmrazer_ind = Realmrazer_ind + 1
  1055. Judgement_ind = Judgement_ind + 1
  1056. FlashNova_ind = FlashNova_ind + 1
  1057. if BlackHalo_ind > #sets.BlackHalo.index then BlackHalo_ind = 1 end
  1058. if Realmrazer_ind > #sets.Realmrazer.index then Realmrazer_ind = 1 end
  1059. if Judgement_ind > #sets.Judgement.index then Judgement_ind = 1 end
  1060. if FlashNova_ind > #sets.FlashNova.index then FlashNova_ind = 1 end
  1061. send_command('@input /echo <----- All Club WS Sets changed to ' .. sets.BlackHalo.index[BlackHalo_ind] .. ' ----->')
  1062. elseif command == 'toggle TH' then
  1063. if TH == true then
  1064. TH = false
  1065. send_command('@input /echo <----- Treasure Hunter TP: [Off] ----->')
  1066. else
  1067. TH = true
  1068. send_command('@input /echo <----- Treasure Hunter TP: [On] ----->')
  1069. end
  1070. status_change(player.status)
  1071. elseif command == 'toggle backwards' then
  1072. TP_ind = TP_ind -1
  1073. if TP_ind == 0 then
  1074. TP_ind = #sets.TP.index
  1075. send_command('@input /echo <----- TP Set changed to ' .. sets.TP.index[TP_ind] .. ' ----->')
  1076. end
  1077. if player.status == 'Engaged' then
  1078. ChangeGear(sets.TP[sets.TP.index[TP_ind]])
  1079. end
  1080. elseif command == 'changemaccmab' then
  1081. MAB_ind = MAB_ind + 1
  1082. if MAB_ind > #sets.BlueMagic.INT.index then MAB_ind = 1 end
  1083. send_command('@input /echo <-----Blue Magic INT Type Changed To: ' .. sets.BlueMagic.INT.index[MAB_ind] .. '----->')
  1084. elseif string.sub(command, 0, 4) == '-cd ' then --If the first 4 characters of the command are '-cd '
  1085. add_to_chat (30, string.sub(command, 5, string.len(command))) --add everything after '-cd ' to a message in the chat
  1086. end
  1087.  
  1088. end
  1089.  
  1090. --------------------------------------
  1091. -- Character States --
  1092. --------------------------------------
  1093. function IdleState()
  1094. if player.status == 'Idle' then
  1095. ChangeGear(sets.Idle[sets.Idle.index[Idle_ind]])
  1096. end
  1097.  
  1098. if player.mpp <= 50 and Idle_ind == 1 then
  1099. ChangeGear({waist = "Fucho-no-obi"})
  1100. end
  1101.  
  1102. end
  1103.  
  1104. function RestingState()
  1105.  
  1106. end
  1107.  
  1108. function EngagedState()
  1109. if player.status == 'Engaged' then
  1110. ChangeGear(sets.TP[sets.TP.index[TP_ind]])
  1111. end
  1112. end
  1113.  
  1114. -----------------------------
  1115. -- Precast --
  1116. -----------------------------
  1117. function pc_JA(spell, act)
  1118. if has_any_buff_of({'Petrification','Sleep','Stun','Terror','Amnesia'}) and spell.type == 'WeaponSkill' or spell.type == 'Ability' then
  1119. cancel_spell() return end
  1120. if has_any_buff_of({'Petrification','Sleep','Stun','Terror','Silence'}) and spell.type == 'Magic' or spell.type == 'Ninjutsu' then
  1121. cancel_spell() return end
  1122. if spell.english == 'Azure Lore' then
  1123. ChangeGear(sets.JA.AzureLore)
  1124. elseif spell.english == 'Provoke' then
  1125. ChangeGear(sets.JA.Provoke)
  1126. elseif spell.english == 'Warcry' then
  1127. ChangeGear(sets.JA.Warcry)
  1128. end
  1129.  
  1130. IgnoreWS = S { "Sanguine Blade", "Red Lotus Blade", "Seraph Blade", "Flash Nova", "Realmrazer" } -- Excluded from Moonshade TP override rule.
  1131.  
  1132. if spell.type == 'WeaponSkill' and player.tp >= 1000 and player.target.distance <= 6 then
  1133. if spell.english == 'Requiescat' then
  1134. ChangeGear(sets.Requiescat[sets.Requiescat.index[Requiescat_ind]])
  1135. elseif spell.english == 'Chant du Cygne' or spell.english == 'Vorpal Blade' then
  1136. ChangeGear(sets.CDC[sets.CDC.index[CDC_ind]])
  1137. elseif spell.english == 'Expiacion' then
  1138. ChangeGear(sets.Expiacion[sets.Expiacion.index[Expiacion_ind]])
  1139. elseif spell.english == 'Savage Blade' then
  1140. ChangeGear(sets.Expiacion[sets.Expiacion.index[Expiacion_ind]])
  1141. elseif spell.english == 'True Strike' or spell.english == 'Judgment' then
  1142. ChangeGear(sets.Expiacion[sets.Expiacion.index[Expiacion_ind]])
  1143. elseif spell.english == 'Realmrazer' then
  1144. ChangeGear(sets.Realmrazer[sets.Realmrazer.index[Realmrazer_ind]])
  1145. elseif spell.english == 'Judgement' then
  1146. ChangeGear(sets.Judgement[sets.Judgement.index[Judgement_ind]])
  1147. elseif spell.english == 'Black Halo' then
  1148. ChangeGear(sets.BlackHalo[sets.BlackHalo.index[BlackHalo_ind]])
  1149. elseif spell.english == 'Flash Nova' or spell.english == 'Red Lotus Blade' or spell.english == 'Seraph Blade' then
  1150. ChangeGear(sets.FlashNova[sets.FlashNova.index[FlashNova_ind]])
  1151. elseif spell.english == 'Circle Blade' then
  1152. ChangeGear(sets.CircleBlade)
  1153. elseif spell.english == 'Sanguine Blade' then
  1154. ChangeGear(sets.SanguineBlade)
  1155. end
  1156. if player.tp > 2025 and player.equipment.main == 'Sequence' and buffactive['TP Bonus'] then
  1157. if IgnoreWS:contains(spell.english) then
  1158. do return end
  1159. else
  1160. equip(set_combine(equipSet, { ear1 = "Ishvara Earring" }))
  1161. msg("Ishvara Earring equiped !!!!")
  1162. end
  1163. elseif player.tp > 2275 and player.equipment.main == 'Sequence' then
  1164. if IgnoreWS:contains(spell.english) then
  1165. do return end
  1166. else
  1167. equip(set_combine(equipSet, { ear1 = "Ishvara Earring" }))
  1168. msg("Ishvara Earring equiped !!!")
  1169. end
  1170. elseif player.tp > 2550 and buffactive['TP Bonus'] then
  1171. if IgnoreWS:contains(spell.english) then
  1172. do return end
  1173. else
  1174. equip(set_combine(equipSet, { ear1 = "Ishvara Earring" }))
  1175. msg("Ishvara Earring equiped !!")
  1176. end
  1177. elseif player.tp > 2775 then
  1178. if IgnoreWS:contains(spell.english) then
  1179. do return end
  1180. else
  1181. equip(set_combine(equipSet, { ear1 = "Ishvara Earring" }))
  1182. msg("Ishvara Earring equiped !")
  1183. end
  1184. end
  1185. elseif player.tp >= 1000 and player.target and player.target.distance and player.target.distance > 8 and spell.type == 'WeaponSkill' then
  1186. cancel_spell()
  1187. msg("Weapon Skill Canceled Target Out of Range")
  1188. end
  1189.  
  1190. if spell.type == 'Step' then
  1191. ChangeGear(set_combine(sets.TP.AccuracyFull, sets.Utility.TH))
  1192. elseif spell.english == 'Animated Flourish' then
  1193. ChangeGear(sets.BlueMagic.Enmity)
  1194. end
  1195. end
  1196.  
  1197. function pc_Magic(spell, act)
  1198. if spell.skill == 'Blue Magic' then
  1199. ChangeGear(sets.precast.FastCast.Blue)
  1200. else
  1201. ChangeGear(sets.precast.FastCast.Standard)
  1202. end
  1203. end
  1204.  
  1205. function pc_Item(spell, act)
  1206. end
  1207.  
  1208.  
  1209. -----------------------------
  1210. -- Midcast --
  1211. -----------------------------
  1212. function mc_JA(spell, act)
  1213. end
  1214.  
  1215. function mc_Magic(spell, act)
  1216. if spell.skill == 'Healing Magic' then
  1217. if spell.target and spell.target.type == 'SELF' then
  1218. ChangeGear(sets.BlueMagic.SelfCures)
  1219. else
  1220. ChangeGear(sets.BlueMagic.Cures)
  1221. end
  1222. end
  1223. if spell.skill == 'Enhancing Magic' then
  1224. if spell.english == 'Refresh' then
  1225. ChangeGear(sets.BlueMagic.Battery)
  1226. elseif string.find(spell.english,'Shell') or string.find(spell.english,'Protect') then
  1227. ChangeGear(sets.Enhancing.ProShell)
  1228. elseif spell.english=="Phalanx" then
  1229. ChangeGear(sets.Enhancing.Phalanx)
  1230. elseif spell.english=="Aquaveil" then
  1231. ChangeGear(sets.Enhancing.Aquaveil)
  1232. else
  1233. ChangeGear(sets.Enhancing)
  1234. end
  1235. end
  1236. if spell.skill == 'Divine Magic' then
  1237. if spell.english == 'Flash' then
  1238. ChangeGear(sets.BlueMagic.Enmity)
  1239. else
  1240. ChangeGear(sets.BlueMagicMagicAccuracy)
  1241. end
  1242. end
  1243. if spell.skill == 'Enfeebling Magic' then
  1244. ChangeGear(sets.BlueMagic.MagicAccuracy)
  1245. end
  1246. if spell.skill == 'Dark Magic' then
  1247. ChangeGear(sets.BlueMagic.MagicAccuracy)
  1248. elseif spell.skill == 'Elemental Magic' then
  1249. ChangeGear(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]])
  1250. end
  1251. if spell.skill == 'Blue Magic' then
  1252. if spell.english == 'Battery Charge' then
  1253. ChangeGear(sets.BlueMagic.Battery)
  1254. elseif spell.english == 'Regeneration' or string.find(spell.english,'Regen') then
  1255. ChangeGear(sets.BlueMagic.Regeneration)
  1256. else
  1257. ChangeGear(sets.precast.FastCast.Blue)
  1258. end
  1259. end
  1260. if BlueMagic_Diffusion:contains(spell.english) then
  1261. ChangeGear(sets.JA.Diffusion)
  1262. end
  1263.  
  1264. if PhysicalSpells:contains(spell.english) then
  1265. if PhysicalBlueMagic_STR:contains(spell.english) then
  1266. ChangeGear(sets.BlueMagic.STR)
  1267. elseif PhysicalBlueMagic_DEX:contains(spell.english) then
  1268. ChangeGear(sets.BlueMagic.STRDEX)
  1269. elseif PhysicalBlueMagic_VIT:contains(spell.english) then
  1270. ChangeGear(sets.BlueMagic.STRVIT)
  1271. elseif PhysicalBlueMagic_AGI:contains(spell.english) then
  1272. ChangeGear(sets.BlueMagic.AGI)
  1273. elseif BlueMagic_PhysicalAcc:contains(spell.english) then
  1274. ChangeGear(sets.BlueMagic.HeavyStrike)
  1275. end
  1276. if buffactive['Chain Affinity'] then
  1277. ChangeGear(sets.JA.ChainAffinity)
  1278. end
  1279. if buffactive['Efflux'] then
  1280. ChangeGear(sets.JA.Efflux)
  1281. end
  1282. end
  1283.  
  1284. if MagicalSpells:contains(spell.english) then
  1285. if BlueMagic_INT:contains(spell.english) then
  1286. ChangeGear(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]])
  1287. elseif BlueMagic_Dark:contains(spell.english) then
  1288. ChangeGear(set_combine(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]],{head = "Pixie Hairpin +1", ring1 = "Archon Ring"}))
  1289. elseif BlueMagic_Light:contains(spell.english) then
  1290. ChangeGear(set_combine(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]],{
  1291. -- ring2 = "Weatherspoon Ring"
  1292. }))
  1293. elseif BlueMagic_Earth:contains(spell.english) then
  1294. ChangeGear(set_combine(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]],{
  1295. -- neck = "Quanpur Necklace"
  1296. }))
  1297. end
  1298.  
  1299. if buffactive['Burst Affinity'] then
  1300. ChangeGear(sets.JA.BurstAffinity)
  1301. end
  1302. if world.day_element == spell.element or world.weather_element == spell.element then
  1303. ChangeGear(set_combine(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]], { waist = 'Hachirin-no-Obi' }))
  1304. end
  1305. end
  1306.  
  1307. if BlueMagic_Accuracy:contains(spell.english) then
  1308. ChangeGear(sets.BlueMagic.MagicAccuracy)
  1309. elseif BlueMagic_Stun:contains(spell.english) then
  1310. ChangeGear(sets.BlueMagic.Stun)
  1311. elseif BlueMagic_Enmity:contains(spell.english) then
  1312. ChangeGear(sets.BlueMagic.Enmity)
  1313. elseif BlueMagic_Buffs:contains(spell.english) then
  1314. ChangeGear(sets.BlueMagic.Buffs)
  1315. elseif BlueMagic_Skill:contains(spell.english) then
  1316. ChangeGear(sets.BlueMagic.Skill)
  1317. elseif buffactive.Diffusion then
  1318. ChangeGear(sets.JA.Diffusion)
  1319. elseif spell.english == 'White Wind' then
  1320. ChangeGear(sets.BlueMagic.WhiteWind)
  1321. elseif BlueMagic_Healing:contains(spell.english) then
  1322. if spell.target and spell.target.type == 'SELF' then
  1323. ChangeGear(sets.BlueMagic.SelfCures)
  1324. else
  1325. ChangeGear(sets.BlueMagic.Cures)
  1326. end
  1327. end
  1328. end
  1329.  
  1330.  
  1331. function mc_Item(spell, act)
  1332. end
  1333.  
  1334.  
  1335. ------------------------------------------
  1336. -- After Cast --
  1337. ------------------------------------------
  1338. function ac_JA(spell)
  1339. end
  1340.  
  1341. function ac_Magic(spell)
  1342. end
  1343.  
  1344. function ac_Item(spell)
  1345. end
  1346.  
  1347. function ac_Global()
  1348. if player.status == 'Engaged' then
  1349. EngagedState()
  1350. else
  1351. IdleState()
  1352. end
  1353. end
  1354. ---Based off of Spicyryan of Asura's .lua https://pastebin.com/u/Spicyryan
  1355. ------------------------------------------
  1356. -- Framework Core --
  1357. ------------------------------------------
  1358. function status_change(new, old)
  1359. if new == 'Idle' then
  1360. IdleState()
  1361. elseif new == 'Resting' then
  1362. RestingState()
  1363. elseif new == 'Engaged' then
  1364. EngagedState();
  1365. end
  1366.  
  1367. if player.status == 'Engaged' and TH == true then
  1368. ChangeGear(set_combine(equipSet, sets.Utility.TH))
  1369. end
  1370.  
  1371. end
  1372.  
  1373. function precast(spell, act)
  1374. if spell.action_type == 'Ability' then
  1375. pc_JA(spell, act)
  1376. elseif spell.action_type == 'Magic' then
  1377. pc_Magic(spell, act)
  1378. else
  1379. pc_Item(spell, act)
  1380. end
  1381. end
  1382.  
  1383. function midcast(spell, act)
  1384. if spell.action_type == 'Ability' then
  1385. mc_JA(spell, act)
  1386. elseif spell.action_type == 'Magic' then
  1387. if TH == true and player.status == 'Idle' then
  1388. if BlueMagic_Buffs:contains(spell.english) or BlueMagic_Diffusion:contains(spell.english) or BlueMagic_Healing:contains(spell.english) or BlueMagic_Skill:contains(spell.english) or spell.skill == 'Enhancing Magic' or spell.skill == 'Healing Magic' then
  1389. mc_Magic(spell, act)
  1390. elseif PhysicalSpells:contains(spell.english) then
  1391. ChangeGear(set_combine(sets.BlueMagic.STR, sets.Utility.TH))
  1392. elseif MagicalSpells:contains(spell.english) then
  1393. ChangeGear(set_combine(sets.BlueMagic.INT[sets.BlueMagic.INT.index[MAB_ind]], sets.Utility.TH))
  1394. end
  1395. else
  1396. mc_Magic(spell, act)
  1397. end
  1398. else
  1399. mc_Item(spell, act)
  1400. end
  1401.  
  1402. end
  1403.  
  1404. function aftercast(spell, act, spellMap, eventArgs)
  1405. if spell.action_type == 'Ability' then
  1406. ac_JA(spell)
  1407. elseif spell.action_type == 'Magic' then
  1408. ac_Magic(spell)
  1409. else
  1410. ac_Item(spell)
  1411. end
  1412. ac_Global()
  1413.  
  1414. --Countdowns--
  1415. if not spell.interrupted then
  1416. if spell.english == "Sheep Song" then
  1417. send_command('wait 30;gs c -cd '..spell.name..': [Off In 10~30 Seconds!];wait 10;gs c -cd '..spell.name..': [Off In 0~20 Seconds!]')
  1418. elseif spell.english == "Dream Flower" or spell.english == "Yawn" then
  1419. send_command('wait 80;gs c -cd '..spell.name..': [Off In 10~40 Seconds!];wait 10;gs c -cd '..spell.name..': [Off In 0~30 Seconds!]')
  1420. end
  1421. end
  1422.  
  1423. end
  1424.  
  1425. function ChangeGear(GearSet)
  1426. equipSet = GearSet
  1427. equip(GearSet)
  1428. end
  1429.  
  1430. function msg(str)
  1431. send_command('@input /echo <----- ' .. str .. ' ----->')
  1432. end
  1433.  
  1434. ---End of Rules---------------------------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement