Advertisement
Marvo

Sam.lua

Aug 1st, 2014
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.53 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Initialization function that defines sets and variables to be used.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
  6.  
  7. -- Initialization function for this job file.
  8. function get_sets()
  9.     -- Load and initialize the include file.
  10.     include('Mote-Include.lua')
  11. end
  12.  
  13.  
  14. -- Setup vars that are user-independent.
  15. function job_setup()
  16.     state.CombatForm = get_combat_form()
  17.  
  18.     state.Buff.Hasso = buffactive.Hasso or false
  19.     state.Buff.Seigan = buffactive.Seigan or false
  20.     state.Buff.Sekkanoki = buffactive.Sekkanoki or false
  21.     state.Buff.Sengikori = buffactive.Sengikori or false
  22.     state.Buff['Meikyo Shisui'] = buffactive['Meikyo Shisui'] or false
  23. end
  24.  
  25.  
  26. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  27. function user_setup()
  28.     -- Options: Override default values
  29.     options.OffenseModes = {'Normal', 'MidAcc', 'Acc', 'Koga', 'KogaAcc'}
  30.     options.DefenseModes = {'Normal', 'PDT', 'Reraise'}
  31.     options.WeaponskillModes = {'Normal', 'Acc', 'Att', 'Mod'}
  32.     options.CastingModes = {'Normal'}
  33.     options.IdleModes = {'Normal'}
  34.     options.RestingModes = {'Normal'}
  35.     options.PhysicalDefenseModes = {'PDT', 'Reraise'}
  36.     options.MagicalDefenseModes = {'MDT'}
  37.  
  38.     state.Defense.PhysicalMode = 'PDT'
  39.  
  40.     -- Additional local binds
  41.     send_command('bind ^` input /ja "Hasso" <me>')
  42.     send_command('bind !` input /ja "Seigan" <me>')
  43.    
  44.  
  45.     select_default_macro_book()
  46. end
  47.  
  48.  
  49. -- Called when this job file is unloaded (eg: job change)
  50. function file_unload()
  51.     if binds_on_unload then
  52.         binds_on_unload()
  53.     end
  54.  
  55.     send_command('unbind ^`')
  56.     send_command('unbind !-')
  57. end
  58.  
  59.  
  60. -- Define sets and vars used by this job file.
  61. function init_gear_sets()
  62.     --------------------------------------
  63.     -- Start defining the sets
  64.     --------------------------------------
  65.  
  66.  
  67.  
  68.     -- Precast Sets
  69.     -- Precast sets to enhance JAs
  70.     sets.precast.JA.Meditate = {head="Myochin Kabuto",hands="Sakonji Kote +1"}
  71.     sets.precast.JA['Warding Circle'] = {head="Myochin Kabuto"}
  72.     sets.precast.JA['Blade Bash'] = {hands="Sakonji Kote +1"}
  73.  
  74.     -- Waltz set (chr and vit)
  75.     sets.precast.Waltz = {head="Yaoyotl Helm",
  76.         body="Sakonji Domaru +1",hands="Sakonji Kote +1",
  77.         back="Iximulew Cape",waist="Chuq'aba Belt",legs="Wakido Haidate +1",feet="Sakonji Sune-Ate+1"}
  78.  
  79.     -- Don't need any special gear for Healing Waltz.
  80.     sets.precast.Waltz['Healing Waltz'] = {}
  81.  
  82.    
  83.     -- Weaponskill sets
  84.     -- Default set for any weaponskill that isn't any more specifically defined
  85.     sets.precast.WS = {ammo="Tulfaire Arrow",
  86.         head="Otomi Helm",neck="Ganesha's Mala",ear1="Moonshade Earring",ear2="Brutal Earring",
  87.         body="Phorcys Korazin",hands="Mikinaak Gauntlets",ring1="Ifrit Ring",ring2="Ifrit Ring",
  88.         back="Buquwik Cape",waist="Windbuffet Belt",legs="Scuffler's cosciales",feet="Ejekamal boots"}
  89.  
  90.     sets.precast.WS.Acc = set_combine(sets.precast.WS, {back="Letalis Mantle",legs="Mikinaak cuisses"})
  91.  
  92.     -- Random Items Sets
  93.     sets.precast.WS.item = {ammo="Hagneia Stone", ammo="Thew bomblet",ammo="Demonry Stone", hands="Otronif gloves", legs="Otronif brais", neck="Ocachi gorget", back="Atheling Mantle"}
  94.  
  95.  
  96.  
  97.     -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  98.     sets.precast.WS['Namas Arrow'] = set_combine(sets.precast.WS, {head="Sakonji Kabuto +1",neck="Light Gorget",ear1="Flame Pearl",ear2="Flame Pearl",
  99.         body="Phorcys Korazin",hands="Unkai Kote +2",ring1="Ifrit Ring",ring2="Ifrit Ring",
  100.         back="Buquwik Cape",waist="Light Belt",legs="Wakido Haidate +1",feet="Sakonji Sune-ate +1"})
  101.  
  102.     sets.precast.WS['Namas Arrow'].Acc = set_combine(sets.precast.WS, {head="Sakonji Kabuto +1",neck="Light Gorget",ear1="Flame Pearl",ear2="Flame Pearl",
  103.         body="Kyujutsugi",hands="Unkai Kote +2",ring1="Paqichikaji Ring",ring2="Bellona's Ring",
  104.         back="Moondoe Mantle",waist="Light Belt",legs="Wakido Haidate +1",feet="Sakonji Sune-ate +1"})
  105.  
  106.     sets.precast.WS['Apex Arrow'] = set_combine(sets.precast.WS, {head="Sakonji Kabuto +1",neck="Light Gorget",ear1="Altdorf's Earring",ear2="Wilhelm's Earring",
  107.         body="Phorcys Korazin",hands="Unkai Kote +2",ring1="Ifrit Ring",ring2="IFrit Ring",
  108.         back="Buquwik Cape",waist="Light Belt",legs="Wakido Haidate +1",feet="Sakonji Sune-ate +1"})
  109.     sets.precast.WS['Apex Arrow'].Acc = set_combine(sets.precast.WS, {head="Sakonji Kabuto +1",neck="Light Gorget",ear1="Altdorf's Earring",ear2="Wilhelm's Earring",
  110.         body="Kyujutsugi",hands="Unkai Kote +2",ring1="Arewe Ring +1",ring2="Bellona's Ring",
  111.         back="Moondoe Mantle",waist="Light Belt",legs="Wakido Haidate +1",feet="Sakonji Sune-ate +1"})
  112.  
  113.     sets.precast.WS['Tachi: Fudo'] = set_combine(sets.precast.WS, {neck="Snow Gorget",waist="Snow Belt",})
  114.     sets.precast.WS['Tachi: Fudo'].Acc = set_combine(sets.precast.WS.Acc, {head="Yaoyotl Helm",
  115.         neck="Snow Gorget",waist="Snow Belt",})
  116.     sets.precast.WS['Tachi: Fudo'].Mod = set_combine(sets.precast.WS['Tachi: Fudo'], {waist="Snow Belt"})
  117.  
  118.  
  119.     sets.precast.WS['Tachi: Shoha'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon"})
  120.     sets.precast.WS['Tachi: Shoha'].Acc = set_combine(sets.precast.WS.Acc, {body="Mes'yohi Haubergeon",head="Yaoyotl Helm",
  121.         body="Xaddi Mail",neck="Shadow Gorget",waist="Shadow Belt",})
  122.     sets.precast.WS['Tachi: Shoha'].Mod = set_combine(sets.precast.WS['Tachi: Shoha'], {waist="Shadow Belt"})
  123.  
  124.  
  125.     sets.precast.WS['Tachi: Rana'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon",ear1="Bladeborn Earring",ear2="Steelflash Earring"})
  126.     sets.precast.WS['Tachi: Rana'].Acc = set_combine(sets.precast.WS.Acc, {body="Mes'yohi Haubergeon",head="Yaoyotl Helm",
  127.         body="Sakonji Domaru +1",neck="Snow Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",wasit="Snow Belt",})
  128.     sets.precast.WS['Tachi: Rana'].Mod = set_combine(sets.precast.WS['Tachi: Rana'], {body="Sakonji Domaru +1",waist="Snow Belt"})
  129.  
  130.  
  131.     sets.precast.WS['Tachi: Enpi'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon",ear1="Bladeborn Earring",ear2="Steelflash Earring"})
  132.     sets.precast.WS['Tachi: Enpi'].Acc = set_combine(sets.precast.WS.Acc, {body="Mes'yohi Haubergeon",head="Yaoyotl Helm",
  133.         body="Sakonji Domaru +1",neck="Snow Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",wasit="Snow Belt",})
  134.     sets.precast.WS['Tachi: Enpi'].Mod = set_combine(sets.precast.WS['Tachi: Enpi'], {waist="Snow Belt"})
  135.  
  136.  
  137.     sets.precast.WS['Tachi: Hobaku'] = sets.precast.WS
  138.  
  139.     sets.precast.WS['Tachi: Kasha'] = sets.precast.WS
  140.  
  141.     sets.precast.WS['Tachi: Gekko'] = sets.precast.WS
  142.  
  143.  
  144.     sets.precast.WS['Tachi: Yukikaze'] = sets.precast.WS
  145.  
  146.     sets.precast.WS['Tachi: Ageha'] = set_combine(sets.precast.WS, {neck="Stoicheion medal",ear1="Novio Earring",ear2="Hecate's Earring",
  147.         head="Twilight Helm",body="Twilight Mail",hands="Unkai Kote +2",waist="Shadow Belt"})
  148.  
  149.     sets.precast.WS['Tach: Koki'] = set_combine(sets.precast.WS, {neck="Stoicheion medal",lear="Novio Earring",rear="Hecate's Earring",waist="Light Belt"})
  150.  
  151.  
  152.     sets.precast.WS['Tachi: Jinpu'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon",neck="Stoicheion medal",ear1="Novio Earring",ear2="Hecate's Earring"})
  153.  
  154.     sets.precast.WS['Tachi: Goten'] = set_combine(sets.precast.WS, {neck="Stoicheion medal",ear1="Novio Earring",ear2="Hecate's Earring"})
  155.  
  156.  
  157.     sets.precast.WS['Tachi: Kagero'] = set_combine(sets.precast.WS, {neck="Stoicheion medal",ear1="Novio Earring",ear2="Hecate's Earring"})
  158.  
  159.     sets.precast.WS['Double Thrust'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon",body="Sakonji Domaru +1"})
  160.  
  161.  
  162.     sets.precast.WS['Thunder Thrust'] = sets.precast.WS
  163.  
  164.  
  165.     sets.precast.WS['Raiden Thrust'] = sets.precast.WS
  166.  
  167.  
  168.     sets.precast.WS['Leg Sweep'] = sets.precast.WS
  169.  
  170.  
  171.     sets.precast.WS['Penta Thrust'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon"})
  172.  
  173.     sets.precast.WS['Vorpal Thrust'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon"})
  174.  
  175.     sets.precast.WS['Impulse Drive'] = set_combine(sets.precast.WS, {body="Mes'yohi Haubergeon"})
  176.  
  177.     sets.precast.WS['Sonic Thrust'] = sets.precast.WS
  178.  
  179.     sets.precast.WS['Stardiver'] = set_combine(sets.precast.WS, {body="Sakonji Domaru +1"})
  180.  
  181. -- Ranged Sets
  182.     sets.precast.RA = {head="Zha'Go's Barbut"}
  183.     sets.precast.RA.Acc = {head="Otomi Helm", feet="Ejekamal boots"}
  184.  
  185.     sets.midcast.RA = {ammo="Tulfaire Arrow",
  186.         head="Sakonji Kabuto +1",neck="Ocachi Gorget",ear1="Altdorf's Earring",ear2="Wilhelm's Earring",
  187.         body="Kyujutsugi",hands="Unkai Kote +2",ring1="Pakichikaji Ring",ring2="Bellona's Ring",
  188.         back="Moondoe Mantle",waist="Buccaneer's Belt",legs="Wakido Haidate +1",feet="Wakido Sune-ate"}
  189.  
  190.     sets.midcast.RA.Acc = {ammo="Tulfaire Arrow",
  191.         head="Sakonji Kabuto +1",neck="Iqabi necklace",ear1="Altdorf's Earring",ear2="Wilhelm's Earring",
  192.         body="Kyujutsugi",hands="Buremte Gloves",ring1="Pakichikaji Ring",ring2="Arewe Ring +1",
  193.         back="Moondoe Mantle",waist="",legs="Wakido Haidate +1",feet="Wakido Sune-ate"}
  194.  
  195.     -- Midcast Sets
  196.     sets.midcast.FastRecast = {ammo="Tulfaire Arrow",
  197.         head="Otomi Helm",neck="Torero Torque",ear1="Loquacious Earring",ear2="Novia Earring",
  198.         body="Otronif Harness +1",hands="Sakonji kote +1",ring1="Prolix Ring", ring2="Portus Annulet",
  199.         back="Boxer's Mantle",waist="Phasmida belt",legs="Sakonji Haidate +1",feet="Otronif Boots +1"}
  200.  
  201.  
  202.     -- Specific spells
  203.     sets.midcast.Utsusemi = {ammo="Tulfaire Arrow",
  204.         head="Otomi Helm",neck="Torero Torque",ear1="Loquacious Earring",ear2="Steelflash Earring",
  205.         body="Otronif Harness +1",hands="Sakonji kote +1",ring1="Prolix Ring",ring2="Portus Annulet",
  206.         back="Boxer's Mantle",waist="Phasmida belt",legs="Sakonji Haidate +1",feet="Otronif Boots +1"}
  207.  
  208.  
  209.     -- Sets to return to when not performing an action.
  210.  
  211.     -- Resting sets
  212.     sets.resting = {neck="Wiglen Gorget",ring1="Sheltered Ring",ring2="Paguroidea Ring"}
  213.  
  214.     -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
  215.     sets.idle = {ammo="Tulfaire Arrow",
  216.         head="Twilight Helm",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Sanare Earring",
  217.         body="Kumarbi's Akar",hands="Sakonji Kote +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  218.         back="Iximulew cape",waist="Chuq'aba Belt",legs="Sakonji haidate +1",feet="Danzo Sune-ate"}
  219.  
  220.  
  221.     sets.idle.Town = {ammo="Tulfaire Arrow",
  222.         head="Twilight Helm",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Sanare Earring",
  223.         body="Kumarbi's Akar",hands="Sakonji Kote +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  224.         back="Iximulew cape",waist="Chuq'aba Belt",legs="Sakonji haidate +1",feet="Danzo Sune-ate"}
  225.     sets.idle.Field = {ammo="Tulfaire Arrow",
  226.         head="Twilight Helm",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Sanare Earring",
  227.         body="Kumarbi's Akar",hands="Sakonji Kote +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  228.         back="Iximulew cape",waist="Chuq'aba Belt",legs="Sakonji haidate +1",feet="Danzo Sune-ate"}
  229.  
  230.     sets.idle.Weak = {ammo="Tulfaire Arrow",
  231.         head="Twilight Helm",neck="Wiglen Gorget",ear1="Merman's Earring",ear2="Sanare Earring",
  232.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  233.         back="Iximulew cape",waist="Chuq'abaBelt",legs="Sakonji haidate +1",feet="Danzo Sune-ate"}
  234.  
  235.     -- Defense sets
  236.     sets.defense.PDT = {ammo="Tulfaire Arrow",
  237.         head="Nocturnus Helm",neck="Agitator's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  238.         body="Otronif Harness +1",hands="Sakonji Kote +1",ring1="Patricius Ring",right_ring={ name="Dark Ring", augments={'Phys. dmg. taken -5%','Spell interruption rate down -4%',}},
  239.         back="Shadow Mantle",waist="Chuq'aba belt",legs="Otronif brais +1",feet="Otronif boots +1"}
  240.  
  241.     sets.defense.Reraise = {range="Yoichinoyumi",ammo="Tulfaire Arrow",
  242.         head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  243.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Dark Ring",ring2="Paguroidea Ring",
  244.         back="Shadow Mantle",waist="Chuq'aba belt",legs="Sakonji Haidate +1",feet="Otronif boots +1"}
  245.  
  246.     sets.defense.MDT = {ammo="Tulfaire Arrow",
  247.         head="Sakonji kabuto +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Sanare Earring",
  248.         body="Nocturnus Mail",hands="Sakonji Kote +1",ring1="Shadow Ring",right_ring={ name="Dark Ring", augments={'Phys. dmg. taken -3%','Magic dmg. taken -5%',}},
  249.         back="Engulfer Cape",waist="Lieutenant's sash",legs="Otronif brais +1",feet="Otronif boots +1"}
  250.  
  251.     sets.Kiting = {feet="Danzo Sune-ate"}
  252.  
  253.     sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
  254.  
  255.     -- Engaged sets
  256.  
  257.     -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  258.     -- sets if more refined versions aren't defined.
  259.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  260.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  261.  
  262.     -- Normal melee group
  263.     -- Delay 450 GK, 25 Save TP => 65 Store TP for a 5-hit (25 Store TP in gear)
  264.     sets.engaged = {ammo="Tulfaire Arrow",
  265.         head="Otomi Helm",neck="Ganesha's mala",ear1="Trux Earring",ear2="Brutal Earring",
  266.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="Ifrit Ring",
  267.         back="Takaha Mantle",waist="Windbuffet Belt",legs="Wakido Haidate +1",feet="Ejekamal Boots"}
  268.        
  269.     sets.engaged.MidAcc = {ammo="Tulfaire Arrow",
  270.         head="Yaoyotl Helm",neck="Ganesha's mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  271.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="Mars's Ring",
  272.         back="Letalis Mantle",waist="Anguinus Belt",legs="Otronif brais +1",feet="Whirlpool Greaves"}  
  273.  
  274.     sets.engaged.Acc = {ammo="Tulfaire Arrow",
  275.         head="Yaoyotl Helm",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  276.         body="Mes'yohi Haubergeon",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Mars's Ring",
  277.         back="Letalis Mantle",waist="Anguinus Belt",legs="Otronif brais +1",feet="Wakido sune-ate"}
  278.        
  279.     sets.engaged.Koga = {ammo="Tulfaire Arrow",
  280.         head="Sakonji kabuto +1",neck="Ganesha's mala",ear1="Tripudio Earring",ear2="Brutal Earring",
  281.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  282.         back="Takaha Mantle",waist="Windbuffet Belt",legs="Otronif brais +1",feet="Otronif boots +1"}  
  283.    
  284.     sets.engaged.KogaAcc = {ammo="Tulfaire Arrow",
  285.         head="Sakonji kabuto +1",neck="Iqabi Necklace",ear1="Tripudio Earring",ear2="Brutal Earring",
  286.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  287.         back="Takaha Mantle",waist="Anguinus Belt",legs="Otronif brais +1",feet="Otronif boots +1"}
  288.  
  289.     sets.engaged.PDT = {ammo="Tulfaire Arrow",
  290.         head="Otomi Helm",neck="Agitator's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  291.         body="Otronif Harness +1",hands="Sakonji Kote +1",ring1="Dark Ring",ring2="K'ayres Ring",
  292.         back="Iximulew Cape",waist="Chuq'aba belt",legs="Sakonji haidate +1",feet="Whirlpool Greaves"}
  293.  
  294.     sets.engaged.Acc.PDT = {ammo="Tulfaire Arrow",
  295.         head="Yaoyotl Helm",neck="Agitator's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  296.         body="Sakonji Domaru +1",hands="Sakonji Kote +1",ring1="Dark Ring",ring2="Mars's Ring",
  297.         back="Iximulew Cape",waist="Dynamic Belt",legs="Sakonji haidate +1",feet="Wakido sune-ate"}
  298.  
  299.     sets.engaged.Reraise = {ammo="Tulfaire Arrow",
  300.         head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  301.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  302.         back="Iximulew Cape",waist="Chuq'aba belt",legs="Sakonji haidate +1",feet="Whirlpool Greaves"}
  303.  
  304.     sets.engaged.Acc.Reraise = {ammo="Tulfaire Arrow",
  305.         head="Twilight Helm",neck="Iqabi necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  306.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  307.         back="Letalis Mantle",waist="Chuq'aba belt",legs="Sakonji haidate +1",feet="Wakido sune-ate"}
  308.  
  309.     -- Melee sets for in Adoulin, which has an extra 10 Save TP for weaponskills.
  310.     -- 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
  311.     sets.engaged.Adoulin = {ammo="Tulfaire Arrow",
  312.         head="Otomi Helm",neck="Ganesha's mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  313.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="Mars's Ring",
  314.         back="Takaha Mantle",waist="Windbuffet Belt",legs="Wakido Haidate +1",feet="Otronif boots +1"}
  315.  
  316.     sets.engaged.Adoulin.Acc = {ammo="Tulfaire Arrow",
  317.         head="Yaoyotl Helm",neck="Iqabi necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  318.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="Mars's Ring",
  319.         back="Letalis Mantle",waist="Dynamic Belt",legs="Xaddi Cuisses",feet="Wakido sune-ate"}
  320.    
  321.     sets.engaged.Adoulin.Koga = {ammo="Tulfaire Arrow",
  322.         head="Sakonji kabuto +1",neck="Ganesha's mala",ear1="Tripudio Earring",ear2="Brutal Earring",
  323.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  324.         back="Takaha Mantle",waist="Windbuffet Belt",legs="Otronif brais +1",feet="Otronif boots +1"}
  325.        
  326.     sets.engaged.Adoulin.KogaAcc = {ammo="Tulfaire Arrow",
  327.         head="Sakonji kabuto +1",neck="Iqabi Necklace",ear1="Tripudio Earring",ear2="Brutal Earring",
  328.         body="Sakonji Domaru +1",hands="Wakido Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  329.         back="Takaha Mantle",waist="Anguinus Belt",legs="Otronif brais +1",feet="Otronif boots +1"}
  330.  
  331.     sets.engaged.Adoulin.PDT = {ammo="Tulfaire Arrow",
  332.         head="Otomi Helm",neck="Agitator's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  333.         body="Otronif Harness +1",hands="Sakonji Kote +1",ring1="Dark Ring",ring2="K'ayres Ring",
  334.         back="Iximulew Cape",waist="Goading Belt",legs="Sakonji haidate +1",feet="Sakonji Sune-ate +1"}
  335.  
  336.     sets.engaged.Adoulin.Acc.PDT = {ammo="Tulfaire Arrow",
  337.         head="Yaoyotl Helm",neck="Agitator's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  338.         body="Sakonji Domaru +1",hands="Sakonji Kote +1",ring1="Dark Ring",ring2="Mars's Ring",
  339.         back="Iximulew Cape",waist="Dynamic Belt",legs="Sakonji haidate +1",feet="Sakonji Sune-ate +1"}
  340.  
  341.     sets.engaged.Adoulin.Reraise = {ammo="Tulfaire Arrow",
  342.         head="Twilight Helm",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  343.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  344.         back="Iximulew Cape",waist="Goading Belt",legs="Sakonji haidate +1",feet="Sakonji Sune-ate +1"}
  345.  
  346.     sets.engaged.Adoulin.Acc.Reraise = {ammo="Tulfaire Arrow",
  347.         head="Twilight Helm",neck="Iqabi Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  348.         body="Twilight Mail",hands="Sakonji Kote +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  349.         back="Letalis Mantle",waist="Goading Belt",legs="Otronif brais +1",feet="Otronif boots +1"}
  350.  
  351.  
  352.     sets.buff.Sekkanoki = {hands="Unkai Kote +2"}
  353.     sets.buff.Sengikori = {feet="Unkai Sune-ate +2"}
  354.     sets.buff['Meikyo Shisui'] = {feet="Sakonji Sune-ate +1"}
  355. end
  356.  
  357.  
  358. -------------------------------------------------------------------------------------------------------------------
  359. -- Job-specific hooks that are called to process player actions at specific points in time.
  360. -------------------------------------------------------------------------------------------------------------------
  361.  
  362. -- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
  363. function job_pretarget(spell, action, spellMap, eventArgs)
  364.     if spell.type == 'WeaponSkill' then
  365.         -- Change any GK weaponskills to polearm weaponskill if we're using a polearm.
  366.         if player.equipment.main=='Quint Spear' or player.equipment.main=='Quint Spear' then
  367.             if spell.english:startswith("Tachi:") then
  368.                 send_command('@input /ws "Penta Thrust" '..spell.target.raw)
  369.                 eventArgs.cancel = true
  370.             end
  371.         end
  372.     end
  373.  
  374.     if state.Buff[spell.english] ~= nil then
  375.         state.Buff[spell.english] = true
  376.     end
  377. end
  378.  
  379. -- Run after the default precast() is done.
  380. -- eventArgs is the same one used in job_precast, in case information needs to be persisted.
  381. function job_post_precast(spell, action, spellMap, eventArgs)
  382.     if spell.type:lower() == 'weaponskill' then
  383.         if state.Buff.Sekkanoki then
  384.             equip(sets.buff.Sekkanoki)
  385.         end
  386.         if state.Buff.Sengikori then
  387.         equip(sets.buff.Sengikori)
  388.         end
  389.         if state.Buff['Meikyo Shisui'] then
  390.         equip(sets.buff['Meikyo Shisui'])
  391.         end
  392.     end
  393. end
  394.  
  395.  
  396. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  397. function job_midcast(spell, action, spellMap, eventArgs)
  398.     if spell.action_type == 'Magic' then
  399.         equip(sets.midcast.FastRecast)
  400.     end
  401. end
  402.  
  403. -- Run after the default midcast() is done.
  404. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  405. function job_post_midcast(spell, action, spellMap, eventArgs)
  406.     -- Effectively lock these items in place.
  407.     if state.DefenseMode == 'Reraise' or
  408.         (state.Defense.Active and state.Defense.Type == 'Physical' and state.Defense.PhysicalMode == 'Reraise') then
  409.         equip(sets.Reraise)
  410.     end
  411. end
  412.  
  413. -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
  414. function job_aftercast(spell, action, spellMap, eventArgs)
  415.     if state.Buff[spell.english] ~= nil then
  416.         state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
  417.     end
  418. end
  419.  
  420.  
  421. -------------------------------------------------------------------------------------------------------------------
  422. -- Customization hooks for idle and melee sets, after they've been automatically constructed.
  423. -------------------------------------------------------------------------------------------------------------------
  424.  
  425. -------------------------------------------------------------------------------------------------------------------
  426. -- General hooks for other events.
  427. -------------------------------------------------------------------------------------------------------------------
  428.  
  429. -- Called when a player gains or loses a buff.
  430. -- buff == buff gained or lost
  431. -- gain == true if the buff was gained, false if it was lost.
  432. function job_buff_change(buff, gain)
  433.     if state.Buff[buff] ~= nil then
  434.         state.Buff[buff] = gain
  435.     end
  436. end
  437.  
  438.  
  439. -------------------------------------------------------------------------------------------------------------------
  440. -- User code that supplements self-commands.
  441. -------------------------------------------------------------------------------------------------------------------
  442.  
  443. -- Called by the 'update' self-command, for common needs.
  444. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  445. function job_update(cmdParams, eventArgs)
  446.     state.CombatForm = get_combat_form()
  447. end
  448.  
  449. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  450. function display_current_job_state(eventArgs)
  451.  
  452. end
  453.  
  454. -------------------------------------------------------------------------------------------------------------------
  455. -- Utility functions specific to this job.
  456. -------------------------------------------------------------------------------------------------------------------
  457.  
  458. function get_combat_form()
  459.     if areas.Adoulin:contains(world.area) and buffactive.ionis then
  460.         return 'Adoulin'
  461.     end
  462. end
  463.  
  464.  
  465. -- Select default macro book on initial load or subjob change.
  466. function select_default_macro_book()
  467.     -- Default macro set/book
  468.     if player.sub_job == 'WAR' then
  469.         set_macro_page(1, 1)
  470.     elseif player.sub_job == 'DNC' then
  471.         set_macro_page(2, 1)
  472.     elseif player.sub_job == 'THF' then
  473.         set_macro_page(3, 1)
  474.     elseif player.sub_job == 'NIN' then
  475.         set_macro_page(4, 1)
  476.     else
  477.         set_macro_page(1, 1)
  478.     end
  479. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement