Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.00 KB | None | 0 0
  1. function get_sets()
  2. message = 'ON' -- Change your default message ON or OFF Here --
  3. buffgaintoggle = "1"
  4. AccIndex = 1
  5. AccArray = {"LowACC","HighACC"} -- 2 Levels Of Accuracy Sets For Phys and Magin Blood Pact Rage. Default ACC Set Is LowACC.
  6. IdleIndex = 1
  7. IdleArray = {"Refresh","Town","PDT"} -- Default Idle Set Is Movement --
  8. Armor = 'None'
  9. Nirvana = 0
  10. DDLock = 0
  11. PetMaB = 'OFF'
  12. ElementalStaff = 'ON' -- Set Default Precast Elemental Staff ON or OFF Here --
  13. target_distance = 5 -- Set Default Distance Here --
  14. select_default_macro_book()
  15. include('organizer-lib.lua')
  16. --Magic Atk Bouns Gear--
  17. MabHead = {name="Helios Band",augments={"Mag. Acc.+20 Mag.Atk. Bns. +20","Occult Acumen +6","Magic burst mdg.+5%"}}
  18. -- physical Blood Pact Rage Gear --
  19. PBprHead = {name="Helios Band",augments={"Blood Pact Dmg.+7","Pet: Crit.hit rate +3","Pet: Attack+26 Pet: Rng. Atk.+26"}}
  20. PBprBody = {name="Helios Jacket",augments={"Blood Pact Dmg.+7","Pet: Crit.hit rate +3","Pet: Attack+27 Pet: Rng. Atk.+27"}}
  21. PBprHands = {name="Helios Gloves",augments={"Blood Pact Dmg.+6","Pet: Crit.hit rate +3","Pet: Attack+28 Pet: Rng. Atk.+28"}}
  22. PBprFeet = {name="Helios Boots",augments={"Blood Pact Dmg.+7","Pet: Crit.hit rate +3","Pet: Attack+29 Pet: Rng. Atk.+29"}}
  23. -- Pet Tp Gear --
  24. TpHead = {name="Helios Band",augments={"Pet: Accuracy+23 Pet: Rng. Acc.+23","Pet: Dbl. Atk. +7"}}
  25. TpBody = {name="Helios Jacket",augments={"Pet: Haste+5","Pet: Attack+23 Pet: Rng. Atk.+23","Pet: Dbl. Atk. +7"}}
  26. TpHands = {name="Helios Gloves",augments={""}}
  27. TpLegs = {name="Helios Spats",augments={"Pet: Haste+6","Pet: Accuracy+22 Pet: Rng. Acc.+22","Pet: Dbl. Atk. +8"}}
  28. TpFeet = {name="Helios Boots",augments={""}}
  29. -- Pet Magic Acc Gear --
  30. MaccHead = {name="Helios Band",augments={"INT+3 MND+3","Blood Boon +6","Pet: Mag. Acc. +29"}}
  31. MaccBody = {name="Helios Jacket",augments={""}}
  32. MaccHands = {name="Helios Gloves",augments={"Blood Boon +7","Pet: Mag. Acc +28"}}
  33. MaccLegs = {name="Helios Spats",augments={""}}
  34. MaccFeet = {name="Helios Boots",augments={"Blood Boon +7","Pet: Mag. Acc. +22"}}
  35. -- Pet Aug Capes --
  36. SkillCape = {name="Conveyance Cape",augments={"Summoning magic skill +5","Blood Pact Dmg.+2","Pet: Enmity+10"}}
  37. BprCape = {name="Conveyance Cape",augments={"Summoning magic skill +2","Blood Pact Dmg.+5","Pet: Enmity+13"}}
  38. -- Pet Magic Blood Pact Rage Staff --
  39. BprStaff = {name="Keraunos",augments={"Blood Pact Dmg.+7","Pet: Mag. Atk. Bns. +15"}}
  40.  
  41. Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
  42. Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
  43. sc_map = {SC1 = "Garuda", SC2 = "Ramuh", SC3 = "Fenrir"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
  44.  
  45. Cities = S{
  46. "Ru'lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno",
  47. "Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
  48. "Port San d'Oria","Northern San d'Oria","Southern San d'Oria",
  49. "Port Bastok","Bastok Markets","Bastok Mines","Metalworks",
  50. "Aht Urhgan Whitegate","Nashmau","Tavanazian Safehold",
  51. "Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham"}
  52.  
  53. Avatars = S{
  54. "Ramuh","Garuda","Alexander","Fenrir","Titan","Shiva","Ifrit","Diabolos",
  55. "Leviathan","Carbuncle","Odin","Cait Sith","Atomos"}
  56.  
  57. -- Use The Following Spirit Spells Again To Trigger Auto Elemental Siphon --
  58. Spirits = S{
  59. "Fire Spirit","Ice Spirit","Air Spirit","Earth Spirit","Thunder Spirit",
  60. "Water Spirit","Light Spirit","Dark Spirit"}
  61.  
  62. SpiritPacts = S{
  63. "FireSpirit","IceSpirit","AirSpirit","EarthSpirit","ThunderSpirit",
  64. "WaterSpirit","LightSpirit","DarkSpirit"}
  65.  
  66. MagicalRagePacts = S{
  67. 'Inferno','Earthen Fury','Tidal Wave','Aerial Blast','Diamond Dust','Judgement Bolt',
  68. 'Fire II','Stone II','Water II','Aero II','Blizzard II','Thunder II',
  69. 'Fire IV','Stone IV','Water IV','Aero IV','Blizzard IV','Thunder IV',
  70. 'Thunderspark','Burning Strike','Meteorite','Nether Blast',
  71. 'Meteor Strike','Heavenly Strike','Wind Blade','Geocrush','Grand Fall','Thunderstorm',
  72. 'Holy Mist','Searing Light','Howling Moon','Ruinous Omen','Lunar Bay','Night Terror',
  73. 'Level ? Holy','Conflag Strike','Impact','Somnolence'}
  74.  
  75. PhysicalRagePacts = S{'Predator Claws','Spinning Dive','Eclipse Bite','Mountain Buster',
  76. 'Rush','Chaotic Strike','Volt Strike','Blindside','Regal Gash'}
  77.  
  78. DebuffBloodPactWard = S{
  79. 'Diamond Storm','Sleepga','Slowga','Tidal Roar','Nightmare','Pavor Nocturnus',
  80. 'Ultimate Terror','Lunar Cry','Lunar Roar','Eerie Eye','Mewing Lullaby'}
  81.  
  82. durations = {}
  83. durations['Fleet Wind'] = 420
  84. durations['Earthen Armor'] = 304
  85. durations['Shining Ruby'] = 340
  86. durations['Dream Shroud'] = 381
  87. durations['Noctoshield'] = 381
  88. durations['Inferno Howl'] = 304
  89. durations['Hastega II'] = 471
  90. durations['Crimson Howl'] = 260
  91. durations['Perfect Defense'] = 58
  92. durations['Ecliptic Howl'] = 381
  93. durations['Crystal Blessing'] = 470
  94. timer_icons = {}
  95. -- 00054 for Stoneskin, or 00299 for Titan
  96. timer_icons['Earthen Armor'] = 'spells/00299.png'
  97. -- 00043 for protect, or 00296 for Carby
  98. timer_icons['Shining Ruby'] = 'spells/00043.png'
  99. -- 00304 for Diabolos
  100. timer_icons['Dream Shroud'] = 'spells/00304.png'
  101. -- 00106 for Phalanx, or 00304 for Diabolos
  102. timer_icons['Noctoshield'] = 'spells/00106.png'
  103. -- 00100 for Enfire, or 00298 for Ifrit
  104. timer_icons['Inferno Howl'] = 'spells/00100.png'
  105. timer_icons['Crimson Howl'] = 'spells/00298.png'
  106. -- 00358 for Hastega, or 00301 for Garuda
  107. timer_icons['Hastega II'] = 'spells/00358.png'
  108. -- 00393 for Alexander
  109. timer_icons['Perfect Defense'] = 'spells/00306.png'
  110. -- 00297 for Fenrir
  111. timer_icons['Ecliptic Howl'] = 'spells/00297.png'
  112. -- 00387 for Leviathin
  113. timer_icons['Soothing Current'] = 'spells/00387.png'
  114. -- 00301 for Garuda
  115. timer_icons['Fleet Wind'] = 'spells/00301.png'
  116. -- 00020 for Shiva
  117. timer_icons['Crystal Blessing'] = 'spells/00020.png'
  118.  
  119. -- Idle Sets --
  120. sets.Idle = {}
  121. sets.Idle.Refresh = {Main= "Nirvana",
  122. sub="Elan Strap +1",
  123. ammo="Sancus Sachet +1",
  124. head="Convoker's Horn +3",
  125. body="Apogee Dalmatica +1",
  126. hands="Asteria Mitts +1",
  127. legs="Assid. Pants +1",
  128. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  129. neck="Caller's Pendant",
  130. waist="Fucho-no-Obi",
  131. left_ear="Evans Earring",
  132. right_ear="Genmei Earring",
  133. left_ring="Evoker's Ring",
  134. right_ring="Woltaris Ring +1",
  135. back="Moonbeam Cape"}
  136. sets.Idle.Town = set_combine(sets.Idle.Refresh,{feet="Herald's Gaiters"})
  137. sets.Idle.PDT = set_combine(sets.Idle.Refresh,{
  138. })
  139.  
  140. sets.Resting = {}
  141.  
  142. sets.Nirvana = {}
  143.  
  144. -- PDT Set --
  145. sets.PDT = {}
  146.  
  147. -- PET-PDT Set --
  148. sets.PetPdt = {}
  149.  
  150.  
  151.  
  152. sets.Precast = {}
  153. -- Fastcast Set --
  154. sets.Precast.FastCast = {
  155. head={ name="Merlinic Hood", augments={'"Fast Cast"+7',}},
  156. neck="Orunmila's Torque",
  157. ear1="Loquac. Earring",
  158. ear2="Etiolation Earring",
  159. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+16','"Fast Cast"+7','INT+1','"Mag.Atk.Bns."+14',}},
  160. hands={ name="Merlinic Dastanas", augments={'"Fast Cast"+6','CHR+4','Mag. Acc.+2','"Mag.Atk.Bns."+6',}},
  161. ring1="Kishar Ring",
  162. waist="Witful Belt",
  163. ring2="Lebeche Ring",
  164. back="Perimede Cape",
  165. legs="Psycloth Lappas",
  166. feet="Regal Pumps +1"}
  167.  
  168. -- Precast BloodPact --
  169. sets.Precast.BloodPact = {Main= "Nirvana",
  170. sub="Elan Strap +1",
  171. ammo="Sancus Sachet +1",
  172. neck="Caller's Pendant",
  173. ear1="Andoaa Earring",
  174. head="Beckoner's Horn +1",
  175. body="Con. Doublet +3",
  176. hands={ name="Glyphic Bracers +1", augments={'Inc. Sp. "Blood Pact" magic burst dmg.',}},
  177. legs="Beck. spats +1",
  178. feet="Apogee Pumps",
  179. waist="Lucidity Sash",
  180. ring1="Evoker's Ring",
  181. ring2="Stikini Ring",
  182. back="Conveyance Cape"}
  183.  
  184. sets.Precast['Enhancing Magic'] = set_combine(sets.Precast.FastCast,{waist="Siegel Sash"})
  185.  
  186. -- Precast Cure Set --
  187. sets.Precast.Cure = set_combine(sets.Precast.FastCast, {})
  188.  
  189. -- Midcast Base Set --
  190. sets.Midcast = {}
  191.  
  192. -- Haste Set --
  193. sets.Midcast.Haste = {head={ name="Merlinic Hood", augments={'"Fast Cast"+7',}},
  194. neck="Orunmila's Torque",
  195. ear1="Loquac. Earring",
  196. ear2="Etiolation Earring",
  197. body={ name="Merlinic Jubbah", augments={'Mag. Acc.+16','"Fast Cast"+7','INT+1','"Mag.Atk.Bns."+14',}},
  198. hands={ name="Merlinic Dastanas", augments={'"Fast Cast"+6','CHR+4','Mag. Acc.+2','"Mag.Atk.Bns."+6',}},
  199. ring1="Prolix Ring",
  200. waist="Witful Belt",
  201. ring2="Lebeche Ring",
  202. back="Perimede Cape",
  203. legs="Psycloth Lappas",
  204. feet="Regal Pumps +1"}
  205.  
  206. -- Cure Set --
  207. sets.Midcast.Cure = {main="Gada",
  208. sub="Ammurapi Shield",
  209. head="Vanya Hood",
  210. neck="Incanter's Torque",
  211. ear2="Gifted Earring",
  212. ear1="Beatific Earring",
  213. feet="Vanya Clogs",
  214. body="Vanya Robe",
  215. hands="Telchine Gloves",
  216. ring1="Sirona's Ring",
  217. ring2="Ephedra Ring",
  218. back="Tempered Cape +1",
  219. waist="Gishdubar Sash",
  220. legs="Gyve Trousers"}
  221.  
  222. -- Curaga Set --
  223. sets.Midcast.Curaga = {
  224. main="Gada",
  225. sub="Ammurapi Shield",
  226. head="Vanya Hood",
  227. neck="Incanter's Torque",
  228. ear2="Gifted Earring",
  229. ear1="Beatific Earring",
  230. feet="Vanya Clogs",
  231. body="Vanya Robe",
  232. hands="Telchine Gloves",
  233. ring1="Sirona's Ring",
  234. ring2="Ephedra Ring",
  235. back="Tempered Cape +1",
  236. waist="Gishdubar Sash",
  237. legs="Gyve Trousers"}
  238.  
  239. -- Enfeebling Sets --
  240. sets.Midcast['Enfeebling Magic'] = {
  241. main="Nirvana",
  242. head="Psycloth Tiara",
  243. legs="Psycloth Lappas"}
  244.  
  245. sets.Midcast.Summoning = {
  246. neck="Loricate Torque +1",
  247. body="Onca Suit",
  248. ring1="Patricius Ring",
  249. ring2="Defending Ring",
  250. back="Campestres's Cape"}
  251.  
  252. -- Enhancing Magic Set --
  253. sets.Midcast['Enhancing Magic'] = set_combine(sets.Midcast.Haste,{main="Oranyan",
  254. ammo="Pemphredo Tathlum",
  255. ear2="Augmenting Earring",
  256. hands={ name="Telchine Gloves", augments={'Accuracy+20','"Dbl.Atk."+3','Enh. Mag. eff. dur. +7',}},
  257. head={ name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}},
  258. body={ name="Telchine Chas.", augments={'Accuracy+18','"Dbl.Atk."+3','Enh. Mag. eff. dur. +8',}},
  259. legs={ name="Telchine Braconi", augments={'Accuracy+8 Attack+8','"Store TP"+5','Enh. Mag. eff. dur. +9',}},
  260. feet={ name="Telchine Pigaches", augments={'Accuracy+17','"Dbl.Atk."+3','Enh. Mag. eff. dur. +9',}},
  261. neck="Incanter's Torque",
  262. ear1="Andoaa Earring",
  263. ring1="Stikini Ring",
  264. ring2="Stikini Ring",
  265. waist="Gishdubar Sash"
  266. })
  267.  
  268. -- Stoneskin Set --
  269. sets.Midcast.Stoneskin = set_combine(sets.Midcast['Enhancing Magic'],{})
  270.  
  271. sets.Midcast['Elemental Magic'] = {
  272. head=MabHead,
  273. neck="Eddy Necklace",
  274. ear1="Friomisi Earring",
  275. ear2="Crematio Earring",
  276. body="Amalric Doublet",
  277. hands="Amalric Gages",
  278. ring1="Shiva Ring +1",
  279. ring2="Strendu Ring",
  280. back="Izdubar Mantle",
  281. waist="Eschan Stone",
  282. legs="Amalric Slops",
  283. feet="Amalric Nails"}
  284.  
  285. -- Avatars Sets
  286. sets.Avatars = {
  287. Main= "Nirvana",
  288. sub="Elan Strap +1",
  289. ammo="Sancus Sachet +1",
  290. head="Beckoner's Horn +1",
  291. body="Apogee Dalmatica +1",
  292. hands="Asteria Mitts +1",
  293. legs="Assid. Pants +1",
  294. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  295. neck="Caller's Pendant",
  296. waist="Fucho-no-Obi",
  297. left_ear="Evans Earring",
  298. right_ear="Enmerkar Earring",
  299. left_ring="Evoker's Ring",
  300. back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Eva.+20 /Mag. Eva.+20','Pet: Mag. Acc.+10','Pet: "Regen"+10',}},
  301. right_ring="Woltaris Ring +1"}
  302. sets.Avatars['Carbuncle'] = set_combine(sets.Avatars,{})
  303. sets.Avatars['Diabolos'] = set_combine(sets.Avatars,{})
  304.  
  305. sets.Avatars.Melee = set_combine(sets.Avatars,{
  306. Main= "Nirvana",
  307. sub="Elan Strap +1",
  308. ammo="Sancus Sachet +1",
  309. head="Beckoner's Horn +1",
  310. body="Apogee Dalmatica +1",
  311. hands="Asteria Mitts +1",
  312. legs="Assid. Pants +1",
  313. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  314. neck="Caller's Pendant",
  315. waist="Fucho-no-Obi",
  316. left_ear="Evans Earring",
  317. right_ear="Enmerkar Earring",
  318. left_ring="Varar Ring +1",
  319. back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Accuracy+10 Pet: Rng. Acc.+10','Pet: Haste+10',}},
  320. right_ring="Woltaris Ring +1"})
  321.  
  322. -- Avatar's Favor Set --
  323. sets.Favor = set_combine(sets.Avatars,{
  324. Main= "Nirvana",
  325. sub="Elan Strap +1",
  326. ammo="Sancus Sachet +1",
  327. head="Convoker's Horn +3",
  328. body="Apogee Dalmatica +1",
  329. hands="Asteria Mitts +1",
  330. legs="Assid. Pants +1",
  331. feet={ name="Merlinic Crackows", augments={'"Fast Cast"+1','Attack+5','"Refresh"+2',}},
  332. neck="Caller's Pendant",
  333. waist="Fucho-no-Obi",
  334. left_ear="Evans Earring",
  335. right_ear="Enmerkar Earring",
  336. left_ring="Evoker's Ring",
  337. back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Accuracy+10 Pet: Rng. Acc.+10','Pet: Haste+10',}},
  338. right_ring="Woltaris Ring +1"})
  339.  
  340. -- Spirits Set --
  341. sets.Spirits = set_combine(sets.Avatars,{
  342. main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
  343. sub="Vox Grip",
  344. head="Con. horn +1",
  345. neck="Incanter's Torque",
  346. ear2="Andoaa earring",
  347. body="Apogee Dalmatica +1",
  348. hands="Glyphic Bracers +1",
  349. ring1="Evoker's Ring",
  350. ring2="Stikini ring",
  351. back="Conveyance Cape",
  352. waist="Lucidity Sash",
  353. legs="Beck. spats +1",
  354. feet="Apogee Pumps"})
  355.  
  356. sets.Midcast.Pet = {}
  357. -- Normal BloodPactWard/PD Set --
  358. sets.Midcast.Pet.BloodPactWard = {
  359. main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
  360. sub="Vox Grip",
  361. ammo="Sancus Sachet +1",
  362. head="Beckoner's Horn +1",
  363. neck="Caller's Pendant",
  364. ear1="Andoaa Earring",
  365.  
  366. body="Beckoner's Doublet",
  367. back="Conveyance Cape",
  368. hands="Lamassu Mitts +1",
  369. ring1="Evoker's Ring",
  370. ring2="Stikini Ring",
  371. waist="Lucidity Sash",
  372. legs="Beck. spats +1",
  373. feet="Apogee Pumps"}
  374.  
  375. -- Magic Accuracy BloodPactWard Set --
  376. sets.Midcast.Pet.BloodPactWard_MACC = set_combine(sets.Midcast.Pet.BloodPactWard,{main={ name="Grioavolr", augments={'Blood Pact Dmg.+9','Pet: Mag. Acc.+25','Pet: "Mag.Atk.Bns."+5','DMG:+13',}},
  377. head="Convoker's Horn +3",
  378. sub="Vox Grip",
  379. neck="Adad Amulet",
  380. body="Con. Doublet +3",
  381. hands="Lamassu Mitts +1",
  382. waist="Incarnation Sash",
  383. right_ear="Enmerkar Earring",
  384. left_ear="Lugalbanda Earring",
  385. back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Eva.+20 /Mag. Eva.+20','Pet: Mag. Acc.+10','Pet: "Regen"+10',}},
  386. legs="Tali'ah Seraweels +2",
  387. feet="Tali'ah Crackows +2"})
  388.  
  389. -- Physical BloodPactRage Set --
  390. sets.Midcast.Pet.PhysicalBloodPactRage = {
  391. body="Con. Doublet +3",
  392. hands={ name="Merlinic Dastanas", augments={'Blood Pact Dmg.+10','Pet: DEX+4','Pet: "Mag.Atk.Bns."+14',}},
  393. head={ name="Apogee Crown +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}},
  394. feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}},
  395. legs="Apogee Slacks +1",
  396. neck="Shulmanu Collar",
  397. waist="Incarnation Sash",
  398. left_ear="Gelos Earring",
  399. right_ear="Lugalbanda Earring",
  400. back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Accuracy+10 Pet: Rng. Acc.+10','Pet: Haste+10',}},
  401. left_ring="Varar Ring +1",
  402. right_ring="Varar Ring +1"}
  403. sets.Midcast.Pet.PhysicalBloodPactRage.LowACC = set_combine(sets.Midcast.Pet.PhysicalBloodPactRage,{})
  404. sets.Midcast.Pet.PhysicalBloodPactRage.HighACC = set_combine(sets.Midcast.Pet.PhysicalBloodPactRage,{
  405. })
  406.  
  407. -- Magical BloodPactRage Set --
  408. sets.Midcast.Pet.MagicalBloodPactRage ={
  409. main={ name="Grioavolr", augments={'Blood Pact Dmg.+9','Pet: Mag. Acc.+25','Pet: "Mag.Atk.Bns."+5','DMG:+13',}},
  410. sub="Elan Strap +1",
  411. ammo="Sancus Sachet +1",
  412. head={ name="Apogee Crown +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
  413. feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
  414. legs="Enticer's Pants",
  415. body="Apogee Dalmatica +1",
  416. hands={ name="Merlinic Dastanas", augments={'Pet: "Mag.Atk.Bns."+28','Blood Pact Dmg.+10','Pet: INT+8','Pet: Mag. Acc.+8',}},
  417. neck="Adad Amulet",
  418. waist="Regal Belt",
  419. left_ear="Gelos Earring",
  420. right_ear="Lugalbanda Earring",
  421. left_ring="Varar Ring +1",
  422. back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Eva.+20 /Mag. Eva.+20','Pet: Mag. Acc.+10','Pet: "Regen"+10',}},
  423. right_ring="Varar Ring +1"}
  424. sets.Midcast.Pet.MagicalBloodPactRage.LowACC = set_combine(sets.Midcast.Pet.MagicalBloodPactRage,{})
  425. sets.Midcast.Pet.MagicalBloodPactRage.HighACC = set_combine(sets.Midcast.Pet.MagicalBloodPactRage,{})
  426.  
  427. -- Flaming Crush Set --
  428. sets.Midcast.Pet.FlamingCrush ={
  429. main={ name="Grioavolr", augments={'Blood Pact Dmg.+9','Pet: Mag. Acc.+25','Pet: "Mag.Atk.Bns."+5','DMG:+13',}},
  430. sub="Elan Strap +1",
  431. ammo="Sancus Sachet +1",
  432. head={ name="Apogee Crown +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
  433. feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
  434. legs="Apogee Slacks +1",
  435. body="Apogee Dalmatica +1",
  436. hands={ name="Merlinic Dastanas", augments={'Blood Pact Dmg.+10','Pet: DEX+4','Pet: "Mag.Atk.Bns."+14',}},
  437. neck="Adad Amulet",
  438. waist="Regal Belt",
  439. left_ear="Gelos Earring",
  440. right_ear="Lugalbanda Earring",
  441. left_ring="Varar Ring +1",
  442. back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Accuracy+10 Pet: Rng. Acc.+10','Pet: Haste+10',}},
  443. right_ring="Varar Ring +1"}
  444. sets.Midcast.Pet.FlamingCrush.LowACC = set_combine(sets.Midcast.Pet.FlamingCrush,{})
  445. sets.Midcast.Pet.FlamingCrush.HighACC = set_combine(sets.Midcast.Pet.FlamingCrush,{
  446. waist="Incarnation sash"})
  447. -- Shock Squall Set --
  448. sets.Midcast.Pet['Shock Squall'] = {
  449. main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
  450. sub="Vox Grip",
  451. ammo="Sancus Sachet +1",
  452. head="Convoker's Horn +1",
  453. hands="Lamassu Mitts +1",
  454. feet="Beckoner Pigaches +1",
  455. neck="Adad Amulet",
  456. ear1="Andoaa Earring",
  457. ear2="Lugalbanda Earring",
  458. body={ name="Apogee Dalmatica", augments={'Summoning magic skill +15','Enmity-5','Pet: Damage taken -3%',}},
  459. ring1="Evoker's Ring",
  460. ring2="Stikini Ring",
  461. back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Eva.+20 /Mag. Eva.+20','Pet: Mag. Acc.+10','Pet: "Regen"+10',}},
  462. legs="Beck. spats +1"}
  463.  
  464. -- JA Sets --
  465. sets.JA = {}
  466. sets.JA['Mana Cede'] = {hands="Beck. Bracers +1"}
  467. sets.JA['Elemental Siphon'] = set_combine(sets.Midcast.Pet.BloodPactWard,{
  468. feet="Beck. Pigaches +1"})
  469. sets.JA['Astral Flow'] = {head="Glyphic Horn +1"}
  470.  
  471. -- Melee Set --
  472. sets.Melee = {Main= "Nirvana",
  473. sub="Elan Strap +1",
  474. head="Tali'ah Turban +2",
  475. body="Tali'ah Manteel +2",
  476. hands="Tali'ah Gages +1",
  477. legs="Tali'ah Seraweels +2",
  478. feet="Tali'ah Crackows +2",
  479. neck="Shulmanu Collar",
  480. waist="Cetl Belt",
  481. left_ear="Cessance Earring",
  482. right_ear="Telos Earring",
  483. left_ring="Petrov Ring",
  484. back={ name="Campestres's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  485. right_ring="Pernicious Ring"}
  486.  
  487. -- WS Base Set --
  488. sets.WS = {}
  489.  
  490. sets.WS["Spirit Taker"] = {
  491. head="Tali'ah Turban +2",
  492. body="Tali'ah Manteel +2",
  493. hands="Tali'ah Gages +1",
  494. legs="Tali'ah Seraweels +2",
  495. feet="Tali'ah Crackows +2",
  496. ring1="Patricius Ring",
  497. back="Swith Cape +1",
  498. waist="Fotia Belt",
  499. feet="Beck. Pigaches +1"}
  500.  
  501. sets.WS.Shattersoul = {
  502. main="Nirvana",
  503. ammo="Seraphicaller +1",
  504. neck="Fotia Gorget",
  505. ear1="Dignitary's Earring",
  506. ear2="Telos Earring",
  507. back={ name="Campestres's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
  508. head="Tali'ah Turban +2",
  509. body="Tali'ah Manteel +2",
  510. hands="Tali'ah Gages +1",
  511. legs="Tali'ah Seraweels +2",
  512. feet="Tali'ah Crackows +2",
  513. ring1="Rajas Ring",
  514. ring2="Patricius Ring",
  515. waist="Fotia Belt",
  516. }
  517.  
  518. sets.WS.Myrkr = {
  519. main="Nirvana",
  520. sub="Oneiros Grip",
  521. ammo="Seraphicaller",
  522. head="Beckoner's horn +1",
  523. neck="Caller's Pendant",
  524. ear1="Andoaa Earring",
  525. ear2="Smn. Earring",
  526. body="Beck. Doublet +1",
  527. hands="Glyphic Bracers +1",
  528. ring1="Evoker's Ring",
  529. ring2="Globidonta Ring",
  530. back="Conveyance Cape",
  531. waist="Mujin Obi",
  532. legs="Beck. spats +1",
  533. feet="Beck. Pigaches +1"}
  534. sets.WS["Garland of Bliss"] = {
  535. neck="Fotia Gorget",
  536. ear1="Crematio Earring",
  537. ear2="Friomisi Earring",
  538. head="Tali'ah Turban +2",
  539. body="Tali'ah Manteel +2",
  540. hands="Tali'ah Gages +1",
  541. legs="Tali'ah Seraweels +2",
  542. feet="Tali'ah Crackows +2",
  543. ring1="Shiva Ring +1",
  544. ring2="Strendu ring",
  545. back="Izdubar Mantle",
  546. waist="Fotia Belt"}
  547. end
  548.  
  549. function pretarget(spell,action)
  550. if (spell.type:endswith('Magic') or spell.type == "SummonerPact" or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
  551. cancel_spell()
  552. send_command('input /item "Echo Drops" <me>')
  553. elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
  554. degrade_spell(spell,Cure_Spells)
  555. elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
  556. degrade_spell(spell,Curaga_Spells)
  557. elseif spell.english == 'Shiva' and pet.isvalid then -- Change Shiva Spell To Sleepga When Shiva Is Present --
  558. cancel_spell()
  559. send_command('input /pet "Sleepga" <t>')
  560. elseif spell.english == 'Ramuh' and pet.isvalid then -- Change Ramuh Spell To Shock Squall When Ramuh Is Present --
  561. cancel_spell()
  562. send_command('input /pet "Shock Squall" <t>')
  563. elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
  564. if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
  565. cancel_spell()
  566. send_command('input /ja Addendum: White <me>')
  567. elseif spell.english == "Manifestation" then
  568. cancel_spell()
  569. send_command('input /ja Accession <me>')
  570. elseif spell.english == "Alacrity" then
  571. cancel_spell()
  572. send_command('input /ja Celerity <me>')
  573. elseif spell.english == "Parsimony" then
  574. cancel_spell()
  575. send_command('input /ja Penury <me>')
  576. end
  577. elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
  578. if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
  579. cancel_spell()
  580. send_command('input /ja Addendum: Black <me>')
  581. elseif spell.english == "Accession" then
  582. cancel_spell()
  583. send_command('input /ja Manifestation <me>')
  584. elseif spell.english == "Celerity" then
  585. cancel_spell()
  586. send_command('input /ja Alacrity <me>')
  587. elseif spell.english == "Penury" then
  588. cancel_spell()
  589. send_command('input /ja Parsimony <me>')
  590. end
  591. end
  592. end
  593.  
  594. function precast(spell,action)
  595. if spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
  596. if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
  597. cancel_spell()
  598. add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
  599. return
  600. else
  601. if string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
  602. equip(sets.Precast.Cure)
  603. elseif string.find(spell.english,'Utsusemi') then
  604. if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
  605. cancel_spell()
  606. add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
  607. return
  608. else
  609. equip(sets.Precast.FastCast)
  610. end
  611. elseif sets.Precast[spell.skill] then
  612. equip(sets.Precast[spell.skill])
  613. else
  614. equip(sets.Precast.FastCast)
  615. end
  616. end
  617. elseif spell.type == "SummonerPact" then
  618. if (Avatars:contains(spell.english) or Spirits:contains(spell.english)) then
  619. if Cities:contains(world.area) then
  620. cancel_spell()
  621. add_to_chat(123,'Unable To Summon Pacts In Town')
  622. return
  623. else
  624. if buffactive.silence then -- Cancel SummoningMagic If You Are Silenced --
  625. cancel_spell()
  626. add_to_chat(123, spell.name..' Canceled: [Silenced]')
  627. return
  628. else
  629. equip(sets.Precast.FastCast)
  630. end
  631. end
  632. end
  633. elseif spell.type == "WeaponSkill" then
  634. if player.status ~= 'Engaged' then
  635. cancel_spell()
  636. add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
  637. return
  638. elseif sets.WS[spell.english] then
  639. equip(sets.WS[spell.english])
  640. end
  641. elseif spell.type == "Trust" then
  642. equip(sets.Precast.FastCast)
  643. elseif spell.type == "JobAbility" then
  644. if sets.JA[spell.english] then
  645. equip(sets.JA[spell.english])
  646. end
  647. elseif spell.type == "BloodPactWard" or spell.type == "BloodPactRage" then
  648. if buffactive['Astral Conduit'] and MagicalRagePacts:contains(spell.english) then
  649. equip(sets.Midcast.Pet.MagicalBloodPactRage[AccArray[AccIndex]])
  650. elseif PhysicalRagePacts:contains(spell.english) and buffactive['Astral Conduit'] then
  651. equip(sets.Midcast.Pet.PhysicalBloodPactRage[AccArray[AccIndex]])
  652. elseif spell.english == 'Flaming Crush' and buffactive['Astral Conduit'] then
  653. equip(sets.Midcast.Pet.FlamingCrush)
  654. else
  655. equip(sets.Precast.BloodPact)
  656. end
  657. elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
  658. cast_delay(0.2)
  659. send_command('cancel Sneak')
  660. end
  661. if sets.Precast[spell.element] and ElementalStaff == 'ON' then
  662. equip(sets.Precast[spell.element])
  663. end
  664. end
  665.  
  666. function midcast(spell,action)
  667. equipSet = {}
  668. if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
  669. equipSet = sets.Midcast
  670. if equipSet[spell.english] then
  671. equipSet = equipSet[spell.english]
  672. elseif string.find(spell.english,'Cure') then
  673. equipSet = equipSet.Cure
  674. elseif string.find(spell.english,'Cura') then
  675. equipSet = equipSet.Curaga
  676. elseif spell.english == "Stoneskin" then
  677. if buffactive.Stoneskin then
  678. send_command('@wait 2.8;cancel stoneskin')
  679. end
  680. equipSet = equipSet.Stoneskin
  681. elseif spell.english == "Sneak" then
  682. if spell.target.name == player.name and buffactive['Sneak'] then
  683. send_command('cancel sneak')
  684. end
  685. equipSet = equipSet.Haste
  686. elseif string.find(spell.english,'Utsusemi') then
  687. if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
  688. send_command('@wait 1.7;cancel Copy Image*')
  689. end
  690. equipSet = equipSet.Haste
  691. elseif spell.english == 'Monomi: Ichi' then
  692. if buffactive['Sneak'] then
  693. send_command('@wait 1.7;cancel sneak')
  694. end
  695. equipSet = equipSet.Haste
  696. elseif equipSet[spell.skill] then
  697. equipSet = equipSet[spell.skill]
  698. end
  699. elseif equipSet[spell.english] then
  700. equipSet = equipSet[spell.english]
  701. elseif spell.skill == 'Summoning Magic' then
  702. equip(sets.Midcast.Summoning)
  703. end
  704. equip(equipSet)
  705. end
  706.  
  707. function aftercast(spell,action)
  708. if not string.find(spell.type,'BloodPact') and not Avatars:contains(spell.english) and not Spirits:contains(spell.english) then
  709. status_change(player.status)
  710. elseif spell.english == "Sleepga" and not spell.interrupted then -- Sleepga Countdown --
  711. 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.]')
  712. end
  713. end
  714.  
  715. function status_change(new,old)
  716. if Nirvana == 1 then
  717. equip(sets.Nirvana)
  718. end
  719. if Nirvana == 1 then ---Main Weapon Lock---
  720. disable('main','sub')
  721. else
  722. enable('main','sub')
  723. end
  724. if Armor == 'PDT' then
  725. equip(sets.PDT)
  726. elseif pet.isvalid then
  727. if pet.status == "Engaged" then
  728. -- equip pet Engaged
  729. equip(sets.Avatars.Melee)
  730. elseif SpiritPacts:contains(pet.name) then
  731. equip(sets.Spirits)
  732. elseif buffactive.Sleep and player.hp > 200 then -- Equip Sacrifice Torque When You Are Asleep, Have More Then 200HP & Have Pet Out --
  733. equip({neck="Sacrifice torque"})
  734. elseif buffactive["Avatar's Favor"] then
  735. equip(sets.Favor)
  736. else
  737. equip(sets.Avatars)
  738. if sets.Avatars[pet.name] then
  739. equip(sets.Avatars[pet.name])
  740. end
  741. end
  742. elseif new == 'Engaged' then
  743. equip(sets.Melee)
  744. elseif new == 'Idle' then
  745. equip(sets.Idle[IdleArray[IdleIndex]])
  746. elseif new == 'Resting' then
  747. equip(sets.Resting)
  748. end
  749. if Armor == 'PetPdt' then
  750. equip(sets.PetPdt)
  751. end
  752. if DDLock == 1 then
  753. equip(sets.Melee)
  754. end
  755. end
  756.  
  757.  
  758. function pet_status_change(new,old)
  759. status_change(player.status)
  760. end
  761. function buff_change(buff,gain)
  762. if buffgaintoggle == "1" then
  763. buff = string.lower(buff)
  764. if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
  765. if gain then
  766. 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.]')
  767. else
  768. send_command('timers delete "Aftermath: Lv.3"')
  769. add_to_chat(123,'AM3: [OFF]')
  770. end
  771. elseif buff == 'weakness' then -- Weakness Timer --
  772. if gain then
  773. send_command('timers create "Weakness" 300 up')
  774. else
  775. send_command('timers delete "Weakness"')
  776. end
  777. elseif buff == 'beast roll' then -- Beast Roll Timer --
  778. if gain then
  779. send_command('timers create "beast roll" 475 up')
  780. else
  781. send_command('timers delete "beast roll"')
  782. end
  783. elseif buff == 'commitment' then -- Capacity Ring Timer --
  784. if gain then
  785. send_command('timers create "capacity ring" 900 up')
  786. else
  787. send_command('timers delete "commitment"')
  788. end
  789. end
  790. if not midaction() then
  791. status_change(player.status)
  792. end
  793. end
  794. end
  795.  
  796. function pet_midcast(spell)
  797. if spell.english == 'Perfect Defense' then
  798. equip(sets.Midcast.Pet.BloodPactWard)
  799. elseif spell.type == 'BloodPactWard' then
  800. if DebuffBloodPactWard:contains(spell.english) then
  801. equip(sets.Midcast.Pet.BloodPactWard_MACC)
  802. elseif sets.Midcast.Pet[spell.english] then
  803. equip(sets.Midcast.Pet[spell.english])
  804. else
  805. equip(sets.Midcast.Pet.BloodPactWard)
  806. end
  807. elseif spell.type == 'BloodPactRage' then
  808. if MagicalRagePacts:contains(spell.english) then
  809. equip(sets.Midcast.Pet.MagicalBloodPactRage[AccArray[AccIndex]])
  810. else
  811. equip(sets.Midcast.Pet.PhysicalBloodPactRage[AccArray[AccIndex]])
  812. end
  813. end
  814. if spell.english == 'Flaming Crush' then
  815. equip(sets.Midcast.Pet.FlamingCrush[AccArray[AccIndex]])
  816. end
  817. end
  818.  
  819. function pet_aftercast(spell)
  820. if buffactive['Astral Conduit'] then
  821. return
  822. end
  823. if not spell.interrupted then
  824. -- Create custom timers for ward pacts.
  825. if durations[spell.english] then
  826. local timer_cmd = 'timers c "'..spell.english..'" '..tostring(durations[spell.english])..' down'
  827.  
  828. if timer_icons[spell.english] then
  829. timer_cmd = timer_cmd..' '..timer_icons[spell.english]
  830. end
  831.  
  832. send_command(timer_cmd)
  833. end
  834. status_change(player.status)
  835. end
  836. if player.status == 'Engaged' then
  837. equip(sets.Melee)
  838. elseif pet.status == 'Engaged' then
  839. equip(sets.Avatars.Melee)
  840. else
  841. equip(sets.Idle[IdleArray[IdleIndex]])
  842. end
  843.  
  844. -- Prints Fenrir's Ecliptic Howl Boosts Based On Moon Phase.
  845. if spell.english == "Ecliptic Howl" then
  846. if message == 'ON' then
  847. if world.moon_pct > 89 then
  848. send_command('input /p [Ecliptic Howl] Accuracy 25 - Evasion 1')
  849. elseif world.moon_pct > 74 then
  850. send_command('input /p [Ecliptic Howl] Accuracy 21 - Evasion 5')
  851. elseif world.moon_pct > 59 then
  852. send_command('input /p [Ecliptic Howl] Accuracy 17 - Evasion 9')
  853. elseif world.moon_pct > 39 then
  854. send_command('input /p [Ecliptic Howl] Accuracy 13 - Evasion 13')
  855. elseif world.moon_pct > 24 then
  856. send_command('input /p [Ecliptic Howl] Accuracy 9 - Evasion 17')
  857. elseif world.moon_pct > 9 then
  858. send_command('input /p [Ecliptic Howl] Accuracy 5 - Evasion 21')
  859. elseif world.moon_pct < 8 then
  860. send_command('input /p [Ecliptic Howl] Accuracy 1 - Evasion 25')
  861. end
  862. end
  863. end
  864. -- Prints Fenrir's Ecliptic Growl Boosts Based On Moon Phase.
  865. if spell.english == "Ecliptic Growl" then
  866. if message == 'ON' then
  867. if world.moon_pct > 89 then
  868. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 7 - INT/MND/CHR/AGI 1')
  869. elseif world.moon_pct > 74 then
  870. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 6 - INT/MND/CHR/AGI 2')
  871. elseif world.moon_pct > 59 then
  872. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 5 - INT/MND/CHR/AGI 3')
  873. elseif world.moon_pct > 39 then
  874. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 4 - INT/MND/CHR/AGI 4')
  875. elseif world.moon_pct > 24 then
  876. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 3 - INT/MND/CHR/AGI 5')
  877. elseif world.moon_pct > 9 then
  878. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 2 - INT/MND/CHR/AGI 6')
  879. elseif world.moon_pct < 8 then
  880. send_command('input /p [Ecliptic Growl] STR/DEX/VIT 1 - INT/MND/CHR/AGI 7')
  881. end
  882. end
  883. end
  884. -- Prints Fenrir's Lunar Cry Debuffs Based On Moon Phase.
  885. if spell.english == "Lunar Cry" then
  886. if message == 'ON' then
  887. if world.moon_pct > 89 then
  888. send_command('input /p [Lunar Cry] Enemy Acc Down 31 - Enemy Eva Down 1')
  889. elseif world.moon_pct > 74 then
  890. send_command('input /p [Lunar Cry] Enemy Acc Down 26 - Enemy Eva Down 6')
  891. elseif world.moon_pct > 59 then
  892. send_command('input /p [Lunar Cry] Enemy Acc Down 21 - Enemy Eva Down 11')
  893. elseif world.moon_pct > 39 then
  894. send_command('input /p [Lunar Cry] Enemy Acc Down 16 - Enemy Eva Down 16')
  895. elseif world.moon_pct > 24 then
  896. send_command('input /p [Lunar Cry] Enemy Acc Down 11 - Enemy Eva Down 21')
  897. elseif world.moon_pct > 9 then
  898. send_command('input /p [Lunar Cry] Enemy Acc Down 6 - Enemy Eva Down 26')
  899. elseif world.moon_pct < 8 then
  900. send_command('input /p [Lunar Cry] Enemy Acc Down 1 - Enemy Eva Down 31')
  901. end
  902. end
  903. end
  904. -- Prints Fenrir's Heavenward Howl Buffs Based On Moon Phase.
  905. if (spell.english == "Heavenward Howl") then
  906. if message == 'ON' then
  907. if world.moon_pct> 89 then
  908. send_command('input /p [Heavenward Howl] Moon Phase Full moon - Endrain 15%')
  909. elseif (world.moon_pct> 73) then
  910. send_command('input /p [Heavenward Howl] Moon phase 74~90% {Endrain 12%')
  911. elseif (world.moon_pct> 56) then
  912. send_command('input /p [Heavenward Howl] Moon phase 57~73% {Endrain 8%}')
  913. elseif (world.moon_pct> 39) then
  914. send_command('input /p [Heavenward Howl] Moon phase 40~56% {First Quarter Moon - Endrain 5% | Last Quarter - moon Enaspir 1%}')
  915. elseif (world.moon_pct> 24) then
  916. send_command('input /p [Heavenward Howl] Moon phase 25~39% {Enaspir 2%}')
  917. elseif (world.moon_pct> 9) then
  918. send_command('input /p[Heavenward Howl] Moon phase 10~24% {Enaspir 4%}')
  919. else
  920. send_command('input /p[Heavenward Howl] Moon Phase New Moon - Enaspir 5%')
  921. end
  922. end
  923. end
  924. -- Prints Diabolos Dream Shroud Buffs Based On Moon Phase.
  925. if (spell.english=="Dream Shroud") then
  926. if message == 'ON' then
  927. if (world.time >= 0 and world.time < 1*60) then
  928. send_command('input /p [Dream Shroud] MAB 13 - MDB 1')
  929. elseif (world.time >= 1*60 and world.time < 2*60) or (world.time >= 23*60 and world.time <= 23*60+59) then
  930. send_command('input /p [Dream Shroud] MAB 12 - MDB 2')
  931. elseif (world.time >= 2*60 and world.time < 3*60) or (world.time >= 22*60 and world.time < 23*60) then
  932. send_command('input /p [Dream Shroud] MAB 11 - MDB 3')
  933. elseif (world.time >= 3*60 and world.time < 4*60) or (world.time >= 21*60 and world.time < 22*60) then
  934. send_command('input /p [Dream Shroud] MAB 10 - MDB 4')
  935. elseif (world.time >= 4*60 and world.time < 5*60) or (world.time >= 20*60 and world.time < 21*60) then
  936. send_command('input /p [Dream Shroud] MAB 9 - MDB 5')
  937. elseif (world.time >= 5*60 and world.time < 6*60) or (world.time >= 19*60 and world.time < 20*60) then
  938. send_command('input /p [Dream Shroud] MAB 8 - MDB 6')
  939. elseif (world.time >= 6*60 and world.time < 7*60) or (world.time >= 18*60 and world.time < 19*60) then
  940. send_command('input /p [Dream Shroud] MAB 7 - MDB 7')
  941. elseif (world.time >= 7*60 and world.time < 8*60) or (world.time >= 17*60 and world.time < 18*60) then
  942. send_command('input /p [Dream Shroud] MAB 6 - MDB 8')
  943. elseif (world.time >= 8*60 and world.time < 9*60) or (world.time >= 16*60 and world.time < 17*60) then
  944. send_command('input /p [Dream Shroud] MAB 5 - MDB 9')
  945. elseif (world.time >= 9*60 and world.time < 10*60) or (world.time >= 15*60 and world.time < 16*60) then
  946. send_command('input /p [Dream Shroud] MAB 4 - MDB 10')
  947. elseif (world.time >= 10*60 and world.time < 11*60) or (world.time >= 14*60 and world.time < 15*60) then
  948. send_command('input /p [Dream Shroud] MAB 3 - MDB 11')
  949. elseif (world.time >= 11*60 and world.time < 12*60) or (world.time >= 13*60 and world.time < 14*60) then
  950. send_command('input /p [Dream Shroud] MAB 2 - MDB 12')
  951. else
  952. send_command('input /p [Dream Shroud] MAB 1 - MDB 13')
  953. end
  954. end
  955. end
  956. if spell.english == "Perfect Defense" then -- Perfect Defense Countdown --
  957. if message == 'ON' then
  958. send_command('wait 47;input /p '..spell.name..' Effect: [WEARING OFF IN 10 SEC.] ;wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 9 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 8 SEC.;wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 7 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 6 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 5 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 4 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 3 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 2 SEC.];wait 1;input /p '..spell.name..' Effect: [WEARING OFF IN 1 SEC.];wait 1;input /p '..spell.name..' Effect: [OFF]')
  959. end
  960. end
  961. status_change(player.status)
  962. end
  963.  
  964. function pet_change(pet,gain)
  965. status_change(player.status)
  966. end
  967.  
  968. -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
  969. function self_command(command)
  970. if command == 'C1' then -- Accuracy Level Toggle For Physical & Magic Blood Pact Rage --
  971. AccIndex = (AccIndex % #AccArray) + 1
  972. add_to_chat(158,'Accuracy Level: '..AccArray[AccIndex])
  973. status_change(player.status)
  974. elseif command == 'C5' then -- Auto Update Gear Toggle --
  975. status_change(player.status)
  976. add_to_chat(158,'Auto Update Gear')
  977. elseif command == 'C7' then
  978. if Armor == 'PDT' then -- PDT Toggle --
  979. Armor = 'None'
  980. add_to_chat(123,'PDT Set: [Unlocked]')
  981. else
  982. Armor = 'PDT'
  983. add_to_chat(158,'PDT Set: [Locked]')
  984. end
  985. status_change(player.status)
  986. elseif command == 'C9' then -- PET-PDT Toggle --
  987. if Armor == 'PetPdt' then
  988. Armor = 'None'
  989. add_to_chat(123,'PetPdt Set: [Unlocked]')
  990. else
  991. Armor = 'PetPdt'
  992. add_to_chat(158,'PetPdt Set: [Locked]')
  993. end
  994. status_change(player.status)
  995. elseif command == 'C11' then -- Nirvana Toggle --
  996. if Nirvana == 1 then
  997. Nirvana = 0
  998. add_to_chat(123,'Nirvana Weapon: [Unlocked]')
  999. else
  1000. Nirvana = 1
  1001. add_to_chat(158,'Nirvana Weapon: [locked]')
  1002. end
  1003. status_change(player.status)
  1004. elseif command == 'C33' then -- Buff Change Lock --
  1005. if buffgaintoggle == 0 then
  1006. buffgaintoggle = 1
  1007. add_to_chat(123,'Buff Change Lock: [Unlocked]')
  1008. else
  1009. buffgaintoggle = 0
  1010. add_to_chat(158,'Buff Change Lock: [locked]')
  1011. end
  1012. status_change(player.status)
  1013. elseif command == 'C12' then -- Engaged set Lock --
  1014. if DDLock == 1 then
  1015. DDLock = 0
  1016. add_to_chat(123,'Melee: [Unlocked]')
  1017. else
  1018. DDLock = 1
  1019. add_to_chat(158,'Melee Set: [locked]')
  1020. end
  1021. status_change(player.status)
  1022. elseif command == 'C99' then -- Job Point Cape Lock --
  1023. if CapeLock == 1 then
  1024. DDLock = 0
  1025. add_to_chat(123,'Job Point Cape: [Unlocked]')
  1026. else
  1027. CapeLock = 1
  1028. add_to_chat(158,'Job Point Cape: [locked]')
  1029. end
  1030. status_change(player.status)
  1031. elseif command == 'C4' then -- Pet Mab Toggle --
  1032. if PetMaB == 'OFF' then
  1033. PetMaB = 'ON'
  1034. add_to_chat(158,'PetMaB: [ON]')
  1035. else
  1036. PetMaB = 'OFF'
  1037. add_to_chat(123,'PetMaB: [OFF]')
  1038. end
  1039. status_change(player.status)
  1040. elseif command == 'C8' then -- Distance Toggle --
  1041. if player.target.distance then
  1042. target_distance = math.floor(player.target.distance*10)/10
  1043. add_to_chat(158,'Distance: '..target_distance)
  1044. else
  1045. add_to_chat(123,'No Target Selected')
  1046. end
  1047. elseif command == 'C6' then -- Idle Toggle --
  1048. IdleIndex = (IdleIndex % #IdleArray) + 1
  1049. add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
  1050. status_change(player.status)
  1051. elseif command:match('^SC%d$') then
  1052. send_command('//' .. sc_map[command])
  1053. end
  1054. end
  1055.  
  1056. function actualCost(originalCost)
  1057. if buffactive["Penury"] then
  1058. return originalCost*.5
  1059. elseif buffactive["Light Arts"] then
  1060. return originalCost*.9
  1061. else
  1062. return originalCost
  1063. end
  1064. end
  1065.  
  1066. function degrade_spell(spell,degrade_array)
  1067. spell_index = table.find(degrade_array,spell.name)
  1068. if spell_index > 1 then
  1069. new_spell = degrade_array[spell_index - 1]
  1070. change_spell(new_spell,spell.target.raw)
  1071. add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
  1072. end
  1073. end
  1074.  
  1075. function change_spell(spell_name,target)
  1076. cancel_spell()
  1077. send_command('//'..spell_name..' '..target)
  1078. end
  1079.  
  1080.  
  1081. function sub_job_change(newSubjob, oldSubjob)
  1082. select_default_macro_book()
  1083. end
  1084.  
  1085. function set_macro_page(set,book)
  1086. if not tonumber(set) then
  1087. add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
  1088. return
  1089. end
  1090. if set < 1 or set > 10 then
  1091. add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
  1092. return
  1093. end
  1094.  
  1095. if book then
  1096. if not tonumber(book) then
  1097. add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
  1098. return
  1099. end
  1100. if book < 1 or book > 20 then
  1101. add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
  1102. return
  1103. end
  1104. send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
  1105. else
  1106. send_command('@input /macro set '..tostring(set))
  1107. end
  1108. end
  1109.  
  1110. function select_default_macro_book()
  1111. -- Default macro set/book
  1112. if player.sub_job == 'RDM' then
  1113. set_macro_page(1, 18)
  1114. elseif player.sub_job == 'SCH' then
  1115. set_macro_page(1, 20)
  1116. elseif player.sub_job == 'WHM' then
  1117. set_macro_page(1, 18)
  1118. elseif player.sub_job == 'RUN' then
  1119. set_macro_page(1, 18)
  1120. else
  1121. set_macro_page(1, 18)
  1122. end
  1123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement