midash

Curebear_WHM

Mar 5th, 2016
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.50 KB | None | 0 0
  1. include('organizer-lib.lua')
  2. -------------------------------------------------------------------------------------------------------------------
  3. -- Setup functions for this job. Generally should not be modified.
  4. -------------------------------------------------------------------------------------------------------------------
  5.  
  6. -- Initialization function for this job file.
  7. function get_sets()
  8. mote_include_version = 2
  9.  
  10. -- Load and initialize the include file.
  11. include('Mote-Include.lua')
  12. end
  13.  
  14. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16. state.Buff['Afflatus Solace'] = buffactive['Afflatus Solace'] or false
  17. state.Buff['Afflatus Misery'] = buffactive['Afflatus Misery'] or false
  18. end
  19.  
  20. -------------------------------------------------------------------------------------------------------------------
  21. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  22. -------------------------------------------------------------------------------------------------------------------
  23.  
  24. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  25. function user_setup()
  26. state.OffenseMode:options('None', 'Normal')
  27. state.CastingMode:options('Normal', 'Resistant')
  28. state.IdleMode:options('Normal', 'PDT')
  29.  
  30. select_default_macro_book()
  31. end
  32.  
  33. -- Define sets and vars used by this job file.
  34. function init_gear_sets()
  35. --------------------------------------
  36. -- Start defining the sets
  37. --------------------------------------
  38. organizer_items = {
  39. echos="Echo Drops",
  40. remedy="Remedy",
  41. orb="Macrocosmic Orb",
  42. Crepe="Pear Crepe"
  43. }
  44.  
  45. -- Precast Sets
  46. sets.lockstyle = {head="Bridal Corsage",body="Wedding Dress",legs="Wedding Hose",feet="Wedding Boots"}
  47.  
  48. -- Fast cast sets for spells
  49. sets.precast.FC = {main=gear.FastcastStaff,ammo="Incantor Stone",
  50. head="Nahtirah Hat",neck="Orison Locket",ear2="Loquacious Earring",
  51. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Prolix Ring",
  52. back="Swith Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots"}
  53.  
  54. sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist=""})
  55.  
  56. sets.precast.FC.Stoneskin = set_combine(sets.precast.FC['Enhancing Magic'], {head="Umuthi Hat"})
  57.  
  58. sets.precast.FC['Healing Magic'] = set_combine(sets.precast.FC, {legs="Orison Pantaloons +2"})
  59.  
  60. sets.precast.FC.StatusRemoval = sets.precast.FC['Healing Magic']
  61.  
  62. sets.precast.FC.Cure = set_combine(sets.precast.FC['Healing Magic'], {main="Tamaxchi",sub="Genbu's Shield",ammo="Impatiens"})
  63.  
  64. sets.precast.FC.Curaga = sets.precast.FC.Cure
  65.  
  66. -- Precast sets to enhance JAs
  67. sets.precast.JA.Benediction = {body="Gende. Bilaut +1"}
  68.  
  69. -- Waltz set (chr and vit)
  70. sets.precast.Waltz = {
  71. head="Nahtirah Hat",
  72. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",
  73. back="Refraction Cape",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  74.  
  75.  
  76. -- Weaponskill sets
  77.  
  78. -- Default set for any weaponskill that isn't any more specifically defined
  79. gear.default.weaponskill_neck = ""
  80. gear.default.weaponskill_waist = ""
  81. sets.precast.WS = {
  82. head="Nahtirah Hat",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
  83. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",
  84. back="Refraction Cape",waist=gear.ElementalBelt,legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  85.  
  86. sets.precast.WS['Flash Nova'] = {
  87. head="Nahtirah Hat",ear1="Friomisi Earring",ear2="Hecate's Earring",
  88. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring2="Strendu Ring",
  89. back="Toro Cape",waist="",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  90.  
  91.  
  92. -- Midcast Sets
  93.  
  94. sets.midcast.FastRecast = {
  95. head="Nahtirah Hat",ear2="Loquacious Earring",
  96. body="Gende. Bilaut +1",hands="Dynasty Mitts",ring1="Prolix Ring",
  97. back="Swith Cape",waist="Goading Belt",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  98.  
  99. -- Cure sets
  100. gear.default.obi_waist = "Goading Belt"
  101. gear.default.obi_back = "Mending Cape"
  102.  
  103. sets.midcast.CureSolace = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  104. head="Gendewitha Caubeen",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  105. body="Orison Bliaud +2",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Sirona's Ring",
  106. back="Pahtli Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Gende. Galoshes"}
  107.  
  108. sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  109. head="Gendewitha Caubeen",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  110. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Sirona's Ring",
  111. back="Pahtli Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Gende. Galoshes"}
  112.  
  113. sets.midcast.Curaga = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
  114. head="Gendewitha Caubeen",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  115. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Sirona's Ring",
  116. back="Pahtli Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Gende. Galoshes"}
  117.  
  118. sets.midcast.CureMelee = {ammo="Incantor Stone",
  119. head="Gendewitha Caubeen",neck="Orison Locket",ear1="Lifestorm Earring",ear2="Orison Earring",
  120. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Sirona's Ring",
  121. back="Pahtli Cape",waist=gear.ElementalObi,legs="Orison Pantaloons +2",feet="Gende. Galoshes"}
  122.  
  123. sets.midcast.Cursna = {main="Bolelabunga",sub="Genbu's Shield",
  124. head="Orison Cap +1",
  125. body="Orison Bliaud +2",ring1="Ephedra Ring",ring2="Sirona's Ring",
  126. back="Mending Cape",waist="Goading Belt",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  127.  
  128. sets.midcast.StatusRemoval = {
  129. head="Orison Cap +1",legs="Orison Pantaloons +2"}
  130.  
  131. -- 110 total Enhancing Magic Skill; caps even without Light Arts
  132. sets.midcast['Enhancing Magic'] = {main="Bolelabunga",sub="Genbu's Shield",
  133. head="Umuthi Hat",neck="Eddy Necklace",
  134. body="Manasa Chasuble",hands="Dynasty Mitts",
  135. back="Mending Cape",legs="Assiduity Pants +1",feet="Gende. Galoshes"}
  136.  
  137. sets.midcast.Stoneskin = {
  138. head="Nahtirah Hat",neck="Orison Locket",ear2="Loquacious Earring",
  139. body="Gende. Bilaut +1",hands="Dynasty Mitts",
  140. back="Swith Cape",waist="",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  141.  
  142. sets.midcast.Auspice = {hands="Dynasty Mitts",feet="Gende. Galoshes"}
  143.  
  144. sets.midcast.BarElement = {main="Bolelabunga",sub="Genbu's Shield",
  145. head="Orison Cap +1",neck="Eddy Necklace",
  146. body="Orison Bliaud +2",hands="Orison Mitts +1",
  147. back="Mending Cape",legs="Assiduity Pants +1",feet="Gende. Galoshes"}
  148.  
  149. sets.midcast.Regen = {main="Bolelabunga",sub="Genbu's Shield",
  150. body="Gende. Bilaut +1",hands="Orison Mitts +1",}
  151.  
  152. sets.midcast.Protectra = {ring1="Sheltered Ring",feet="Gende. Galoshes"}
  153.  
  154. sets.midcast.Shellra = {ring1="Sheltered Ring",legs="Assiduity Pants +1"}
  155.  
  156.  
  157. sets.midcast['Divine Magic'] = {main="Bolelabunga",sub="Genbu's Shield",
  158. head="Nahtirah Hat",neck="Eddy Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  159. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring2="Sangoma Ring",
  160. back="Refraction Cape",waist=gear.ElementalObi,legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  161.  
  162. sets.midcast['Dark Magic'] = {main="Bolelabunga", sub="Genbu's Shield",
  163. head="Nahtirah Hat",neck="Eddy Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  164. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
  165. back="Refraction Cape",waist="Demonry Sash",legs="Assiduity Pants +1",feet="Gende. Galoshes"}
  166.  
  167. -- Custom spell classes
  168. sets.midcast.MndEnfeebles = {main="Twebuliij", sub="Mephitis Grip",
  169. head="Nahtirah Hat",neck="Eddy Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  170. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="aqua ring",ring2="Sangoma Ring",
  171. back="Refraction Cape",waist="Demonry Sash",legs="Assiduity Pants +1",feet="Gende. Galoshes"}
  172.  
  173. sets.midcast.IntEnfeebles = {main="Twebuliij", sub="Mephitis Grip",
  174. head="Nahtirah Hat",neck="Eddy Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  175. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="Fenrir Ring",ring2="Sangoma Ring",
  176. back="Refraction Cape",waist="Demonry Sash",legs="Assiduity Pants +1",feet="Gende. Galoshes"}
  177.  
  178.  
  179. -- Sets to return to when not performing an action.
  180.  
  181. -- Resting sets
  182. sets.resting = {main="Bolelabunga",sub="Genbu's Shield",
  183. body="Gende. Bilaut +1",hands="Serpentes Cuffs",
  184. waist="Qiqirn Sash",legs="Assiduity Pants +1",feet="Serpentes Sabots"}
  185.  
  186.  
  187. -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  188. sets.idle = {main="Bolelabunga", sub="Genbu's Shield",ammo="Incantor Stone",
  189. head="Befouled Crown",neck="Grandiose Chain",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  190. body="Witching Robe",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Sangoma Ring",
  191. back="Kumbira Cape",waist="Witful Belt",legs="Assiduity Pants +1",feet="Serpentes Sabots"}
  192.  
  193. sets.idle.PDT = {main="Bolelabunga", sub="Genbu's Shield",ammo="Incantor Stone",
  194. head="Nahtirah Hat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
  195. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Dark Ring",ring2="Dark Ring",
  196. back="Kumbira Cape",waist="Witful Belt",legs="Assiduity Pants +1",feet="Serpentes Sabots"}
  197.  
  198. sets.idle.Town = {main="Bolelabunga", sub="Genbu's Shield",ammo="Incantor Stone",
  199. head="Befouled Crown",neck="Grandiose Chain",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  200. body="Witching Robe",hands="Serpentes Cuffs",ring1="Prolix Ring",ring2="Sangoma Ring",
  201. back="Kumbira Cape",waist="Witful Belt",legs="Assiduity Pants +1",feet="Serpentes Sabots"}
  202.  
  203. sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
  204. head="Nahtirah Hat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
  205. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Meridian Ring",
  206. back="Kumbira Cape",waist="Witful Belt",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  207.  
  208. -- Defense sets
  209.  
  210. sets.defense.PDT = {main=gear.Staff.PDT,sub="Achaq Grip",
  211. head="Gendewitha Caubeen",neck="Twilight Torque",
  212. body="Gende. Bilaut +1",hands="Gendewitha Gages",ring1="Dark Ring",ring2="Dark Ring",
  213. back="Kumbira Cape",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  214.  
  215. sets.defense.MDT = {main=gear.Staff.PDT,sub="Achaq Grip",
  216. head="Nahtirah Hat",neck="Twilight Torque",
  217. body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="Dark Ring",
  218. back="Pahtli Cape",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  219.  
  220. sets.Kiting = {feet="Serpentes Sabots"}
  221.  
  222. sets.latent_refresh = {}
  223.  
  224. -- Engaged sets
  225.  
  226. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  227. -- sets if more refined versions aren't defined.
  228. -- If you create a set with both offense and defense modes, the offense mode should be first.
  229. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  230.  
  231. -- Basic set for if no TP weapon is defined.
  232. sets.engaged = {
  233. head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  234. body="Gende. Bilaut +1",hands="Dynasty Mitts",ring2="K'ayres Ring",
  235. back="Kumbira Cape",waist="Goading Belt",legs="Assiduity Pants +1",feet="Gendewitha Galoshes"}
  236.  
  237.  
  238. -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
  239. sets.buff['Divine Caress'] = {hands="Orison Mitts +1",back="Mending Cape"}
  240. end
  241.  
  242. -------------------------------------------------------------------------------------------------------------------
  243. -- Job-specific hooks for standard casting events.
  244. -------------------------------------------------------------------------------------------------------------------
  245.  
  246. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  247. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
  248. function job_precast(spell, action, spellMap, eventArgs)
  249. if spell.english == "Paralyna" and buffactive.Paralyzed then
  250. -- no gear swaps if we're paralyzed, to avoid blinking while trying to remove it.
  251. eventArgs.handled = true
  252. end
  253.  
  254. if spell.skill == 'Healing Magic' then
  255. gear.default.obi_back = "Mending Cape"
  256. else
  257. gear.default.obi_back = "Toro Cape"
  258. end
  259. end
  260.  
  261.  
  262. function job_post_midcast(spell, action, spellMap, eventArgs)
  263. -- Apply Divine Caress boosting items as highest priority over other gear, if applicable.
  264. if spellMap == 'StatusRemoval' and buffactive['Divine Caress'] then
  265. equip(sets.buff['Divine Caress'])
  266. end
  267. end
  268.  
  269. -------------------------------------------------------------------------------------------------------------------
  270. -- Job-specific hooks for non-casting events.
  271. -------------------------------------------------------------------------------------------------------------------
  272.  
  273. -- Handle notifications of general user state change.
  274. function job_state_change(stateField, newValue, oldValue)
  275. if stateField == 'Offense Mode' then
  276. if newValue == 'Normal' then
  277. disable('main','sub','range')
  278. else
  279. enable('main','sub','range')
  280. end
  281. end
  282. end
  283.  
  284.  
  285. -------------------------------------------------------------------------------------------------------------------
  286. -- User code that supplements standard library decisions.
  287. -------------------------------------------------------------------------------------------------------------------
  288.  
  289. -- Custom spell mapping.
  290. function job_get_spell_map(spell, default_spell_map)
  291. if spell.action_type == 'Magic' then
  292. if (default_spell_map == 'Cure' or default_spell_map == 'Curaga') and player.status == 'Engaged' then
  293. return "CureMelee"
  294. elseif default_spell_map == 'Cure' and state.Buff['Afflatus Solace'] then
  295. return "CureSolace"
  296. elseif spell.skill == "Enfeebling Magic" then
  297. if spell.type == "WhiteMagic" then
  298. return "MndEnfeebles"
  299. else
  300. return "IntEnfeebles"
  301. end
  302. end
  303. end
  304. end
  305.  
  306.  
  307. function customize_idle_set(idleSet)
  308. if player.mpp < 51 then
  309. idleSet = set_combine(idleSet, sets.latent_refresh)
  310. end
  311. return idleSet
  312. end
  313.  
  314. -- Called by the 'update' self-command.
  315. function job_update(cmdParams, eventArgs)
  316. if cmdParams[1] == 'user' and not areas.Cities:contains(world.area) then
  317. local needsArts =
  318. player.sub_job:lower() == 'sch' and
  319. not buffactive['Light Arts'] and
  320. not buffactive['Addendum: White'] and
  321. not buffactive['Dark Arts'] and
  322. not buffactive['Addendum: Black']
  323.  
  324. if not buffactive['Afflatus Solace'] and not buffactive['Afflatus Misery'] then
  325. if needsArts then
  326. send_command('@input /ja "Afflatus Solace" <me>;wait 1.2;input /ja "Light Arts" <me>')
  327. else
  328. send_command('@input /ja "Afflatus Solace" <me>')
  329. end
  330. end
  331. end
  332. end
  333.  
  334.  
  335. -- Function to display the current relevant user state when doing an update.
  336. function display_current_job_state(eventArgs)
  337. display_current_caster_state()
  338. eventArgs.handled = true
  339. end
  340.  
  341. -------------------------------------------------------------------------------------------------------------------
  342. -- Utility functions specific to this job.
  343. -------------------------------------------------------------------------------------------------------------------
  344.  
  345. -- Select default macro book on initial load or subjob change.
  346. function select_default_macro_book()
  347. -- Default macro set/book
  348. set_macro_page(1, 14)
  349. end
Advertisement
Add Comment
Please, Sign In to add comment