Aspect spam macro

Anyone have one of these? It's like the rogue stealth macro but for aspect of the hawk.. It's really annoying being a US player and wasting 240+ mana on hawk cuz it cancels before it even registers.
/script i=1;m=0;while(UnitBuff("target",i)~=nil) do
if(strfind(UnitBuff("target",i),"XXXXX")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName;
if(m==1) then c("Aspect of the Hawk");
/script i=1; while UnitBuff("target",i)~=nil do DEFAULT_CHAT_FRAME:AddMessage(UnitBuff("target",i));
i=i+1; end
nimpie wrote:/script if not buffed("Trueshot Aura") then CastSpellByName("Trueshot Aura") else if not buffed("Aspect of the Hawk") then CastSpellByName("Aspect of the Hawk") else if not buffed("Track Humanoids") then CastSpellByName("Track Humanoids") end end end;