Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.90 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'] = {}
  46.  
  47.  
  48. -- Waltz set (chr and vit)
  49. sets.precast.Waltz = {}
  50.  
  51. -- Don't need any special gear for Healing Waltz.
  52. sets.precast.Waltz['Healing Waltz'] = {}
  53.  
  54. -- Fast cast sets for spells
  55. sets.precast.FC = {}
  56.  
  57. sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  58.  
  59. -- Weaponskill sets
  60. sets.precast.WS = {}
  61.  
  62. sets.precast.WS['Requiescat'] = {}
  63.  
  64.  
  65.  
  66. -- Midcast Sets
  67. sets.midcast['Elemental Magic'] = {}
  68.  
  69. sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
  70.  
  71. sets.midcast.Cure = {}
  72.  
  73. sets.midcast.Curaga = sets.midcast.Cure
  74.  
  75. sets.midcast.CureSelf = set_combine(sets.midcast.Cure, {})
  76.  
  77. sets.midcast.IntEnfeeble = {}
  78.  
  79. sets.midcast.MndEnfeeble = {}
  80.  
  81. sets.midcast['Dia III'] = {}
  82.  
  83. sets.midcast['Slow II'] = set_combine(sets.midcast.MndEnfeeble, {})
  84.  
  85. sets.midcast['Paralyze II'] = set_combine(sets.midcast.MndEnfeeble, {})
  86.  
  87. sets.midcast['Blind II'] = set_combine(sets.midcast.IntEnfeeble, {})
  88.  
  89. sets.midcast['Blind'] = sets.midcast.IntEnfeeble
  90.  
  91. sets.midcast['Slow'] = sets.midcast.MndEnfeeble
  92.  
  93. sets.midcast['Paralyze'] = sets.midcast.MndEnfeeble
  94.  
  95. sets.midcast.Distract = sets.midcast.IntEnfeeble
  96.  
  97. sets.midcast.Gravity = sets.midcast.IntEnfeeble
  98.  
  99. sets.midcast.Poison = sets.midcast.IntEnfeeble
  100.  
  101. sets.midcast.Sleep = sets.midcast.IntEnfeeble
  102.  
  103. sets.midcast.Sleepga = sets.midcast.IntEnfeeble
  104.  
  105. sets.midcast.Frazzle = sets.midcast.IntEnfeeble
  106.  
  107. sets.midcast.Break = sets.midcast.IntEnfeeble
  108.  
  109. sets.midcast.Bind = sets.midcast.IntEnfeeble
  110.  
  111. sets.midcast.Addle = sets.midcast.MndEnfeeble
  112.  
  113. sets.midcast.Silence = sets.midcast.MndEnfeeble
  114.  
  115.  
  116. -- Sets for special buff conditions on spells.
  117. sets.midcast.EnhancingSkill = {}
  118.  
  119. sets.midcast.EnhancingDuration = {back="Estoqueur's Cape"}
  120.  
  121. sets.buff.ComposureOther = {}
  122.  
  123. sets.midcast.Stoneskin = set_combine(set.EnhancingSkill, {waist="Siegel Sash"})
  124.  
  125. sets.midcast.Aquaveil = sets.midcast.EnhancingSkill
  126.  
  127. sets.midcast.Temper = sets.midcast.EnhancingSkill
  128.  
  129. sets.midcast.Phalanx = sets.midcast.EnhancingSkill
  130.  
  131. sets.midcast.['Gain-STR'] = sets.midcast.EnhancingSkill
  132.  
  133. sets.midcast.['Gain-DEX'] = sets.midcast.EnhancingSkill
  134.  
  135. sets.midcast.['Gain-AGI'] = sets.midcast.EnhancingSkill
  136.  
  137. sets.midcast.['Gain-VIT'] = sets.midcast.EnhancingSkill
  138.  
  139. sets.midcast.['Gain-INT'] = sets.midcast.EnhancingSkill
  140.  
  141. sets.midcast.['Gain-MND'] = sets.midcast.EnhancingSkill
  142.  
  143. sets.midcast.['Gain-CHR'] = sets.midcast.EnhancingSkill
  144.  
  145. sets.midcast.Regen = sets.midcast.EnhancingDuration
  146.  
  147. sets.midcast.Haste = sets.midcast.EnhancingDuration
  148.  
  149. sets.midcast.Flurry = sets.midcast.EnhancingDuration
  150.  
  151. sets.midcast.Refresh = set_combine(sets.midcast.EnhancingDuration, {})
  152.  
  153. sets.midcast.Baraera = sets.midcast.EnhancingDuration
  154.  
  155. sets.midcast.Baraero = sets.midcast.EnhancingDuration
  156.  
  157. sets.midcast.Baramnesia = sets.midcast.EnhancingDuration
  158.  
  159. sets.midcast.Barsmnesra = sets.midcast.EnhancingDuration
  160.  
  161. sets.midcast.Barblind = sets.midcast.EnhancingDuration
  162.  
  163. sets.midcast.Barblindra = sets.midcast.EnhancingDuration
  164.  
  165. sets.midcast.Barblizzara = sets.midcast.EnhancingDuration
  166.  
  167. sets.midcast.Barblizzard = sets.midcast.EnhancingDuration
  168.  
  169. sets.midcast.Barfira = sets.midcast.EnhancingDuration
  170.  
  171. sets.midcast.Barfire = sets.midcast.EnhancingDuration
  172.  
  173. sets.midcast.Barparalyze = sets.midcast.EnhancingDuration
  174.  
  175. sets.midcast.Barparalyzra = sets.midcast.EnhancingDuration
  176.  
  177. sets.midcast.Barpetra = sets.midcast.EnhancingDuration
  178.  
  179. sets.midcast.Barpetrify = sets.midcast.EnhancingDuration
  180.  
  181. sets.midcast.Barpoison = sets.midcast.EnhancingDuration
  182.  
  183. sets.midcast.Barpoisonra = sets.midcast.EnhancingDuration
  184.  
  185. sets.midcast.Barsilence = sets.midcast.EnhancingDuration
  186.  
  187. sets.midcast.Barsilencera = sets.midcast.EnhancingDuration
  188.  
  189. sets.midcast.Barsleep = sets.midcast.EnhancingDuration
  190.  
  191. sets.midcast.Barsleepra = sets.midcast.EnhancingDuration
  192.  
  193. sets.midcast.Barstone = sets.midcast.EnhancingDuration
  194.  
  195. sets.midcast.Barstonra = sets.midcast.EnhancingDuration
  196.  
  197. sets.midcast.Barthunder = sets.midcast.EnhancingDuration
  198.  
  199. sets.midcast.Barthundra = sets.midcast.EnhancingDuration
  200.  
  201. sets.midcast.Barvira = sets.midcast.EnhancingDuration
  202.  
  203. sets.midcast.Barvirus = sets.midcast.EnhancingDuration
  204.  
  205. sets.midcast.Barwater = sets.midcast.EnhancingDuration
  206.  
  207. sets.midcast.Barwatera = sets.midcast.EnhancingDuration
  208.  
  209. sets.midcast.['Blaze Spikes'] = set_combine(sets.midcast.EnhancingDuration, {})
  210.  
  211. sets.midcast.['Shock Spikes'] = set_combine(sets.midcast.EnhancingDuration, {})
  212.  
  213. sets.midcast.['Ice Spikes'] = set_combine(sets.midcast.EnhancingDuration, {})
  214.  
  215. sets.midcast.Blink = sets.midcast.EnhancingDuration
  216.  
  217. sets.midcast.Deodorize = sets.midcast.EnhancingDuration
  218.  
  219. sets.midcast.Invisible = sets.midcast.EnhancingDuration
  220.  
  221. sets.midcast.Sneak = sets.midcast.EnhancingDuration
  222.  
  223. sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
  224.  
  225.  
  226. -- Sets to return to when not performing an action.
  227.  
  228. -- Resting sets
  229. sets.resting = {}
  230.  
  231.  
  232. -- Idle sets
  233. sets.idle = {}
  234.  
  235. sets.idle.Town = {}
  236.  
  237. sets.idle.Weak = {}
  238.  
  239. sets.idle.PDT = {}
  240.  
  241. sets.idle.MDT = {}
  242.  
  243.  
  244. -- Defense sets
  245. sets.defense.PDT = {}
  246.  
  247. sets.defense.MDT = {}
  248.  
  249. sets.Kiting = {}
  250.  
  251. sets.latent_refresh = {}
  252.  
  253. -- Engaged sets
  254.  
  255. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  256. -- sets if more refined versions aren't defined.
  257. -- If you create a set with both offense and defense modes, the offense mode should be first.
  258. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  259.  
  260. -- Normal melee group
  261. sets.engaged = {
  262. head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  263. body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  264. back="Atheling Mantle",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}
  265.  
  266. sets.engaged.Defense = {}
  267.  
  268. end
  269.  
  270. -------------------------------------------------------------------------------------------------------------------
  271. -- Job-specific hooks for standard casting events.
  272. -------------------------------------------------------------------------------------------------------------------
  273.  
  274. -- Run after the default midcast() is done.
  275. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  276. function job_post_midcast(spell, action, spellMap, eventArgs)
  277. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  278. equip(sets.buff.Saboteur)
  279. elseif spell.skill == 'Enhancing Magic' and buffactive.composure and spell.target.type == 'PLAYER' then
  280. equip(sets.buff.ComposureOther)
  281. end
  282. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  283. equip(sets.midcast.CureSelf)
  284. end
  285. end
  286.  
  287. -------------------------------------------------------------------------------------------------------------------
  288. -- Job-specific hooks for non-casting events.
  289. -------------------------------------------------------------------------------------------------------------------
  290.  
  291. -- Handle notifications of general user state change.
  292. function job_state_change(stateField, newValue, oldValue)
  293. if stateField == 'Offense Mode' then
  294. if newValue == 'None' then
  295. enable('main','sub','range')
  296. else
  297. disable('main','sub','range')
  298. end
  299. end
  300. end
  301.  
  302. -------------------------------------------------------------------------------------------------------------------
  303. -- User code that supplements standard library decisions.
  304. -------------------------------------------------------------------------------------------------------------------
  305.  
  306. -- Modify the default idle set after it was constructed.
  307. --function customize_idle_set(idleSet)
  308. --if player.mpp < 51 then
  309. --idleSet = set_combine(idleSet, sets.latent_refresh)
  310. --end
  311.  
  312. --return idleSet
  313. --end
  314.  
  315. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  316. function display_current_job_state(eventArgs)
  317. display_current_caster_state()
  318. eventArgs.handled = true
  319. end
  320.  
  321. -------------------------------------------------------------------------------------------------------------------
  322. -- Utility functions specific to this job.
  323. -------------------------------------------------------------------------------------------------------------------
  324.  
  325. -- Select default macro book on initial load or subjob change.
  326. --function select_default_macro_book()
  327. -- Default macro set/book
  328. --if player.sub_job == 'DNC' then
  329. --set_macro_page(2, 4)
  330. --elseif player.sub_job == 'NIN' then
  331. -- set_macro_page(3, 4)
  332. --elseif player.sub_job == 'THF' then
  333. --set_macro_page(4, 4)
  334. --else
  335. --set_macro_page(1, 4)
  336. --end
  337. --end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement