Combining [harm][@targettarget] macro and [nochanneling:xxx] macro into one macro

Greetings!

Is it possible to merge the two following macros into one?

Casting a spell right after penance can cut off the third/final bolt of penance. Using this macro disallows me to use Power Word: Solace (or any other spell for that matter) while I am channeling Penance, ensuring that all three bolts of my penance to hit the target.

#showtooltip Power Word: Solace
/cast [nochanneling:Penance] Power Word: Solace

This second macro allows me to cast Power Word: Solace to my target’s target, if the target is friendly. If target is not friendly, then casting Power Word: Solace will hit the target.

#showtooltip Power Word: Solace
/use [harm][@targettarget] Power Word: Solace

I wanted both functionality of these two macros into one; would it be possible to merge them?

Also, I would want to ask if it’s possible to make a macro for my emergency heals (desperate prayer, healthstones, and healing potion) in a priority system. I want the macro to cast desperate prayer (not affected by a GCD, and does not cause a GCD) when i press the macro once, then let me use a healthstone the second time i press it if desperate prayer is on cooldown, and lets me use a healing potion preferably when both desperate prayer and healthstone are on cooldown.

I know macros are not capable of conditional statements depending on other spell’s cooldowns, but I tried making a cast sequence macro with a castsequence reset modifier.

#showtooltip Desperate Prayer
/castsequence reset=90 Desperate Prayer, Healthstone, Abyssal Healing Potion

I was hoping the macro would cycle through desperate prayer, healthstone, and potion every 90 seconds (cooldown duration of desperate prayer), but it lets me cast desperate prayer only.

Any help will be greatly appreciated. Thank you!

#showtooltip
/stopmacro [channeling:Penance]
/cast [harm] [@targettarget,harm,nodead] [] Power Word: Solace

The reset=time condition for cast sequences is the time since the button has last been pressed. So if you hit it once, cast DP, then wait 89s and hit it again, you’ll need to wait 90s for it to switch from healing pots back to DP.

Stop hardcoding your tooltips, it’s unnecessary and makes it difficult for you to see what they’re actually doing.

#showtooltip
/castsequence reset=90 Desperate Prayer, Healthstone, Abyssal Healing Potion

That said, you’d be better off using modifiers to pick which spell/item to use.

If you don’t have a Healthstone or if the Healthstone is on CD, this would get stuck on Healthstone and not go forward to Abyssal Healing Potion. I’ve heard that the Gnome Sequencer Enhanced addon can manage that but castsequence will not.