This post has been closed. You can still view previous posts, but you can't post any new replies.

[Script] PowerCards 3 (Thread 3)

1450755560
Silvyre said: Please try reinstalling PowerCards by using the Raw version , selecting all of the code on the page (CTRL+A) and pasting it into a New Script window. Delete the previous installation of PowerCards and then save your script to test if the trkr issue persists. Just tried that, still the same problem.
1450755945
Silvyre
Roll20 Mod Team
Okay. Please wait patiently while someone else takes the helm on your troubleshooting, because I'm out of ideas. If you ask nicely, maybe HoneyBadger will poke into your game and take a look.
1450756194
Silvyre said: Okay. Please wait patiently while someone else takes the helm on your troubleshooting, because I'm out of ideas. If you ask nicely, maybe HoneyBadger will poke into your game and take a look. HoneyBadger, consider me asking nicely. I have a game scheduled for tomorrow at 6pm MST, if you can do it before then, that would be awesome.
1450789227
Sky
Pro
Sadly I probably won't be able to help you today. I go to bed in two hours since I work nights. I will poke around with it though.
1450789755
Sky
Pro
Arthur B. said: Ok guys, here's another problem I just ran into. I'm using a spell attack (Eldritch Blast D&D 5e) which attacks multiple targets. What I've noticed is that when you select more than 1 target and get a critical hit or a miss it responds as if it was for only 1 target. Any help with this will be appreciated. Conditionals do not work for multi-target attacks like that unfortunately. I looked into doing that, but it would require a major re-write of the way powercards generates multiple rolls, names them, and names the conditionals.
1450789939

Edited 1450789981
Sky
Pro
Arthur B. said: Silvyre said: !power {{ --charid|@{character_id} --Init Roll|~R[[ [NH|TRKR] d20 ]]~R }} Is this possibly more Minimal, or does it actually work? It works, but like I said it won't put anything in the Turn Order. It rolls it in chat but that's it. I just tried this using the latest version, copied and pasted from the gist. And it worked. I would need access to your campaign to do any more debugging, but I will not be available to do that until tomorrow (Wednesday) at the earliest, unless you can PM me the join link to your campaign before 10 am eastern (today - Tuesday 12/22).
1450818571
Arthur B. said: Ok guys, here's another problem I just ran into. I'm using a spell attack (Eldritch Blast D&D 5e) which attacks multiple targets. What I've noticed is that when you select more than 1 target and get a critical hit or a miss it respinds as if it was for only 1 target. Here's the code I'm using: !power {{ --charid|@{character_id} --emote|**@{selected|token_name}** sends [4] beams of crackling light towards target(s)! --name|Eldritch Blast --leftsub|1 Action --rightsub|300’ ¤ Instant ¤ Evocation ~C**Components**~C ~CV, S~C   --target_list|@{target|1st Target|token_id} | @{target|2nd Target|token_id} | @{target|3rd Target|token_id} | @{target|4th Target|token_id} --Target#?{Number of targets?|4} | ~R[[ [$SpAtk] @{AtkRoll} + @{To Hit Spell}]] vs. [[0+ %%AC%%  ]] (AC) (%%token_name%%)~R --?? $SpAtk.total >= @{target| |bar3} AND $SpAtk.base <= 20 ?? Hit| ~R[[ [nh] 1d10 +@{CHA}]] Force damage~R --?? $SpAtk.total < @{target| |bar3} AND $SpAtk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $SpAtk.base == 20 ?? Critical Hit| ~R[[ [NH] 1d10]]~R --?? $SpAtk.total >= @{target| |bar3} AND $SpAtk.base <= 20 ?? !Special|~C$$#ff0000|**You are pushed back 10'**$$~C --?? $SpAtk.base == 1 ?? !Miss:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Spell] [txt] ]]**$$ }} Here's a picture of the output: Any help with this will be appreciated. As HB said, conditionals won't work with charm targeting output. The only way to do this, with conditionals, is to make each an individual attack. Here is an example of how it can work (granted, this is one I wrote for my dad's monk to turn every attack he can have, into a single macro with different options): !power {{ @{format} --charid|@{character_id} --emote|@{character_name}'s hands blur as he suddenly strikes! --name|@{character_name}'s Attack! --leftsub|Attack Action --rightsub|Melee --hroll|[[ [$Wpn] ?{Weapon?|@{selected|meleeweaponname1},1|@{selected|meleeweaponname2},2} + 0d0 ]] [[ [$Attack] ?{Attack?|Regular,1|Bonus,2|Flurry,3|Opportunity,0} + 0d0 ]] [[ [$Open] ?{Open Hand Technique|Prone,0|Push,1|Reaction,2} +0d0]] --Target *1:|$$#ff0000|@{target|Target 1|token_name}$$ --?? $Wpn == 1 ?? ^1Attack *1:|~R [[ [$Atk1] ?{Advantage Target 1?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Wpn == 2 ?? ^1Attack *1:|~R [[ [$Atk5] ?{Advantage Target 1?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit2} [Melee Bonus] ]] ]] ~R  --?? $Wpn == 1 AND $Atk1.total < @{target|Target 1|bar3} AND $Atk1.base == 1 ?? !Miss *1:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Wpn == 2 AND $Atk5.total < @{target|Target 1|bar3} AND $Atk5.base == 1 ?? !Miss *1:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Wpn == 1 AND $Atk1.total < @{target|Target 1|bar3} AND $Atk1.base <> 1 ?? !Miss *1:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Wpn == 2 AND $Atk5.total < @{target|Target 1|bar3} AND $Atk5.base <> 1 ?? !Miss *1:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Wpn == 1 AND $Atk1.total >= @{target|Target 1|bar3} OR $Atk1.base == 20 ?? ^1Damage *1:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Wpn == 2 AND $Atk5.total >= @{target|Target 1|bar3} OR $Atk5.base == 20 ?? ^1Damage *1:|~R[[@{selected|meleedmg2}+ [[@{meleedmgbonus2}]] ]]~R --?? $Wpn == 1 AND $Atk1.total >= @{target|Target 1|bar3} OR $Atk1.base == 20 ?? ^1Damage Type *1:|@{selected|meleedmgtype1} --?? $Wpn == 2 AND $Atk5.total >= @{target|Target 1|bar3} OR $Atk5.base == 20 ?? ^1Damage Type *1:|@{selected|meleedmgtype2} --?? $Wpn == 1 AND $Atk1.base == 20 ?? ^2Crit *1:|~R[[@{selected|meleedmg1}]]~R --?? $Wpn == 2 AND $Atk5.base == 20 ?? ^2Crit *1:|~R[[@{selected|meleedmg2}]]~R --?? $Attack <> 0 ?? Target *2:|$$#ff0000|@{target|Target 2|token_name}$$ --?? $Attack <> 0 AND $Wpn == 1 ?? ^1Attack *2:|~R [[ [$Atk2] ?{Advantage Target 2?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R  --?? $Attack <> 0 AND $Wpn == 2 ?? ^1Attack *2:|~R [[ [$Atk6] ?{Advantage Target 2?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit2} [Melee Bonus] ]] ]] ~R  --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total < @{target|Target 2|bar3} AND $Atk2.base == 1 ?? !Miss *2:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total < @{target|Target 2|bar3} AND $Atk6.base == 1 ?? !Miss *2:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total < @{target|Target 2|bar3} AND $Atk2.base <> 1 ?? !Miss *2:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total < @{target|Target 2|bar3} AND $Atk6.base <> 1 ?? !Miss *2:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total >= @{target|Target 2|bar3} OR $Atk2.base == 20 ?? ^1Damage *2:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total >= @{target|Target 2|bar3} OR $Atk6.base == 20 ?? ^1Damage *2:|~R[[@{selected|meleedmg2}+ [[@{meleedmgbonus2}]] ]]~R --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total >= @{target|Target 2|bar3} OR $Atk2.base == 20 ?? ^1Damage Type *2:|@{selected|meleedmgtype1} --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total >= @{target|Target 2|bar3} OR $Atk6.base == 20 ?? ^1Damage Type *2:|@{selected|meleedmgtype2} --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.base == 20 ?? ^2Crit *2:|~R[[@{selected|meleedmg1}]]~R --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.base == 20 ?? ^2Crit *2:|~R[[@{selected|meleedmg2}]]~R --?? $Attack == 2 ?? !Bonus|~C **$$#fff|Bonus Action Attack$$** ~~~ ~C --?? $Attack == 2 ?? Target *5:|$$#ff0000|@{target|Target 3|token_name}$$ --?? $Attack == 2 ?? ^1Attack *5:|~R [[ [$Atk7] ?{Advantage Target 3?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R  --?? $Attack == 2 AND $Atk7.total < @{target|Target 3|bar3} AND $Atk7.base == 1 ?? !Miss *5:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 2 AND $Atk7.total < @{target|Target 3|bar3} AND $Atk7.base <> 1 ?? !Miss *5:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 2 AND $Atk7.total >= @{target|Target 3|bar3} OR $Atk7.base == 20 ?? ^1Damage *5:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 2 AND $Atk7.total >= @{target|Target 3|bar3} OR $Atk7.base == 20 ?? ^1Damage Type *5:|@{selected|meleedmgtype1} --?? $Attack == 2 AND $Atk7.base == 20 ?? ^2Crit *5:|~R[[@{selected|meleedmg1}]]~R --?? $Attack == 3 ?? !Flurry|~C **$$#fff|Flurry of Blows$$** ~~~ $$#fff|Cost of 1 **Ki**$$ ~C --?? $Attack == 3 ?? Target *3:|$$#ff0000|@{target|Target 3|token_name}$$ --?? $Attack == 3 ?? ^1Attack *3:|~R [[ [$Atk3] ?{Advantage Target 3?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R  --?? $Attack == 3 AND $Atk3.total < @{target|Target 3|bar3} AND $Atk3.base == 1 ?? !Miss *3:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 3 AND $Atk3.total < @{target|Target 3|bar3} AND $Atk3.base <> 1 ?? !Miss *3:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 3 AND $Atk3.total >= @{target|Target 3|bar3} OR $Atk3.base == 20 ?? ^1Damage *3:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 3 AND $Atk3.total >= @{target|Target 3|bar3} OR $Atk3.base == 20 ?? ^1Damage Type *3:|@{selected|meleedmgtype1} --?? $Attack == 3 AND $Open == 0 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} must succeed on a $~#7A00A3|Dexterity$~ saving throw or be knocked prone. --?? $Attack == 3 AND $Open == 0 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^2Open Hand DC *3:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 1 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} must make a $~#A30000|Strength$~ saving throw. If it fails, it is pushed up to 15 feet away from @{character_name}. --?? $Attack == 3 AND $Open == 1 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^2Open Hand DC *3:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 2 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} can't take reactions until the end of @{character_name}'s next turn. --?? $Attack == 3 AND $Atk3.base == 20 ?? ^2Crit *3:|~R[[@{selected|meleedmg1}]]~R --?? $Attack == 3 ?? Target *4:|$$#ff0000|@{target|Target 4|token_name}$$ --?? $Attack == 3 ?? ^1Attack *4:|~R [[ [$Atk4] ?{Advantage Target 4?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R  --?? $Attack == 3 AND $Atk4.total < @{target|Target 4|bar3} AND $Atk4.base == 1 ?? !Miss *4:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 3 AND $Atk4.total < @{target|Target 4|bar3} AND $Atk4.base <> 1 ?? !Miss *4:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 3 AND $Atk4.total >= @{target|Target 4|bar3} OR $Atk4.base == 20 ?? ^1Damage *4:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 3 AND $Atk4.total >= @{target|Target 4|bar3} OR $Atk4.base == 20 ?? ^1Damage Type *4:|@{selected|meleedmgtype1} --?? $Attack == 3 AND $Open == 0 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} must succeed on a $~#7A00A3|Dexterity$~ saving throw or be knocked prone. --?? $Attack == 3 AND $Open == 0 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^2Open Hand DC *4:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 1 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} must make a $~#A30000|Strength$~ saving throw. If it fails, it is pushed up to 15 feet away from @{character_name}. --?? $Attack == 3 AND $Open == 1 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^2Open Hand DC *4:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 2 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} can't take reactions until the end of @{character_name}'s next turn. --?? $Attack == 3 AND $Atk4.base == 20 ?? ^2Crit *4:|~R[[@{selected|meleedmg1}]]~R }} It's a little longer for only 4 maximum attacks when compared to charm targeting, but the principle is the same. This is just an example of how far you can go with it. It will roll crits for only a single target, as well as misses, critical misses, etc:
Sorry to bring up a potentially old question, but has anyone found a way to get PowerCards to work with 3D dice?
1450948373
Sky
Pro
Absolutely not possible given a number of features that require dice rolls to be constructed after you hit the macro button, but before the powercard is sent to chat. 
Hi there,  I am having a problem. Yesterday I set a whole lot of power cards up for one of my players, and everything seemed to work fine. However, today I tried to do it again and somehow I am not getting anything to work. Is there a problem with the API or is it something I did with the power card. Here is an example of one of the power cards I made for my warhammer 40k Deathwatch campaign !power {{ --format|atwill --name|True Strike --leftsub|Half action --rightsub|Range: Self --Focus Power|[[(@{selected|WP}+(5*?{Psy rating?})+0-1d100)/10]] successes --Opposed| No --Sustained| no, lasts [[?{Psy rating?}]] Rounds --added Damage|[[?{Psy rating?}*2]] Damage --Penetration|Ignores Armour and Toughness --Description| Deadly against those with the psychic gift, the effects of a True Strike can smash an enemy psyker’s mind to pieces. If the Librarian performs a melee attack against a psyker (an individual Psy Rating of at least 1) within 1 Round x PR of activating the power, a successful attack will inflict an additional 2 points of damage x PR which cannot be reduced by armour or Toughness. In addition, an individual suffering damage from this power must make a Hard (–20) Willpower Test or lose access to his Psychic Powers for 1 Round. This power has no additional effects on individuals without a Psy Rating of at least 1.}}
1451990460
Silvyre
Roll20 Mod Team
I presume the above is working now?
1452091690

Edited 1452091877
I don't suppose there is any way to compare multiple rolls and have something trigger based on that? I am playing Deathwatch 40K and what I want to do is Take Attribute from Selected token with modifiers (minus) Attribute from targeted token. Take that total (the minus) and then compare it to determine how many damage of dice to roll. I got it working for the most part: --You:|[[ [NH] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] That gives me the number I want but I can't figure out how to put a roll ID in that will let me compare the total. Normally with all my working Macros I use a $ID.total >= 10 or whatever number but there is no $ID here because there are two separate rolls. Is there anyway to add a 3rd ID for the total?
Yeah my problem was resolved even though I still don't know what caused it. All my power cards are currently working again.
1452093786

Edited 1452093823
Silvyre
Roll20 Mod Team
Paul M. said: That gives me the number I want but I can't figure out how to put a roll ID in that will let me compare the total. Something like this? !power {{ --You:|[[ [NH |$Total ] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] }}
1452095069

Edited 1452095103
Silvyre said: Paul M. said: That gives me the number I want but I can't figure out how to put a roll ID in that will let me compare the total. Something like this? !power {{ --You:|[[ [NH |$Total ] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] }} Not quite. I was then hoping to do a comparison after. ??  $Total.total >= 0 AND < 10 ?? Damage:|[[ 1d10 ]] But I can't get that to work. I have many working macros just like that but they don't have multiple 1d100 rolls in them.
1452095421
Silvyre
Roll20 Mod Team
I'm not very familiar with the system, how's this? !power {{ --You:|[[ [NH|$Total] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] -- ?? $Total >= 0 AND $Total <= 9 ?? Damage:|[[ 1d10 ]] }}
1452095557
Ziechael
Pro
Sheet Author
API Scripter
Paul M. said: Silvyre said: Paul M. said: That gives me the number I want but I can't figure out how to put a roll ID in that will let me compare the total. Something like this? !power {{ --You:|[[ [NH |$Total ] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] }} Not quite. I was then hoping to do a comparison after. ??  $Total.total >= 0 AND < 10 ?? Damage:|[[ 1d10 ]] But I can't get that to work. I have many working macros just like that but they don't have multiple 1d100 rolls in them. ?? $Total.total >= 0 AND $Total.total <10 ?? Damage:|[[1d10]] That might do it?
1452095851
Silvyre said: I'm not very familiar with the system, how's this? !power {{ --You:|[[ [NH|$Total] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] -- ?? $Total >= 0 AND $Total <= 9 ?? Damage:|[[ 1d10 ]] }} Ziechael said: Paul M. said: Silvyre said: Paul M. said: That gives me the number I want but I can't figure out how to put a roll ID in that will let me compare the total. Something like this? !power {{ --You:|[[ [NH |$Total ] ( @{Willpower} + 5 * ?{Power Rating:|2} + ?{Focus Modifiers|10} - [$Atk] 1d100 ) - ( @{target|Willpower} + ?{Enemy Willpower modifiers|0} - [$Def] 1d100 ) ]] --Check:|Total is [^Total], Atk is [^Atk], Def is [^Def] }} Not quite. I was then hoping to do a comparison after. ??  $Total.total >= 0 AND < 10 ?? Damage:|[[ 1d10 ]] But I can't get that to work. I have many working macros just like that but they don't have multiple 1d100 rolls in them. ?? $Total.total >= 0 AND $Total.total <10 ?? Damage:|[[1d10]] That might do it? OH WOW. Thank you both. I don't know how I forgot  the second $Total.total!! I have another macro very similar to this where I didn't forget and it worked fine. Just total brain fart.  Thanks so much guys.
1452096781
Ziechael
Pro
Sheet Author
API Scripter
We've all been there... I certainly have... many times if you look back through the pages of this thread and the ones preceding it lol, glad it works for you now.
1452213226
I know Power Cards used to have [HR#] for highlighting rolls of certain numbers. Is there anyway to still do this? I would like it to tell me if I roll a 9 or 10 on a 1d10.
1452226382

Edited 1452226603
Paul M. said: I know Power Cards used to have [HR#] for highlighting rolls of certain numbers. Is there anyway to still do this? I would like it to tell me if I roll a 9 or 10 on a 1d10. Roll it like this: [[1d10cs>9]]
1452229642
Awesome thanks. You guys are freaking heroes all of you.
1452232939
Sky
Pro
Yeah, the HR/LR stuff got removed when that was added to the default roll engine. 
1452311338
Since you guys are so awesome. Do you know of anyway to link a Handout or URL in a Roll Query pop up box? Would be great if my players could have a link to all the modifiers they could use. Alternatively a better way to format the text in Roll Queries would work. It's so attrocious at the moment to try to get it to line up and not be just one huge run on sentence.
1452341827
Sky
Pro
There's no way to format text in a roll query or link or link to a handout that way at all.
1452377196

Edited 1452377288
I'm back at it, HB! I'm using conditionals for Monster Lore knowledge checks (in Pathfinder).  Right now I'm working on Proof of Concept and running into design issues. !power {{ --name|Monster Lore Check --$Roll:|[[ [$Roll]1d0+?{Best Result?}[Roll] ]] --?? $Roll.total <= 7 ?? !Failure!|No Idea!! --?? $Roll.total >> 7 ?? !Easy!|**Name, Description** }} The plan is that I press the Lore macro button after they all roll hidden rolls for the appropriate lore skill and feed the macro the highest roll they achieved, and this spits out however much knowledge they earned.  My problem is that in this current incarnation all I get is the header, regardless of the number supplied.  Where am I going wrong with my framework? I do not want them seeing the number from $Roll
1452377739

Edited 1452377803
Silvyre
Roll20 Mod Team
PowerCards no longer parses the contents of hidden tags; you'll want to replace --$Roll: with --hroll
1452378325
!power {{ --name|Monster Lore Check --hroll:|[[ [$Roll]1d0+?{Best Result?}[Roll] ]] --?? $Roll.total <= 7 ?? !Failure|No Idea!! --?? $Roll.total >> 7 ?? !Easy|Name, Description }} Now I'm seeing the 'roll', AND it doesn't print what it should for numbers over 7.  Is there still no way to roll a die and have that result be hidden? I could have sworn that was added....
1452378412
Silvyre
Roll20 Mod Team
remove the : from hroll: it's a reserved tag
1452378543
!power {{ --name|Monster Lore Check --hroll|[[ [$Roll]1d0+?{Best Result?}[Roll] ]] --?? $Roll.total <= 7 ?? !Failure|No Idea!! --?? $Roll.total >= 8 ?? !Easy|Name, Description }} works! THANK YOU.
1452430456
Sky
Pro
Sorry, weekend to work, lol. Thanks Silvyre. :D
1452430706
Silvyre
Roll20 Mod Team
No prob :)
1452440350

Edited 1452440826
Woo! Was up all night trying to figure out how to do text-based query pop-ups that could then be considered for conditionals. Seeing GenKitty's question helped me get the results I was looking for! !power {{ --format|alpha --charid|@{character_id} --tokenid|@{selected|token_id} --name|Test --hroll| [[ [$O] 0d0 + ?{Overcharge the Mutation?|Yes, 1|No, 0} ]] --?? $O == 1 ?? Overcharge:| [[ [$Over] 1d20 + @{selected|Bio-score} [Bio] + ?{Overcharge Modifiers|0} [Overcharge Modifiers] ]] --?? $O == 1 ?? Test1:| yes }} On that note, is there any way to only get the pop-up query for ?{Overcharge Modifiers|0}  when $O == 1 (Yes)? Right now the query itself is inside a conditional that only gets processed if $0 == 1, but I'm guessing any query will pop-up no matter what?
1452441846
Silvyre
Roll20 Mod Team
Nosaj said: Right now the query itself is inside a conditional that only gets processed if $0 == 1, but I'm guessing any query will pop-up no matter what? Yeah; Roll Queries are executed before PowerCards does any processing.
Silvyre said: Yeah; Roll Queries are executed before PowerCards does any processing. No biggie, thanks for helping me put a pin in that one!
1452452695

Edited 1452452845
Is it possible to show a conditional's value inside of an inline roll? I've tried a few things but nothing seems to work: --Attack:| [[ [$Atk] 1d20 + @{selected|level} [Level] + @{selected|DEX-mod} [Dexterity modifier] + ?{Attack Modifiers|0} [Attack Modifiers] ]] vs. **//@{target| |token_name}'s//** Fortitude --?? $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? Hit:| [[ [$Dmg] {5d10 + @{selected|DEX-mod} [Dexterity modifier] + (2*@{selected|level}) [2x Level]} ]] radiation damage. ... << more code - not important >> ........................ --?? $O == 1 AND $Over.total >= 10 AND $Over.base <> 1 AND $Over.base <> 20 AND $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 ?? Success:| The attack deals double damage instead: [[ 0d0 + ( [^Dmg] * 2) [Double Damage] ]]  In the above, I am looking to use the value of $Dmg from the Hit:| line in a follow-up query where I want to double its result on a new line. I have also tried: --Attack:| [[ [$Atk] 1d20 + @{selected|level} [Level] + @{selected|DEX-mod} [Dexterity modifier] + ?{Attack Modifiers|0} [Attack Modifiers] ]] vs. **//@{target| |token_name}'s//** Fortitude --?? $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? Hit:| [[ [$Dmg] {5d10 + @{selected|DEX-mod} [Dexterity modifier] + (2*@{selected|level}) [2x Level]} ]] radiation damage. ... << more code - not important >> ........................ --?? $O == 1 AND $Over.total >= 10 AND $Over.base <> 1 AND $Over.base <> 20 AND $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 ?? Success:| The attack deals double damage instead: [[ 0d0 + ( $Dmg.total * 2) [Double Damage] ]]  I should add: The final line from those samples gets outputted, but the value results inside of the inline roll is just 0 .
1452452794
Silvyre
Roll20 Mod Team
Not possible to do math with conditionals (yet).
Silvyre said: Not possible to do math with conditionals (yet). Ok, appreciate the help!
1452461231

Edited 1452461555
Well, in a sense, you can -- but it's more of a workaround. This is an example of how I did one for an NPC: --?? $Attack >= 2 AND $Atk2.total >= @{target|Target 2|bar3} OR $Atk2.base == 20 ?? ^1Damage *2:|~R[^Bludgeoning2]+[^Fire2]+[^Cold2]=[[ [$Bludgeoning2] { 3d12 + @{strength_mod} } + [$Fire2] 1d6 + [$Cold2] 1d6 ]]~R If you take that philosophy, you could kind of do what you are looking for like this: --Test:|[! [^Test1] !] --Test2:|[[ 2 * [$Test1] 1d10  ]] If you then put it into what you are looking for, this could be done, but by adding a little bit extra in the macro code: --Attack:| [[ [$Atk] 1d20 + @{selected|level} [Level] + @{selected|DEX-mod} [Dexterity modifier] + ?{Attack Modifiers|0} [Attack Modifiers] ]] vs. **//@{target| |token_name}'s//** Fortitude --------->> Edited below <<---------- --?? $O <> 1 AND $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? Hit:| [[ 5d10 + @{selected|DEX-mod} [Dexterity modifier] + (2*@{selected|level}) [2x Level] ]] radiation damage. --------->> Added below <<---------- --?? $O == 1 AND $Over.total >= 10 AND $Over.base <> 1 AND $Over.base <> 20 AND $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 ?? Hit:| [! [^Dmg] !] radiation damage. ... << more code - not important >> ........................ --------->> Edited below <<---------- --?? $O == 1 AND $Over.total >= 10 AND $Over.base <> 1 AND $Over.base <> 20 AND $Atk.total >= @{target| |Fort-score} AND $Atk.base <> 1 ?? Success:| The attack deals double damage instead: [[ [$SingleDmg] {5d10 + @{selected|DEX-mod} [Dexterity modifier] + (2*@{selected|level}) [2x Level]} * 2 [Double Damage] ]]  Or something similar... The key would be to recognize that since you cannot grab and use a conditional in math, you work around it. Since I'm not sure exactly what the conditions of each roll are for (i.e.: $0 == 1 AND $Over.total >= 10 AND $Over.base <> 1 AND $Over.base <> 20), the best I can assume is the conditions of the single damage are dependent upon everything you have listed and that the other ones may or may not be true. In other words, $0 == 1 is rather irrelevant to the single damage itself, but because it is dependent upon the double damage, we set up two single damage rolls: one for if it is single only, and one if it is double. I didn't test the totality of how this would work for you, but I can tell you that it can give you the results you are looking for with a little effort and creativity.
Thanks Sean, I was able to work out something along the lines of your suggested workaround!
1452558179
Hey guys, new problem. I'm trying to do a PowerCard for D&D 5e for skill checks, but it's not coming out correctly. A little help please? So, here's the code I'm using, the problem is that when I activate it it brings up a drop down menu that shows a list of everything. (Screen print following code). !power {{ --charid|@{character_id} --emote|**@{selected|token_name}** rolls an ability check! --name|STR Check --Action|?{What skill would you like to check?| Straight Check, **Rolls a straight STR Check!** ?{Advantage?|Standard, 1d20 +@{STR}|Advantage, 2d20kh1 +@{STR}|Disadvantage, 2d20kl1 +@{STR}|Athletics, **Rolls an Athletics Check!** ?{Advantage?|Standard, 1d20 +@{STR} +@{Athletics} +@{STR}|Advantage, 2d20kh1 +@{STR} +@{Athletics}|Disadvantage, 2d20kl1 +@{STR} +@{Athletics} }} What can I do to fix this?
1452558515
Silvyre
Roll20 Mod Team
This isn't an issue with PowerCards, but with a Roll Query. I'll help you out via PM.
1452558581
Silvyre said: This isn't an issue with PowerCards, but with a Roll Query. I'll help you out via PM. Ok, sorry for the confusion.
1452988687
Ok guys, a little more help please? I'm trying to do a somewhat more complex code than usual and I'm running into problems. Here is the code followed by the output: !power {{ --charid|@{character_id} --emote|**@{character_name}** twirls in a flurry and strikes with his staff! --hroll|[[ [$Flurry] ?{Flurry of Blows|Yes, 1|No, 0} +0d0 ]] --name|Staff of Striking --leftsub|Action --rightsub|Reach 80/320 --target_list|@{target|1st|token_id} --Attack|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit|~R[[ [NH] d8 +@{STR} +3 ]] | | [[ [nh] ?{Staff of striking how many charges?|0, 0d0|1, 1d6|2, 2d6|3, 3d6}]]~R --?? $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $Atk.base >= 20 ?? Critical Hit|~R[[ [NH] d8 +3]] ~R --?? $Atk.base >= 20 ?? !Crit Damage| [[1t[Critical-Hit]]] --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties|~RBludgeoning, Versatile~R --?? $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *1:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target1|@{target|2nd|token_id} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *1:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target2|@{target|3rd|token_id} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *1:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ }} Output: Any ideas what I'm doing wrong? I've tried everything I can think of to fix it and nothing is working. It either comes up with this, or breaks the API or does nothing at all.
1452990274

Edited 1452990324
Silvyre
Roll20 Mod Team
You have multiple tags with the same name (e.g. Attack1, Hit) being output at the same time. Make the tag names distinct.
1452991484

Edited 1452991956
Changed code so it now looks like this: !power {{ --charid|@{character_id} --emote|**@{character_name}** twirls in a flurry and strikes with his staff! --hroll|[[ [$Flurry] ?{Flurry of Blows|Yes, 1|No, 0} +0d0 ]] --name|Staff of Striking --leftsub|Action --rightsub|Reach 80/320 --target_list|@{target|1st|token_id} --Attack|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit|~R[[ [NH] d8 +@{STR} +3 ]] | | [[ [nh] ?{Staff of striking how many charges?|0, 0d0|1, 1d6|2, 2d6|3, 3d6}]]~R --?? $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $Atk.base >= 20 ?? Critical Hit|~R[[ [NH] d8 +3]] ~R --?? $Atk.base >= 20 ?? !Crit Damage| [[1t[Critical-Hit]]] --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *1|~RBludgeoning, Versatile~R --?? $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *1:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target1|@{target|2nd|token_id} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit1|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss2| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit1|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage *1| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *2|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *2:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target2|@{target|3rd|token_id} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit2|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss3| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit2|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage *2| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *3|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *3:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ }} And still getting this output: I made sure there are no 2 tags with the same name, but still getting the problem. ???
1452991921

Edited 1452992543
Silvyre
Roll20 Mod Team
I just noticed you have the same uniqueness issue with Roll IDs. Not sure what the purpose of your !target1 and !target2 tags are? Why do you want to see the token_ids?
1452992216
Silvyre said: I just noticed you have the same uniqueness issue with Roll IDs. Roll IDs are which again. I'm not entirely fluent in the code but I know that if you put a & b together you get c or f, but really don't know why or what all of the parts are called. I did make some changes and fixed some of the output problems and here is what I'm left with now. Code: !power {{ --charid|@{character_id} --emote|**@{character_name}** twirls in a flurry and strikes with his staff! --hroll|[[ [$Flurry] ?{Flurry of Blows|Yes, 1|No, 0} +0d0 ]] --name|Staff of Striking --leftsub|Action --rightsub|Reach 80/320 --target_list|@{target|1st|token_id} --Attack|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit|~R[[ [NH] d8 +@{STR} +3 ]] | | [[ [nh] ?{Staff of striking how many charges?|0, 0d0|1, 1d6|2, 2d6|3, 3d6}]]~R --?? $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss| ~C$$#ff0000|**You Missed!**$$~C --?? $Atk.base >= 20 ?? Critical Hit|~R[[ [NH] d8 +3]] ~R --?? $Atk.base >= 20 ?? !Crit Damage| [[1t[Critical-Hit]]] --?? $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *1|~RBludgeoning, Versatile~R --?? $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *1:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury1|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target1|@{target|2nd|token_name} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit1|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss2| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit1|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage *1| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *2|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *2:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ --?? $Flurry == 1 ?? !Flury|~C **$$#fff|Flurry of Blows$$**~C --?? $Flurry == 1 ?? !target2|@{target|3rd|token_name} --?? $Flurry == 1 ?? Attack1|~R[[ [$Atk] @{AtkRoll} + @{Melee To Hit} ]] vs. [[0d0 + %%AC%% ]] (AC) (%%token_name%%)~R --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Hit2|~R[[ [NH] d10 +@{STR} ]] ~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base < 20 ?? !Miss3| ~C$$#ff0000|**You Missed!**$$~C --?? $Flurry == 1 AND $Atk.base >= 20 ?? Critical Hit2|~R[[ [NH] d8 +3]] ~R --?? $Flurry == 1 AND $Atk.base >= 20 ?? !Crit Damage *2| [[1t[Critical-Hit]]] --?? $Flurry == 1 AND $Atk.total >= @{target| |bar3} AND $Atk.base <= 20 ?? Properties *3|~RBludgeoning~R --?? $Flurry == 1 AND $Atk.total < @{target| |bar3} AND $Atk.base == 1 ?? !Miss *3:|You missed horribly: ^^^^ $$#ff0000|**[[1t[Critical-Miss-Melee] [txt] ]]**$$ }} Output:
1452992491

Edited 1452992622
Silvyre
Roll20 Mod Team
$Atk is a Roll ID. You don't want to define two Roll IDs with the same name, as you're currently doing. You'll also want to go through your macro and fix your targeted Attributes by replacing @{target| |bar3} with @{target|1st|bar3}, @{target|2nd|bar3} or @{target|3rd|bar3}. And, add more targets to your --target_list tag . (Check out how HoneyBadger did it in the examples within the OP of this thread.)
1452993108

Edited 1453026472
I was trying to follow this code:   SeanOG Pro As HB said, conditionals won't work with charm targeting output. The only way to do this, with conditionals, is to make each an individual attack. Here is an example of how it can work (granted, this is one I wrote for my dad's monk to turn every attack he can have, into a single macro with different options): !power {{ @{format} --charid|@{character_id} --emote|@{character_name}'s hands blur as he suddenly strikes! --name|@{character_name}'s Attack! --leftsub|Attack Action --rightsub|Melee --hroll|[[ [$Wpn] ?{Weapon?|@{selected|meleeweaponname1},1|@{selected|meleeweaponname2},2} + 0d0 ]] [[ [$Attack] ?{Attack?|Regular,1|Bonus,2|Flurry,3|Opportunity,0} + 0d0 ]] [[ [$Open] ?{Open Hand Technique|Prone,0|Push,1|Reaction,2} +0d0]] --Target *1:|$$#ff0000|@{target|Target 1|token_name}$$ --?? $Wpn == 1 ?? ^1Attack *1:|~R [[ [$Atk1] ?{Advantage Target 1?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Wpn == 2 ?? ^1Attack *1:|~R [[ [$Atk5] ?{Advantage Target 1?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit2} [Melee Bonus] ]] ]] ~R --?? $Wpn == 1 AND $Atk1.total < @{target|Target 1|bar3} AND $Atk1.base == 1 ?? !Miss *1:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Wpn == 2 AND $Atk5.total < @{target|Target 1|bar3} AND $Atk5.base == 1 ?? !Miss *1:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Wpn == 1 AND $Atk1.total < @{target|Target 1|bar3} AND $Atk1.base <> 1 ?? !Miss *1:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Wpn == 2 AND $Atk5.total < @{target|Target 1|bar3} AND $Atk5.base <> 1 ?? !Miss *1:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Wpn == 1 AND $Atk1.total >= @{target|Target 1|bar3} OR $Atk1.base == 20 ?? ^1Damage *1:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Wpn == 2 AND $Atk5.total >= @{target|Target 1|bar3} OR $Atk5.base == 20 ?? ^1Damage *1:|~R[[@{selected|meleedmg2}+ [[@{meleedmgbonus2}]] ]]~R --?? $Wpn == 1 AND $Atk1.total >= @{target|Target 1|bar3} OR $Atk1.base == 20 ?? ^1Damage Type *1:|@{selected|meleedmgtype1} --?? $Wpn == 2 AND $Atk5.total >= @{target|Target 1|bar3} OR $Atk5.base == 20 ?? ^1Damage Type *1:|@{selected|meleedmgtype2} --?? $Wpn == 1 AND $Atk1.base == 20 ?? ^2Crit *1:|~R[[@{selected|meleedmg1}]]~R --?? $Wpn == 2 AND $Atk5.base == 20 ?? ^2Crit *1:|~R[[@{selected|meleedmg2}]]~R --?? $Attack <> 0 ?? Target *2:|$$#ff0000|@{target|Target 2|token_name}$$ --?? $Attack <> 0 AND $Wpn == 1 ?? ^1Attack *2:|~R [[ [$Atk2] ?{Advantage Target 2?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Attack <> 0 AND $Wpn == 2 ?? ^1Attack *2:|~R [[ [$Atk6] ?{Advantage Target 2?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit2} [Melee Bonus] ]] ]] ~R --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total < @{target|Target 2|bar3} AND $Atk2.base == 1 ?? !Miss *2:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total < @{target|Target 2|bar3} AND $Atk6.base == 1 ?? !Miss *2:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total < @{target|Target 2|bar3} AND $Atk2.base <> 1 ?? !Miss *2:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total < @{target|Target 2|bar3} AND $Atk6.base <> 1 ?? !Miss *2:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total >= @{target|Target 2|bar3} OR $Atk2.base == 20 ?? ^1Damage *2:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total >= @{target|Target 2|bar3} OR $Atk6.base == 20 ?? ^1Damage *2:|~R[[@{selected|meleedmg2}+ [[@{meleedmgbonus2}]] ]]~R --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.total >= @{target|Target 2|bar3} OR $Atk2.base == 20 ?? ^1Damage Type *2:|@{selected|meleedmgtype1} --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.total >= @{target|Target 2|bar3} OR $Atk6.base == 20 ?? ^1Damage Type *2:|@{selected|meleedmgtype2} --?? $Attack <> 0 AND $Wpn == 1 AND $Atk2.base == 20 ?? ^2Crit *2:|~R[[@{selected|meleedmg1}]]~R --?? $Attack <> 0 AND $Wpn == 2 AND $Atk6.base == 20 ?? ^2Crit *2:|~R[[@{selected|meleedmg2}]]~R --?? $Attack == 2 ?? !Bonus|~C **$$#fff|Bonus Action Attack$$** ~~~ ~C --?? $Attack == 2 ?? Target *5:|$$#ff0000|@{target|Target 3|token_name}$$ --?? $Attack == 2 ?? ^1Attack *5:|~R [[ [$Atk7] ?{Advantage Target 3?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Attack == 2 AND $Atk7.total < @{target|Target 3|bar3} AND $Atk7.base == 1 ?? !Miss *5:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 2 AND $Atk7.total < @{target|Target 3|bar3} AND $Atk7.base <> 1 ?? !Miss *5:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 2 AND $Atk7.total >= @{target|Target 3|bar3} OR $Atk7.base == 20 ?? ^1Damage *5:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 2 AND $Atk7.total >= @{target|Target 3|bar3} OR $Atk7.base == 20 ?? ^1Damage Type *5:|@{selected|meleedmgtype1} --?? $Attack == 2 AND $Atk7.base == 20 ?? ^2Crit *5:|~R[[@{selected|meleedmg1}]]~R --?? $Attack == 3 ?? !Flurry|~C **$$#fff|Flurry of Blows$$** ~~~ $$#fff|Cost of 1 **Ki**$$ ~C --?? $Attack == 3 ?? Target *3:|$$#ff0000|@{target|Target 3|token_name}$$ --?? $Attack == 3 ?? ^1Attack *3:|~R [[ [$Atk3] ?{Advantage Target 3?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Attack == 3 AND $Atk3.total < @{target|Target 3|bar3} AND $Atk3.base == 1 ?? !Miss *3:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 3 AND $Atk3.total < @{target|Target 3|bar3} AND $Atk3.base <> 1 ?? !Miss *3:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 3 AND $Atk3.total >= @{target|Target 3|bar3} OR $Atk3.base == 20 ?? ^1Damage *3:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 3 AND $Atk3.total >= @{target|Target 3|bar3} OR $Atk3.base == 20 ?? ^1Damage Type *3:|@{selected|meleedmgtype1} --?? $Attack == 3 AND $Open == 0 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} must succeed on a $~#7A00A3|Dexterity$~ saving throw or be knocked prone. --?? $Attack == 3 AND $Open == 0 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^2Open Hand DC *3:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 1 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} must make a $~#A30000|Strength$~ saving throw. If it fails, it is pushed up to 15 feet away from @{character_name}. --?? $Attack == 3 AND $Open == 1 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^2Open Hand DC *3:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 2 AND $Atk3.total >= @{target|Target 3|bar3} ?? ^1Open Hand Technique *3:|@{target|Target 3|token_name} can't take reactions until the end of @{character_name}'s next turn. --?? $Attack == 3 AND $Atk3.base == 20 ?? ^2Crit *3:|~R[[@{selected|meleedmg1}]]~R --?? $Attack == 3 ?? Target *4:|$$#ff0000|@{target|Target 4|token_name}$$ --?? $Attack == 3 ?? ^1Attack *4:|~R [[ [$Atk4] ?{Advantage Target 4?|No, 1d20|Advantage, 2d20KH1|Disadavantage, 2d20KL1} + [[@{selected|meleetohit1} [Melee Bonus] ]] ]] ~R --?? $Attack == 3 AND $Atk4.total < @{target|Target 4|bar3} AND $Atk4.base == 1 ?? !Miss *4:|And... you missed: ^^^^ $$#ff0000|**[[ 1t[Critical-Miss] [txt] ]]**$$ --?? $Attack == 3 AND $Atk4.total < @{target|Target 4|bar3} AND $Atk4.base <> 1 ?? !Miss *4:|~C $$#ff0000|**Whiffed.**$$ ~C --?? $Attack == 3 AND $Atk4.total >= @{target|Target 4|bar3} OR $Atk4.base == 20 ?? ^1Damage *4:|~R[[@{selected|meleedmg1}+ [[@{meleedmgbonus1}]] ]]~R --?? $Attack == 3 AND $Atk4.total >= @{target|Target 4|bar3} OR $Atk4.base == 20 ?? ^1Damage Type *4:|@{selected|meleedmgtype1} --?? $Attack == 3 AND $Open == 0 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} must succeed on a $~#7A00A3|Dexterity$~ saving throw or be knocked prone. --?? $Attack == 3 AND $Open == 0 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^2Open Hand DC *4:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 1 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} must make a $~#A30000|Strength$~ saving throw. If it fails, it is pushed up to 15 feet away from @{character_name}. --?? $Attack == 3 AND $Open == 1 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^2Open Hand DC *4:|~R †$ [[ [txt] 8 + @{PB} + @{wisdom_mod} +0d0 ]] †$ ~R --?? $Attack == 3 AND $Open == 2 AND $Atk4.total >= @{target|Target 4|bar3} ?? ^1Open Hand Technique *4:|@{target|Target 4|token_name} can't take reactions until the end of @{character_name}'s next turn. --?? $Attack == 3 AND $Atk4.base == 20 ?? ^2Crit *4:|~R[[@{selected|meleedmg1}]]~R }} It's a little longer for only 4 maximum attacks when compared to charm targeting, but the principle is the same. This is just an example of how far you can go with it. It will roll crits for only a single target, as well as misses, critical misses, etc: