Multiple modifiers and targets in same macro?

What I want is a macro that will cast Regrowth on myself if im not targeting anything, cast it on my target if i am, cast it on my targets target if im holding alt, cast it at my focus target if im holding shift, and cast at my mouseover if i have one. My harm/help macro for renew/pain does this beautifully on my priest but when i try to make one for my druid without the harm parts it will not work or only some parts will. It anyone can type this up itd be much appreciated

#showtooltip
/cast [mod:shift,@focus,help,nodead] [mod:alt,@targettarget,help,nodead] [@mouseover,help,nodead] [] Regrowth

And there’s always this: