Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.14 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Setup functions for this job. Generally should not be modified.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- Initialization function for this job file.
  6. function get_sets()
  7. mote_include_version = 2
  8.  
  9. -- Load and initialize the include file.
  10. include('Mote-Include.lua')
  11. end
  12.  
  13.  
  14. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16. state.Buff.Saboteur = buffactive.saboteur or false
  17. end
  18.  
  19. -------------------------------------------------------------------------------------------------------------------
  20. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  21. -------------------------------------------------------------------------------------------------------------------
  22.  
  23. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  24. function user_setup()
  25. state.OffenseMode:options('None', 'Normal')
  26. state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
  27. state.CastingMode:options('Normal', 'ConserveMP', 'MB', 'MB2')
  28. state.IdleMode:options('Normal', 'PDT', 'MDT')
  29.  
  30. send_command('bind ^q gs c cycle CastingMode')
  31.  
  32. gear.default.obi_waist = "Refoccilation Stone"
  33.  
  34. select_default_macro_book(1, 4)
  35. end
  36.  
  37.  
  38. -- Define sets and vars used by this job file.
  39. function init_gear_sets()
  40. --------------------------------------
  41. -- Start defining the sets
  42. --------------------------------------
  43. gear.NukingHead = {name="Merlinic Hood", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic burst mdg.+3%','INT+8','Mag. Acc.+15','"Mag.Atk.Bns."+10',}}
  44. gear.NukingHands = {name="Helios Gloves", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Occult Acumen"+10','Magic burst mdg.+10%',}}
  45. gear.NukingBoots = {name="Helios Boots", augments={'Mag. Acc.+19 "Mag.Atk.Bns."+19','"Occult Acumen"+9','Magic burst mdg.+10%',}}
  46. gear.NukingLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','Magic Damage +6','CHR+3','Mag. Acc.+7','"Mag.Atk.Bns."+9',}}
  47. gear.MBLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+11%','MND+6','Mag. Acc.+13','"Mag.Atk.Bns."+2',}}
  48. gear.RegenBody = {name="Telchine Chasuble", augments={'Pet: "Mag.Atk.Bns."+18','"Conserve MP"+3','"Regen" potency+3',}}
  49. gear.RegenLegs = {name="Telchine Braconi", augments={'Rng.Atk.+7','"Fast Cast"+4','"Regen" potency+3',}}
  50. gear.RegenFeet = {name="Telchine Pigaches", augments={'Evasion+14','"Conserve MP"+4','"Regen" potency+3',}}
  51. gear.PetRegenBody = {name="Telchine Chasuble", augments={'Pet: DEF+7','Pet: "Regen"+3','Enh. Mag. eff. dur. +10',}}
  52. gear.CuringHat = {name="Gende. Caubeen +1", augments={'Phys. dmg. taken -3%','"Cure" potency +6%',}}
  53. gear.CuringHands = {name="Telchine Gloves", augments={'Evasion+20','"Cure" potency +7%','Enh. Mag. eff. dur. +10',}}
  54. gear.CMPHead = {name="Telchine Cap", augments={'Accuracy+12 Attack+12','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +10',}}
  55. gear.CMPHands = {name="Telchine Gloves", augments={'Evasion+17','Potency of "Cure" effect received+6%',}}
  56. gear.CMPLegs = {name="Telchine Braconi", augments={'Evasion+18','Potency of "Cure" effect received+7%','Enh. Mag. eff. dur. +10',}}
  57. gear.CMPFeet = {name="Telchine Pigaches", augments={'DEF+7','Potency of "Cure" effect received+6%','Enh. Mag. eff. dur. +10',}}
  58. gear.DrainBody = {name="Merlinic Jubbah", augments={'Mag. Acc.+30','"Drain" and "Aspir" potency +8','INT+3',}}
  59. gear.DrainHands = {name="Merlinic Dastanas", augments={'Mag. Acc.+25','"Drain" and "Aspir" potency +10','INT+6',}}
  60. gear.DrainLegs = {name="Merlinic Shalwar", augments={'Mag. Acc.+30','"Drain" and "Aspir" potency +9','CHR+14',}}
  61. gear.DrainFeet = {name="Merlinic Crackows", augments={'Mag. Acc.+28','"Drain" and "Aspir" potency +10','MND+1',}}
  62. gear.ENFHands = {name="Chironic Gloves", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Cure" potency +1%','CHR+6','Mag. Acc.+13','"Mag.Atk.Bns."+5',}}
  63. gear.ENFLegs = {name="Chironic Hose", augments={'Mag. Acc.+22 "Mag.Atk.Bns."+22','"Fast Cast"+2','Mag. Acc.+14','"Mag.Atk.Bns."+3',}}
  64. gear.FCHead = {name="Merlinic Hood", augments={'Mag. Acc.+2','"Fast Cast"+6','"Mag.Atk.Bns."+30',}}
  65. gear.FCBody = {name="Merlinic Crackows", augments={'Mag. Acc.+16 "Mag.Atk.Bns."+16','"Fast Cast"+5','CHR+2','Mag. Acc.+11','"Mag.Atk.Bns."+10',}}
  66. gear.FCFeet = {name="Merlinic Crackows", augments={'"Mag.Atk.Bns."+18','"Fast Cast"+7','DEX+2','Mag. Acc.+1',}}
  67. gear.DTHead = {name="Merlinic Hood", augments={'Pet: Attack+17 Pet: Rng.Atk.+17','CHR+5','Damage taken-5%','Accuracy+6 Attack+6',}}
  68. gear.DTBody = {name="Merlinic Jubbah", augments={'"Mag.Atk.Bns."+16','Damage taken-3%','CHR+2'}}
  69. gear.PhalanxHead = { name="Merlinic Hood", augments={'"Dbl.Atk."+5','INT+6','Phalanx +3','Mag. Acc.+4 "Mag.Atk.Bns."+4',}}
  70. gear.PhalanxFeet = {name="Merlinic Crackows", augments={'Pet: STR+10','Pet: "Dbl.Atk."+3 Pet: Crit.hit rate +3','Phalanx +4','Mag. Acc.+1 "Mag.Atk.Bns."+1',}}
  71. gear.PhalanxLegs = {name="Merlinic Shalwar", augments={'System: 1 ID: 1793 Val: 8','STR+1','Phalanx +3','Accuracy+10 Attack+10',}}
  72. gear.PhalanxHands = {name="Merlinic Dastanas", augments={'INT+9','Pet: DEX+14','Phalanx +4',}}
  73. gear.WSHead = {name="Merlinic Hood", augments={'Attack+15','"Cure" potency +3%','Weapon skill damage +6%','Mag. Acc.+13 "Mag.Atk.Bns."+13',}}
  74. gear.THHead = {name="Merlinic Hood", augments={'Pet: VIT+2','INT+5','"Treasure Hunter"+1','Accuracy+11 Attack+11','Mag. Acc.+12 "Mag.Atk.Bns."+12',}}
  75. gear.THHands = {name="Merlinic Dastanas", augments={'"Cure" potency +9%','Phys. dmg. taken -1%','"Treasure Hunter"+2','Accuracy+18 Attack+18','Mag. Acc.+12 "Mag.Atk.Bns."+12',}}
  76. gear.WSCape = {name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Crit.hit rate+10',}}
  77. gear.TPHands = {name="Merlinic Dastanas", augments={'"Triple Atk."+4','MND+3','Magic Damage +6','Accuracy+13 Attack+13','Mag. Acc.+4 "Mag.Atk.Bns."+4',}}
  78.  
  79. -- Precast Sets
  80.  
  81. -- Precast sets to enhance JAs
  82. sets.precast.JA['Chainspell'] = {body="Vitivation Tabard +1"}
  83.  
  84.  
  85. -- Waltz set (chr and vit)
  86.  
  87. -- Don't need any special gear for Healing Waltz.
  88.  
  89. -- Fast cast sets for spells
  90.  
  91. -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  92. -- No other FC sets necessary.
  93. sets.precast.FC = {ammo="Impatiens",
  94. head=gear.FCHead,ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  95. body="Vitivation Tabard +1",hands="Leyline Gloves",ring1="Weather. Ring",ring2="Lebeche Ring",
  96. back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet=gear.FCFeet}
  97.  
  98. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak",back="Swith Cape +1"})
  99.  
  100. -- Weaponskill sets
  101. -- Default set for any weaponskill that isn't any more specifically defined
  102. sets.precast.WS = {ammo="Ginsen",
  103. head="Taeon Chapeau",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  104. body="Taeon Tabard",hands="Taeon Gloves",ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",
  105. back="Vespid Mantle",legs="Taeon Tights",feet="Taeon Boots", waist="Fotia Belt",}
  106.  
  107. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  108. sets.precast.WS['Requiescat'] = {ammo="Ginsen",
  109. head="Carmine Mask +1",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  110. body="Vanya Robe",hands=gear.ENFHands,ring1="Rajas Ring",ring2="Vertigo Ring",
  111. back="Vespid Mantle",legs=gear.ENFLegs,feet="Carmine Greaves +1", waist="Fotia Belt",}
  112.  
  113. sets.precast.WS['Sanguine Blade'] = {ammo="Pemphredo Tathlum",
  114. head=gear.NukingHead,neck="Fotia Gorget",ear1="Friomisi Earring",ear2="Hecate's Earring",
  115. body="Amalric Doublet +1",hands="Amalric Gages +1",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
  116. back="Toro Cape",waist="Fotia Belt",legs="Amalric Slops +1",feet="Amalric Nails +1"}
  117.  
  118. sets.precast.WS['Chant du Cygne'] = {ammo="Yetshila",
  119. head="Taeon Chapeau",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  120. body="Taeon Tabard",hands="Taeon Gloves",ring1="Hetairoi Ring",ring2="Begrudging Ring",
  121. back=gear.WSCape,legs="Taeon Tights",feet="Thereoid Greaves", waist="Fotia Belt",}
  122.  
  123. sets.precast.WS['Savage Blade'] = {ammo="Ginsen",
  124. head="Taeon Chapeau",neck="Fotia Gorget",ear1="Ishvara Earring",ear2="Moonshade Earring",
  125. body="Taeon Tabard",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Ramuh Ring +1",
  126. back=gear.WSCape,legs="Taeon Tights",feet="Taeon Boots", waist="Fotia Belt",}
  127.  
  128.  
  129. -- Midcast Sets
  130.  
  131. sets.midcast.FastRecast = {ammo="Hasty Pinion +1",
  132. head=gear.FCHead,ear1="Enchanter Earring +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  133. body="Zendik Robe",hands="Leyline Gloves",ring1="Weather. Ring",ring2="Prolix Ring",
  134. back="Swith Cape +1",waist="Witful Belt",legs="Psycloth Lappas",feet=gear.FCFeet}
  135.  
  136. sets.midcast.Cure = {ammo="Sapience Orb",
  137. head="Gendewitha Caubeen +1",neck="Incanter's Torque",ear1="Mendicant's Earring",ear2="Loquacious Earring",
  138. body="Kaykaus Bliaut +1",hands=gear.CuringHands,ring1="Haoma's Ring",ring2="Haoma's Ring",
  139. back="Oretania's Cape +1",waist="Witful Belt",legs="Atrophy Tights +1",feet=gear.FCFeet}
  140.  
  141. sets.midcast.Curaga = sets.midcast.Cure
  142. sets.midcast.CureSelf = {neck="Phalaina Locket",hands=gear.CMPHands,legs=gear.CMPLegs,feet=gear.CMPFeet,waist="Gishdubar Sash"}
  143.  
  144. sets.midcast['Enhancing Magic'] = {ammo="Staunch Tathlum",
  145. head="Befouled Crown",neck="Incanter's Torque",ear1="Andoaa Earring",ear2="Calamitous Earring",
  146. body="Vitivation Tabard +1",hands="Vitivation Gloves +1",ring1="Weather. Ring",ring2="Prolix Ring",
  147. back="Ghostfyre Cape",waist="Olympus Sash",legs="Atrophy Tights +1",feet="Lethargy Houseaux +1"}
  148.  
  149. sets.midcast.Phalanx = {ammo="Staunch Tathlum",
  150. head=gear.PhalanxHead,neck="Incanter's Torque",ear1="Andoaa Earring",ear2="Calamitous Earring",
  151. body="Vitivation Tabard +1",hands="Vitivation Gloves +1",ring1="Weather. Ring",ring2="Prolix Ring",
  152. back="Ghostfyre Cape",waist="Olympus Sash",legs=gear.PhalanxLegs,feet="Lethargy Houseaux +1"}
  153.  
  154. sets.midcast['Temper II']= sets.midcast['Enhancing Magic']
  155.  
  156. sets.midcast.Blink = sets.midcast.FastRecast
  157.  
  158. sets.midcast.Aquaveil = {legs="Shedir Seraweels",waist="Emphatikos Rope",feet="Lethargy Houseaux +1",head="Amalric Coif +1",body=gear.PetRegenBody,
  159. hands="Atrophy Gloves +1",back="Ghostfyre Cape",ammo="Staunch Tathlum",}
  160.  
  161. sets.midcast.Refresh = {waist="Gishdubar Sash",legs="Lethargy Fuseau +1",feet="Lethargy Houseaux +1",body=gear.PetRegenBody,head=gear.CMPHead,
  162. hands="Atrophy Gloves +1",back="Ghostfyre Cape",ammo="Staunch Tathlum",}
  163.  
  164. sets.midcast.Stoneskin = set_combine(sets.midcast.FastCast,
  165. {waist="Siegel Sash",legs="Shedir Seraweels",neck="Stone Gorget",right_ear="Earthcry Earring"})
  166.  
  167. sets.midcast.Haste = set_combine(sets.midcast.FastCast,
  168. {ammo="Staunch Tathlum",legs=gear.CMPLegs,body=gear.PetRegenBody,feet="Lethargy Houseaux +1",head=gear.CMPHead,hands="Atrophy Gloves +1",back="Ghostfyre Cape",})
  169.  
  170. sets.midcast.Flurry = sets.midcast.Haste
  171. sets.midcast.Firestorm = sets.midcast.Haste
  172. sets.midcast.Hailstorm = sets.midcast.Haste
  173. sets.midcast.Windstorm = sets.midcast.Haste
  174. sets.midcast.Sandstorm = sets.midcast.Haste
  175. sets.midcast.Thunderstorm = sets.midcast.Haste
  176. sets.midcast.Rainstorm = sets.midcast.Haste
  177. sets.midcast.Aurorastorm = sets.midcast.Haste
  178. sets.midcast.Voidstorm = sets.midcast.Haste
  179. sets.midcast["Haste II"] = sets.midcast.Haste
  180. sets.midcast["Flurry II"] = sets.midcast.Haste
  181. sets.midcast['Shock Spikes'] = sets.midcast.Haste
  182. sets.midcast['Ice Spikes'] = sets.midcast.Haste
  183. sets.midcast['Blaze Spikes'] = sets.midcast.Haste
  184. sets.midcast['Refresh II'] = sets.midcast.Refresh
  185. sets.midcast['Regen II'] = sets.midcast.Refresh
  186.  
  187. sets.midcast.Protect = {ring2="Sheltered Ring",legs=gear.CMPLegs,body=gear.PetRegenBody,feet="Lethargy Houseaux +1",head=gear.CMPHead,
  188. hands="Atrophy Gloves +1",back="Ghostfyre Cape",}
  189. sets.midcast.Protectra = sets.midcast.Protect
  190. sets.midcast.Shell = sets.midcast.Protect
  191. sets.midcast.Shellra = sets.midcast.Protect
  192.  
  193. sets.midcast['Barfire'] = set_combine(sets.midcast['Enhancing Magic'], {head=gear.CMPHead,body=gear.PetRegenBody,hands="Atrophy Gloves +1",})
  194. sets.midcast.Barblizzard = sets.midcast.Barfire
  195. sets.midcast.Baraero = sets.midcast.Barfire
  196. sets.midcast.Barstone = sets.midcast.Barfire
  197. sets.midcast.Barthunder = sets.midcast.Barfire
  198. sets.midcast.Barwater = sets.midcast.Barfire
  199. sets.midcast.Barsleep = sets.midcast.Barfire
  200. sets.midcast.Barpoison = sets.midcast.Barfire
  201. sets.midcast.Barparalyze = sets.midcast.Barfire
  202. sets.midcast.Barblind = sets.midcast.Barfire
  203. sets.midcast.Barsilence = sets.midcast.Barfire
  204. sets.midcast.Baramnesia = sets.midcast.Barfire
  205. sets.midcast.Phalanx = sets.midcast.Barfire
  206. sets.midcast['Gain-STR'] = sets.midcast.Haste
  207. sets.midcast['Gain-DEX'] = sets.midcast.Haste
  208. sets.midcast['Gain-VIT'] = sets.midcast.Haste
  209. sets.midcast['Gain-AGI'] = sets.midcast.Haste
  210. sets.midcast['Gain-MND'] = sets.midcast.Haste
  211. sets.midcast['Gain-CHR'] = sets.midcast.Haste
  212. sets.midcast['Gain-INT'] = sets.midcast.Haste
  213.  
  214. sets.midcast['Enfeebling Magic'] = {ammo="Hydrocera",
  215. head=gear.NukingHead,neck="Imbodla Necklace",left_ear="Enchanter Earring +1",right_ear="Dignitary's Earring",
  216. body="Vanya Robe",hands=gear.ENFHands,left_ring="Weather. Ring",right_ring="Vertigo Ring",
  217. back=gear.WSCape,waist="Porous Rope",legs=gear.ENFLegs,feet="Medium's Sabots"}
  218.  
  219. sets.midcast['Dia III'] = {ammo="Quartz Tathlum +1",
  220. head="Vitivation Chapeau +1",neck="Incanter's Torque",left_ear="Enfeebling Earring",right_ear="Dignitary's Earring",
  221. body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",left_ring="Globidonta Ring",right_ring="Irrwisch Ring",
  222. back=gear.WSCape,waist="Rumination Sash",legs="Psycloth Lappas",feet="Medium's Sabots"}
  223.  
  224. sets.midcast['Slow II'] = sets.midcast['Dia III']
  225. sets.midcast['Paralyze II'] = sets.midcast['Dia III']
  226. sets.midcast['Distract III'] = sets.midcast['Dia III']
  227. sets.midcast['Frazzle III'] = sets.midcast['Dia III']
  228.  
  229. sets.midcast['Elemental Magic'] = {ammo="Pemphredo Tathlum",
  230. head=gear.NukingHead,neck="Baetyl Pendant",ear1="Friomisi Earring",ear2="Hecate's Earring",
  231. body="Amalric Doublet +1",hands="Amalric Gages +1",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
  232. back="Toro Cape",waist=gear.ElementalObi,legs="Amalric Slops +1",feet="Amalric Nails +1",}
  233.  
  234. sets.midcast['Elemental Magic'].ConserveMP = {ammo="Pemphredo Tathlum",
  235. head=gear.NukingHead,neck="Baetyl Pendant",ear1="Friomisi Earring",ear2="Hecate's Earring",
  236. body="Seidr Cotehardie",hands="Amalric Gages +1",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
  237. back="Toro Cape",waist=gear.ElementalObi,legs="Amalric Slops +1",feet="Amalric Nails +1"}
  238.  
  239. sets.midcast['Elemental Magic'].MB ={ammo="Pemphredo Tathlum",
  240. head=gear.NukingHead,neck="Mizu. Kubikazari",ear1="Friomisi Earring",ear2="Static Earring",
  241. body="Seidr Cotehardie",hands="Amalric Gages +1",ring1="Mujin Band",ring2="Locus Ring",
  242. back="Seshaw Cape +1",waist=gear.ElementalObi,legs=gear.MBLegs,feet="Amalric Nails +1"}
  243.  
  244. sets.midcast['Elemental Magic'].MB2 ={ammo="Pemphredo Tathlum",
  245. head=gear.NukingHead,neck="Mizu. Kubikazari",ear1="Friomisi Earring",ear2="Static Earring",
  246. body="Amalric Doublet +1",hands="Amalric Gages +1",ring1="Mujin Band",ring2="Locus Ring",
  247. back="Seshaw Cape +1",waist=gear.ElementalObi,legs=gear.MBLegs,feet="Amalric Nails +1"}
  248.  
  249. sets.midcast.Impact = set_combine(sets.midcast['Enfeebling Magic'], {head=empty,body="Twilight Cloak"})
  250.  
  251. sets.midcast['Dark Magic'] = {main="Rubicundity",sub="Genmei Shield",ammo="Pemphredo Tathlum",
  252. head="Pixie Hairpin +1",neck="Incanter's Torque",ear1="Enchanter's Earring +1",ear2="Loquacious Earring",
  253. body="Psycloth Vest",hands="Amalric Gages +1",ring1="Archon Ring",right_ring="Evanescence Ring",
  254. back="Toro Cape",waist="Porous Rope",legs="Artsieq Hose",feet="Amalric Nails +1",}
  255.  
  256. --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
  257.  
  258. sets.midcast.Drain = {main="Rubicundity",sub="Genmei Shield",ammo="Hasty Pinion +1",
  259. head="Pixie Hairpin +1",neck="Incanter's Torque",ear1="Hirudinea Earring",ear2="Abyssal Earring",
  260. body=gear.DrainBody,hands=gear.DrainHands,ring1="Archon Ring",ring2="Evanescence Ring",
  261. back="Ogapepo Cape +1",waist="Fucho-no-Obi",legs=gear.DrainLegs,feet=gear.DrainFeet}
  262.  
  263. sets.midcast.Aspir = sets.midcast.Drain
  264.  
  265. sets.midcast.Klimaform = sets.midcast.FastRecast
  266.  
  267. sets.midcast.Stone = {ammo="Pemphredo Tathlum",
  268. head=gear.THHead,neck="Saevus Pendant +1",left_ear="Barkaro. Earring",right_ear="Friomisi Earring",
  269. body="Chironic Doublet",hands=gear.THHands,left_ring="Shiva Ring +1",right_ring="Shiva Ring +1",
  270. back=gear.HelixCape,waist="Refoccilation Stone",legs="Amalric Slops +1",feet="Amalric Nails +1",}
  271.  
  272. sets.midcast['Apururu (UC)'] = {body="Apururu Unity Shirt"}
  273.  
  274.  
  275. -- Sets for special buff conditions on spells.
  276.  
  277. sets.buff.ComposureOther = {head="Lethargy Chappel +1",
  278. body="Lethargy Sayon +1",hands="Lethargy Gantherots +1",
  279. legs="Lethargy Fuseau +1",feet="Lethargy Houseaux +1"}
  280.  
  281. sets.buff.Saboteur = {hands="Lethargy Gantherots +1"}
  282.  
  283.  
  284. -- Sets to return to when not performing an action.
  285.  
  286. -- Resting sets
  287.  
  288. -- Idle sets
  289. sets.idle = {ammo="Homiliary",
  290. head="Vitivation Chapeau +1",neck="Bathy Choker +1",ear1="Etiolation Earring",ear2="Infused Earring",
  291. body="Amalric Doublet +1",hands="Serpentes Cuffs",ring1="Paguroidea Ring",ring2="Sheltered Ring",
  292. back="Mecisto. Mantle",waist="Fucho-no-Obi",legs="Carmine Cuisses +1",feet="Amalric Nails +1"}
  293.  
  294. sets.idle.PDT = {ammo="Staunch Tathlum",
  295. head=gear.DTHead,neck="Loricate Torque +1",ear1="Impregnable Earring",ear2="Genmei Earring",
  296. body=gear.DTBody,hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
  297. back="Umbra Cape",waist="Flume Belt +1",legs="Artsieq Hose",feet="Hippomenes Socks +1"}
  298.  
  299. sets.idle.MDT = {ammo="Vanir Battery",
  300. head="Befouled Crown",neck="Warder's Charm +1",ear1="Etiolation Earring",ear2="Merman's Earring",
  301. body=gear.DTBody,hands="Leyline Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  302. back="Hexerei Cape",waist="Slipor Sash",legs="Lethargy Fuseau +1",feet=gear.FCFeet}
  303.  
  304.  
  305. -- Defense sets
  306. sets.defense.PDT = {ammo="Staunch Tathlum",
  307. head=gear.DTHead,neck="Loricate Torque +1",ear1="Impregnable Earring",ear2="Genmei Earring",
  308. body=gear.DTBody,hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
  309. back="Umbra Cape",waist="Flume Belt +1",legs="Artsieq Hose",feet="Hippomenes Socks +1"}
  310.  
  311. sets.defense.MDT = {ammo="Vanir Battery",
  312. head="Befouled Crown",neck="Warder's Charm +1",ear1="Etiolation Earring",ear2="Merman's Earring",
  313. body=gear.DTBody,hands="Leyline Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  314. back="Agema Cape",waist="Slipor Sash",legs="Lethargy Fuseau +1",feet=gear.FCFeet}
  315.  
  316. sets.Kiting = {legs="Carmine Cuisses +1"}
  317.  
  318. sets.latent_refresh = {waist="Fucho-no-obi"}
  319.  
  320. -- sets
  321.  
  322. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  323. -- sets if more refined versions aren't defined.
  324. -- If you create a set with both offense and defense modes, the offense mode should be first.
  325. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  326.  
  327. -- Normal melee group
  328. sets.engaged = {ammo="Ginsen",
  329. head="Taeon Chapeau",neck="Combatant's Torque",ear1="Brutal Earring",ear2="Eabani Earring",
  330. body="Taeon Tabard",hands=gear.TPHands,ring1="Rajas Ring",ring2="Petrov Ring",
  331. back="Bleating Mantle",waist="Windbuffet Belt +1",legs="Carmine Cuisses +1",feet="Taeon Boots"}
  332.  
  333. sets.engaged.Defense = {ammo="Staunch Tathlum",
  334. head=gear.DTHead,neck="Loricate Torque +1",ear1="Impregnable Earring",ear2="Genmei Earring",
  335. body=gear.DTBody,hands="Hagondes Cuffs +1",ring1="Defending Ring",ring2="Dark Ring",
  336. back="Umbra Cape",waist="Flume Belt +1",legs="Artsieq Hose",feet="Hippomenes Socks +1"}
  337.  
  338. end
  339.  
  340. -------------------------------------------------------------------------------------------------------------------
  341. -- Job-specific hooks for standard casting events.
  342. -------------------------------------------------------------------------------------------------------------------
  343.  
  344. -- Run after the default midcast() is done.
  345. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  346. function job_post_midcast(spell, action, spellMap, eventArgs)
  347. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  348. equip(sets.buff.Saboteur)
  349. elseif spell.skill == 'Enhancing Magic' then
  350. equip(sets.midcast.EnhancingDuration)
  351. if buffactive.composure and spell.target.type == 'PLAYER' then
  352. equip(sets.buff.ComposureOther)
  353. end
  354. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  355. equip(sets.midcast.CureSelf)
  356. end
  357. end
  358. function job_aftercast(spell, action, spellMap, eventArgs)
  359. if not spell.interrupted then
  360. if spell.english == 'Break' or spell.english == 'Breakga' then
  361. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 30 down spells/00220.png')
  362. elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
  363. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
  364. elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
  365. send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
  366. end
  367. classes.CustomIdleGroups:clear()
  368. end
  369. end
  370. -------------------------------------------------------------------------------------------------------------------
  371. -- Job-specific hooks for non-casting events.
  372. -------------------------------------------------------------------------------------------------------------------
  373.  
  374. -- Handle notifications of general user state change.
  375. function job_state_change(stateField, newValue, oldValue)
  376. if stateField == 'Offense Mode' then
  377. if newValue == 'None' then
  378. enable('main','sub','range')
  379. else
  380. disable('main','sub','range')
  381. end
  382. end
  383. end
  384.  
  385. -------------------------------------------------------------------------------------------------------------------
  386. -- User code that supplements standard library decisions.
  387. -------------------------------------------------------------------------------------------------------------------
  388.  
  389. -- Modify the default idle set after it was constructed.
  390. function customize_idle_set(idleSet)
  391. if player.mpp < 51 then
  392. idleSet = set_combine(idleSet, sets.latent_refresh)
  393. end
  394.  
  395. return idleSet
  396. end
  397.  
  398. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  399. function display_current_job_state(eventArgs)
  400. display_current_caster_state()
  401. eventArgs.handled = true
  402. end
  403.  
  404. -------------------------------------------------------------------------------------------------------------------
  405. -- Utility functions specific to this job.
  406. -------------------------------------------------------------------------------------------------------------------
  407.  
  408. -- Select default macro book on initial load or subjob change.
  409. function select_default_macro_book()
  410. -- Default macro set/book
  411. if player.sub_job == 'DNC' then
  412. set_macro_page(1, 4)
  413. elseif player.sub_job == 'NIN' then
  414. set_macro_page(1, 4)
  415. elseif player.sub_job == 'THF' then
  416. set_macro_page(1, 4)
  417. else
  418. set_macro_page(1, 4)
  419. end
  420. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement