This is my coding for Duration for Custom Timers:
Code
function calculate_duration(spellName, spellMap)
local mult = 1
if player.equipment.range == 'Daurdabla' then mult = mult + 0.3 end -- change to 0.25 with 90 Daur
if player.equipment.range == "Miracle Cheer" then mult = mult + 0.4 end -- change to 0.3 with 95 Gjall
if player.equipment.main == "Carnwenhan" then mult = mult + 0.5 end -- 0.1 for 75, 0.4 for 95, 0.5 for 99/119
if player.equipment.main == "Legato Dagger" then mult = mult + 0.05 end
if player.equipment.sub == "Legato Dagger" then mult = mult + 0.05 end
if player.equipment.sub == "Kali" then mult = mult + 0.05 end
if player.equipment.neck == "Aoidos' Matinee" then mult = mult + 0.1 end
if player.equipment.neck == "Moonbow Whistle" then mult = mult + 0.2 end
if player.equipment.neck == "Moonbow Whistle +1" then mult = mult + 0.3 end
if player.equipment.body == "Fili Hngrln. +1" then mult = mult + 0.12 end
if player.equipment.body == "Fili Hngrln. +2" then mult = mult + 0.13 end
if player.equipment.body == "Fili Hngrln. +3" then mult = mult + 0.14 end
if player.equipment.legs == "Mdk. Shalwar +2" then mult = mult + 0.17 end
if player.equipment.feet == "Brioso Slippers" then mult = mult + 0.1 end
if player.equipment.feet == "Brioso Slippers +1" then mult = mult + 0.11 end
if player.equipment.feet == "Brioso Slippers +2" then mult = mult + 0.13 end
if player.equipment.feet == "Brioso Slippers +3" then mult = mult + 0.15 end
if player.equipment.feet == "Brioso Slippers +4" then mult = mult + 0.15 end
-- if spellMap == 'Paeon' and player.equipment.head == "Brioso Roundlet" then mult = mult + 0.1 end
-- if spellMap == 'Paeon' and player.equipment.head == "Brioso Roundlet +1" then mult = mult + 0.1 end
if spellMap == 'Madrigal' and player.equipment.head == "Fili Calot +1" then mult = mult + 0.1 end
if spellMap == 'Madrigal' and player.equipment.head == "Fili Calot +2" then mult = mult + 0.1 end
if spellMap == 'Madrigal' and player.equipment.head == "Fili Calot +3" then mult = mult + 0.1 end
if spellMap == 'Minuet' and player.equipment.body == "Fili Hngrln. +1" then mult = mult + 0.1 end
if spellMap == 'Minuet' and player.equipment.body == "Fili Hngrln. +2" then mult = mult + 0.1 end
if spellMap == 'Minuet' and player.equipment.body == "Fili Hngrln. +3" then mult = mult + 0.1 end
if spellMap == 'March' and player.equipment.hands == 'Fili Mnchtte. +1' then mult = mult + 0.1 end
if spellMap == 'March' and player.equipment.hands == 'Fili Mnchtte. +2' then mult = mult + 0.1 end
if spellMap == 'March' and player.equipment.hands == 'Fili Mnchtte. +3' then mult = mult + 0.1 end
if spellMap == 'Ballad' and player.equipment.legs == "Fili Rhing. +1" then mult = mult + 0.1 end
if spellMap == 'Ballad' and player.equipment.legs == "Fili Rhing. +2" then mult = mult + 0.1 end
if spellMap == 'Ballad' and player.equipment.legs == "Fili Rhingrave +3" then mult = mult + 0.1 end
if spellName == "Sentinel's Scherzo" and player.equipment.feet == "Fili Cothurnes +2" then mult = mult + 0.1 end
if buffactive.Troubadour then
mult = mult*2
end
if spellName == "Sentinel's Scherzo" then
if buffactive['Soul Voice'] then
mult = mult*2
elseif buffactive['Marcato'] then
mult = mult*1.5
end
end
local totalDuration = math.floor(mult*120)
return totalDuration
end