Advertisement
Guest User

RDM lua

a guest
Jun 16th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.10 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------------------------------
  2. -- Setup functions for this job. Generally should not be modified.
  3. -------------------------------------------------------------------------------------------------------------------
  4.  
  5. -- Initialization function for this job file.
  6. function get_sets()
  7. mote_include_version = 2
  8.  
  9. -- Load and initialize the include file.
  10. include('Mote-Include.lua')
  11. end
  12.  
  13.  
  14. -- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
  15. function job_setup()
  16. state.Buff.Saboteur = buffactive.saboteur or false
  17. end
  18.  
  19. -------------------------------------------------------------------------------------------------------------------
  20. -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
  21. -------------------------------------------------------------------------------------------------------------------
  22.  
  23. -- Setup vars that are user-dependent. Can override this function in a sidecar file.
  24. function user_setup()
  25. state.OffenseMode:options('None', 'Normal')
  26. state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
  27. state.CastingMode:options('Normal', 'Resistant')
  28. state.IdleMode:options('Normal', 'PDT', 'MDT')
  29.  
  30. gear.default.obi_waist = "Sekhmet Corset"
  31.  
  32. select_default_macro_book()
  33. end
  34.  
  35.  
  36. -- Define sets and vars used by this job file.
  37. function init_gear_sets()
  38. --------------------------------------
  39. -- Start defining the sets
  40. --------------------------------------
  41.  
  42. -- Precast Sets
  43.  
  44. -- Precast sets to enhance JAs
  45. sets.precast.JA['Chainspell'] = {body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}}}
  46.  
  47.  
  48. -- Waltz set (chr and vit)
  49. sets.precast.Waltz = {}
  50.  
  51. -- Don't need any special gear for Healing Waltz.
  52. sets.precast.Waltz['Healing Waltz'] = {}
  53.  
  54. -- Lunge set (MAB)
  55. sets.precast.JA['Lunge'] = {ammo="Witchstone",
  56. head={ name="Merlinic Hood", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','Magic burst mdg.+10%','Mag. Acc.+15',}},neck="Sanctity Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
  57. body="Jhakri Robe +1",hands={ name="Amalric Gages", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},ring1="Acumen Ring",ring2="Strendu Ring",
  58. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+26','Magic burst mdg.+9%','INT+7','Mag. Acc.+5',}},feet="Jhakri Pigaches +2"}
  59.  
  60. -- Swipe set (MAB)
  61. sets.precast.JA['Swipe'] = {ammo="Witchstone",
  62. head={ name="Merlinic Hood", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','Magic burst mdg.+10%','Mag. Acc.+15',}},neck="Sanctity Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
  63. body="Jhakri Robe +1",hands={ name="Amalric Gages", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},ring1="Acumen Ring",ring2="Strendu Ring",
  64. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+26','Magic burst mdg.+9%','INT+7','Mag. Acc.+5',}},feet="Jhakri Pigaches +2"}
  65.  
  66. -- Fast cast sets for spells
  67.  
  68. -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
  69. -- No other FC sets necessary.
  70. sets.precast.FC = {head="Atrophy Chapeau +1",body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}}}
  71.  
  72. sets.precast.Stoneskin = set_combine(sets.precast.FC, {waist="Siegel Sash"})
  73.  
  74. sets.precast.FC.Impact = set_combine(sets.precast.FC, {})
  75.  
  76. sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads"})
  77.  
  78. -- Weaponskill sets
  79. -- Default set for any weaponskill that isn't any more specifically defined
  80. sets.precast.WS = {ammo="Ginsen",
  81. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  82. body="Jhakri Robe +1",hands="Jhakri cuffs +1",ring1="Rajas Ring",ring2="Petrov Ring",
  83. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Fotia Belt",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet="Jhakri Pigaches +2"}
  84.  
  85. -- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
  86.  
  87. sets.precast.WS['Chant du Cygne'] = {ammo="Ginsen",
  88. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Fotia Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  89. body="Jhakri Robe +1",hands="Jhakri cuffs +1",ring1="Begrudging Ring",ring2="Petrov Ring",
  90. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Fotia Belt",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet="Thereoid Greaves"}
  91.  
  92. sets.precast.WS['Savage Blade'] = {ammo="Ginsen",
  93. head="Jhakri Coronal +1", neck="Fotia Gorget",
  94. body="Jhakri Robe +1", hands="Jhakri Cuffs +1",ring1="Rajas Ring", ring2="Petrov Ring",
  95. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Fotia Belt",legs="Jhakri Slops +1",feet="Jhakri Pigaches +2"}
  96.  
  97. sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
  98. head="Jhakri coronal +1",neck="Fotia Gorget",ear1="Friomisi Earring",ear2="Hecate's Earring",
  99. body="Jhakri Robe +1",hands="Jhakri cuffs +1",ring1="Acumen Ring",ring2="Strendu Ring",
  100. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Fotia Belt",legs="Jhakri slops +1",feet="Jhakri Pigaches +2"}
  101.  
  102. sets.precast.WS['Aeolian Edge'] = {ammo="Witchstone",
  103. head="Jhakri coronal +1",neck="Fotia Gorget",ear1="Friomisi Earring",ear2="Hecate's Earring",
  104. body="Jhakri Robe +1",hands="Jhakri cuffs +1",ring1="Acumen Ring",ring2="Strendu Ring",
  105. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Fotia Belt",legs="Jhakri slops +1",feet="Jhakri Pigaches +2"}
  106.  
  107. -- Midcast Sets
  108.  
  109. sets.midcast.FastRecast = {}
  110.  
  111. sets.midcast.Cure = {
  112. head="Vanya Hood",ear1="Roundel Earring",ear2="Mendi. Earring",
  113. hands={ name="Kaykaus Cuffs", augments={'MP+60','MND+10','Mag. Acc.+15',}},legs="Atrophy Tights +1",
  114. feet={ name="Vanya Clogs", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
  115. back="Solemnity cape",waist="Gishdubar Sash",ring1="Ephedra Ring",ring2="Sirona's Ring"}
  116.  
  117. sets.midcast.Curaga = sets.midcast.Cure
  118. sets.midcast.CureSelf = {}
  119.  
  120. sets.midcast['Enhancing Magic'] = {
  121. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Melic Torque",ear1="Augment. Earring",ear2="Andoaa Earring",
  122. body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},hands="Atrophy Gloves +1",ring1="Stikini Ring", ring2="Stikini Ring",
  123. back={ name="Ghostfyre Cape", augments={'Enfb.mag. skill +8','Enha.mag. skill +10','Mag. Acc.+4','Enh. Mag. eff. dur. +18',}},waist="Olympus Sash",legs="Atrophy Tights +1",feet="Leth. Houseaux +1",}
  124.  
  125. sets.midcast.Utsusemi = {
  126. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Sanctity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  127. body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},hands={ name="Taeon Gloves", augments={'Accuracy+24','"Triple Atk."+1',}},ring1="Rajas Ring",ring2="Petrov Ring",
  128. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs={ name="Taeon Tights", augments={'"Triple Atk."+2',}},feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}}}
  129.  
  130. sets.midcast.Temper = {
  131. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Melic Torque",ear1="Augment. Earring",ear2="Andoaa Earring",
  132. body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},hands="Atrophy Gloves +1",ring1="Stikini Ring", ring2="Stikini Ring",
  133. back={ name="Ghostfyre Cape", augments={'Enfb.mag. skill +8','Enha.mag. skill +10','Mag. Acc.+4','Enh. Mag. eff. dur. +18',}},waist="Olympus Sash",legs="Atrophy Tights +1",feet="Leth. Houseaux +1",}
  134.  
  135. sets.midcast.Enspell = {
  136. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Melic Torque",ear1="Augment. Earring",ear2="Andoaa Earring",
  137. body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},hands="Atrophy Gloves +1",ring1="Stikini Ring", ring2="Stikini Ring",
  138. back={ name="Ghostfyre Cape", augments={'Enfb.mag. skill +8','Enha.mag. skill +10','Mag. Acc.+4','Enh. Mag. eff. dur. +18',}},waist="Olympus Sash",legs="Atrophy Tights +1",feet="Leth. Houseaux +1",}
  139.  
  140. sets.midcast.Refresh = set_combine(sets.midcast['Enhancing Magic'], {waist="Gishdubar Sash",legs="Lethargy Fuseau +1"})
  141.  
  142. sets.midcast.Stoneskin = {
  143. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Stone Gorget",ear1="Earthcry Earring",ear2="Andoaa Earring",
  144. body={ name="Viti. Tabard +1", augments={'Enhances "Chainspell" effect',}},hands="Atrophy Gloves +1",ring1="Stikini Ring", ring2="Stikini Ring",
  145. back={ name="Ghostfyre Cape", augments={'Enfb.mag. skill +8','Enha.mag. skill +10','Mag. Acc.+4','Enh. Mag. eff. dur. +18',}},waist="Siegel Sash",legs="Haven Hose",feet="Leth. Houseaux +1"}
  146.  
  147. sets.midcast['Enfeebling Magic'] = {ammo="Quartz Tathlum +1",
  148. head="Vitivation Chapeau +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  149. body="Lethargy Sayon +1",hands={ name="Kaykaus Cuffs", augments={'MP+60','MND+10','Mag. Acc.+15',}},
  150. ring1="Stikini Ring",ring2="Stikini Ring",
  151. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",
  152. legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},feet="Uk'uxkaj Boots"}
  153.  
  154. sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1", waist="Chaac Belt"})
  155.  
  156. sets.midcast['Diaga'] = sets.midcast['Dia III']
  157.  
  158. sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau +1"})
  159.  
  160. sets.midcast['Elemental Magic'] = {ammo="Witchstone",
  161. head={ name="Merlinic Hood", augments={'Mag. Acc.+15 "Mag.Atk.Bns."+15','Magic burst dmg.+10%','Mag. Acc.+15',}},neck="Mizu. Kubikazari",ear1="Friomisi Earring",ear2="Hecate's Earring",
  162. body="Jhakri Robe +1",hands={ name="Amalric Gages", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},ring1="Mujin Band",ring2="Locus Ring",
  163. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+26','Magic burst dmg.+9%','INT+7','Mag. Acc.+5',}},feet="Jhakri Pigaches +2"}
  164.  
  165. sets.midcast['Impact'] = set_combine(sets.midcast['Elemental Magic'], {ring1="stikini ring", ring2="stikini ring"})
  166.  
  167. sets.midcast['Stonega II'] = {ammo="Witchstone",
  168. head="Jhakri Coronal +1",neck="Sanctity Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
  169. body="Jhakri Robe +1",hands={ name="Amalric Gages", augments={'INT+10','Mag. Acc.+15','"Mag.Atk.Bns."+15',}},ring1="Strendu Ring",ring2="Acumen Ring",
  170. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",legs={ name="Merlinic Shalwar", augments={'"Mag.Atk.Bns."+26','Magic burst dmg.+9%','INT+7','Mag. Acc.+5',}},feet="Jhakri Pigaches +2"}
  171.  
  172. sets.midcast['Dark Magic'] = {ammo="Kalboron stone",
  173. head="Lethargy Chappel +1",neck="Imbodla Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
  174. body="Lethargy Sayon +1",hands="Jhakri cuffs +1",ring1="Stikini Ring",ring2="Stikini Ring",
  175. back={ name="Sucellos's Cape", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','"Mag.Atk.Bns."+10',}},waist="Salire Belt",legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},feet={ name="Taeon Boots", augments={'Accuracy+15 Attack+15','"Triple Atk."+2'}}}
  176.  
  177. --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
  178.  
  179. sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {waist="Fucho-no-Obi", ring2="Evanescence Ring"})
  180.  
  181. sets.midcast.Aspir = sets.midcast.Drain
  182.  
  183.  
  184. -- Sets for special buff conditions on spells.
  185.  
  186. sets.midcast.EnhancingDuration = set_combine(sets.midcast['Enhancing Magic'], {hands="Atrophy Gloves +1",back={ name="Ghostfyre Cape", augments={'Enfb.mag. skill +8','Enha.mag. skill +10','Mag. Acc.+4','Enh. Mag. eff. dur. +18',}},feet="Leth. Houseaux +1",
  187. body="Vitivation Tabard +1"})
  188.  
  189. sets.buff.ComposureOther = set_combine(sets.midcast['Enhancing Magic'], {head="Lethargy Chappel +1",body="Lethargy Sayon +1",hands="Atrophy Gloves +1",
  190. legs="Lethargy Fuseau +1",feet="Lethargy houseaux +1"})
  191.  
  192. sets.buff.Saboteur = set_combine(sets.midcast['Enfeebling Magic'], {hands="Lethargy Gantherots +1"})
  193.  
  194.  
  195. -- Sets to return to when not performing an action.
  196.  
  197. -- Resting sets
  198. sets.resting = {}
  199.  
  200.  
  201. -- Idle sets
  202. sets.idle = {ammo="Ginsen",
  203. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Sanctity Necklace",ear1="Suppanomimi",ear2="Cessance Earring",
  204. body="Ayanmo Corazza +1",hands={ name="Chironic Gloves", augments={'STR+2','"Store TP"+4','Crit.hit rate+1','Accuracy+17 Attack+17','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},ring1="Rajas Ring",ring2="Petrov Ring",
  205. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}}}
  206.  
  207. sets.idle.Town = {ammo="Ginsen",
  208. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Sanctity Necklace",ear1="Suppanomimi",ear2="Cessance Earring",
  209. body="Ayanmo Corazza +1",hands={ name="Chironic Gloves", augments={'STR+2','"Store TP"+4','Crit.hit rate+1','Accuracy+17 Attack+17','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},ring1="Rajas Ring",ring2="Petrov Ring",
  210. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}}}
  211.  
  212. sets.idle.Weak = {}
  213.  
  214. sets.idle.PDT = {}
  215.  
  216. sets.idle.MDT = {}
  217.  
  218.  
  219. -- Defense sets
  220. sets.defense.PDT = {ammo="Ginsen",
  221. head="Aya. Zucchetto +1",neck="Twilight Torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  222. body="Ayanmo Corazza +1",hands={ name="Chironic Gloves", augments={'STR+2','"Store TP"+4','Crit.hit rate+1','Accuracy+17 Attack+17','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},ring1="Defending Ring",ring2="Gelatinous Ring +1",
  223. back="Solemnity cape",waist="Flume belt +1",legs={ name="Viti. Tights +1", augments={'Enhances "Bio III" effect','Enhances "Blind II" effect',}},feet="Battlecast Gaiters"}
  224.  
  225.  
  226. sets.defense.MDT = {ammo="Ginsen",
  227. head={ name="Aya. Zucchetto +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Sanctity Necklace",ear1="Suppanomimi",ear2="Cessance Earring",
  228. body="Ayanmo Corazza +1",hands={ name="Chironic Gloves", augments={'STR+2','"Store TP"+4','Crit.hit rate+1','Accuracy+17 Attack+17','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},ring1="Rajas Ring",ring2="Petrov Ring",
  229. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}}}
  230.  
  231.  
  232. sets.Kiting = {}
  233.  
  234. sets.latent_refresh = {}
  235.  
  236. -- Engaged sets
  237.  
  238. -- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
  239. -- sets if more refined versions aren't defined.
  240. -- If you create a set with both offense and defense modes, the offense mode should be first.
  241. -- EG: sets.engaged.Dagger.Accuracy.Evasion
  242.  
  243. -- Normal melee group
  244. sets.engaged = {ammo="Ginsen",
  245. head={ name="Carmine Mask +1", augments={'Accuracy+12','DEX+12','MND+20',}},neck="Sanctity Necklace",ear1="Suppanomimi",ear2="Cessance Earring",
  246. body="Ayanmo Corazza +1",hands={ name="Chironic Gloves", augments={'STR+2','"Store TP"+4','Crit.hit rate+1','Accuracy+17 Attack+17','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},ring1="Rajas Ring",ring2="Petrov Ring",
  247. back={ name="Sucellos's Cape", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Store TP"+10',}},waist="Windbuffet Belt +1",legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},feet={ name="Carmine Greaves +1", augments={'Accuracy+12','DEX+12','MND+20',}}}
  248.  
  249. sets.engaged.Defense = {}
  250.  
  251. end
  252.  
  253. -------------------------------------------------------------------------------------------------------------------
  254. -- Job-specific hooks for standard casting events.
  255. -------------------------------------------------------------------------------------------------------------------
  256.  
  257. -- Run after the default midcast() is done.
  258. -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
  259. function job_post_midcast(spell, action, spellMap, eventArgs)
  260. if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
  261. equip(sets.buff.Saboteur)
  262. elseif spell.skill == 'Enhancing Magic' then
  263. equip(sets.midcast.EnhancingDuration)
  264. if spell.target.type == 'SELF' then
  265. equip(sets.buff.EnhancingDuration)
  266. else
  267. equip(sets.buff.ComposureOther)
  268. end
  269. elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
  270. equip(sets.midcast.CureSelf)
  271. end
  272. end
  273.  
  274. -------------------------------------------------------------------------------------------------------------------
  275. -- Prevents TP loss for enhancing magic depending on mode.
  276. -------------------------------------------------------------------------------------------------------------------
  277.  
  278. -------------------------------------------------------------------------------------------------------------------
  279. -- Job-specific hooks for non-casting events.
  280. -------------------------------------------------------------------------------------------------------------------
  281.  
  282. -- Handle notifications of general user state change.
  283. function job_state_change(stateField, newValue, oldValue)
  284. if stateField == 'Offense Mode' then
  285. if newValue == 'None' then
  286. enable('main','sub','range')
  287. else
  288. disable('main','sub','range')
  289. end
  290. end
  291. end
  292.  
  293. -------------------------------------------------------------------------------------------------------------------
  294. -- User code that supplements standard library decisions.
  295. -------------------------------------------------------------------------------------------------------------------
  296.  
  297. -- Modify the default idle set after it was constructed.
  298. function customize_idle_set(idleSet)
  299. if player.mpp < 51 then
  300. idleSet = set_combine(idleSet, sets.latent_refresh)
  301. end
  302.  
  303. return idleSet
  304. end
  305.  
  306. -- Set eventArgs.handled to true if we don't want the automatic display to be run.
  307. function display_current_job_state(eventArgs)
  308. display_current_caster_state()
  309. eventArgs.handled = true
  310. end
  311.  
  312. -------------------------------------------------------------------------------------------------------------------
  313. -- Utility functions specific to this job.
  314. -------------------------------------------------------------------------------------------------------------------
  315.  
  316. -- Select default macro book on initial load or subjob change.
  317. function select_default_macro_book()
  318. -- Default macro set/book
  319. if player.sub_job == 'WAR' then
  320. set_macro_page(1, 1)
  321. elseif player.sub_job == 'NIN' then
  322. set_macro_page(1, 2)
  323. elseif player.sub_job == 'DNC' then
  324. set_macro_page(1, 3)
  325. elseif player.sub_job == 'RUN' then
  326. set_macro_page(1, 4)
  327. elseif player.sub_job == 'WHM' then
  328. set_macro_page(1, 5)
  329. elseif player.sub_job == 'BLM' then
  330. set_macro_page(1, 6)
  331. elseif player.sub_job == 'SCH' then
  332. set_macro_page(1, 7)
  333. elseif player.sub_job == 'BLU' then
  334. set_macro_page(1, 8)
  335. elseif player.sub_job == 'THF' then
  336. set_macro_page(1, 9)
  337. else
  338. set_macro_page(1, 1)
  339. end
  340. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement