Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.50 KB | None | 0 0
  1.  
  2. --[[
  3.  
  4. Custom commands:
  5.  
  6. //gs c unlock (or macro "/console gs c unlock"):
  7. enables Main, Sub (use after drawing a weapon locks them)
  8.  
  9. //gs c idle (or macro /console gs c idle):
  10. Toggles idle sets between Regen and PDT
  11.  
  12. //gs c acc (or macro /console gs c acc):
  13. Toggles accuracy for TP, WS and spells on monsters
  14.  
  15. //gs c instrument (or macro /console gs c intrument):
  16. Locks Daurdabla on all songs (except Honor March)
  17.  
  18.  
  19. Extra songs:
  20. To get extra songs up, either sing dummy songs and then sing the normal songs.
  21. Or sing the extra songs with Daurdabla locked, and then sing them again. (toggle daurdabla on/off manually with //gc c instrument)
  22.  
  23.  
  24.  
  25. --]]
  26.  
  27. function get_sets()
  28.  
  29. Instrument={}
  30. Instrument._tab = T{'None', 'Daurdabla'}
  31. Instrument._index = 1
  32.  
  33.  
  34. -- Dummy songs --
  35. DaurdSongs = T{'Fowl Aubade','Herb Pastoral','Shining Fantasia', 'Goblin Gavotte', "Goddess's Hymnus"}
  36.  
  37. -- Spells where instacast gear is good --
  38. Instacast = T{'Raise','Raise II','Raise III', 'Arise', 'Reraise' , 'Reraise II', 'Reraise III', 'Reraise IV',
  39. 'Teleport-Holla', 'Teleport-Dem', 'Teleport-Mea', 'Teleport-Yhoat', 'Teleport-Altep', 'Teleport-Vahzl'}
  40.  
  41. -- Set Macrobook, load timers --
  42. send_command('input /macro book 1;wait .1;input /macro set 1')
  43. timer_reg = {}
  44.  
  45. -- Load Augmented gear --
  46. include('include/AugmentedGear.lua')
  47.  
  48. -- Bard only augmented gear --
  49. FCback = { name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Fast Cast"+10',}}
  50. DDback={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10',}}
  51.  
  52.  
  53.  
  54. -- Base idle set --
  55. sets.idle = {main="carnwenhan", sub="Genmei Shield", ammo="staunch tathlum",
  56. head="inyanga tiara +2",neck="Moonbow whistle +1",ear1="Etiolation earring",ear2="ethereal earring",
  57. body="Inyanga Jubbah +2",hands="inyanga dastanas +2",ring1="Defending Ring",ring2="dark Ring",
  58. back="Reiki cloak",waist="Flume Belt +1",legs="Inyanga shalwar +2",feet="Fili Cothurnes +1"}
  59.  
  60. -- Default idle set --
  61. sets.idle.Regen = set_combine(sets.idle, {neck="sanctity necklace"})
  62.  
  63. -- Alternative idle sets --
  64. sets.idle.PDT = set_combine(sets.idle, {neck="twilight torque", ear2="genmei earring", feet= "ayanmo gambieras +2"})
  65. sets.idle.Normal = set_combine(sets.idle, {neck="moonbow whistle +1"})
  66.  
  67.  
  68. -- Idle Options --
  69. sets.idle._tab = {'Regen','PDT','Normal'}
  70.  
  71. sets.idle._index = 1
  72.  
  73. -- Accuracy Options --
  74. sets.Acc = {}
  75.  
  76. sets.Acc._tab = {'Normal','Acc'}
  77.  
  78. sets.Acc._index = 1
  79.  
  80.  
  81. -- Precast Sets --
  82. sets.precast = {}
  83.  
  84. -- Job Abilities sets--
  85. sets.precast.JA = {}
  86. sets.precast.JA.Nightingale = {feet="Bihu Slippers +1"}
  87. sets.precast.JA.Troubadour = {body="Bihu Justaucorps +1"}
  88. sets.precast.JA['Soul Voice'] = {legs="Bihu Cannions +1"}
  89.  
  90.  
  91. -- Magic precast sets --
  92. sets.precast.FC = {main=FCGrio, sub="Clerisy strap", ammo="sapience orb",
  93. head="Nahtirah Hat", neck="orunmila's torque", ear1="etiolation earring", ear2="Loquac. Earring",
  94. body="Inyanga Jubbah +2", hands="Gendewitha Gages +1",ring1="kishar ring", ring2="Prolix Ring",
  95. back=FCback, waist="Ninurta's Sash",legs="ayanmo cosciales +1" ,feet="Chelona Boots +1"}
  96.  
  97. sets.precast.FC.Song = set_combine(sets.precast.FC, {main="carnwenhan", sub="genmei shield", range="gjallarhorn", ammo=empty,
  98. head="Fili Calot +1", neck="moonbow whistle +1", ear1="Aoidos' Earring",
  99. waist="Aoidos' Belt",legs="Gendewitha spats",feet="Bihu slippers +1"})
  100.  
  101. sets.precast.EnhancingMagic = set_combine(sets.precast.FC,
  102. {waist="Siegel Sash"})
  103.  
  104. sets.precast.Stoneskin = set_combine(sets.precast.FC,
  105. {head="Umuthi hat"})
  106.  
  107. sets.precast.Cure = set_combine(sets.precast.FC,
  108. {legs="doyen pants"})
  109.  
  110.  
  111. -- Weaponskills --
  112. sets.precast.WS = {range="linos",
  113. head="Ayanmo zucchetto +1",neck="fotia gorget",ear1="Moonshade earring",ear2="Brutal Earring",
  114. body="Ayanmo corazza +2",hands=ChirWShands ,ring1="Ilabrat ring",ring2="Etana ring",
  115. back=DDback, waist="fotia belt", legs=ChirTPlegs, feet=ChirTPfeet}
  116.  
  117. sets.precast.WS.Normal = set_combine(sets.precast.WS)
  118. sets.precast.WS.Acc = set_combine(sets.precast.WS)
  119.  
  120. sets.MordantRime = set_combine(sets.precast.WS, {head=ChirTPhead, hands="regal gloves"})
  121. sets.MordantRime.Normal = set_combine(sets.MordantRime)
  122. sets.MordantRime.Acc = set_combine(sets.MordantRime, {neck="subtlety spectacles"})
  123.  
  124. sets.Rudra = set_combine(sets.precast.WS)
  125. sets.Rudra.Normal = set_combine(sets.Rudra)
  126. sets.Rudra.Acc = set_combine(sets.Rudra)
  127.  
  128. sets.Evisceration = set_combine(sets.precast.WS)
  129. sets.Evisceration.Normal = set_combine(sets.Evisceration)
  130. sets.Evisceration.Acc = set_combine(sets.Evisceration)
  131.  
  132.  
  133. -- TP sets --
  134. sets.TP = {range="linos",
  135. head="Ayanmo zucchetto +1",neck="clotharius torque",ear1="Bladeborn Earring",ear2="Steelflash Earring",
  136. body="Ayanmo corazza +2",hands="ayanmo manopolas +1",ring1="Ilabrat ring",ring2="Petrov ring",
  137. back=DDback, waist="Sarissapho. Belt", legs="ayanmo cosciales +1", feet="ayanmo gambieras +2"}
  138.  
  139. sets.TP.Normal = set_combine(sets.TP)
  140.  
  141. sets.TP.Acc = set_combine(sets.TP, {ammo="staunch tathlum",
  142. waist="slipor sash", ring1="defending ring", ring2="dark ring"})
  143.  
  144.  
  145. -- Midcast Sets
  146. sets.midcast = {}
  147.  
  148.  
  149. -- Base set to reduce recast --
  150. sets.midcast.Haste = set_combine(sets.precast.FC)
  151.  
  152. -- Songs --
  153. sets.midcast.Songduration = {main="Carnwenhan", sub="genmei shield", range="Gjallarhorn",
  154. head="Fili Calot +1",neck="moonbow whistle +1",
  155. body="Fili Hongreline +1",hands="Fili Manchettes +1",
  156. legs="Inyanga shalwar +2",feet="brioso slippers +3"}
  157.  
  158. sets.midcast.March = set_combine(sets.midcast.Songduration, {hands="Fili manchettes +1"})
  159.  
  160. sets.midcast.HonorMarch = set_combine(sets.midcast.March, {range="marsyas"})
  161.  
  162. sets.midcast.Ballad = set_combine(sets.midcast.Songduration, {legs="Fili Rhingrave +1"})
  163.  
  164. sets.midcast.Madrigal = set_combine(sets.midcast.Songduration, {head="Fili Calot +1", back=FCback})
  165.  
  166. sets.midcast.Madrigal = set_combine(sets.midcast.Songduration, {back=FCback})
  167.  
  168. sets.midcast.March = set_combine(sets.midcast.Songduration, {hands="Fili manchettes +1"})
  169.  
  170. sets.midcast.Scherzo = set_combine(sets.midcast.Songduration, {feet="Fili cothurnes +1"})
  171.  
  172. sets.midcast.Paeon = set_combine(sets.midcast.Songduration, {})
  173.  
  174. sets.midcast.Minne = set_combine(sets.midcast.Songduration, {legs="mousai seraweels"})
  175.  
  176. -- Debuff Songs --
  177. sets.midcast.SongDebuff ={range="Marsyas",
  178. head="Fili calot +1",neck="moonbow whistle +1", ear1="hermetic earring", ear2="dignitary's earring",
  179. body="Fili Hongreline +1",hands="Fili manchettes +1", ring1="Etana ring",ring2="Sangoma Ring",
  180. back=FCback, waist="Porous rope", legs="Inyanga shalwar +2",feet="brioso slippers +3"}
  181.  
  182. sets.midcast.SongDebuff.Normal = set_combine(sets.midcast.SongDebuff, {main="carnwenhan"})
  183. sets.midcast.SongDebuff.Acc = set_combine(sets.midcast.SongDebuff, {main=MACCGrio, sub="clerisy strap",range="Gjallarhorn",
  184. head="inyanga tiara +2"})
  185.  
  186. sets.midcast.Threnody= {}
  187. sets.midcast.Threnody.Normal= set_combine(sets.midcast.SongDebuff.Normal, {main="carnwenhan", body="mousai manteel"})
  188. sets.midcast.Threnody.Acc= set_combine(sets.midcast.Threnody, {range="gjallarhorn",
  189. head="inyanga tiara +2"})
  190.  
  191. sets.midcast.Lullaby = set_combine(sets.midcast.SongDebuff.Normal, {range="marsyas",
  192. head="Fili Calot +1",neck="moonbow whistle +1",
  193. body="Fili Hongreline +1",hands="Fili Manchettes +1",
  194. legs="Inyanga shalwar +2",feet="brioso slippers +3"})
  195. sets.midcast.Lullaby.Normal= set_combine(sets.midcast.Lullaby)
  196. sets.midcast.Lullaby.Acc= set_combine(sets.midcast.Lullaby, {range="gjallarhorn"})
  197.  
  198. -- Added to song debuffs when Troubadour or Elemental Seal is on --
  199. sets.midcast.Duration = {main="carnwenhan", range="Marsyas",
  200. head="Fili Calot +1",neck="moonbow whistle +1",
  201. body="Fili Hongreline +1",hands="Fili Manchettes +1",
  202. legs="Inyanga shalwar +2",feet="brioso slippers +3"}
  203.  
  204.  
  205. -- Spells --
  206.  
  207. sets.midcast.Cure = {main="Arka IV" , sub="Clerisy strap" ,
  208. head="Gendewitha caubeen +1",neck="Orunmila's torque", ear1="Lempo earring" , ear2="Lifestorm earring",
  209. body=ChirMACCbody,hands= ChirMACChands,ring1="Prolix Ring",ring2="Ephedra Ring",
  210. back="Medala cape" , waist="ninurta's sash",legs=ChirMACClegs,feet="Gendewitha galoshes +1"}
  211.  
  212. sets.midcast.Cursna = {main="oranyan", sub="clemency grip",
  213. neck="Debilis medallion",
  214. hands="inyanga dastanas +2",
  215. ring1="Ephedra Ring", ring2="sirona's ring", feet="Gendewitha galoshes +1"}
  216.  
  217.  
  218. -- Enhancing set when only duration matters --
  219. sets.midcast.EnhancingMagic ={main="oranyan", sub="clemency grip",
  220. head="telchine cap",
  221. body="telchine chasuble", hands="telchine gloves",
  222. feet="telchine Pigaches"}
  223.  
  224. -- Specific enhancing sets --
  225. sets.midcast.Stoneskin = set_combine(sets.midcast.EnhancingMagic,{legs="shedir seraweels"})
  226.  
  227. sets.midcast.Aquaveil = set_combine(sets.midcast.EnhancingMagic, {head="chironic hat"})
  228.  
  229. sets.midcast.ProShell = set_combine(sets.midcast.EnhancingMagic, {})
  230.  
  231. sets.midcast.Regen = set_combine(sets.midcast.EnhancingMagic, {back="kumbira cape"})
  232.  
  233. -- Enfeebling set (not songs only spells)
  234. sets.midcast.enfeebling = {main=MACCGrio, sub="clerisy strap", range="Gjallarhorn",
  235. head="Inyanga tiara +2",neck="moonbow whistle +1", ear1="hermetic earring", ear2="dignitary's earring",
  236. body="Inyanga jubbah +2",hands="Inyanga dastanas +2", ring1="Kishar ring",ring2="Sangoma Ring",
  237. back=FCback, waist="Porous rope", legs="Inyanga shalwar +2",feet="brioso slippers +3"}
  238.  
  239. sets.midcast.enfeebling.Normal = set_combine(sets.midcast.enfeebling)
  240. sets.midcast.enfeebling.Acc = set_combine(sets.midcast.enfeebling)
  241.  
  242. -- Instacast set added to spells in Instacast list --
  243. sets.Instacast ={ammo="impatiens", waist="witfull belt"}
  244.  
  245.  
  246. -- Job ability sets --
  247.  
  248. -- Waltz set (Waltz Potency + CHR)
  249. sets.Waltz = {range="gjallarhorn"}
  250.  
  251. -- Waltz set when self targetting (Waltz Potency recieved + VIT)
  252. sets.Waltz.Self = set_combine(sets.midcast.Waltz)
  253.  
  254. -- Quickstep --
  255. sets.quickstep = set_combine(sets.TP.Acc)
  256.  
  257. end
  258.  
  259.  
  260. function precast(spell)
  261. if buffactive.sleep or buffactive.petrification or buffactive.terror or buffactive.charm then
  262. cancel_spell()
  263. equip(sets.idle.PDT)
  264. windower.add_to_chat(39,'Immobilized: Canceling spell, and putting PDT on')
  265. return
  266. elseif buffactive.silence and spell.action_type=="Magic" then
  267. cancel_spell()
  268. send_command('@input /item "Echo drops" <me>')
  269. windower.add_to_chat(39,'Silenced: Using Echo drops instead')
  270. return
  271. elseif buffactive.amnesia and spell.action_type=="Weaponskill" then
  272. cancel_spell()
  273. equip(sets.TP[sets.Acc._tab[sets.Acc._index]])
  274. windower.add_to_chat(39,'Amnesia; canceling ws')
  275. return
  276. end
  277.  
  278.  
  279. -- Precast Song Rules --
  280. if spell.type=="BardSong" then
  281. -- Auto-Pianissimo
  282. if ((spell.target.type == 'PLAYER' and not spell.target.charmed) or (spell.target.type == 'NPC' and spell.target.in_party)) and not
  283. buffactive["Pianissimo"] then
  284. cancel_spell()
  285. send_command('@input /ja "Pianissimo" <me>; wait 1.5; input /ma "'..spell.name..'" '..spell.target.name)
  286. return
  287. end
  288. -- Nightingale up, precast in duration/potency gear
  289. if buffactive["Nightingale"] then
  290. equip_song_gear(spell)
  291. windower.add_to_chat(8,'Nightinggale up: songgear precast')
  292. return
  293. -- Equip Marsyas precast for honor march
  294. elseif spell.english=="Honor March" then
  295. equip(sets.precast.FC.Song, {range="Marsyas"})
  296. -- Equip Daurdabla for songs in DaurdSongs list
  297. elseif DaurdSongs:contains(spell.english) then
  298. equip(sets.precast.FC.Song,{range="Daurdabla", ammo=empty})
  299. else
  300. equip(sets.precast.FC.Song)
  301. end
  302.  
  303.  
  304. elseif spell.action_type=="Magic" then
  305. if Instacast:contains(spell.english) then
  306. equip(sets.precast.FC, sets.Instacast)
  307. elseif string.find(spell.name,"Cure") or string.find(spell.name,"Cura") then
  308. equip(sets.precast.Cure)
  309. elseif spell.name == "Stoneskin" then
  310. equip(sets.precast.Stoneskin)
  311. elseif spell.skill == "Enhancing Magic" then
  312. equip(sets.precast.EnhancingMagic)
  313. else
  314. equip(sets.precast.FC)
  315. end
  316.  
  317.  
  318. elseif spell.prefix == "/jobability" then
  319. if (string.find(spell.name,'Waltz') and not string.find(spell.name,'Healing')) then
  320. if spell.target.type=="SELF" or string.find(spell.english, 'Divine')then
  321. equip(sets.Waltz.Self)
  322. else
  323. equip(sets.Waltz)
  324. end
  325. elseif string.find(spell.name,'Step') then
  326. equip(sets.quickstep)
  327. elseif sets.precast.JA[spell.name] then
  328. equip(sets.precast.JA[spell.name])
  329. end
  330.  
  331. elseif spell.prefix=="/weaponskill" then
  332. if spell.english == 'Mordant Rime' then
  333. equip(sets.MordantRime[sets.Acc._tab[sets.Acc._index]])
  334. elseif spell.english == "Rudra's Storm" then
  335. equip(sets.Rudra[sets.Acc._tab[sets.Acc._index]])
  336. elseif spell.english == 'Evisceration' then
  337. equip(sets.Evisceration[sets.Acc._tab[sets.Acc._index]])
  338. else
  339. equip(sets.precast.WS[sets.Acc._tab[sets.Acc._index]])
  340. end
  341. end
  342. end
  343.  
  344.  
  345. function midcast(spell)
  346. if spell.type=="BardSong" then
  347. equip_song_gear(spell)
  348. elseif string.find(spell.name,"Cure") or string.find(spell.name,"Cura") then
  349. equip(sets.midcast.Cure)
  350. elseif spell.name=="Cursna" then
  351. equip(sets.midcast.Cursna)
  352. elseif spell.name=="Aquaveil" then
  353. equip(sets.midcast.Aquaveil)
  354. elseif string.find(spell.name,"Regen") then
  355. equip(sets.midcast.Regen)
  356. elseif spell.name=="Stoneskin" then
  357. equip(sets.midcast.Stoneskin)
  358. if buffactive["Stoneskin"] then
  359. windower.send_command('wait 1;cancel 37;')
  360. end
  361. elseif string.find(spell.name,"Protect") or string.find(spell.name,"Shell") then
  362. if spell.target.type=="SELF" then
  363. equip(sets.midcast.ProShell, {ring2="Sheltered ring"})
  364. else
  365. equip(sets.midcast.ProShell)
  366. end
  367. elseif spell.name=="Sneak" and buffactive["Sneak"] and spell.target.type=="SELF" then
  368. windower.send_command('cancel 71;')
  369. elseif spell.type=="Ninjutsu" then
  370. if spell.name=="Utsusemi: Ichi" then
  371. equip(sets.midcast.Haste)
  372. if buffactive["Copy Image"] then
  373. windower.send_command('wait 1;cancel 66;')
  374. end
  375. else
  376. equip(sets.midcast.Haste)
  377. end
  378. elseif spell.action_type=="Magic" then
  379. if spell.skill == "Enfeebling Magic" then
  380. equip(sets.midcast.enfeebling[sets.Acc._tab[sets.Acc._index]])
  381. elseif spell.skill == "Divine Magic" then
  382. equip(sets.midcast.enfeebling[sets.Acc._tab[sets.Acc._index]])
  383. elseif spell.skill == "Enhancing Magic" then
  384. if spell.name == "Erase" then
  385. equip(sets.midcast.Haste)
  386. else
  387. equip(sets.midcast.EnhancingMagic)
  388. end
  389. else
  390. equip(sets.midcast.Haste)
  391. end
  392. end
  393. end
  394.  
  395. function aftercast(spell)
  396. if midaction() then return
  397. end
  398.  
  399. if player.status == 'Engaged' then
  400. equip(sets.TP[sets.Acc._tab[sets.Acc._index]])
  401. else
  402. equip(sets.idle[sets.idle._tab[sets.idle._index]])
  403. end
  404. end
  405.  
  406.  
  407.  
  408. function status_change(new,old)
  409. if new == 'Engaged' then
  410. equip(sets.TP[sets.Acc._tab[sets.Acc._index]])
  411. disable('main','sub')
  412. windower.add_to_chat(8, 'Main / Sub disabled')
  413. elseif T{'Idle','Resting'}:contains(new) then
  414. equip(sets.idle[sets.idle._tab[sets.idle._index]])
  415. end
  416. end
  417.  
  418. function self_command(cmd)
  419. if cmd == 'unlock' then
  420. enable('main','sub')
  421. windower.add_to_chat(158, 'enabled main/sub')
  422. elseif cmd == 'idle' then
  423. sets.idle._index = sets.idle._index%(#sets.idle._tab) + 1
  424. windower.add_to_chat(8,'Idle Set: '..sets.idle._tab[sets.idle._index])
  425. sets.idle[sets.idle._tab[sets.idle._index]] = sets.idle[sets.idle._tab[sets.idle._index]]
  426. equip(sets.idle[sets.idle._tab[sets.idle._index]])
  427. windower.add_to_chat(87, 'sets.idle.'..sets.idle._tab[sets.idle._index])
  428. elseif cmd == 'acc' then
  429. sets.Acc._index = sets.Acc._index%(#sets.Acc._tab) + 1
  430. windower.add_to_chat(87,'Accuracy Set: '..sets.Acc._tab[sets.Acc._index])
  431. elseif cmd == 'instrument' then
  432. Instrument._index = Instrument._index%(#Instrument._tab) + 1
  433. windower.add_to_chat(36,'Instrument locked: '..Instrument._tab[Instrument._index])
  434. end
  435. end
  436.  
  437.  
  438.  
  439. -- custom function for song gear
  440. function equip_song_gear(spell)
  441. if DaurdSongs:contains(spell.english) then
  442. equip(sets.midcast.Haste,{range="Daurdabla", ammo=empty})
  443.  
  444. elseif string.find(spell.english,'Ballad') then
  445. equip(sets.midcast.Ballad)
  446.  
  447. elseif string.find(spell.english,'Madrigal') then
  448. equip(sets.midcast.Madrigal)
  449.  
  450. elseif string.find(spell.english,'Prelude') then
  451. equip(sets.midcast.Prelude)
  452.  
  453. elseif string.find(spell.english,'March') then
  454. if spell.name=="Honor March" then
  455. equip(sets.midcast.HonorMarch)
  456. else
  457. equip(sets.midcast.March)
  458. end
  459.  
  460. elseif string.find(spell.english,'Scherzo') then
  461. equip(sets.midcast.Scherzo)
  462.  
  463. elseif string.find(spell.english,'Paeon') then
  464. equip(sets.midcast.Paeon)
  465.  
  466. elseif spell.target.type == 'MONSTER' then
  467. if buffactive.troubadour or buffactive['elemental seal'] then
  468. equip(sets.midcast.SongDebuff, sets.midcast.Duration)
  469. elseif string.find(spell.english,'Lullaby') then
  470. equip(sets.midcast.Lullaby[sets.Acc._tab[sets.Acc._index]])
  471. elseif string.find(spell.english,'Threnody') then
  472. equip(sets.midcast.Threnody[sets.Acc._tab[sets.Acc._index]])
  473. else
  474. equip(sets.midcast.SongDebuff[sets.Acc._tab[sets.Acc._index]])
  475. end
  476. else
  477. equip(sets.midcast.Songduration)
  478. end
  479. if Instrument._tab[Instrument._index] == "Daurdabla" then
  480. if spell.name == "Honor March" then
  481. else
  482. equip{range="Daurdabla"}
  483. windower.add_to_chat(204, 'Daurdabla song!')
  484. end
  485. end
  486. end
  487.  
  488. function calculate_duration(name)
  489. local mult,ext = 1,0
  490.  
  491. if player.equipment.main == "Carnwenhan" then mult = mult + 0.5 end
  492. if player.equipment.main == "Legato Dagger" then mult = mult + 0.05 end
  493. if player.equipment.sub == "Legato Dagger" then mult = mult + 0.05 end
  494.  
  495. if player.equipment.range == 'Marsyas' then mult = mult + 0.5 end
  496. if player.equipment.range == "Gjallarhorn" then mult = mult + 0.4 end
  497. if player.equipment.range == "Daurdabla" then mult = mult + 0.3 end
  498.  
  499. if player.equipment.neck == "Moonbow Whistle +1" then mult = mult + 0.3 end
  500. if player.equipment.body == "Fili Hngrln. +1" then mult = mult + 0.12 end
  501. if player.equipment.legs == "Inyanga Shalwar +2" then mult = mult + 0.17 end
  502. if player.equipment.feet == "Brioso Slippers +3" then mult = mult + 0.15 end
  503.  
  504. if string.find(name,'March') and player.equipment.hands == 'Ad. Mnchtte. +2' then mult = mult + 0.1 end
  505. if string.find(name,'Minuet') and player.equipment.body == "Aoidos' Hngrln. +2" then mult = mult + 0.1 end
  506. if string.find(name,'Madrigal') and player.equipment.head == "Fili Calot +1" then mult = mult + 0.1 end
  507. if string.find(name,'Madrigal') and player.equipment.back == "Intarabus's Cape" then mult = mult + 0.1 end
  508. if string.find(name,'Prelude') and player.equipment.back == "Intarabus's Cape" then mult = mult + 0.1 end
  509. if string.find(name,'Ballad') and player.equipment.legs == "Aoidos' Rhing. +2" then mult = mult + 0.1 end
  510. if string.find(name,'Scherzo') and player.equipment.feet == "Aoidos' Cothrn. +2" then mult = mult + 0.1 end
  511. if string.find(name,'Paeon') and player.equipment.head == "Bihu Roundlet +1" then mult = mult + 0.1 end
  512.  
  513. if buffactive.Troubadour then
  514. mult = mult*2
  515. end
  516. if string.find(name,'Scherzo') and buffactive['Soul Voice'] then
  517. mult = mult*2
  518. elseif string.find(name,'Scherzo') and buffactive.marcato then
  519. mult = mult*1.5
  520. end
  521.  
  522. if buffactive['Clarion Call'] then
  523. ext = 20
  524. end
  525.  
  526. return mult*120 + ext
  527. end
  528.  
  529. function reset_timers()
  530. for i,v in pairs(timer_reg) do
  531. send_command('timers delete "'..i..'"')
  532. end
  533. timer_reg = {}
  534. end
  535.  
  536. windower.register_event('zone change',reset_timers)
  537. windower.register_event('logout',reset_timers)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement