Here's what I would do for the Staff of Healing. I would break the Staff into 3 parts. This first part is to create 3 ability macros for the different options that the staff can be used for (Cure Wounds, Lesser Restoration, Mass Cure Wounds), and make sure that they not only roll the healing (or output the effect in the case for Lesser Restoration) but also subtract the correct number of charges (Cure Wounds can be a value between 1 and 4, while the others are static). Once those three are done You should convert all of the "|", ",", and "}" characters inside the ability macro that are not attached to a @{}, %{}, or #{} into their HTML equivalent "&# 124;", "&# 44;", and "&# 125;" respectively (I added a space between the &# and the number so that the roll20 forum didn't convert it into the symbol) (this is because you want to have these macros be called within a macro query. See here for more information as to why). Finally create the macro that will prompt the player as to which action they want to use. In order to call the other ability macros, you will HAVE to use either the character's name or id in the call (For example, %{Testing|Cure-Wounds}, %{@{character_id}|Cure-Wounds} unfortunately is not possible. Here are the final products for the ability macros (I verified that they work in my campaign so it should work for you to just copy paste the macros) (I again added the space between the &# and the number so that you could see where they were needed, be sure to remove the space before testing otherwise they will not work properly.) Query macro
/em using Staff of Healing
?{Staff of Healing|Cure Wounds,%{Testing|Cure-Wounds}|Lesser Restoration,%{Testing|Lesser-Restoration}|Mass Cure Wounds,%{Testing|Mass-Cure-Wounds}} Cure Wounds macro @{wtype}&{template:dmg&# 125; {{rname=Cure Wounds&# 125;&# 125;{{range=Touch&# 125;&# 125;{{damage=1&# 125;&# 125;{{dmg1flag=1&# 125;&# 125; {{dmg1=[[1d8+[[@{spellcasting_ability}]]]]&# 125;&# 125; {{dmg1type=Healing&# 125;&# 125;{{hldmg=[[[[(1*{(?{Charges&# 124;1&# 124;2&# 124;3&# 124;4&# 125;-1)&# 44;@{other_resource}&# 125;kl1)]]d8]]&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-?{Charges&# 125; --silent
Lesser Restoration macro @{wtype}&{template:spell&# 125; {{level=abjuration 2&# 125;&# 125; {{name=Lesser Restoration&# 125;&# 125; {{castingtime=1 action&# 125;&# 125; {{range=Touch&# 125;&# 125;{{v=1&# 125;&# 125; {{s=1&# 125;&# 125;{{duration=Instantaneous&# 125;&# 125;{{description=You touch a creature and can end either one disease or one condition afflicting it. The condition can be blinded&# 44; deafened&# 44; paralyzed&# 44; or poisoned.&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-2 --silent
Mass Cure Wounds macro @{wtype}&{template:dmg&# 125;{{rname=Mass Cure Wounds&# 125;&# 125;{{range=60 ft&# 125;&# 125;{{damage=1&# 125;&# 125;{{dmg1flag=1&# 125;&# 125;{{dmg1=[[3d8]]&# 125;&# 125;{{dmg1type=Healing&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-5 --silent