midash

Orangebear_RDM

Jan 4th, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 14.57 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.Saboteur = buffactive.saboteur or false
  18. end
  19.  
  20. -------------------------------------------------------------------------------------------------------------------
  21. -- User setup functions for this job.  Recommend that these be overridden in a sidecar file.
  22. -------------------------------------------------------------------------------------------------------------------
  23.  
  24. -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
  25. function user_setup()
  26.     state.OffenseMode:options('None', 'Normal')
  27.     state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
  28.     state.CastingMode:options('Normal', 'Resistant')
  29.     state.IdleMode:options('Normal', 'PDT', 'MDT')
  30.  
  31.     gear.default.obi_waist = "Sekhmet Corset"
  32.    
  33.     select_default_macro_book()
  34. end
  35.  
  36.  
  37. -- Define sets and vars used by this job file.
  38. function init_gear_sets()
  39.     --------------------------------------
  40.     -- Start defining the sets
  41.     --------------------------------------
  42.     organizer_items = {
  43.   echos="Echo Drops",
  44.   remedy="Remedy",
  45.   orb="Macrocosmic Orb",
  46.   Crepe="Pear Crepe"
  47.   }
  48.    
  49.     -- Precast Sets
  50.    
  51.     -- Precast sets to enhance JAs
  52.     sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
  53.    
  54.  
  55.     -- Waltz set (chr and vit)
  56.     sets.precast.Waltz = {
  57.         head="Atrophy Chapeau +1",
  58.         body="Atrophy Tabard +1",hands="Yaoyotl Gloves",
  59.         back="Refraction Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
  60.        
  61.     -- Don't need any special gear for Healing Waltz.
  62.     sets.precast.Waltz['Healing Waltz'] = {}
  63.  
  64.     -- Fast cast sets for spells
  65.    
  66.     -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  67.     -- No other FC sets necessary.
  68.     sets.precast.FC = {ammo="Impatiens",
  69.         head="Atrophy Chapeau +1",ear2="Loquacious Earring",
  70.         body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",
  71.         back="Swith Cape +1",waist="Witful Belt",legs="Artsieq Hose",feet="Chelona Boots"}
  72.  
  73.     sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
  74.        
  75.     -- Weaponskill sets
  76.     -- Default set for any weaponskill that isn't any more specifically defined
  77.     sets.precast.WS = {
  78.         head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  79.         body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
  80.         back="Atheling Mantle",waist="Caudata Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  81.  
  82.     -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
  83.     sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS,
  84.         {ear1="Brutal Earring",ear2="Moonshade Earring",
  85.         ring1="Levia. Ring",ring2="Levia. Ring",waist="Fotia Belt"})
  86.  
  87.     sets.precast.WS['Sanguine Blade'] = {
  88.         head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
  89.         body="Hagondes Coat +1",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
  90.         back="Toro Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
  91.  
  92.    
  93.     -- Midcast Sets
  94.    
  95.     sets.midcast.FastRecast = {
  96.         head="Atrophy Chapeau +1",ear2="Loquacious Earring",neck="Orunmila's Torque",
  97.         body="Vitivation Tabard",hands="Gende. Gages +1",ring1="Prolix Ring",
  98.         back="Swith Cape +1",waist="Witful Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
  99.  
  100.     sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",
  101.         head="Gendewitha Caubeen +1",neck="Colossus's Torque",ear1="Roundel Earring",ear2="Loquacious Earring",
  102.         body="Gende. Bilaut +1",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
  103.         back="Swith Cape +1",waist="Witful Belt",legs="Atrophy Tights",feet="Hagondes Sabots"}
  104.        
  105.     sets.midcast.Curaga = sets.midcast.Cure
  106.     sets.midcast.CureSelf = {}
  107.  
  108.     sets.midcast['Enhancing Magic'] = {
  109.         head="Atrophy Chapeau +1",neck="Colossus's Torque",
  110.         body="Vitivation Tabard",hands="Atrophy Gloves +1",ring1="Prolix Ring",
  111.         back="Estoqueur's Cape",waist="Olympus Sash",legs="Atrophy Tights",feet="Estoqueur's Houseaux +2"}
  112.  
  113.     sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}
  114.  
  115.     sets.midcast.Stoneskin = {waist="Siegel Sash"}
  116.    
  117.     sets.midcast['Enfeebling Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
  118.         head="Atrophy Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  119.         body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Levia. Ring",ring2="Sangoma Ring",
  120.         back="Refraction Cape",waist="Demonry Sash",legs="Artsieq Hose",feet="Artsieq Hose"}
  121.  
  122.     sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
  123.  
  124.     sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
  125.    
  126.     sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Dosis Tathlum",
  127.         head="Buremte Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Crematio Earring",
  128.         body="Hagondes Coat +1",hands="Yaoyotl Gloves",ring1="Shiva Ring +1",ring2="Acumen Ring",
  129.         back="Toro Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Hagondes Sabots"}
  130.        
  131.     sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
  132.  
  133.     sets.midcast['Dark Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
  134.         head="Atrophy Chapeau +1",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  135.         body="Vanir Cotehardie",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
  136.         back="Refraction Cape",waist="Goading Belt",legs="Artsieq Hose",feet="Artsieq Hose"}
  137.  
  138.     sets.midcast.Stun = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Oreiad's Tathlum",
  139.         head="Atrophy Chapeau +1",neck="Orunmila's Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
  140.         body="Vanir Cotehardie",hands="Gende. Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
  141.         back="Swith Cape +1",waist="Goading Belt",legs="Artsieq Hose",feet="Artsieq Boots"}
  142.  
  143.     sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})
  144.  
  145.     sets.midcast.Aspir = sets.midcast.Drain
  146.  
  147.  
  148.     -- Sets for special buff conditions on spells.
  149.  
  150.     sets.midcast.EnhancingDuration = {hands="Atrophy Gloves +1",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
  151.        
  152.     sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
  153.         body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
  154.         legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
  155.  
  156.     sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
  157.    
  158.  
  159.     -- Sets to return to when not performing an action.
  160.    
  161.     -- Resting sets
  162.     sets.resting = {main="Chatoyant Staff",sub="Oneiros Grip",
  163.         head="Vitivation Chapeau",neck="Bathy Choker",
  164.         body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  165.         waist="Hierarch Belt",legs="Nares Trews",feet="Serpentes Sabots"}
  166.    
  167.  
  168.     -- Idle sets
  169.     sets.idle = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  170.         head="Vitivation Chapeau",neck="Bathy Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  171.         body="Hagondes Coat +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  172.         back="Kumbira Cape",waist="Flume Belt",legs="Blood Cuisses",feet="Serpentes Sabots"}
  173.  
  174.     sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  175.         head="Atrophy Chapeau +1",neck="Bathy Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  176.         body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  177.         back="Kumbira Cape",waist="Flume Belt",legs="Blood Cuisses",feet="Serpentes Sabots"}
  178.    
  179.     sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
  180.         head="Vitivation Chapeau",neck="Bathy Choker",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  181.         body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
  182.         back="Kumbira Cape",waist="Flume Belt",legs="Blood Cuisses",feet="Serpentes Sabots"}
  183.  
  184.     sets.idle.PDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
  185.         head="Gendewitha Caubeen +1",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  186.         body="Gende. Bilaut +1",hands="Gende. Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  187.         back="Repulse Mantle",waist="Flume Belt",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  188.  
  189.     sets.idle.MDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
  190.         head="Gendewitha Caubeen +1",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  191.         body="Gende. Bilaut +1",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Dark Ring",
  192.         back="Repulse Mantle",waist="Flume Belt",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
  193.    
  194.    
  195.     -- Defense sets
  196.     sets.defense.PDT = {
  197.         head="Atrophy Chapeau +1",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  198.         body="Hagondes Coat +1",hands="Gende. Gages +1",ring1="Dark Ring",ring2="Dark Ring",
  199.         back="Repulse Mantle",waist="Flume Belt",legs="Hagondes Pants",feet="Gendewitha Galoshes +1"}
  200.  
  201.     sets.defense.MDT = {ammo="Demonry Stone",
  202.         head="Atrophy Chapeau +1",neck="Loricate Torque +1",ear1="Bloodgem Earring",ear2="Loquacious Earring",
  203.         body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Dark Ring",
  204.         back="Repulse Mantle",waist="Flume Belt",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}
  205.  
  206.     sets.Kiting = {legs="Blood Cuisses"}
  207.  
  208.     sets.latent_refresh = {waist="Fucho-no-obi"}
  209.  
  210.     -- Engaged sets
  211.  
  212.     -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
  213.     -- sets if more refined versions aren't defined.
  214.     -- If you create a set with both offense and defense modes, the offense mode should be first.
  215.     -- EG: sets.engaged.Dagger.Accuracy.Evasion
  216.    
  217.     -- Normal melee group
  218.     sets.engaged = {
  219.         head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  220.         body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  221.         back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats +1",feet="Atrophy Boots"}
  222.  
  223.     sets.engaged.Defense = {ammo="Demonry Stone",
  224.         head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  225.         body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
  226.         back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats +1",feet="Atrophy Boots"}
  227.  
  228. end
  229.  
  230. -------------------------------------------------------------------------------------------------------------------
  231. -- Job-specific hooks for standard casting events.
  232. -------------------------------------------------------------------------------------------------------------------
  233.  
  234. -- Run after the default midcast() is done.
  235. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  236. function job_post_midcast(spell, action, spellMap, eventArgs)
  237.     if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  238.         equip(sets.buff.Saboteur)
  239.     elseif spell.skill == 'Enhancing Magic' then
  240.         equip(sets.midcast.EnhancingDuration)
  241.         if buffactive.composure and spell.target.type == 'PLAYER' then
  242.             equip(sets.buff.ComposureOther)
  243.         end
  244.     elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  245.         equip(sets.midcast.CureSelf)
  246.     end
  247. end
  248.  
  249. -------------------------------------------------------------------------------------------------------------------
  250. -- Job-specific hooks for non-casting events.
  251. -------------------------------------------------------------------------------------------------------------------
  252.  
  253. -- Handle notifications of general user state change.
  254. function job_state_change(stateField, newValue, oldValue)
  255.     if stateField == 'Offense Mode' then
  256.         if newValue == 'None' then
  257.             enable('main','sub','range')
  258.         else
  259.             disable('main','sub','range')
  260.         end
  261.     end
  262. end
  263.  
  264. -------------------------------------------------------------------------------------------------------------------
  265. -- User code that supplements standard library decisions.
  266. -------------------------------------------------------------------------------------------------------------------
  267.  
  268. -- Modify the default idle set after it was constructed.
  269. function customize_idle_set(idleSet)
  270.     if player.mpp < 51 then
  271.        idleSet = set_combine(idleSet, sets.latent_refresh)
  272.    end
  273.    
  274.    return idleSet
  275. end
  276.  
  277. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  278. function display_current_job_state(eventArgs)
  279.    display_current_caster_state()
  280.    eventArgs.handled = true
  281. end
  282. -------------------------------------------------------------------------------------------------------------------
  283. -- Utility functions specific to this job.
  284. -------------------------------------------------------------------------------------------------------------------
  285. -- Select default macro book on initial load or subjob change.
  286. function select_default_macro_book()
  287.    -- Default macro set/book
  288.    if player.sub_job == 'DNC' then
  289.        set_macro_page(3, 2)
  290.    elseif player.sub_job == 'NIN' then
  291.        set_macro_page(3, 2)
  292.     elseif player.sub_job == 'BLM' then
  293.         set_macro_page(1, 2)
  294.    elseif player.sub_job == 'WHM' then
  295.        set_macro_page(2, 2)
  296.    else
  297.        set_macro_page(2, 2)
  298.    end
  299. end
Advertisement
Add Comment
Please, Sign In to add comment