midash

Wonderousgoat_SAM

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