I personally have a this cure structure running in my raid and it helped us to conquer many modern raids.
With this kind of structure, you don't need to actually target anything to gain the debuff information ( plus even you targetting some pc/npc you still can't get the song buff information anyway)
1st to build DanNet Observer from healer and update it every pulse:
Sub DeclareFlags
/if (!${Defined[tovdot1]}) /declare tovdot1 int outer 0
/if (!${Defined[tovdot2]}) /declare tovdot2 int outer 0
/if (!${Defined[tovdot3]}) /declare tovdot3 int outer 0
/if (!${Defined[tovdot4]}) /declare tovdot4 int outer 0
/if (!${Defined[tovdot5]}) /declare tovdot5 int outer 0
/if (!${Defined[grptovdot]}) /declare grptovdot int outer 0
/return
Sub HealerObserve
/call DeclareFlags
/declare i int local 1
/for i 1 to 5
/if (${DanNet.Peers.Find[${Group.Member[${i}].CleanName}]}) {
/if (!${DanNet[${Group.Member[${i}].CleanName}].Observe.Find[Restless Ice]}) /dobserve ${Group.Member[${i}].CleanName} -q "Me.Song[Restless Ice].ID" -o tovdot${i}
}
/varset tovdot${i} ${DanNet[${Group.Member[${i}].CleanName}].O["Me.Song[Restless Ice].ID"]}
/next i
/if (${tovdot1}||${tovdot2}||${tovdot3}||${tovdot4}||${tovdot5}) {
/if (${grptovdot}!=1) /varset grptovdot 1
} else {
/if (${grptovdot}!=0) /varset grptovdot 0
}
/return
2nd Step, in your healer's loop, add something like this,
/call HealerObserve
3rd Step, now is time to cure,
/if (${grptovdot}||${Me.Song[Restless Ice].ID}) /call Cure
To not interrupt your main heal line too often, you prolly will need to add this at the end of your heal logic by using “else /if”
else /if (${grptovdot}||${Me.Song[Restless Ice].ID}) {
/call Cure
}
Enjoy.