Miracle Cheer And Custom Timers

Language: JP EN DE FR
2010-09-08
New Items
users online
Forum » FFXI » Jobs » Bard » Miracle Cheer and Custom Timers
Miracle Cheer and Custom Timers
 Quetzalcoatl.Balthor
Offline
Server: Quetzalcoatl
Game: FFXI
Posts: 35
By Quetzalcoatl.Balthor 2026-05-03 14:46:18
Link | Quote | Reply
 
I have Miracle Cheer on my second character, and am wanting to make a rule for Custom Timers for when Miracle Cheer is in midcast to set timer to the 900 seconds instead of calculating based on equipped gear and setting them longer than the 15 minutes. How would I go about doing this?

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
Log in to post.