Advertisement
Kuroganashi

BST (Not working)

Nov 4th, 2015
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.96 KB | None | 0 0
  1. -- NOTE: I do not play bst, so this will not be maintained for 'active' use.
  2. -- It is added to the repository to allow people to have a baseline to build from,
  3. -- and make sure it is up-to-date with the library API.
  4.  
  5. -- Credit to Quetzalcoatl.Falkirk for most of the original work.
  6.  
  7. --[[
  8.     Custom commands:
  9.    
  10.     Ctrl-F8 : Cycle through available pet food options.
  11.     Alt-F8 : Cycle through correlation modes for pet attacks.
  12.     Alt-F7 : Cycle through PET MODES
  13. ]]
  14.  
  15. -------------------------------------------------------------------------------------------------------------------
  16. -- Setup functions for this job.  Generally should not be modified.
  17. -------------------------------------------------------------------------------------------------------------------
  18.  
  19. -- Initialization function for this job file.
  20. function get_sets()
  21.     mote_include_version = 2
  22.    
  23.     -- Load and initialize the include file.
  24.     include('Mote-Include.lua')
  25. end
  26.  
  27. function job_setup()
  28.     -- Set up Reward Modes and keybind Ctrl-F8
  29.     state.RewardMode = M{['description']='Reward Mode', 'Theta', 'Eta', 'Zeta', 'Pet Poultice', 'Pet Roborant'}
  30.     RewardFood = {name="Pet Food Theta"}
  31.     send_command('bind ^f8 gs c cycle RewardMode')
  32.  
  33.     --Pet Roborant    =    Erase Pet
  34.     --Pet Poultice    =    Regen 6 HP/tick for 5 Minutes
  35.     --Theta           =    20 HP/tick Regen and BEST FOOD for heals
  36.     --Eta             =    17 HP/tick Regen and 2nd BEST FOOD for heals
  37.     --Zeta            =    14 HP/tick Regen and 3rd BEST FOOD for heals
  38.    
  39.     -- Set up Monster Correlation Modes and keybind Alt-F8
  40.     state.CorrelationMode = M{['description']='Correlation Mode', 'Neutral','Favorable'}
  41.     send_command('bind !f8 gs c cycle CorrelationMode')
  42.    
  43.     -- Custom pet modes for engaged gear
  44.     state.PetMode = M{['description']='Pet Mode', 'Normal', 'PetStance', 'PetTank'}
  45.     send_command('bind !f7 gs c cycle PetMode')
  46.    
  47.     ready_moves_to_check = S{'Sic','Whirl Claws','Dust Cloud','Foot Kick','Sheep Song','Sheep Charge','Lamb Chop',
  48.         'Rage','Head Butt','Scream','Dream Flower','Wild Oats','Leaf Dagger','Claw Cyclone','Razor Fang',
  49.         'Roar','Gloeosuccus','Palsy Pollen','Soporific','Cursed Sphere','Venom','Geist Wall','Toxic Spit',
  50.         'Numbing Noise','Nimble Snap','Cyclotail','Spoil','Rhino Guard','Rhino Attack','Power Attack',
  51.         'Hi-Freq Field','Sandpit','Sandblast','Venom Spray','Mandibular Bite','Metallic Body','Bubble Shower',
  52.         'Bubble Curtain','Scissor Guard','Big Scissors','Grapple','Spinning Top','Double Claw','Filamented Hold',
  53.         'Frog Kick','Queasyshroom','Silence Gas','Numbshroom','Spore','Dark Spore','Shakeshroom','Blockhead',
  54.         'Secretion','Fireball','Tail Blow','Plague Breath','Brain Crush','Infrasonics','1000 Needles',
  55.         'Needleshot','Chaotic Eye','Blaster','Scythe Tail','Ripper Fang','Chomp Rush','Intimidate','Recoil Dive',
  56.         'Water Wall','Snow Cloud','Wild Carrot','Sudden Lunge','Spiral Spin','Noisome Powder','Wing Slap',
  57.         'Beak Lunge','Suction','Drainkiss','Acid Mist','TP Drainkiss','Back Heel','Jettatura','Choke Breath',
  58.         'Fantod','Charged Whisker','Purulent Ooze','Corrosive Ooze','Tortoise Stomp','Harden Shell','Aqua Breath',
  59.         'Sensilla Blades','Tegmina Buffet','Molting Plumage','Swooping Frenzy','Pentapeck','Sweeping Gouge',
  60.         'Zealous Snort'}
  61. end
  62.  
  63. -------------------------------------------------------------------------------------------------------------------
  64. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  65. -------------------------------------------------------------------------------------------------------------------
  66.  
  67. function user_setup()
  68.     state.OffenseMode:options('Normal', 'Acc')
  69.     state.WeaponskillMode:options('Normal', 'Acc')
  70.     state.IdleMode:options('Normal', 'Refresh', 'Reraise')
  71.     state.PhysicalDefenseMode:options('PDT', 'Hybrid', 'Killer')
  72.  
  73.     update_combat_form()
  74. end
  75.  
  76.  
  77. -- Called when this job file is unloaded (eg: job change)
  78. function user_unload()
  79.     -- Unbinds the Reward and Correlation hotkeys.
  80.     send_command('unbind ^f8')
  81.     send_command('unbind !f8')
  82.     send_command('unbind !f8')
  83. end
  84.  
  85.  
  86. -- Define sets and vars used by this job file.
  87. function init_gear_sets()
  88.     --------------------------------------
  89.     -- Precast sets
  90.     --------------------------------------
  91.  
  92.     sets.precast.JA['Killer Instinct'] = {head="Ankusa Helm"}
  93.     sets.precast.JA['Feral Howl'] = {body="Ankusa Jackcoat"}
  94.     sets.precast.JA['Call Beast'] = {hands="Ankusa Gloves"}
  95.     sets.precast.JA['Familiar'] = {legs="Ankusa Trousers"}
  96.     sets.precast.JA['Tame'] = {head="Totemic Helm",ear1="Tamer's Earring",legs="Stout Kecks"}
  97.     sets.precast.JA['Spur'] = {feet="Ferine Ocreae +2"}
  98.  
  99.     sets.precast.JA['Reward'] = {main="Zoraal Ja's Axe",sub="Zoraal Ja's Axe",ammo=RewardFood,
  100.         head="Khimaira Bonnet",neck="Aife's Medal",ear2="Lifestorm Earring",ear1="Ferine Earring",
  101.         body="Totemic Jackcoat",hands="Ogre Gloves",ring1="Levia. Ring",ring2="Rufescent Ring",
  102.         back="Pastoralist's Mantle",waist="Crudelis Belt",legs="Ankusa Trousers",feet="Ankusa Gaiters"}--Loyalist Sabatons/Stout Bonnet/Zoraal Ja's Axe/Pallas's Shield/Pratik Earring/Mdomo Axe
  103.  
  104.     sets.precast.JA['Charm'] = {ammo="Tsar's Egg",
  105.         head="Totemic Helm",neck="Ferine Necklace",ear1="Enchanter's Earring",ear2="Reverie Earring +1",
  106.         body="Ankusa Jackcoat",hands="Ankusa Gloves",ring1="Dawnsoul Ring",ring2="Dawnsoul Ring",
  107.         back="Aisance Mantle +1",waist="Aristo Belt",legs="Ankusa Trousers",feet="Ankusa Gaiters"}
  108.  
  109.     -- CURING WALTZ
  110.     sets.precast.Waltz = {ammo="Sonia's Plectrum",
  111.         head="Taeon Chapeau",neck="Tjukurrpa Medal",ear1="Soil Pearl",ear2="Soil Pearl",
  112.         body="Emet Harness +1",hands="Taeon Gloves",ring1="Titan Ring",ring2="Titan Ring",
  113.         back="Iximulew Cape",waist="Warwolf Belt",legs="Acro Breeches",feet="Amm Greaves"}--Taeon Boots
  114.  
  115.     -- HEALING WALTZ
  116.     sets.precast.Waltz['Healing Waltz'] = {}
  117.  
  118.     -- STEPS
  119.     sets.precast.Step = {ammo="Ginsen",
  120.         head="Dampening Tam",neck="Subtlety Spec.",ear1="Steelflash Earring",ear2="Heartseeker Earring",
  121.         body="Emet Harness +1",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Mars's Ring",
  122.         back="Letalis Mantle",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Taeon Boots"}--Leyline Gloves
  123.  
  124.     -- VIOLENT FLOURISH
  125.     sets.precast.Flourish1 = {}
  126.     sets.precast.Flourish1['Violent Flourish'] = {body="Ankusa Jackcoat",legs="Taeon Tights",feet="Taeon Boots"}
  127.  
  128.     sets.precast.FC = {ammo="Impatiens",neck="Orunmila's Torque",ear2="Loquacious Earring",ring1="Weather. Ring",ring2="Prolix Ring"}
  129.     sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads"})
  130.  
  131.     -- WEAPONSKILLS
  132.     -- Default weaponskill set.
  133.     sets.precast.WS = {ammo="Ginsen",
  134.         head="Otomi Helm",neck="Fotia Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
  135.         body="Vatic Byrnie",hands="Taeon Gloves",ring1="Ifrit Ring",ring2="Epona's Ring",
  136.         back="Letalis Mantle",waist="Fotia Belt",legs="Taeon Tights",feet="Taeon Boots"}--Vespid Mantle
  137.  
  138.     sets.precast.WS.WSAcc = {ammo="Ginsen",
  139.         head="Yaoyotl Helm",neck="Subtlety Spec.",ear1="Steelflash Earring",ear2="Bladeborn Earring",
  140.         body="Emet Harness +1",hands="Leyline Gloves",ring1="Rajas Ring",ring2="Rufescent Ring",
  141.         back="Letalis Mantle",waist="Anguinus Belt",legs="Taeon Tights",feet="Taeon Boots"}
  142.  
  143.     -- Specific weaponskill sets.
  144.     sets.precast.WS['Ruinator'] = set_combine(sets.precast.WS, {neck="Fotia Gorget",hands="Taeon Gloves",
  145.         back="Buquwik Cape",waist="Fotia Belt"})
  146.  
  147.     sets.precast.WS['Ruinator'].WSAcc = set_combine(sets.precast.WS.WSAcc, {neck="Fotia Gorget",waist="Fotia Belt"})
  148.  
  149.     sets.precast.WS['Ruinator'].Mekira = set_combine(sets.precast.WS['Ruinator'], {head="Mekira-oto +1"})
  150.  
  151.     sets.precast.WS['Onslaught'] = set_combine(sets.precast.WS, {ear1="Steelflash Earring",ear2="Bladeborn Earring",
  152.         ring1="Rajas Ring",feet="Ejekamal Boots"})
  153.  
  154.     sets.precast.WS['Onslaught'].WSAcc = set_combine(sets.precast.WSAcc, {hands="Buremte Gloves",ring1="Rajas Ring"})
  155.  
  156.     sets.precast.WS['Primal Rend'] = {ammo="Dosis Tathlum",
  157.         head="Dampening Tam",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Friomisi Earring",
  158.         body="Phorcys Korazin",hands="Ankusa Gloves",ring1="Acumen Ring",ring2="Fenrir Ring",
  159.         back="Toro Cape",waist="Fotia Belt",legs="Taeon Tights",feet="Taeon Boots"}--Jumalik Helm
  160.  
  161.     sets.precast.WS['Cloudsplitter'] = set_combine(sets.precast.WS['Primal Rend'], {waist="Fotia Belt",neck="Fotia Gorget"})
  162.  
  163.     sets.precast.WS['Bora Axe'] = set_combine(sets.precast.WS['Primal Rend'], {waist="Fotia Belt",neck="Fotia Gorget"})
  164.  
  165.     --------------------------------------
  166.     -- Midcast sets
  167.     --------------------------------------
  168.    
  169.     sets.midcast.FastRecast = {ammo="Impatiens",
  170.         head="Anwig Salade",neck="Orunmila's Torque",ear2="Loquacious Earring",
  171.         body="Mirke Wardecors",hands="Leyline Gloves",ring2="Prolix Ring",ring1="Weather. Ring",
  172.         back="Iximulew Cape",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Amm Greaves"}
  173.  
  174.     sets.midcast.Utsusemi = sets.midcast.FastRecast
  175.  
  176.     sets.midcast.Cure = {ammo="Impatiens",
  177.         ear1="Mendi. Earring",ear2="Loquacious Earring",head="Anwig Salade",body="Jumalik Mail",hands="Buremte Gloves",ring1="Weather. Ring",ring2="Prolix Ring"}
  178.  
  179.     sets.midcast.Curaga = sets.midcast.Cure
  180.  
  181.     -- PET SIC & READY MOVES
  182.     sets.midcast.Pet.WS = {ammo="Demonry Core",
  183.         head="Despair Helm",neck="Ferine Necklace",ear2="Ferine Earring",ear1="Sabong Earring",
  184.         body="Emet Harness +1",hands="Ferine Manoplas +2",ring1="Angel's Ring",ring2="Angel's Ring",
  185.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Desultor Tassets",feet="Totemic Gaiters"}--Argocham. Mantle/Pastoralist's Mantle/Pastoralist's Mantle/Hija Earring/Domes. Earring/Regimen Mittens/Despair Greaves/Despair Cuisses/Despair Mail
  186.  
  187.     sets.midcast.Pet.WS.Unleash = set_combine(sets.midcast.Pet.WS, {hands="Ferine Manoplas +2"})
  188.  
  189.     sets.midcast.Pet.Neutral = {legs="Desultor Tassets"}
  190.     sets.midcast.Pet.Favorable = {head="Ferine Cabasset +2",legs="Desultor Tassets"}
  191.  
  192.  
  193.     --------------------------------------
  194.     -- Idle/resting/defense/etc sets
  195.     --------------------------------------
  196.  
  197.     -- RESTING
  198.     sets.resting = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  199.         head="Twilight Helm",neck="Lissome Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  200.         body="Twilight Mail",hands="Totemic Gloves",ring1="Matrimony Band",ring2="Sheltered Ring",
  201.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ferine Quijotes +2",feet="Skadi's Jambeaux +1"}--Isa Belt/Primal Belt/Muscle Belt +1
  202.  
  203.     -- IDLE SETS
  204.     sets.idle = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  205.         head="Twilight Helm",neck="Lissome Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  206.         body="Twilight Mail",hands="Totemic Gloves",ring1="Matrimony Band",ring2="Sheltered Ring",
  207.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ferine Quijotes +2",feet="Skadi's Jambeaux +1"}
  208.    
  209.     sets.idle.Town = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  210.         head="Twilight Helm",neck="Lissome Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  211.         body="Twilight Mail",hands="Totemic Gloves",ring1="Matrimony Band",ring2="Sheltered Ring",
  212.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ferine Quijotes +2",feet="Skadi's Jambeaux +1"}
  213.    
  214.     sets.idle.Weak = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  215.         head="Twilight Helm",neck="Lissome Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  216.         body="Twilight Mail",hands="Totemic Gloves",ring1="Matrimony Band",ring2="Sheltered Ring",
  217.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ferine Quijotes +2",feet="Skadi's Jambeaux +1"}
  218.    
  219.     sets.idle.Refresh = {head="Wivre Hairpin",body="Twilight Mail",hands="Ogier's Gauntlets",legs="Ogier's Breeches"}
  220.  
  221.     sets.idle.Reraise = set_combine(sets.idle, {head="Twilight Helm",body="Twilight Mail"})
  222.  
  223.     sets.idle.Pet = sets.idle
  224.  
  225.     sets.idle.Pet.Engaged = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  226.         head="Despair Helm",neck="Ferine Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  227.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  228.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ankusa Trousers",feet="Taeon Boots"}--Regimen Mittens/Rimeice Earring/Spurrer Beret
  229.  
  230.     sets.idle.Pet.Engaged.PDT = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  231.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  232.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  233.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}--Shepherd's Chain/Despair Greaves/Despair Cuisses/Despair Mail
  234.    
  235.     sets.idle.Pet.Engaged.MDT = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  236.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  237.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  238.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}--Shepherd's Chain/Despair Greaves/Despair Cuisses/Despair Mail/Selemnus Belt/Rimeice Earring
  239.    
  240.     -- DEFENSE SETS
  241.     sets.defense.PDT = {ammo="Ginsen",
  242.         head="Jumalik Helm",neck="Twilight Torque",
  243.         body="Emet Harness +1",hands="Macabre Gaunt.",ring1="Dark Ring",ring2="Defending Ring",
  244.         back="Mollusca Mantle",waist="Flume Belt",legs="Taeon Tights",feet="Amm Greaves"}--Jumalik Mail/Jumalik Helm
  245.  
  246.     sets.defense.Hybrid = set_combine(sets.defense.PDT, {head="Iuitl Headgear",
  247.         back="Mollusca Mantle",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Amm Greaves"})
  248.  
  249.     sets.defense.Killer = set_combine(sets.defense.Hybrid, {ammo="Bibiki Seashell",head="Ankusa Helm",body="Ferine Gausape +2"})
  250.  
  251.     sets.defense.MDT = set_combine(sets.defense.PDT, {ammo="Sihirik",
  252.         head="Ogier's Helm",ear1="Flashward Earring",ear2="Spellbreaker Earring",
  253.         body="Jumalik Mail",ring1="Dark Ring",
  254.         back="Engulfer Cape",waist="Nierenschutz"})
  255.  
  256.     sets.Kiting = {ammo="Demonry Core",
  257.         head="Iuitl Headgear",neck="Twilight Torque",
  258.         body="Jumalik Mail",hands="Macabre Gaunt.",ring1="Dark Ring",ring2="Defending Ring",
  259.         back="Repulse Mantle",waist="Hurch'lan Sash",legs="Taeon Tights",feet="Skadi's Jambeaux +1"}
  260.  
  261.  
  262.     --------------------------------------
  263.     -- Engaged sets
  264.     --------------------------------------
  265.  
  266.     sets.engaged = {ammo="Ginsen",
  267.         head="Taeon Chapeau",neck="Asperity Necklace",ear2="Suppanomimi",ear1="Brutal Earring",
  268.         body="Vatic Byrnie",hands="Taeon Gloves",ring1="Rajas Ring",ring2="Epona's Ring",
  269.         back="Bleating Mantle",waist="Windbuffet Belt",legs="Taeon Tights",feet="Taeon Boots"}--Mes'yohi Haubergeon/Patentia Sash/Felistris Mask
  270.  
  271.     sets.engaged.Acc = {ammo="Ginsen",
  272.         head="Yaoyotl Helm",neck="Subtlety Spec.",ear1="Steelflash Earring",ear2="Heartseeker Earring",
  273.         body="Vatic Byrnie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Mars's Ring",
  274.         back="Letalis Mantle",waist="Anguinus Belt",legs="Taeon Tights",feet="Taeon Boots"}
  275.  
  276.     sets.engaged.Killer = set_combine(sets.engaged, {head="Ankusa Helm",body="Ferine Gausape +2"})
  277.     sets.engaged.Killer.Acc = set_combine(sets.engaged.Acc, {head="Ankusa Helm",body="Ferine Gausape +2",waist="Anguinus Belt"})
  278.    
  279.    
  280.     -- EXAMPLE SETS WITH PET MODES
  281.    
  282.     sets.engaged.PetStance = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  283.         head="Despair Helm",neck="Ferine Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  284.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  285.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ankusa Trousers",feet="Taeon Boots"}
  286.     sets.engaged.PetStance.Acc = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  287.         head="Despair Helm",neck="Ferine Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  288.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  289.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ankusa Trousers",feet="Taeon Boots"}
  290.     sets.engaged.PetTank = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  291.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  292.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  293.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  294.     sets.engaged.PetTank.Acc = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  295.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  296.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  297.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  298.     sets.engaged.PetMDT = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  299.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  300.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  301.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  302.     --[[sets.engaged.PetStance.Killer = {}
  303.     --sets.engaged.PetStance.Killer.Acc = {}
  304.     --sets.engaged.PetTank.Killer = {}
  305.     --sets.engaged.PetTank.Killer.Acc = {}]]
  306.    
  307.     -- MORE EXAMPLE SETS WITH EXPANDED COMBAT FORMS
  308.    
  309.     --[[sets.engaged.DW.PetStance = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",head="Despair Helm",neck="Ferine Necklace",ear1="Ferine Earring",ear2="Sabong Earring",body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ankusa Trousers",feet="Taeon Boots"}
  310.     sets.engaged.DW.PetStance.Acc = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  311.         head="Despair Helm",neck="Ferine Necklace",ear1="Ferine Earring",ear2="Sabong Earring",
  312.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  313.         back="Pastoralist's Mantle",waist="Hurch'lan Sash",legs="Ankusa Trousers",feet="Taeon Boots"}
  314.     sets.engaged.DW.PetTank = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  315.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  316.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  317.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  318.     sets.engaged.DW.PetTank.Acc = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  319.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  320.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  321.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  322.     sets.engaged.DW.PetMDT = {main="Izizoeksi",sub="Kerehcatl",ammo="Demonry Core",
  323.         head="Despair Helm",neck="Ferine Necklace",ear1="Handler's Earring +1",ear2="Handler's Earring",
  324.         body="Ankusa Jackcoat",hands="Totemic Gloves",ring1="Angel's Ring",ring2="Angel's Ring",
  325.         back="Pastoralist's Mantle",waist="Isa Belt",legs="Ankusa Trousers",feet="Taeon Boots"}
  326.     --sets.engaged.KillerDW.PetStance = {}
  327.     --sets.engaged.KillerDW.PetStance.Acc = {}
  328.     --sets.engaged.KillerDW.PetTank= {}
  329.     --sets.engaged.KillerDW.PetTank.Acc = {}]]
  330.    
  331.    
  332.     --------------------------------------
  333.     -- Custom buff sets
  334.     --------------------------------------
  335.  
  336.     sets.buff['Killer Instinct'] = {head="Ankusa Helm",body="Ferine Gausape +2"}
  337.    
  338. end
  339.  
  340.  
  341. -------------------------------------------------------------------------------------------------------------------
  342. -- Job-specific hooks for standard casting events.
  343. -------------------------------------------------------------------------------------------------------------------
  344.  
  345. function job_precast(spell, action, spellMap, eventArgs)
  346.     -- Define class for Sic and Ready moves.
  347.     if ready_moves_to_check:contains(spell.english) and pet.status == 'Engaged' then
  348.         classes.CustomClass = "WS"
  349.     end
  350. end
  351.  
  352.  
  353. function job_post_precast(spell, action, spellMap, eventArgs)
  354.     -- If Killer Instinct is active during WS, equip Ferine Gausape +2.
  355.     if spell.type:lower() == 'weaponskill' and buffactive['Killer Instinct'] then
  356.         equip(sets.buff['Killer Instinct'])
  357.     end
  358. end
  359.  
  360.  
  361. function job_pet_post_midcast(spell, action, spellMap, eventArgs)
  362.     -- Equip monster correlation gear, as appropriate
  363.     equip(sets.midcast.Pet[state.CorrelationMode.value])
  364. end
  365.  
  366. -------------------------------------------------------------------------------------------------------------------
  367. -- Job-specific hooks for non-casting events.
  368. -------------------------------------------------------------------------------------------------------------------
  369.  
  370. function job_buff_change(buff, gain)
  371.     if buff == 'Killer Instinct' then
  372.         update_combat_form()
  373.         handle_equipping_gear(player.status)
  374.     end
  375. end
  376.  
  377. -- Called when the pet's status changes.
  378. function job_pet_status_change(newStatus, oldStatus)
  379.  
  380. end
  381.  
  382. -- Handle notifications of general user state change.
  383. function job_state_change(stateField, newValue, oldValue)
  384.     if stateField == 'Reward Mode' then
  385.         -- Thena, Zeta or Eta
  386.         RewardFood.name = "Pet Food " .. newValue
  387.     elseif stateField == 'Pet Mode' then
  388.         state.CombatWeapon:set(newValue)
  389.     end
  390. end
  391.  
  392. -------------------------------------------------------------------------------------------------------------------
  393. -- User code that supplements standard library decisions.
  394. -------------------------------------------------------------------------------------------------------------------
  395.  
  396. function get_custom_wsmode(spell, spellMap, defaut_wsmode)
  397.     if defaut_wsmode == 'Normal' then
  398.         if spell.english == "Ruinator" and (world.day_element == 'Water' or world.day_element == 'Wind' or world.day_element == 'Ice') then
  399.             return 'Mekira'
  400.         end
  401.     end
  402. end
  403.  
  404. -- Called by the 'update' self-command, for common needs.
  405. -- Set eventArgs.handled to true if we don't want automatic equipping of gear.
  406. function job_update(cmdParams, eventArgs)
  407.     update_combat_form()
  408. end
  409.  
  410.  
  411. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  412. function display_current_job_state(eventArgs)
  413.     local msg = 'Melee'
  414.    
  415.     if state.CombatForm.has_value then
  416.         msg = msg .. ' (' .. state.CombatForm.value .. ')'
  417.     end
  418.    
  419.     msg = msg .. ': '
  420.    
  421.     msg = msg .. state.OffenseMode.value
  422.     if state.HybridMode.value ~= 'Normal' then
  423.         msg = msg .. '/' .. state.HybridMode.value
  424.     end
  425.     msg = msg .. ', WS: ' .. state.WeaponskillMode.value
  426.    
  427.     if state.DefenseMode.value ~= 'None' then
  428.         msg = msg .. ', ' .. 'Defense: ' .. state.DefenseMode.value .. ' (' .. state[state.DefenseMode.value .. 'DefenseMode'].value .. ')'
  429.     end
  430.    
  431.     if state.Kiting.value then
  432.         msg = msg .. ', Kiting'
  433.     end
  434.  
  435.     msg = msg .. ', Reward: '..state.RewardMode.value..', Correlation: '..state.CorrelationMode.value
  436.  
  437.     add_to_chat(122, msg)
  438.  
  439.     eventArgs.handled = true
  440. end
  441.  
  442.  
  443. -------------------------------------------------------------------------------------------------------------------
  444. -- Utility functions specific to this job.
  445. -------------------------------------------------------------------------------------------------------------------
  446.  
  447. function update_combat_form()
  448.     if buffactive['Killer Instinct'] then
  449.         if (player.sub_job == 'NIN' or player.sub_job == 'DNC') and player.equipment.sub:endswith('Axe') then
  450.             state.CombatForm:set('KillerDW')
  451.         else
  452.             state.CombatForm:set('Killer')
  453.         end
  454.     elseif (player.sub_job == 'NIN' or player.sub_job == 'DNC') and player.equipment.sub:endswith('Axe') then
  455.         state.CombatForm:set('DW')
  456.     else
  457.         state.CombatForm:reset()
  458.     end
  459. end
  460.  
  461. -- Select default macro book on initial load or subjob change.
  462. function select_default_macro_book()
  463.     -- Default macro set/book
  464.     set_macro_page(1, 12)
  465.  
  466.  
  467.     -- Default macro set/book
  468.     if player.sub_job == 'DNC' then
  469.         set_macro_page(1, 12)
  470.     elseif player.sub_job == 'NIN' then
  471.         set_macro_page(1, 12)
  472.     elseif player.sub_job == 'WHM' then
  473.         set_macro_page(1, 12)
  474.     elseif player.sub_job == 'SCH' then
  475.         set_macro_page(1, 12)
  476.     else
  477.         set_macro_page(1, 12)
  478.     end
  479. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement