Macro 1:
/in 1+ /script for i=1,16 do local texture = UnitDebuff(“target”,i); if texture and texture == “Interface\Icons\Spell_Holy_ElunesGrace” then NfCount = NfCount + 1; DEFAULT_CHAT_FRAME:AddMessage(NfCount) end end
Macro 2:
/script SM_INFRAME:Hide(); NfCount = 0
Macro 1 looks at the target and assesses whether the Nightfall debuff is up or not every second - if it is, then it adds +1 seconds to the running tally that shows up in your chat window. Once the boss dies, you simply calculate the total number of seconds of uptime compared to the fight duration which gives you total uptime:
https://cdn.discordapp.com/attachments/484066218911727618/484066527721684992/double_nightfall.jpg
https://cdn.discordapp.com/attachments/484066218911727618/484066529030438912/patchwerk_nightfall_uptime_two.jpg
https://cdn.discordapp.com/attachments/484066218911727618/484066532369104907/grobulus_nightfall_uptime.jpg
https://cdn.discordapp.com/attachments/484066218911727618/484066535539867648/patchwerk_nightfall_uptime.jpg
https://cdn.discordapp.com/attachments/484066218911727618/484066664506458113/2x_Nightfall_PW.jpg
Macro 2 resets your chat scroll and then you reset your UI to track it again
You can then go back and calculate the total magic dps against the boss from casters, Rogue poisons, sapper/crystal charges, holy waters, etc… and then multiply that by the total uptime percentage to show your total raid contribution while swinging Nightfall: