During the pre-patch, Blizzard released "known" and "noknown" conditionals, which can easily be used for choice node spells. The syntax for the conditional is [known:<spellid>]
or [known:<spellname>]
. This will also function as expected with #showtooltip
.
The macro should look something like:
#showtooltip
/cast [known:Dark Ascension] Dark Ascension; Void Eruption
Since Dark Ascension and Void Eruption are mutually exclusive, there's no break in logic here. If you select the question mark icon as the macro's icon, it will also take the icon of whatever spell you currently have learned.
Notably, as a Shadow Priest, Void Eruption will turn into Void Bolt while you are in Voidform. You do not need to specify a cast of Void Bolt in your macro, as Void Eruption basically turns into Void Bolt while you are in Voidform and while you are in Voidform, pressing this macro's button will cast Void Bolt as ordinarily expected.