detlef11

kyli_rdm

Oct 7th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.17 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. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  14. function job_setup()
  15. state.Buff.Saboteur = buffactive.saboteur or false
  16. end
  17.  
  18. -------------------------------------------------------------------------------------------------------------------
  19. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  20. -------------------------------------------------------------------------------------------------------------------
  21.  
  22. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  23. function user_setup()
  24. state.OffenseMode:options('None', 'Normal')
  25. state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
  26. state.CastingMode:options('Normal', 'Resistant')
  27. state.IdleMode:options('Normal', 'PDT', 'MDT')
  28.  
  29. gear.default.obi_waist = "Sekhmet Corset"
  30.  
  31. select_default_macro_book()
  32. end
  33.  
  34. -- Define sets and vars used by this job file.
  35. function init_gear_sets()
  36. --------------------------------------
  37. -- Start defining the sets
  38. --------------------------------------
  39.  
  40. grio_fc = { name="Grioavolr", augments={'"Fast Cast"+3','MND+13','Mag. Acc.+28','"Mag.Atk.Bns."+5','Magic Damage +6',}}
  41. grio_enhancing = { name="Grioavolr", augments={'Enh. Mag. eff. dur. +8','INT+15','Mag. Acc.+19','"Mag.Atk.Bns."+9',}}
  42.  
  43. telchine_head_enh_duration = { name="Telchine Cap", augments={'Enh. Mag. eff. dur. +9',}}
  44. telchine_body_enh_duration = { name="Telchine Chas.", augments={'Enh. Mag. eff. dur. +9',}}
  45. telchine_legs_enh_duration = { name="Telchine Braconi", augments={'Enh. Mag. eff. dur. +9',}}
  46.  
  47. merlinic_body_macc = { name="Merlinic Jubbah", augments={'Mag. Acc.+29','Magic dmg. taken -2%','MND+13','"Mag.Atk.Bns."+4',}}
  48. merlinic_legs_macc = { name="Merlinic Shalwar", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Drain" and "Aspir" potency +9','INT+14','Mag. Acc.+10',}}
  49. chironic_legs_macc = { name="Chironic Hose", augments={'AGI+9','Mag. Acc.+28','"Fast Cast"+1','Mag. Acc.+14 "Mag.Atk.Bns."+14',}}
  50.  
  51. merlinic_hands_refresh = { name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+7','Mag. Acc.+24 "Mag.Atk.Bns."+24','"Refresh"+2','Accuracy+13 Attack+13',}}
  52. chironic_feet_refresh = { name="Chironic Slippers", augments={'AGI+4','STR+2','"Refresh"+1','Accuracy+17 Attack+17','Mag. Acc.+9 "Mag.Atk.Bns."+9',}}
  53.  
  54. sucellos_cure = { name="Sucellos's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Cure" potency +10%',}}
  55. sucellos_macc = sucellos_cure
  56.  
  57. -- Precast Sets
  58. -- Precast sets to enhance JAs
  59. sets.precast.JA['Chainspell'] = {body="Viti. Tabard +1"}
  60.  
  61. -- Waltz set (chr and vit)
  62. sets.precast.Waltz = {
  63. head="Hagondes hat",
  64. body="Gendewitha Bliaut",hands="Helios Gloves",
  65. back="Refraction Cape",legs="Orvail Pants +1",feet="Uk'uxkaj Boots"}
  66.  
  67. -- Don't need any special gear for Healing Waltz.
  68. sets.precast.Waltz['Healing Waltz'] = {}
  69.  
  70. -- Fast cast sets for spells
  71.  
  72. -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  73. -- No other FC sets necessary.
  74. sets.precast.FC = {main=grio_fc,ammo="Impatiens",
  75. head="Atro. Chapeau +2",neck="Orunmila's torque",lear="Enchntr. Earring +1",rear="Loquac. Earring",
  76. body="Viti. Tabard +1",hands="Leyline Gloves",lring="Lebeche Ring",rring="Prolix Ring",
  77. back="Perimede Cape",waist="Witful Belt",legs="Psycloth Lappas",feet="Merlinic Crackows"}
  78.  
  79. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  80.  
  81. -- Weaponskill sets
  82. -- Default set for any weaponskill that isn't any more specifically defined
  83. sets.precast.WS = {ammo="Paeapua",
  84. head="Taeon chapeau",neck="Fotia gorget",lear="Bladeborn Earring",rear="Steelflash Earring",
  85. body="Taeon tabard",hands="Taeon Gloves",lring="Rajas Ring",rring="K'ayres Ring",
  86. back="Bleating Mantle",waist="Fotia Belt",legs="Taeon tights",feet="Atrophy Boots +1"}
  87.  
  88. sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {ammo="Memoria sachet",
  89. head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Sortiarius Earring",
  90. body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
  91. back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"})
  92.  
  93. sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {ammo="Oreiad's tathlum",
  94. head="Atro. Chapeau +2",neck="Tlamiztli collar",lear="Lifestorm Earring",rear="Bladeborn Earring",
  95. body="Viti. Tabard +1",hands="Atrophy Gloves +2",lring="Rajas Ring",rring="Etana Ring",
  96. back="Buquwik Cape",waist="Prosilo Belt +1",legs="Psycloth Lappas",feet="Skaoi Boots"})
  97.  
  98. sets.precast.WS['Aeolian Edge'] = set_combine(sets.precast.WS, {ammo="Memoria sachet",
  99. head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Hecate's Earring",
  100. body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
  101. back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"})
  102.  
  103. sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS, {ammo="Yetshila",
  104. head="Atro. Chapeau +2",neck="Fotia gorget",lear="Brutal Earring",rear="Moonshade Earring",
  105. body="Taeon Tabard",hands="Lethargy Gantherotes",lring="Rajas ring",rring="Karieyh Ring",
  106. back="Buquwik cape",waist="Fotia Belt",legs="Psycloth Lappas",feet="Leth. Houseaux"})
  107.  
  108. sets.precast.WS['Chant du Cygne'] = set_combine(sets.precast.WS, {ammo="Yetshila",
  109. head="Taeon chapeau",neck="Shifting necklace",lear="Brutal Earring",rear="Moonshade Earring",
  110. body="Taeon Tabard",hands="Taeon gloves",lring="Rajas ring",rring="Jupiter's Ring",
  111. back="Kayapa cape",waist="Artful Belt +1",legs="Taeon tights",feet="Taeon Boots"})
  112.  
  113. sets.precast.WS['Evisceration'] = set_combine(sets.precast.WS, {ammo="Yetshila",
  114. head="Taeon chapeau",neck="Shifting necklace",lear="Brutal Earring",rear="Moonshade Earring",
  115. body="Taeon Tabard",hands="Taeon gloves",lring="Rajas ring",rring="Jupiter's Ring",
  116. back="Kayapa cape",waist="Artful Belt +1",legs="Taeon tights",feet="Taeon Boots"})
  117.  
  118. sets.precast.WS['Death Blossom'] = set_combine(sets.precast.WS, {ammo="Yetshila",
  119. head="Atro. Chapeau +2",neck="Fotia gorget",lear="Brutal Earring",rear="Moonshade Earring",
  120. body="Taeon tabard",hands="Lethargy Gantherotes +1",lring="Rajas ring",rring="Karieyh Ring",
  121. back="Buquwik cape",waist="Fotia Belt",legs="Psycloth Lappas",feet="Leth. Houseaux"})
  122.  
  123. -- Midcast Sets
  124.  
  125. sets.midcast.Cure = {main="Tamaxchi",sub="Sors shield",ammo="Esper Stone +1",
  126. head="Vanya Hood",neck="Colossus's Torque",lear="Enchntr. Earring +1",rear="Gwati Earring",
  127. body="Viti. Tabard +1",hands="Leth. Gantherots +1",lring="Ephedra Ring",rring="Haoma's Ring",
  128. back="Vates cape +1",waist="Luminary Sash",legs="Atrophy Tights +1",feet="Vanya Clogs"}
  129.  
  130. sets.midcast.Curaga = sets.midcast.Cure
  131. sets.midcast.CureSelf = {lring="Kunaji Ring",rring="Asklepian Ring",hands="Buremte Gloves"}
  132.  
  133. sets.midcast['Enhancing Magic'] = {main=grio_enhancing,sub="Pukulatmuj",
  134. head="Leth. Chappel +1",neck="Colossus's Torque",lear="Andoaa Earring",rear="Augmenting Earring",
  135. body="Lethargy Sayon +1",hands="Atrophy Gloves +2",lring="Etana Ring",
  136. back=sucellos_cure,waist="Olympus Sash",legs="Leth. Fuseau +1",feet="Leth. Houseaux +1"}
  137.  
  138. sets.midcast['Enhancing Magic'].EnSpells = set_combine(sets.midcast['Enhancing Magic'],{rear="Hollow Earring",hands="Viti. Gloves +1"})
  139.  
  140. sets.midcast['Enhancing Magic'].GainSpells = set_combine(sets.midcast['Enhancing Magic'],{hands="Viti. Gloves +1"})
  141.  
  142. sets.midcast.EnhancingDuration = {main=grio_enhancing,
  143. head=telchine_head_enh_duration,lear="Enchntr. Earring +1",rear="Andoaa Earring",
  144. body=telchine_body_enh_duration,hands="Atrophy Gloves +2",
  145. back=sucellos_cure,waist="Olympus Sash",legs=telchine_legs_enh_duration,feet="Leth. Houseaux +1"}
  146.  
  147. sets.buff.ComposureOther = {main=grio_enhancing,
  148. head="Leth. Chappel +1",neck="Colossus's Torque",lear="Enchntr. Earring +1",rear="Andoaa Earring",
  149. body="Lethargy Sayon +1",hands="Atrophy Gloves +2",lring="Etana Ring",
  150. back=sucellos_cure,waist="Olympus Sash",legs="Leth. Fuseau +1",feet="Leth. Houseaux +1"}
  151.  
  152. sets.midcast.Protect = {rring="Sheltered Ring"}
  153. sets.midcast.Shell = sets.midcast.Protect
  154.  
  155. sets.midcast.Phalanx = set_combine(sets.midcast['Enhancing Magic'],{main="Egeking"})
  156.  
  157. sets.midcast.Cursna = {neck="Malison medallion",back="Oretania's cape +1",lring="Haoma's ring",rring="ephedra ring",feet="Vanya Clogs"}
  158.  
  159. sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'],{neck="Nodens Gorget",rear="Earthcry Earring",hands="Stone mufflers",waist="Siegel Sash",legs="Haven hose"})
  160.  
  161. sets.midcast['Enfeebling Magic'] = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
  162. head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
  163. body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
  164. back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
  165.  
  166. sets.midcast.Distract = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
  167. head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
  168. body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
  169. back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
  170.  
  171. sets.midcast.Frazzle = {main=grio_fc,sub="Enki Strap",ammo="Regal Gem",
  172. head="Atro. Chapeau +2",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
  173. body="Atrophy Tabard +2",hands="Leth. Gantherots +1",lring="Stikini Ring",rring="Stikini Ring",
  174. back=sucellos_macc,waist="Luminary Sash",legs=chironic_legs_macc,feet="Skaoi Boots"}
  175.  
  176. sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Viti. Chapeau +1"})
  177.  
  178. sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Viti. Chapeau +1"})
  179.  
  180. sets.midcast['Elemental Magic'] = {main=grio_enhancing,sub="Enki Strap",ammo="Pemphredo Tathlum",
  181. head="Helios band",neck="Eddy Necklace",lear="Friomisi Earring",rear="Sortiarius Earring",
  182. body="Hagondes coat",hands="Helios gloves",lring="Fenrir Ring +1",rring="Acumen Ring",
  183. back="Toro Cape",waist="Othila sash",legs="Hagondes pants",feet="Helios Boots"}
  184.  
  185. sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
  186.  
  187. sets.midcast.Drain = {main=grio_fc,sub="Enki Strap",ranged="Regal Gem",
  188. head="Befouled crown",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
  189. body="Atrophy Tabard +1",hands="Hagondes Cuffs",lring="Stikini Ring",rring="Stikini Ring",
  190. back=sucellos_macc,waist="Luminary Sash",legs="Leth. Fuseau +1",feet="Helios Boots"}
  191.  
  192. sets.midcast.Aspir = {main=grio_fc,sub="Enki Strap",ranged="Regal Gem",
  193. head="Befouled crown",neck="Erra Pendant",lear="Digni. Earring",rear="Regal Earring",
  194. body="Atrophy Tabard +1",hands="Hagondes Cuffs",lring="Stikini Ring",rring="Stikini Ring",
  195. back=sucellos_macc,waist="Luminary Sash",legs="Leth. Fuseau +1",feet="Helios Boots"}
  196.  
  197. sets.midcast['Stun'] = {main=grio_fc,sub="Enki Strap",ammo="Impatiens",
  198. head="Atro. Chapeau +2",neck="Orunmila's torque",lear="Estoqueur's Earring",rear="Regal Earring",
  199. body="Viti. Tabard +1",hands="Leyline Gloves",lring="Stikini Ring",rring="Stikini Ring",
  200. back=sucellos_macc,waist="Pya'ekue Belt",legs="Psycloth Lappas",feet="Helios Boots"}
  201.  
  202. sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {lring="Excelsis Ring", waist="Fucho-no-Obi"})
  203.  
  204. sets.midcast.Aspir = sets.midcast.Drain
  205.  
  206. -- Sets to return to when not performing an action.
  207.  
  208. -- Resting sets
  209. sets.resting = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  210. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  211. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  212. back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  213.  
  214. -- Idle sets
  215. sets.idle = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  216. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  217. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  218. back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  219.  
  220. sets.idle.Town = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  221. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  222. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  223. back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  224.  
  225. sets.idle.Weak = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  226. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  227. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  228. back="Umbra Cape",waist="Fucho-no-obi",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  229.  
  230. -- Defense sets
  231. sets.defense.PDT = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  232. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  233. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  234. back="Umbra Cape",waist="Slipor Sash",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  235.  
  236. sets.defense.MDT = {main="Bolelabunga",sub="Genmei Shield",ammo="Homiliary",
  237. head="Viti. Chapeau +1",neck="Loricate Torque +1",lear="Genmei Earring",rear="Etiolation Earring",
  238. body="Jhakri Robe +2",hands=merlinic_hands_refresh,lring="Defending Ring",rring="Dark Ring",
  239. back="Umbra Cape",waist="Slipor Sash",legs="Carmine Cuisses",feet=chironic_feet_refresh}
  240.  
  241. sets.Kiting = {legs="Carmine Cuisses"}
  242.  
  243. sets.latent_refresh = {waist="Fucho-no-obi"}
  244.  
  245. -- Engaged sets
  246.  
  247. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  248. -- sets if more refined versions aren't defined.
  249. -- If you create a set with both offense and defense modes, the offense mode should be first.
  250. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  251.  
  252. -- Normal melee group
  253. sets.engaged = {main="Pukulatmuj",sub="Beatific shield",ammo="Paeapua",
  254. head="Taeon chapeau",neck="Asperity Necklace",lear="Brutal Earring",rear="Suppanomimi",
  255. body="Taeon tabard",hands="Taeon Gloves",lring="Rajas Ring",rring="K'ayres Ring",
  256. back="Bleating Mantle",waist="windbuffet Belt +1",legs="Taeon tights",feet="Taeon Boots"}
  257.  
  258. -- Sets for special buff conditions on spells.
  259.  
  260. sets.buff.Saboteur = {hands="Leth. Gantherots +1"}
  261. end
  262.  
  263. -------------------------------------------------------------------------------------------------------------------
  264. -- Job-specific hooks for standard casting events.
  265. -------------------------------------------------------------------------------------------------------------------
  266.  
  267. -- Run after the default midcast() is done.
  268. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  269. function job_post_midcast(spell, action, spellMap, eventArgs)
  270. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  271. equip(sets.buff.Saboteur)
  272. elseif spell.skill == 'Enhancing Magic' then
  273. equip(sets.midcast.EnhancingDuration)
  274. if buffactive.composure and spell.target.type == 'PLAYER' then
  275. equip(sets.buff.ComposureOther)
  276. end
  277. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  278. equip(sets.midcast.CureSelf)
  279. end
  280. end
  281.  
  282. function job_get_spell_map(spell, default_spell_map)
  283. if spell.action_type == 'Magic' then
  284. if spell.skill == 'Enhancing Magic' then
  285. if spell.english:startswith('En') then
  286. return 'EnSpells'
  287. elseif spell.english:startswith('Gain') then
  288. return 'GainSpells'
  289. end
  290. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  291. equip(sets.midcast.CureSelf)
  292. end
  293. end
  294. end
  295.  
  296. -------------------------------------------------------------------------------------------------------------------
  297. -- Job-specific hooks for non-casting events.
  298. -------------------------------------------------------------------------------------------------------------------
  299.  
  300. -- Handle notifications of general user state change.
  301. function job_state_change(stateField, newValue, oldValue)
  302. if stateField == 'Offense Mode' then
  303. if newValue == 'None' then
  304. enable('main','sub','range')
  305. else
  306. disable('main','sub','range')
  307. end
  308. end
  309. end
  310.  
  311. -------------------------------------------------------------------------------------------------------------------
  312. -- User code that supplements standard library decisions.
  313. -------------------------------------------------------------------------------------------------------------------
  314.  
  315. -- Modify the default idle set after it was constructed.
  316. function customize_idle_set(idleSet)
  317. if player.mpp < 51 then
  318. idleSet = set_combine(idleSet, sets.latent_refresh)
  319. end
  320.  
  321. return idleSet
  322. end
  323.  
  324. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  325. function display_current_job_state(eventArgs)
  326. display_current_caster_state()
  327. eventArgs.handled = true
  328. end
  329.  
  330. -------------------------------------------------------------------------------------------------------------------
  331. -- Utility functions specific to this job.
  332. -------------------------------------------------------------------------------------------------------------------
  333.  
  334. -- Select default macro book on initial load or subjob change.
  335. function select_default_macro_book()
  336. -- Default macro set/book
  337. if player.sub_job == 'DNC' then
  338. set_macro_page(2, 4)
  339. elseif player.sub_job == 'NIN' then
  340. set_macro_page(3, 4)
  341. elseif player.sub_job == 'THF' then
  342. set_macro_page(4, 4)
  343. else
  344. set_macro_page(1, 2)
  345. end
  346. end
Advertisement
Add Comment
Please, Sign In to add comment