Ok here's the breakdown of what it does and why it's like that for me. YMMV.
1. Sub Main has the calls to the various subs that do the real work. If you dont want panther, or something like that, then comment it out right here.
2. Each of the Subs does pretty much what its name says
GroupHeals_Check:
I picked some arbitrary threshold values (30,50,70,90% hp) and count how many group members are below that threshold. That lets me quickly decide how deep the shit has gotten, and how much we need to heal.
Depending on the thresholds It may cast Ancestral Intervention, Ancestral Aid (AA), or group HoT Shadow of renewal. Or it may cast them ALL! Tweak the three if statements at the end of this to match your typical groups healing requirements and your shaman's mana and aa mix.
Heal_Check:
Goes through each member of your group and checks to see if they're below ${SingleHealPct} (By the way i type /varset SingleHealPct xxx while the macro is running to fine tune things if im not happy, never bothered to make an ini file because this setup works for me in almost all circumstances)
Epic_Check:
It only checks to see if you're in combat, that you dont have the epic proc up, and that the epic is ready to go. if those are true it clicks your epic. If you want it to be more descriminatory, then you get to add some more /IFs. Personally I use the epic in most group events as pure dps enhancer so i let it fire every time its up and we're in combat. I don't let it fire at all on raids (I have a version with this sub commented out).
Lynx + Champion:
Both of these are GROUP buffs, and so to see if your group needs them you check only your own buffs. Nice and simple. If you want the macro to do other buffs feel free to add a timer, and make it cast, but I still play the shaman while running this, so buffing is no big deal for me. I cast what is needed manually.
Canni_Check:
This one has some very minor safety checks to make sure that it doesnt aa canni if you have less than 7k hp or spell canni with less than 4k hp. The rationale is that while you might still live, you're pretty much guaranteed to get low hp aggro then. Better that you make the call.
In the non targetting version, it will preserve whatever target you have if it decides it needs to heal your group. Once its done with the heal it will put your target back to what it was, so you can continue to nuke/dot/etc to your hearts content.
------------
For the assist version here's the criteria.
You run the macro and assign it the name of a tank to assist (he doesnt need to be in your group, but he wont get any of the nice hp monitoring, etc if he's not since this is NOT a PL bot.)
Get_Target:
The macro will assist the tank anytime he is within 100 radius. If his target is an NPC and not a PC's pet then it will face it and delay for 5seconds or until the npc is within 90' Then it will return with this as your target.
Do_Slow:
This will wait 20 seconds or until your target is < 98% hp, and within 200' then it will AA Malo and AA Slow. (The delay and extra check is there because if you manually target a mob then Get_Target's checks never took place and it will still try and not screw things up and get you adds)
DoT_Check:
Pure sloppy code, this one just says as long as i have more than 60% mana, and my target is over 90% hp then cast 2 dots. This means that if you point it at a raid mob its gonna cast the same 2 dots over and over..... dont raid with this is what im saying... pay attention and earn your keep.
The rest of the assist version is the same as the original.
----
What i was going for was a tool to assist in PLAYing the shaman, not a rehash of the existing, take over your shaman and play it for you macros that are already there and are damn good for that matter. There are alot of them out there.
Hope that helps with the "what does it do" I figured you'd just read it.
EDIT: minor typo corrections.