midash

Orangebear_SAM

Jan 4th, 2014
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 17.30 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",hands="Sakonji Kote",back="Takaha Mantle"}
  66.     sets.precast.JA['Warding Circle'] = {head="Wakido Kabuto"}
  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"}
  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