Advertisement
MythhAsura

Untitled

Oct 23rd, 2015
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.27 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Setup functions for this job. Generally should not be modified.
  3. -------------------------------------------------------------------------------------------------------------------
  4. -- Initialization function for this job file.
  5. function get_sets()
  6. mote_include_version = 2
  7. -- Load and initialize the include file.
  8. include('Mote-Include.lua')
  9. end
  10. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  11. function job_setup()
  12. state.Buff.Hasso = buffactive.Hasso or false
  13. state.Buff.Seigan = buffactive.Seigan or false
  14. state.Buff.Sekkanoki = buffactive.Sekkanoki or false
  15. state.Buff.Sengikori = buffactive.Sengikori or false
  16. state.Buff['Meikyo Shisui'] = buffactive['Meikyo Shisui'] or false
  17. end
  18. -------------------------------------------------------------------------------------------------------------------
  19. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  20. -------------------------------------------------------------------------------------------------------------------
  21. -- Setup vars that are user-dependent.
  22. function user_setup()
  23. state.OffenseMode:options('Normal', 'Acc')
  24. state.HybridMode:options('Normal', 'PDT', 'Reraise')
  25. state.WeaponskillMode:options('Normal', 'Acc', 'Mod')
  26. state.PhysicalDefenseMode:options('PDT', 'Reraise')
  27. update_combat_form()
  28. -- Additional local binds
  29. send_command('bind ^` input /ja "Hasso" <me>')
  30. send_command('bind !` input /ja "Seigan" <me>')
  31. select_default_macro_book()
  32. end
  33. -- Called when this job file is unloaded (eg: job change)
  34. function user_unload()
  35. send_command('unbind ^`')
  36. send_command('unbind !-')
  37. end
  38. -- Define sets and vars used by this job file.
  39. function init_gear_sets()
  40. --------------------------------------
  41. -- Start defining the sets
  42. --------------------------------------
  43. -- Precast Sets
  44. -- Precast sets to enhance JAs
  45. sets.precast.JA.Meditate = {head="Myochin Kabuto",hands="Saotome Kote +2",back="Takaha Mantle"}
  46. sets.precast.JA['Warding Circle'] = {head="Myochin Kabuto"}
  47. sets.precast.JA['Blade Bash'] = {hands="Saotome Kote +2"}
  48. -- Waltz set (chr and vit)
  49. sets.precast.Waltz = {ammo="Sonia's Plectrum",
  50. head="Yaoyotl Helm",
  51. body="Otronif Harness +1",hands="Miki. Gauntlets",ring1="Spiral Ring",
  52. back="Iximulew Cape",waist="Caudata Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
  53. -- Don't need any special gear for Healing Waltz.
  54. sets.precast.Waltz['Healing Waltz'] = {}
  55. -- Weaponskill sets
  56. -- Default set for any weaponskill that isn't any more specifically defined
  57. sets.precast.WS = {Range="Cibitshavore",
  58. head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Moonshade Earring",
  59. body="Sakonji Domaru +1",hands="Acro Gaunlets",ring1="Karieyh Ring",ring2="Ifrit Ring +1",
  60. back="Buquwik Cape",waist="Caudata Belt",legs="Acro Breeches",feet="Acro Leggings"}
  61. sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Letalis Mantle",ring2="Ramuh Ring +1",})
  62. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  63. sets.precast.WS['Tachi: Fudo'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  64. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  65. body="Sakonji Domaru +1",hands="Acro Gaunlets",ring1="Karieyh Ring",ring2="Ifrit Ring +1",
  66. back="Buquwik Cape",waist="Light Belt",legs="Acro Breeches",feet="Acro Leggings"}
  67. sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Letalis Mantle"})
  68. sets.precast.WS['Tachi: Fudo'].Acc = set_combine(sets.precast.WS.Acc, {Range="Cibitshavore",
  69. head="Gavialis Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  70. body="Sakonji Domaru +1",hands="Miki. Gauntlets",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  71. back="Letalis Mantle",waist="Metalsinger Belt",legs="Miki. Cuisses",feet="Whirlpool Greaves"})
  72. sets.precast.WS['Tachi: Fudo'].Mod = set_combine(sets.precast.WS['Tachi: Fudo'], {Range="Cibitshavore",
  73. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  74. body="Phorcys Korazin",hands="Miki. Gauntlets",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  75. back="Buquwik Cape",waist="Metalsinger Belt",legs="Miki. Cuisses",feet="Whirlpool Greaves"})
  76. sets.precast.WS['Tachi: Shoha'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  77. head="Otomi Helm",neck="Ganesha's Mala",ear1="Brutal Earring",ear2="Moonshade Earring",
  78. body="Xaddi Mail",hands="Miki. Gauntlets",ring1="Oneiros Ring",ring2="Ifrit Ring +1",
  79. back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Xaddi Cuisses",feet="Ejekamal Boots"})
  80. sets.precast.WS['Tachi: Shoha'].Acc = set_combine(sets.precast.WS.Acc, {Range="Cibitshavore",
  81. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  82. body="Xaddi Mail",hands="Miki. Gauntlets",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  83. back="Letalis Mantle",waist="Metalsinger Belt",legs="Miki. Cuisses",feet="Ejekamal Boots"})
  84. sets.precast.WS['Tachi: Shoha'].Mod = set_combine(sets.precast.WS['Tachi: Shoha'], {Range="Cibitshavore",
  85. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  86. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring1",
  87. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  88. sets.precast.WS['Tachi: Rana'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  89. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  90. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  91. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  92. sets.precast.WS['Tachi: Rana'].Acc = set_combine(sets.precast.WS.Acc, {Range="Cibitshavore",
  93. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  94. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  95. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  96. sets.precast.WS['Tachi: Rana'].Mod = set_combine(sets.precast.WS['Tachi: Rana'], {Range="Cibitshavore",
  97. head="Yaoyotl Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  98. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  99. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  100. sets.precast.WS['Tachi: Kasha'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  101. head="Otomi Helm",neck="Light Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  102. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  103. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  104. sets.precast.WS['Tachi: Gekko'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  105. head="Otomi Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Moonshade Earring",
  106. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  107. back="Buquwik Cape",waist="Caudata Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  108. sets.precast.WS['Tachi: Yukikaze'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  109. head="Otomi Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Moonshade Earring",
  110. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  111. back="Buquwik Cape",waist="Light Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  112. sets.precast.WS['Tachi: Ageha'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  113. head="Otomi Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Moonshade Earring",
  114. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  115. back="Letalis Mantle",waist="Caudata Belt",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  116. sets.precast.WS['Tachi: Jinpu'] = set_combine(sets.precast.WS, {Range="Cibitshavore",
  117. head="Otomi Helm",neck="Ganesha's Mala",ear1="Brutal Earring",ear2="Moonshade Earring",
  118. body="Phorcys Korazin",hands="Otronif Gloves +1",ring1="Ifrit Ring +1",ring2="Karieyh Ring",
  119. back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Xaddi Cuisses",feet="Whirlpool Greaves"})
  120. -- Midcast Sets
  121. sets.midcast.FastRecast = {
  122. head="Lithelimb Cap",
  123. body="Otronif Harness +1",hands="Otronif Gloves +1",
  124. legs="Otronif Brais +1",feet="Otronif Boots +1"}
  125. -- Sets to return to when not performing an action.
  126. -- Resting sets
  127. sets.resting = {neck="Wiglen Gorget",ring1="Sheltered Ring",ring2="Paguroidea Ring"}
  128. -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  129. sets.idle.Town = {Main="Amanomurakumo",Sub="Pole Grip",Range="Cibitshavore",
  130. head="Ptica Headgear",neck="Wiglen Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  131. body="Kyujutsugi",hands="Onimusha-no-Kote",ring1="Defending Ring",ring2="Karieyh Ring",
  132. back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Byakko's Haidate",feet="Danzo Sune-ate"}
  133. sets.idle.Field = {Range="Cibitshavore",
  134. head="Twilight Helm",neck="Wiglen Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  135. body="Twilight Mail",hands="Buremte Gloves",ring1="Karieyh Ring",ring2="Sheltered Ring",
  136. back="Repulse Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Danzo Sune-ate"}
  137. sets.idle.Weak = {
  138. head="Twilight Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  139. body="Twilight Mail",hands="Buremte Gloves",ring1="K'ayres Ring",ring2="Karieyh Ring",
  140. back="Shadow Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Danzo Sune-ate"}
  141. -- Defense sets
  142. sets.defense.PDT = {Range="Cibitshavore",
  143. head="Lithelimb Cap",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  144. body="Sakonji Domaru +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  145. back="Mollusca Mantle",waist="Olseni Belt",legs="Xaddi Cuisses",feet="Otronif Boots +1"}
  146. sets.defense.Reraise = {Range="Civitshavore",
  147. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  148. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  149. back="Mollusca Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  150. sets.defense.MDT = {Range="Cibitshavore",
  151. head="Lithelimb Cap",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  152. body="Sakonji Domaru +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  153. back="Mollusca Mantle",waist="Olseni Belt",legs="Xaddi Cuisses",feet="Otronif Boots +1"}
  154. sets.Kiting = {feet="Danzo Sune-ate"}
  155. sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
  156. -- Engaged sets
  157. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  158. -- sets if more refined versions aren't defined.
  159. -- If you create a set with both offense and defense modes, the offense mode should be first.
  160. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  161. -- Normal melee group
  162. -- Delay 450 GK, 25 Save TP => 65 Store TP for a 5-hit (25 Store TP in gear)
  163. sets.engaged = {Range="Cibitshavore",
  164. head="Yaoyotl Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  165. body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  166. back="Takaha Mantle",waist="Windbuffet Belt +1",legs="Acro Breeches",feet="Acro Leggings"}
  167. sets.engaged.Acc = {Range="Civitshavore",
  168. head="Yaoyotl Helm",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  169. body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  170. back="Takaha Mantle",waist="Olseni Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  171. sets.engaged.PDT = {Range="Cibitshavore",
  172. head="Lithelimb Cap",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  173. body="Otronif Harness +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  174. back="Mollusca mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  175. sets.engaged.Acc.PDT = {Range="Cibitshavore",
  176. head="Gavialis Helm",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  177. body="Otronif Harness +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  178. back="Letalis Mantle",waist="Olseni Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  179. sets.engaged.Reraise = {Range="Cibitshavore",
  180. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  181. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  182. back="Mollusca Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  183. sets.engaged.Acc.Reraise = {Range="Cibitshavore",
  184. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  185. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  186. back="Mollusca Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  187. -- Melee sets for in Adoulin, which has an extra 10 Save TP for weaponskills.
  188. -- Delay 450 GK, 35 Save TP => 89 Store TP for a 4-hit (49 Store TP in gear), 2 Store TP for a 5-hit
  189. sets.engaged.Adoulin = {Range="Cibitshavore",
  190. head="Otomi Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  191. body="Xaddi Mail",hands="Wakido Kote +1",ring1="Oneiros Ring",ring2="Rajas Ring",
  192. back="Letalis Mantle",waist="Windbuffet Belt +1",legs="Xaddi Cuisses",feet="Otronif Boots +1"}
  193. sets.engaged.Adoulin.Acc = {Range="Civitshavore",
  194. head="Gavialis Helm",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  195. body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Oneiros Ring",ring2="K'ayres Ring",
  196. back="Letalis Mantle",waist="Olseni Belt",legs="Xaddi Cuisses",feet="Ejekamal Boots"}
  197. sets.engaged.Adoulin.PDT = {Range="Cibitshavore",
  198. head="Lithelimb Cap",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  199. body="Otronif Harness +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  200. back="Mollusca mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  201. sets.engaged.Adoulin.Acc.PDT = {Range="Cibitshavore",
  202. head="Lithelimb Cap",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  203. body="Otronif Harness +1",hands="Buremte Gloves",ring1="Defending Ring",ring2="Dark Ring",
  204. back="Letalis Mantle",waist="Olseni Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  205. sets.engaged.Adoulin.Reraise = {Range="Cibitshavore",
  206. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  207. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  208. back="Mollusca Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  209. sets.engaged.Adoulin.Acc.Reraise = {Range="Cibitshavore",
  210. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  211. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  212. back="Mollusca Mantle",waist="Flume Belt",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  213. sets.buff.Sekkanoki = {hands="Unkai Kote +1"}
  214. sets.buff.Sengikori = {feet="Unkai Sune-ate +2"}
  215. sets.buff['Meikyo Shisui'] = {feet="Sakonji Sune-ate"}
  216. end
  217. -------------------------------------------------------------------------------------------------------------------
  218. -- Job-specific hooks for standard casting events.
  219. -------------------------------------------------------------------------------------------------------------------
  220. -- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
  221. function job_pretarget(spell, action, spellMap, eventArgs)
  222. if spell.type == 'WeaponSkill' then
  223. -- Change any GK weaponskills to polearm weaponskill if we're using a polearm.
  224. if player.equipment.main=='Quint Spear' or player.equipment.main=='Quint Spear' then
  225. if spell.english:startswith("Tachi:") then
  226. send_command('@input /ws "Penta Thrust" '..spell.target.raw)
  227. eventArgs.cancel = true
  228. end
  229. end
  230. end
  231. end
  232. -- Run after the default precast() is done.
  233. -- eventArgs is the same one used in job_precast, in case information needs to be persisted.
  234. function job_post_precast(spell, action, spellMap, eventArgs)
  235. if spell.type:lower() == 'weaponskill' then
  236. if state.Buff.Sekkanoki then
  237. equip(sets.buff.Sekkanoki)
  238. end
  239. if state.Buff.Sengikori then
  240. equip(sets.buff.Sengikori)
  241. end
  242. if state.Buff['Meikyo Shisui'] then
  243. equip(sets.buff['Meikyo Shisui'])
  244. end
  245. end
  246. end
  247. -- Run after the default midcast() is done.
  248. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  249. function job_post_midcast(spell, action, spellMap, eventArgs)
  250. -- Effectively lock these items in place.
  251. if state.HybridMode.value == 'Reraise' or
  252. (state.DefenseMode.value == 'Physical' and state.PhysicalDefenseMode.value == 'Reraise') then
  253. equip(sets.Reraise)
  254. end
  255. end
  256. -------------------------------------------------------------------------------------------------------------------
  257. -- User code that supplements standard library decisions.
  258. -------------------------------------------------------------------------------------------------------------------
  259. -- Called by the 'update' self-command, for common needs.
  260. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  261. function job_update(cmdParams, eventArgs)
  262. update_combat_form()
  263. end
  264. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  265. function display_current_job_state(eventArgs)
  266. end
  267. -------------------------------------------------------------------------------------------------------------------
  268. -- Utility functions specific to this job.
  269. -------------------------------------------------------------------------------------------------------------------
  270. function update_combat_form()
  271. if areas.Adoulin:contains(world.area) and buffactive.ionis then
  272. state.CombatForm:set('Adoulin')
  273. else
  274. state.CombatForm:reset()
  275. end
  276. end
  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 == 'WAR' then
  281. set_macro_page(1, 3)
  282. elseif player.sub_job == 'DNC' then
  283. set_macro_page(1, 3)
  284. elseif player.sub_job == 'THF' then
  285. set_macro_page(1, 3)
  286. elseif player.sub_job == 'NIN' then
  287. set_macro_page(1, 3)
  288. else
  289. set_macro_page(1, 3)
  290. end
  291. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement