Advertisement
Guest User

RDM

a guest
Mar 26th, 2015
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.05 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', 'Resistant')
  28. state.IdleMode:options('Normal', 'PDT', 'MDT')
  29.  
  30. gear.default.obi_waist = "Sekhmet Corset"
  31.  
  32. select_default_macro_book()
  33. end
  34.  
  35.  
  36. -- Define sets and vars used by this job file.
  37. function init_gear_sets()
  38. --------------------------------------
  39. -- Start defining the sets
  40. --------------------------------------
  41.  
  42. -- Precast Sets
  43.  
  44. -- Precast sets to enhance JAs
  45. sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
  46.  
  47.  
  48. -- Waltz set (chr and vit)
  49. sets.precast.Waltz = {
  50. head="Atrophy Chapeau +1",
  51. body="Atrophy Tabard +1",hands="Yaoyotl Gloves",
  52. back="Refraction Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
  53.  
  54. -- Don't need any special gear for Healing Waltz.
  55. sets.precast.Waltz['Healing Waltz'] = {}
  56.  
  57. -- Fast cast sets for spells
  58.  
  59. -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  60. -- No other FC sets necessary.
  61. sets.precast.FC = {ammo="Impatiens",
  62. head="Atrophy Chapeau",ear2="Loquacious Earring",
  63. body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",
  64. back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
  65.  
  66. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  67.  
  68. -- Weaponskill sets
  69. -- Default set for any weaponskill that isn't any more specifically defined
  70. sets.precast.WS = {
  71. head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  72. body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  73. back="Atheling Mantle",waist="Caudata Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  74.  
  75. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  76. sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS,
  77. {neck="Soil Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  78. ring1="Aquasoul Ring",ring2="Aquasoul Ring",waist="Soil Belt"})
  79.  
  80. sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
  81. head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
  82. body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
  83. back="Toro Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
  84.  
  85.  
  86. -- Midcast Sets
  87.  
  88. sets.midcast.FastRecast = {
  89. head="Atrophy Chapeau",ear2="Loquacious Earring",
  90. body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",
  91. back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
  92.  
  93. sets.midcast.Cure = {main="Tamaxchi",sub="Sors Shield",
  94. head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Roundel Earring",ear2="Loquacious Earring",
  95. body="Gendewitha Bliaut",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
  96. back="Swith Cape +1",waist="Witful Belt",legs="Warlock's Tights",feet="Telchine Pigaches"}
  97.  
  98. sets.midcast.Curaga = sets.midcast.Cure
  99. sets.midcast.CureSelf = {ring1="Kunaji Ring",ring2="Asklepian Ring"}
  100.  
  101. sets.midcast['Enhancing Magic'] = {
  102. head="Atrophy Chapeau +1",neck="Colossus's Torque",
  103. body="Vitivation Tabard",hands="Atrophy Gloves",ring1="Prolix Ring",
  104. back="Estoqueur's Cape",waist="Olympus Sash",legs="Atrophy Tights",feet="Lethargy Houseaux"}
  105.  
  106. sets.midcast.Refresh = {legs="Lethargy Fuseau"}
  107.  
  108. sets.midcast.Stoneskin = {waist="Siegel Sash"}
  109.  
  110. sets.midcast['Enfeebling Magic'] = {main="Marin staff+1",sub="Mephitis Grip",ammo="Kalboron Stone",
  111. head="Vitivation Chapeau",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  112. body="Atrophy Tabard",hands="Lethargy Gantherots",ring1="Perception Ring",ring2="Mediator's Ring",
  113. back="Ghostfyre Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Vitivation Boots"}
  114.  
  115. sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
  116.  
  117. sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
  118.  
  119. sets.midcast['Elemental Magic'] = {main="Marin Staff+1",sub="Wise Strao",ammo="Dosis Tathlum",
  120. head="Lethargy Chappel",neck="Eddy Necklace",ear1="Moldavite Earring",ear2="Hecate's Earring",
  121. body="Hagondes Coat",hands="Helios Gloves",ring1="Fenrir Ring",ring2="Acumen Ring",
  122. back="Ghostfyre Cape",waist=gear.Aswang Sash,legs="Hagondes Pants",feet="Vitivation Boots"}
  123.  
  124. sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
  125.  
  126. sets.midcast['Dark Magic'] = {main="Marin Staff+1",sub="Mephitis Grip",ammo="Kalboron Stone",
  127. head="Atrophy Chapeau",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  128. body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",ring2="Veneficium Ring",
  129. back="Refraction Cape",waist="Aswang Sash",legs="Artsieq Hose",feet="Vitivation Boots"}
  130.  
  131. --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
  132.  
  133. sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})
  134.  
  135. sets.midcast.Aspir = sets.midcast.Drain
  136.  
  137.  
  138. -- Sets for special buff conditions on spells.
  139.  
  140. sets.midcast.EnhancingDuration = {hands="Atrophy Gloves",back="Estoqueur's Cape",feet="Leathargy Houseaux"}
  141.  
  142. sets.buff.ComposureOther = {head="Lethargy Chappel",
  143. body="Estoqueur's Sayon +2",hands="Lethargy Gantherots",
  144. legs="Estoqueur's Fuseau +2",feet="Lethargy Houseaux"}
  145.  
  146. sets.buff.Saboteur = {hands="Lethargy Gantherots"}
  147.  
  148.  
  149. -- Sets to return to when not performing an action.
  150.  
  151. -- Resting sets
  152. sets.resting = {main="Chatoyant Staff",
  153. head="Vitivation Chapeau",neck="Wiglen Gorget",
  154. body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  155. waist="Austerity Belt",legs="Nares Trews",feet="Chelona Boots +1"}
  156.  
  157.  
  158. -- Idle sets
  159. sets.idle = {main="Marin Staff+1",sub="Mephitis Grip",ammo="Impatiens",
  160. head="Vitivation Chapeau",neck="Weike Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  161. body="Vitivation Tabard",hands="Helios Gloves",ring1="Prolix Ring",ring2="Veneficium Ring",
  162. back="Ghostfyre Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Telchine Pigaches"}
  163.  
  164. sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  165. head="Atrophy Chapeau +1",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  166. body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  167. back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Hagondes Sabots"}
  168.  
  169. sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  170. head="Vitivation Chapeau",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  171. body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  172. back="Shadow Mantle",waist="Flume Belt",legs="Crimson Cuisses",feet="Hagondes Sabots"}
  173.  
  174. sets.idle.PDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
  175. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  176. body="Gendewitha Bliaut +1",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
  177. back="Shadow Mantle",waist="Flume Belt",legs="Osmium Cuisses",feet="Gendewitha Galoshes"}
  178.  
  179. sets.idle.MDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
  180. head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  181. body="Gendewitha Caubeen +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  182. back="Engulfer Cape",waist="Flume Belt",legs="Osmium Cuisses",feet="Gendewitha Galoshes"}
  183.  
  184.  
  185. -- Defense sets
  186. sets.defense.PDT = {
  187. head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  188. body="Hagondes Coat",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
  189. back="Shadow Mantle",waist="Flume Belt",legs="Hagondes Pants",feet="Gendewitha Galoshes"}
  190.  
  191. sets.defense.MDT = {ammo="Demonry Stone",
  192. head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  193. body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  194. back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Gendewitha Galoshes"}
  195.  
  196. sets.Kiting = {legs="Crimson Cuisses"}
  197.  
  198. sets.latent_refresh = {waist="Fucho-no-obi"}
  199.  
  200. -- Engaged sets
  201.  
  202. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  203. -- sets if more refined versions aren't defined.
  204. -- If you create a set with both offense and defense modes, the offense mode should be first.
  205. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  206.  
  207. -- Normal melee group
  208. sets.engaged = {
  209. head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  210. body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  211. back="Atheling Mantle",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}
  212.  
  213. sets.engaged.Defense = {ammo="Demonry Stone",
  214. head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  215. body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  216. back="Kayapa Cape",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}
  217.  
  218. end
  219.  
  220. -------------------------------------------------------------------------------------------------------------------
  221. -- Job-specific hooks for standard casting events.
  222. -------------------------------------------------------------------------------------------------------------------
  223.  
  224. -- Run after the default midcast() is done.
  225. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  226. function job_post_midcast(spell, action, spellMap, eventArgs)
  227. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  228. equip(sets.buff.Saboteur)
  229. elseif spell.skill == 'Enhancing Magic' then
  230. equip(sets.midcast.EnhancingDuration)
  231. if buffactive.composure and spell.target.type == 'PLAYER' then
  232. equip(sets.buff.ComposureOther)
  233. end
  234. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  235. equip(sets.midcast.CureSelf)
  236. end
  237. end
  238.  
  239. -------------------------------------------------------------------------------------------------------------------
  240. -- Job-specific hooks for non-casting events.
  241. -------------------------------------------------------------------------------------------------------------------
  242.  
  243. -- Handle notifications of general user state change.
  244. function job_state_change(stateField, newValue, oldValue)
  245. if stateField == 'Offense Mode' then
  246. if newValue == 'None' then
  247. enable('main','sub','range')
  248. else
  249. disable('main','sub','range')
  250. end
  251. end
  252. end
  253.  
  254. -------------------------------------------------------------------------------------------------------------------
  255. -- User code that supplements standard library decisions.
  256. -------------------------------------------------------------------------------------------------------------------
  257.  
  258. -- Modify the default idle set after it was constructed.
  259. function customize_idle_set(idleSet)
  260. if player.mpp < 51 then
  261. idleSet = set_combine(idleSet, sets.latent_refresh)
  262. end
  263.  
  264. return idleSet
  265. end
  266.  
  267. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  268. function display_current_job_state(eventArgs)
  269. display_current_caster_state()
  270. eventArgs.handled = true
  271. end
  272.  
  273. -------------------------------------------------------------------------------------------------------------------
  274. -- Utility functions specific to this job.
  275. -------------------------------------------------------------------------------------------------------------------
  276.  
  277. -- Select default macro book on initial load or subjob change.
  278. function select_default_macro_book()
  279. -- Default macro set/book
  280. if player.sub_job == 'DNC' then
  281. set_macro_page(2, 4)
  282. elseif player.sub_job == 'NIN' then
  283. set_macro_page(3, 4)
  284. elseif player.sub_job == 'THF' then
  285. set_macro_page(4, 4)
  286. else
  287. set_macro_page(1, 4)
  288. end
  289. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement