Advertisement
Guest User

Untitled

a guest
May 16th, 2015
486
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.79 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. include('organizer-lib.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('Low', 'Mid', 'High', 'Max')
  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.  
  58. -- Precast Sets
  59. -- Precast sets to enhance JAs
  60. sets.precast.JA.Meditate = {head="Wakido Kabuto",hands="Sakonji Kote +1"}
  61. sets.precast.JA['Warding Circle'] = {head="Wakido Kabuto"}
  62. sets.precast.JA['Blade Bash'] = {hands="Sakonji Kote +1"}
  63.  
  64. -- Waltz set (chr and vit)
  65. sets.precast.Waltz = {ammo="Sonia's Plectrum",
  66. head="Yaoyotl Helm",
  67. body="Otronif Harness +1",hands="Buremte Gloves",ring1="Spiral Ring",
  68. back="Iximulew Cape",waist="Caudata Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
  69.  
  70. -- Don't need any special gear for Healing Waltz.
  71. sets.precast.Waltz['Healing Waltz'] = {}
  72.  
  73.  
  74. -- Weaponskill sets
  75. -- Default set for any weaponskill that isn't any more specifically defined
  76. sets.precast.WS = {range="Cibitshavore",
  77. head="Gavialis Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Trux Earring",
  78. body="Phorcys Korazin",hands="Miki. Gauntlets",ring1="Ifrit Ring",ring2="Karieyh Ring",
  79. back="Buquwik Cape",waist="Metalsinger Belt",legs="Acro Breeches",feet="Acro Leggings"}
  80. sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Vespid Mantle",waist="Caudata Belt",
  81. legs="Acro Breeches",feet="Acro Leggings"})
  82.  
  83. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  84. sets.precast.WS['Tachi: Fudo'] = set_combine(sets.precast.WS, {neck="Light Gorget"})
  85. sets.precast.WS['Tachi: Fudo'].Acc = set_combine(sets.precast.WS.Acc, {neck="Light Gorget"})
  86. sets.precast.WS['Tachi: Fudo'].Mod = set_combine(sets.precast.WS['Tachi: Fudo'], {waist="Fotia Belt"})
  87.  
  88. sets.precast.WS['Tachi: Shoha'] = set_combine(sets.precast.WS, {head="Otomi Helm",ear1="Bladeborn Earring",ear2="Steelflash Earring",body="Mes. Haubergeon",waist="Windbuffet Belt +1"})
  89. sets.precast.WS['Tachi: Shoha'].Acc = set_combine(sets.precast.WS['Tachi: Shoha'], {neck="Thunder Gorget"})
  90. sets.precast.WS['Tachi: Shoha'].Mod = set_combine(sets.precast.WS['Tachi: Shoha'], {waist="Fotia Belt"})
  91.  
  92. sets.precast.WS['Tachi: Rana'] = set_combine(sets.precast.WS['Tachi: Shoha'], {back="Takaha Mantle"})
  93. sets.precast.WS['Tachi: Rana'].Acc = set_combine(sets.precast.WS.Acc, {neck="Snow Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",})
  94. sets.precast.WS['Tachi: Rana'].Mod = set_combine(sets.precast.WS['Tachi: Rana'], {waist="Fotia Belt"})
  95.  
  96. sets.precast.WS['Tachi: Kasha'] = set_combine(sets.precast.WS, {neck="Light Gorget",waist="Fotia Belt"})
  97.  
  98. sets.precast.WS['Tachi: Gekko'] = set_combine(sets.precast.WS, {neck="Snow Gorget",waist="Fotia Belt"})
  99.  
  100. sets.precast.WS['Tachi: Yukikaze'] = set_combine(sets.precast.WS, {neck="Snow Gorget",waist="Fotia Belt"})
  101.  
  102. sets.precast.WS['Tachi: Ageha'] = set_combine(sets.precast.WS, {neck="Soil Gorget",waist="Fotia Belt"})
  103.  
  104. sets.precast.WS['Tachi: Jinpu'] = set_combine(sets.precast.WS, {neck="Soil Gorget",waist="Fotia Belt"})
  105.  
  106.  
  107. -- Midcast Sets
  108. sets.midcast.FastRecast = {
  109. head="Yaoyotl Helm",
  110. body="Otronif Harness +1",hands="Otronif Gloves",
  111. legs="Phorcys Dirs",feet="Otronif Boots +1"}
  112.  
  113.  
  114. -- Sets to return to when not performing an action.
  115.  
  116. -- Resting sets
  117. sets.resting = {neck="Wiglen Gorget",ring1="Sheltered Ring",ring2="Karieyh Ring"}
  118.  
  119.  
  120. -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  121. sets.idle.Town = {main="Kogarasumaru", sub="Bloodrain Strap",range="Cibitshavore",ammo="Tulfaire Arrow",
  122. head="Gavialis Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Dawn Earring",
  123. body="Mes. Haubergeon",hands="Sakonji Kote +1",ring1="Paguroidea Ring",ring2="Karieyh Ring",
  124. back="Scuta Cape",waist="Lycopodium Sash",legs="Otronif Brais +1",feet="Danzo Sune-ate"}
  125.  
  126. sets.idle.Field = {main="Kogarasumaru", sub="Bloodrain Strap",range="Cibitshavore",ammo="Tulfaire Arrow",
  127. head="Twilight Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Dawn Earring",
  128. body="Kumarbi's Akar",hands="Sakonji Kote +1",ring1="Paguroidea Ring",ring2="Karieyh Ring",
  129. back="Scuta Cape",waist="Lycopodium Sash",legs="Otronif Brais +1",feet="Danzo Sune-ate"}
  130.  
  131. sets.idle.Weak = {main="Kogarasumaru", sub="Bloodrain Strap",range="Cibitshavore",ammo="Tulfaire Arrow",
  132. head="Twilight Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Dawn Earring",
  133. body="Twilight Mail",hands="Sakonji Kote +1",ring1="Paguroidea Ring",ring2="Karieyh Ring",
  134. back="Scuta Cape",waist="Lycopodium Sash",legs="Otronif Brais +1",feet="Danzo Sune-ate"}
  135.  
  136. -- Defense sets
  137. sets.defense.PDT = {ammo="Iron Gobbet",
  138. head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  139. body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2=gear.DarkRing.physical,
  140. back="Shadow Mantle",waist="Flume Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
  141.  
  142. sets.defense.Reraise = {
  143. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  144. body="Twilight Mail",hands="Buremte Gloves",ring1="Defending Ring",ring2="Paguroidea Ring",
  145. back="Shadow Mantle",waist="Flume Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
  146.  
  147. sets.defense.MDT = {ammo="Demonry Stone",
  148. head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  149. body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="Shadow Ring",
  150. back="Engulfer Cape",waist="Flume Belt",legs="Karieyh Brayettes +1",feet="Otronif Boots +1"}
  151.  
  152. sets.Kiting = {feet="Danzo Sune-ate"}
  153.  
  154. sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
  155.  
  156. -- Engaged sets
  157.  
  158. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  159. -- sets if more refined versions aren't defined.
  160. -- If you create a set with both offense and defense modes, the offense mode should be first.
  161. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  162.  
  163. -- Normal melee group
  164. -- Delay 450 GK, 25 Save TP => 65 Store TP for a 5-hit (25 Store TP in gear)
  165. sets.engaged = {sub="Bloodrain Strap",range="Cibitshavore",
  166. head="Otomi Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Trux Earring",
  167. body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  168. back="Takaha Mantle",waist="Windbuffet Belt +1",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  169.  
  170. sets.engaged.Mid = {sub="Bloodrain Strap",range="Cibitshavore",
  171. head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  172. body="Mes. Haubergeon",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  173. back="Takaha Mantle",waist="Windbuffet Belt +1",legs="Otronif Brais +1",feet="Otronif Boots +1"}
  174.  
  175. sets.engaged.High = {sub="Bloodrain Strap",range="Cibitshavore",
  176. head="Yaoyotl Helm",neck="Iqabi Necklace",ear1="Zennaroi Earring",ear2="Steelflash Earring",
  177. body="Mes. Haubergeon",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="Patricius Ring",
  178. back="Takaha Mantle",waist="Anguinus Belt",legs="Acro Breeches",feet="Acro Leggings"}
  179.  
  180. sets.engaged.PDT = set_combine(sets.engaged, {body="Emet Harness",hands="Sakonji Kote +1",
  181. ring2="Patricius Ring",back="Iximulew Cape"})
  182.  
  183. sets.engaged.MDT = set_combine(sets.engaged, {Neck="Warder's Charm",Ear1="Sanare Earring",
  184. body="Kyujutsugi"})
  185.  
  186. sets.engaged.Mid.MDT = set_combine(sets.engaged.MidAcc, {Neck="Warder's Charm",
  187. Ear1="Sanare Earring",body="Kyujutsugi"})
  188.  
  189. sets.engaged.High.MDT = set_combine(sets.engaged.HighAcc, {Neck="Warder's Charm",
  190. Ear1="Sanare Earring",body="Kyujutsugi"})
  191.  
  192. --[[sets.engaged.Acc.PDT = {ammo="Honed Tathlum",
  193. head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  194. body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  195. back="Letalis Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}]]--
  196.  
  197. sets.engaged.Reraise = set_combine(sets.engaged, {head="Twilight Helm", body="Twilight Mail"})
  198.  
  199. sets.engaged.Mid.Reraise = set_combine(sets.engaged.Mid, sets.Reraise)
  200.  
  201. sets.engaged.High.Reraise = set_combine(sets.engaged.High, sets.Reraise)
  202.  
  203. --[[sets.engaged.Acc.Reraise = {ammo="Thew Bomblet",
  204. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  205. body="Twilight Mail",hands="Otronif Gloves",ring1="Beeline Ring",ring2="K'ayres Ring",
  206. back="Letalis Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}]]--
  207.  
  208. --[[
  209. -- Melee sets for in Adoulin, which has an extra 10 Save TP for weaponskills.
  210. -- 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
  211. sets.engaged.Adoulin = {ammo="Thew Bomblet",
  212. head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  213. body="Gorney Haubert +1",hands="Otronif Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  214. back="Takaha Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  215. sets.engaged.Adoulin.Acc = {ammo="Thew Bomblet",
  216. head="Yaoyotl Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  217. body="Unkai Domaru +2",hands="Otronif Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  218. back="Letalis Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  219. sets.engaged.Adoulin.PDT = {ammo="Thew Bomblet",
  220. head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  221. body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  222. back="Iximulew Cape",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  223. sets.engaged.Adoulin.Acc.PDT = {ammo="Honed Tathlum",
  224. head="Yaoyotl Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  225. body="Otronif Harness +1",hands="Otronif Gloves",ring1="Defending Ring",ring2="K'ayres Ring",
  226. back="Letalis Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  227. sets.engaged.Adoulin.Reraise = {ammo="Thew Bomblet",
  228. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  229. body="Twilight Mail",hands="Otronif Gloves",ring1="Beeline Ring",ring2="K'ayres Ring",
  230. back="Ik Cape",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  231. sets.engaged.Adoulin.Acc.Reraise = {ammo="Thew Bomblet",
  232. head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  233. body="Twilight Mail",hands="Otronif Gloves",ring1="Beeline Ring",ring2="K'ayres Ring",
  234. back="Letalis Mantle",waist="Goading Belt",legs="Unkai Haidate +2",feet="Otronif Boots +1"}
  235. ]]--
  236.  
  237. sets.buff.Sekkanoki = {hands="Unkai Kote +2"}
  238. sets.buff.Sengikori = {feet="Unkai Sune-ate +2"}
  239. sets.buff['Meikyo Shisui'] = {feet="Sakonji Sune-ate +1"}
  240. end
  241.  
  242.  
  243. -------------------------------------------------------------------------------------------------------------------
  244. -- Job-specific hooks for standard casting events.
  245. -------------------------------------------------------------------------------------------------------------------
  246.  
  247. -- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
  248. function job_pretarget(spell, action, spellMap, eventArgs)
  249. if spell.type == 'WeaponSkill' then
  250. -- Change any GK weaponskills to polearm weaponskill if we're using a polearm.
  251. if player.equipment.main=='Quint Spear' or player.equipment.main=='Quint Spear' then
  252. if spell.english:startswith("Tachi:") then
  253. send_command('@input /ws "Penta Thrust" '..spell.target.raw)
  254. eventArgs.cancel = true
  255. end
  256. end
  257. end
  258. end
  259.  
  260. -- Run after the default precast() is done.
  261. -- eventArgs is the same one used in job_precast, in case information needs to be persisted.
  262. function job_post_precast(spell, action, spellMap, eventArgs)
  263. if spell.type:lower() == 'weaponskill' then
  264. if state.Buff.Sekkanoki then
  265. equip(sets.buff.Sekkanoki)
  266. end
  267. if state.Buff.Sengikori then
  268. equip(sets.buff.Sengikori)
  269. end
  270. if state.Buff['Meikyo Shisui'] then
  271. equip(sets.buff['Meikyo Shisui'])
  272. end
  273. end
  274. end
  275.  
  276.  
  277. -- Run after the default midcast() is done.
  278. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  279. function job_post_midcast(spell, action, spellMap, eventArgs)
  280. -- Effectively lock these items in place.
  281. if state.HybridMode.value == 'Reraise' or
  282. (state.DefenseMode.value == 'Physical' and state.PhysicalDefenseMode.value == 'Reraise') then
  283. equip(sets.Reraise)
  284. end
  285. end
  286.  
  287. -------------------------------------------------------------------------------------------------------------------
  288. -- User code that supplements standard library decisions.
  289. -------------------------------------------------------------------------------------------------------------------
  290.  
  291. -- Called by the 'update' self-command, for common needs.
  292. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  293. function job_update(cmdParams, eventArgs)
  294. update_combat_form()
  295. end
  296.  
  297. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  298. function display_current_job_state(eventArgs)
  299.  
  300. end
  301.  
  302. -------------------------------------------------------------------------------------------------------------------
  303. -- Utility functions specific to this job.
  304. -------------------------------------------------------------------------------------------------------------------
  305.  
  306. function update_combat_form()
  307. if areas.Adoulin:contains(world.area) and buffactive.ionis then
  308. state.CombatForm:set('Adoulin')
  309. else
  310. state.CombatForm:reset()
  311. end
  312. end
  313.  
  314. -- Select default macro book on initial load or subjob change.
  315. function select_default_macro_book()
  316. -- Default macro set/book
  317. if player.sub_job == 'WAR' then
  318. set_macro_page(1, 11)
  319. elseif player.sub_job == 'DNC' then
  320. set_macro_page(2, 11)
  321. elseif player.sub_job == 'THF' then
  322. set_macro_page(3, 11)
  323. elseif player.sub_job == 'NIN' then
  324. set_macro_page(4, 11)
  325. else
  326. set_macro_page(1, 11)
  327. end
  328. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement