Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[Script] PowerCards 3 (Thread 6)

I ended up finding this in an older script that I used and it works perfectly: --**[[ [TXT] 1t[TolgolothComments] ]]** Thank you for the help!
@ timmaugh &nbsp;Thanks for the reply - I wish I was versed in macros / API /Roll20 enough to understand the answer! Here's what I did to get to this point - I set up the PowerCards and PowerCards Macro Helper APIs, and used the Devilish DMs Powercard Macros shown here; <a href="https://app.roll20.net/forum/post/8126152/combatmaster-alpha/?pagenum=30" rel="nofollow">https://app.roll20.net/forum/post/8126152/combatmaster-alpha/?pagenum=30</a> The issue is neither the Saves nor the Ability checks work, and I see that neither is in PowerCards format. I did reach out to the Devilish DM but never got any reply. I've tried to take a look at this, and the Save format is exactly the save as I use in NPCs as a Token Action Ability, where it works just fine. Any ideas?
Hello I am having a problem with editing the bgcolor or use of the format command. Each time I try to enter it to my script there is never a change. I always get the green background color (which I assume is the default). I have tried copying code from other users and it does not work. Is there something in the PCM Helper that is overriding my commands? Below is my script. /fx firebolt @{selected|token_id} @{target|token_id} !power {{ --bgcolor|#e8e8e8 --replacespell|@{selected|character_id}|Fire Bolt --replaceattrs|S-|@{selected|character_id}|@{selected|token_id} --replaceattrs|T-|@{target|character_id}|@{target|token_id} --replacement|Advantage --soundfx|_audio,play,nomenu|~SPELLSOUND$ --template|Basics|@{selected|token_id};@{target|token_id};casts ~SP-NAME$;~SP-NAME$;Cantrip;~SP-RANGE$;@{selected|whispertoggle} --template|CantripAttack|~@{selected|rtype}$;@{selected|whispertoggle};@{selected|global_attack_mod};@{selected|global_damage_mod_roll};@{selected|global_damage_mod_type};@{selected|global_damage_mod_crit} }}
1621441681

Edited 1621442650
[Edit, I found this line on the wiki regarding my issue : Note: &nbsp;At this time, reopening a&nbsp; Macro &nbsp;saved under the&nbsp; l &nbsp; Collections -tab of the&nbsp; Sidebar &nbsp;causes HTML entities within to be reverted; if the Macro is then saved, so are those reversions. This behavior is not present within&nbsp; Abilities &nbsp;or Ability Command Buttons. I suppose this means there is not fix ?] Hello everyone, I have been using Powercards recently for my macros and it's been a blast. I have stumbled a problem that I cannot quite understand, which is causing a few issues for my players. I use Powercards to generate a list of spell for each character, here is one such list :&nbsp; !power {{ --format|StyxComp --whisper|Styx Mégabombe --!Liste|~C [TTB 'border=1px black;' 'width=100%'] [TRB 'bgcolor=#737373'][TDB align=middle colspan=10]**Actions rapides**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB width='20%']**PA**[TDE][TDB width='30%']**Bouton**[TDE][TDB width='30%']**Ressource**[TDE][TDB width='20%']**Portée**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Bidouillage](!&amp;#13;#13.Bidouillage)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**[[15]]m**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AR + 1 (2)**[TDE][TDB width='30%']**[Défibrillation](!&amp;#13;#13.Défibrillation)**[TDE][TDB width='30%']**-[[2]] Charge (E)^^x1 Composants exceptionnels**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Jet de Vapeur](!&amp;#13;#13.Jet-de-vapeur)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Kit d'Auto-réparation](!&amp;#13;#13.1.Kit-d'auto-réparation)**[TDE][TDB width='30%']**-[[1]] Charge (E)**[TDE][TDB width='20%']**[[5]]m**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AR + 1 (2)**[TDE][TDB width='30%']**[M.T.M.](!&amp;#13;#13.1.M.T.M.)**[TDE][TDB width='30%']**-[[2]] à [[3]] Charges (E)**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Surchauffer l'arme](!&amp;#13;#13.Surchauffer-larme)**[TDE][TDB width='30%']**-[[1]] Charges (C)**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Tourelle mécanique](!&amp;#13;#13.Tourelle-mécanique)**[TDE][TDB width='30%']**-[[1]] Charge (E)**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AR (1)**[TDE][TDB width='30%']**[Zap](!&amp;#13;#13.Zap)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**/**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AR + 1 (2)**[TDE][TDB width='30%']**[Polarisation](!&amp;#13;#13.Polarisation)**[TDE][TDB width='30%']**Toutes les Charges (E)**[TDE][TDB width='20%']**[[25]]m,[[4]]mR**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AR + 1 (2)**[TDE][TDB width='30%']**[Décompression](!&amp;#13;#13.Décompression)**[TDE][TDB width='30%']**Toutes les Charges (C)**[TDE][TDB width='20%']**[[6]]mR**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB align=middle colspan=10]**Actions médianes**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB width='20%']**PA**[TDE][TDB width='30%']**Bouton**[TDE][TDB width='30%']**Ressource**[TDE][TDB width='20%']**Portée**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AM**[TDE][TDB width='30%']**[Champ électro-magnétique](!&amp;#13;#13.Champ-électro-magnétique)**[TDE][TDB width='30%']**-[[2]] Charges (E)**[TDE][TDB width='20%']**[[10]]m, [[4]]mR**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**AM**[TDE][TDB width='30%']**[Imp. électro-magnétique](!&amp;#13;#13.1.Impulsion-électro-magnétique)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**[[5]]mR autour des Tourelles**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**AM**[TDE][TDB width='30%']**[Propulsion comprimée](!&amp;#13;#13.Propulsion-comprimée)**[TDE][TDB width='30%']**-[[1]] Charges (C)**[TDE][TDB width='20%']**[[15]]m**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB align=middle colspan=10]**Actions**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB width='20%']**PA**[TDE][TDB width='30%']**Bouton**[TDE][TDB width='30%']**Ressource**[TDE][TDB width='20%']**Portée**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**1 PA**[TDE][TDB width='30%']**[Lance-flamme](!&amp;#13;#13.Lance-flamme)**[TDE][TDB width='30%']**-[[1]] à [[3]] Charges (C)**[TDE][TDB width='20%']**[[8]]-[[12]]mC, [[45]]**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**1PA**[TDE][TDB width='30%']**[Nuage de fumée](!&amp;#13;#13.Nuage-de-fumée)**[TDE][TDB width='30%']**-[[1]] Charges (C)**[TDE][TDB width='20%']**[[4]]mR**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**1 PA / Tour**[TDE][TDB width='30%']**[Rayons](!&amp;#13;#13.Rayons)**[TDE][TDB width='30%']**-[[1]] Charge (E) / Tour**[TDE][TDB width='20%']**[[15]]m**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**1 PA**[TDE][TDB width='30%']**[Surcadençage](!&amp;#13;#13.1.Surcadençage)**[TDE][TDB width='30%']**-[[1]] Charge (E)**[TDE][TDB width='20%']**[[5]]mR**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**1PA**[TDE][TDB width='30%']**[Tirs croisés](!&amp;#13;#13.1.Tirs-croisés)**[TDE][TDB width='30%']**-[[1]] Charge (E)**[TDE][TDB width='20%']**[[15]]mR, [[25]]m**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB align=middle colspan=10]**Actions spéciales**[TDE][TRE] [TRB 'bgcolor=#737373'][TDB width='20%']**PA**[TDE][TDB width='30%']**Bouton**[TDE][TDB width='30%']**Ressource**[TDE][TDB width='20%']**Portée**[TDE][TRE] [TRB 'bgcolor=#ffffff'][TDB width='20%']**Gratuit**[TDE][TDB width='30%']**[Barrage de Fusées](!&amp;#13;#Passif-Gobelin)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**[[15]]m**[TDE][TRE] [TRB 'bgcolor=#ebebeb'][TDB width='20%']**Gratuit**[TDE][TDB width='30%']**[Fusées de Saut](!&amp;#13;#Passif-Gobelin-2)**[TDE][TDB width='30%']**/**[TDE][TDB width='20%']**[[15]]m**[TDE][TRE] [TTE] ~C }} In these lists, I reference all their abilities for my game system. Sometimes, a player's ability will consist of different variations of this ability. For instance, the Tinkerer in this case can use 3 different "Rays". The button from the spell list pops this macro :&nbsp; !power {{ --name|[img](<a href="https://s3.amazonaws.com/files.d20.io/images/80777268/ktjnrSUi0-6uRZbdVE4qrA/med.jpg" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/80777268/ktjnrSUi0-6uRZbdVE4qrA/med.jpg</a>) Rayons --format|Styx --!0|__[Handout](<a href="http://journal.roll20.net/handout/-LeDviZs7LGr0NxlStPS)__" rel="nofollow">http://journal.roll20.net/handout/-LeDviZs7LGr0NxlStPS)__</a> --!1|[Réparateur](! #13.Rayon-réparateur) Soins (réduits sur organiques) --!2|[Dynamisant](! #13.Rayon-dynamisant) Avantage aux attaques et sorts --!3|[Électrisant](! #13.Rayon-électrisant) Dégâts des Arcanes (150% contre Mécanique) --PA :|1 / Tour --Coût :|[[1]] Charge (E) / Tour }} Notice, how for the 3 types of rays (Réparateur, Dynamisant and Electrisant) the (! and rest of the macro is separated with a line,break as if I had pressed enter. Each of these macros is functional on its own. However, when I create the "Rayon" macro, I use&nbsp;! &amp; # 13 ; # (without spaces) to reference the macro and while testing the macro, it works. Then, once I hit save, the weird formatting issue occurs and the line break occurs (that I mentioned earlier). I have tested this with other lists or macros and it still bugs me why whenever I hit save, the content of the macro changes, thus breaking it. Another thing, I use another script, outside of Powercards, which DOES work whenever I use the macros afterwards by clicking the button after I saved. I thus suspect that it has something to do with Powercards itself not understanding the tags, symbols, or wrongly interpreting them.&nbsp; Has anyone encountered a similar issue and know a fix? Thanks in advance, and thanks for the great script !
1621447916
timmaugh
Pro
API Scripter
You can try to use Fetch to get those macros. It will retrieve the text *after* your call has gone through the char parser, so it should retain the line-break characters as characters (instead of the chat parser turning them into an actual line-break). There is a way to do it with Muler, too, but I think Fetch is the quickest way to get there.
1621785713

Edited 1621812307
Hello:&nbsp; I'm having trouble with the Powercards format handouts. I ahve created powercards handouts in the proper way and have gotten them to work. But now whenever I add a new format to the list, it fails.&nbsp; For example: These are the formats for Downtown Abbie and Charlie Carter. They are identical except for the the name. They&nbsp; are in the same handout. The first one works by the second one doesn't. Downtown Abbie: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 Charlie Carter: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 I'm calling them up in powercards using this command.&nbsp; --format|@{selected|character_name} Again the first one works and the second one doesn't.&nbsp; The names are spelled correctly on the token markers and on the character sheet. I have tried calling up the Charlie Carter format using this command&nbsp; --format|Charlie Carter But it doesn't work. If I try calling up the Downton Abbie format using&nbsp; --format|Downtown Abbie then it does work. I have tried disabling and reenabling powercards and restarting the API sandbox.&nbsp; I'm basically stuck.
1621811847
Kurt J.
Pro
API Scripter
CURTIS C. said: Hello:&nbsp; I'm having trouble with the Powercards format handouts. I ahve created powercards handouts in the proper way and have gotten them to work. But now whenever I add a new format to the list, it fails.&nbsp; For example: These are the formats for Downtown Abbie and Charlie Carter. They are identical except for the the name. They&nbsp; are in the smae handout. The first one works by the second one doesn't. Downtown Abbie: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 Charlie Carter: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 I'm calling them up in powercards using this command.&nbsp; --format|@{selected|character_name} Again the first one works and the second one doesn't.&nbsp; The names are spelled correctly on the token markers and on the character sheet. I have tried calling up the Charlie Carter format using this command&nbsp; --format|Charlie Carter But it doesn't work. If I try calling up the Downton Abbie format using&nbsp; --format|Downtown Abbie then it does work. I have tried disabling and reenabling powercards and restarting the API sandbox.&nbsp; I'm basically stuck. So this is going to sound weird, but try copying the text of your handout and pasting it into Notepad. Then clear it all from the handout and copy the notepad text and paste that back into the handout. Some time after the handout methods were added to PowerCards, Roll20 changed the in-game editor and it now throws all kinds of HTML junk into the text that you can't normally see. Something like notepad that doesn't support that allows you to clear it out with the copy/paste dance.
Thanks. I just tried that several different ways.&nbsp; Still no luck.&nbsp; Kurt J. said: CURTIS C. said: Hello:&nbsp; I'm having trouble with the Powercards format handouts. I ahve created powercards handouts in the proper way and have gotten them to work. But now whenever I add a new format to the list, it fails.&nbsp; For example: These are the formats for Downtown Abbie and Charlie Carter. They are identical except for the the name. They&nbsp; are in the smae handout. The first one works by the second one doesn't. Downtown Abbie: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 Charlie Carter: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 I'm calling them up in powercards using this command.&nbsp; --format|@{selected|character_name} Again the first one works and the second one doesn't.&nbsp; The names are spelled correctly on the token markers and on the character sheet. I have tried calling up the Charlie Carter format using this command&nbsp; --format|Charlie Carter But it doesn't work. If I try calling up the Downton Abbie format using&nbsp; --format|Downtown Abbie then it does work. I have tried disabling and reenabling powercards and restarting the API sandbox.&nbsp; I'm basically stuck. So this is going to sound weird, but try copying the text of your handout and pasting it into Notepad. Then clear it all from the handout and copy the notepad text and paste that back into the handout. Some time after the handout methods were added to PowerCards, Roll20 changed the in-game editor and it now throws all kinds of HTML junk into the text that you can't normally see. Something like notepad that doesn't support that allows you to clear it out with the copy/paste dance.
Hey all: I have a macro called Engage. I have another called StatusMarkers built within a character sheet. Engage contains the scriptcard wrapper {{ }}. The other does not. Below is a snippit of expectation code. When I click on Engage, the input ?{} brings up the expected "First Test, Status Markers, Second Test" selections. Clicking on "Status Marker" brings up the expected second choice, and its input?{} acts as designed. But when either of the flanking&nbsp; selections are chosen, the process jumps first to the macro "StatusMarker" and, even though the input?{} selection at this point doesn't actually work, it returns to display the banal message of that which was originally selected (I presume if that was calling a different macro, then it would engage). I tested by puting both --^EndCallMacro| and --^EndMarkers| at the top of the StatusMarker macro just to see if it would skip the process altogether. Nope.&nbsp; I have used this scriptcard (macro a macro) approach a lot, but not with nested input ?{} requests. If this is the issue, I was hoping scriptcards was more linear than that. Is there a work around? Macro Engage !scriptcard&nbsp; {{ --=CallMacro|?{Select Function|First Test,0|Satus Markers,1|Second Test,2} --?[$CallMacro] -eq 0|CallMacro0 --?[$CallMacro] -eq 1|CallMacro1 --?[$CallMacro] -eq 2|CallMacro2 --^EndCallMacro| --:CallMacro0|Test call 1 --+|Banal response: 1st macro call CallMacro0 with [$CallMacro] pick. --^EndCallMacro| --:CallMacro1|Satus Markers &nbsp; %{Game|StatusMarkers} --^EndCallMacro| --:CallMacro2|Test call 2 --+|Banal Response: 2nd test Called CallMacro2 with [$CallMacro] pick. --^EndCallMacro| --:EndCallMacro| }} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Macro StatusMarker&nbsp; ! I used both of these, one after the other to see if it would skip macro altogether: --^EndCallMacro| and --^EndMarkers| nope --=MarkerAction|?{Select|Reset,0|Wounded,1|Critical,2}} --?[$MarkerAction] -eq 0|Marker0 --?[$MarkerAction] -eq 1|Marker1 --?[$MarkerAction] -eq 2|Marker2 --^EndMarkers| --:Marker0|Reset &nbsp;--@token-mod| _set statusmarkers|=dead|=dead|-dead _ignore-selected _ids @{selected|token_id} --^EndMarkers| --:Marker1|Wounded &nbsp;--@token-mod| _set statusmarkers|!5eWounded _ignore-selected _ids @{selected|token_id} --^EndMarkers| --:Marker2|Critical &nbsp;--@token-mod| _set statusmarkers|!5eExhausted _ignore-selected _ids @{selected|token_id} --^EndMarkers| --:EndMarkers| Thanks ahead of time for the help
Hello, trying out the script myself, and currently working on a bit of an undertaking. I'm working on a script for an ability of a homebrew wizard subclass called "Flick of the Wrist." It's essentially an additional ranged attack that deals 1d6 (2d6 at 4th level, 3d6 at 8th level, 4d6 at 12th level, and 5d6 at 16th level) + Int Mod slashing damage, but the attack can be empowered by expending a spellslot to basically add a 1d10 + 1d4 of either psychic, cold, lighting, or fire damage that is multiplied baised on the level of spell slot expended. Feel free to take a look at the code as I'm hitting a bit of a brick wall with getting some bugs and issues with certain parts of the code. !power {{ &nbsp; --name|Flick of the Wrist &nbsp; --leftsub|Ranged Magic Attack &nbsp; --rightsub|30 ft Range &nbsp; &nbsp; --inlinereplace|Lvl1Slots|@{lvl1_slots_expended} &nbsp; --inlinereplace|Lvl2Slots|@{lvl2_slots_expended} &nbsp; --inlinereplace|Lvl3Slots|@{lvl3_slots_expended} &nbsp; --inlinereplace|Lvl4Slots|@{lvl4_slots_expended} &nbsp; --inlinereplace|Lvl5Slots|@{lvl5_slots_expended} &nbsp; --inlinereplace|Lvl6Slots|@{lvl6_slots_expended} &nbsp; --inlinereplace|Lvl7Slots|@{lvl7_slots_expended} &nbsp; --inlinereplace|Lvl8Slots|@{lvl8_slots_expended} &nbsp; --inlinereplace|Lvl9Slots|@{lvl9_slots_expended} &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == StandardCast ?? skipTo *1|StandardCast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl1Cast ?? skipTo *2|Lvl1Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl2Cast ?? skipTo *3|Lvl2Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl3Cast ?? skipTo *4|Lvl3Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl4Cast ?? skipTo *5|Lvl4Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl5Cast ?? skipTo *6|Lvl5Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl6Cast ?? skipTo *7|Lvl6Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl7Cast ?? skipTo *8|Lvl7Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl8Cast ?? skipTo *9|Lvl8Cast &nbsp; --?? ?{Empowered Level?|Normal Flick,StandardCast|Level 1 Empowerd Flick,Lvl1Cast|Level 2 Empowerd Flick,Lvl2Cast|Level 3 Empowerd Flick,Lvl3Cast|Level 4 Empowerd Flick,Lvl4Cast|Level 5 Empowerd Flick,Lvl5Cast|Level 6 Empowerd Flick,Lvl6Cast|Level 7 Empowerd Flick,Lvl2Cast|Level 8 Empowerd Flick,Lvl8Cast|Level 9 Empowerd Flick,Lvl9Cast} == Lvl9Cast ?? skipTo *10|Lvl9Cast &nbsp; --:StandardCast| &nbsp; --Empowered Throw *1|None &nbsp; --Attack *1|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *1|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *1|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *1|Missed &nbsp; --skipTo *11|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl1Cast| &nbsp; --?? ~Lvl1Slots$ &lt; 1 ?? skipTo *12|NotEnoughSlots &nbsp; --Empowered Throw *2|1st Level &nbsp; &nbsp; --Attack *2|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *2|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *2|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *13|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *1|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *1|[[ [$EmpDmg] 1d10 + 1d4 ]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *1|[[ [$EmpCrit] 2d10 + 2d4 ]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *1|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *2|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *3|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *4|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *1|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *2|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *3|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *4|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *1|_silent _charid @{character_id} _lvl1_slots_expended|-1 &nbsp; --skipTo *14|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl2Cast| &nbsp; --?? ~Lvl2Slots$ &lt; 1 ?? skipTo *15|NotEnoughSlots &nbsp; --Empowered Throw *3|2nd Level &nbsp; &nbsp; --Attack *3|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *3|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *3|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *16|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *2|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *2|[[ [$EmpDmg] (1d10 + 1d4) * 2]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *2|[[ [$EmpCrit] (2d10 + 2d4) * 2]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *5|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *6|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *7|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *8|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *5|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *6|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *7|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *8|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *2|_silent _charid @{character_id} _lvl2_slots_expended|-1 &nbsp; --skipTo *17|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl3Cast| &nbsp; --?? ~Lvl3Slots$ &lt; 1 ?? skipTo * 18|NotEnoughSlots &nbsp; --Empowered Throw *4|3rd Level &nbsp; &nbsp; --Attack *4|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *4|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *4|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *19|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *3|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *3|[[ [$EmpDmg] (1d10 + 1d4) * 3]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *3|[[ [$EmpCrit] (2d10 + 2d4) * 3]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *9|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *10|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *11|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *12|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *9|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *10|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *11|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *12|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *3|_silent _charid @{character_id} _lvl3_slots_expended|-1 &nbsp; --skipTo * 20|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl4Cast| &nbsp; --?? ~Lvl4Slots$ &lt; 1 ?? skipTo * 21|NotEnoughSlots &nbsp; --Empowered Throw *5|4th Level &nbsp; &nbsp; --Attack *5|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *5|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *5|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *22|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *4|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *4|[[ [$EmpDmg] (1d10 + 1d4) * 4]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *4|[[ [$EmpCrit] (2d10 + 2d4) * 4]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *13|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *14|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *15|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *16|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *13|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *14|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *15|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *16|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *4|_silent _charid @{character_id} _lvl4_slots_expended|-1 &nbsp; --skipTo *23|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl5Cast| &nbsp; --?? ~Lvl5Slots$ &lt; 1 ?? skipTo *24|NotEnoughSlots &nbsp; --Empowered Throw *6|5th Level &nbsp; &nbsp; --Attack *6|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *6|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *6|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *25|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *5|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *5|[[ [$EmpDmg] (1d10 + 1d4) * 5]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *5|[[ [$EmpCrit] (2d10 + 2d4) * 5]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *17|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *18|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *19|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *20|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *19|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *18|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *19|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *20|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *5|_silent _charid @{character_id} _lvl5_slots_expended|-1 &nbsp; --skipTo *26|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl6Cast| &nbsp; --?? ~Lvl6Slots$ &lt; 1 ?? skipTo *27|NotEnoughSlots &nbsp; --Empowered Throw *7|6th Level &nbsp; &nbsp; --Attack *7|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *7|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *7|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *28|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *6|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *6|[[ [$EmpDmg] (1d10 + 1d4) * 6]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *6|[[ [$EmpCrit] (2d10 + 2d4) * 6]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *21|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *22|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *23|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *24|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *21|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *22|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *23|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *24|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *6|_silent _charid @{character_id} _lvl6_slots_expended|-1 &nbsp; --skipTo * 29|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl7Cast| &nbsp; --?? ~Lvl7Slots$ &lt; 1 ?? skipTo *30|NotEnoughSlots &nbsp; --Empowered Throw *8|7th Level &nbsp; &nbsp; --Attack *8|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage*8|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *8|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *31|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *7|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *7|[[ [$EmpDmg] (1d10 + 1d4) * 7]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *7|[[ [$EmpCrit] (2d10 + 2d4) * 7]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *25|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *26|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *27|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *28|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *25|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *26|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *27|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *28|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *7|_silent _charid @{character_id} _lvl7_slots_expended|-1 &nbsp; --skipTo *32|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl8Cast| &nbsp; --?? ~Lvl8Slots$ &lt; 1 ?? skipTo *33|NotEnoughSlots &nbsp; --Empowered Throw *9|8th Level &nbsp; &nbsp; --Attack *9|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage *9|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage *9|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *34|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *8|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *8|[[ [$EmpDmg] (1d10 + 1d4) * 8]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *8|[[ [$EmpCrit] (2d10 + 2d4) * 8]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *29|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *30|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *31|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *32|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *29|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *30|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *31|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *32|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *8|_silent _charid @{character_id} _lvl8_slots_expended|-1 &nbsp; --skipTo *35|EndOfCard &nbsp; &nbsp; &nbsp; &nbsp; --:Lvl9Cast| &nbsp; --?? ~Lvl9Slots$ &lt; 1 ?? skipTo *36|NotEnoughSlots &nbsp; --Empowered Throw *10|9th Level &nbsp; &nbsp; --Attack -10|[[ [$Atk] ?{Attack is:|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? Initial Damage*10|[[ [$BaseDmg] [[round((@{level} + 1) / 4 + 0.5)]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk.base == 20 ?? Critical Initial Damage*10|[[ [$CritBaseDmg] [[round((@{level} + 1) / 4 + 0.5) * 2]]d6 + @{intelligence_mod}]] &nbsp; --?? $Atk &lt; @{target|AC} ?? skipTo *37|Missed &nbsp; &nbsp; --$Empowered Damage Type Roll *9|[[ [$EmpType] 1d4]] &nbsp; --?? $Atk &gt;= @{target|AC} AND $Atk.base &lt;&gt; 20 ?? $Emp Base Dmg Roll *9|[[ [$EmpDmg] (1d10 + 1d4) * 9]] &nbsp; --?? $Atk.base == 20 ?? $Crit Emp Dmg Roll *9|[[ [$EmpCrit] (2d10 + 2d4) * 9]] &nbsp; --?? $EmpType == 1 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *33|[^EmpDmg] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *34|[^EmpDmg] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *35|[^EmpDmg] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base &lt;&gt; 20 ?? Empowered Damage *36|[^EmpDmg] Fire Damage &nbsp; --?? $EmpType == 1 AND $Atk.base == 20 ?? Critical Empowered Damage *33|[^EmpCrit] Psychic Damage &nbsp; --?? $EmpType == 2 AND $Atk.base == 20 ?? Critical Empowered Damage *34|[^EmpCrit] Cold Damage &nbsp; --?? $EmpType == 3 AND $Atk.base == 20 ?? Critical Empowered Damage *35|[^EmpCrit] Lightning Damage &nbsp; --?? $EmpType == 4 AND $Atk.base == 20 ?? Critical Empowered Damage *36|[^EmpCrit] Fire Damage &nbsp; &nbsp; --api_modattr *9|_silent _charid @{character_id} _lvl9_slots_expended|-1 &nbsp; --skipTo *38|EndOfCard &nbsp; &nbsp; --:NotEnoughSlots| &nbsp; --Failure|Not enough spell slots for this option &nbsp; --skipTo *39|EndOfCard &nbsp; &nbsp; --:Missed| &nbsp; --Attack Missed|No damage dealt &nbsp; --skipTo *40|EndOfCard &nbsp; &nbsp; --:EndOfCard| }}
SpellBook PowerCard suddenly not working. I have been using this powercard script for months and there have been no problems: !power {{ --format|@{selected|character_name} &nbsp;--name|Spell Book &nbsp;--tokenid|@{selected|token_id} &nbsp;--emote|@{selected|character_name} &nbsp;--leftsub|Atk Bonus: @{selected|spell_attack_bonus} &nbsp;--rightsub|Save DC: @{selected|spell_save_dc} &nbsp;--spell_slots|@{selected|character_id} &nbsp;--spell_list|@{selected|character_id} &nbsp;}} When it works, it generates this type of spellbook Now it is doing this: I have recently added a few scripts but I turned everything off down to just powercards and it still isn't working. Any thoughts?
Chris M. said: SpellBook PowerCard suddenly not working. I have been using this powercard script for months and there have been no problems: !power {{ --format|@{selected|character_name} &nbsp;--name|Spell Book &nbsp;--tokenid|@{selected|token_id} &nbsp;--emote|@{selected|character_name} &nbsp;--leftsub|Atk Bonus: @{selected|spell_attack_bonus} &nbsp;--rightsub|Save DC: @{selected|spell_save_dc} &nbsp;--spell_slots|@{selected|character_id} &nbsp;--spell_list|@{selected|character_id} &nbsp;}} When it works, it generates this type of spellbook Now it is doing this: I have recently added a few scripts but I turned everything off down to just powercards and it still isn't working. Any thoughts? Responding to my own question - I resolved this. It had nothing to do with powercards, I had token conflcits when I attempted to create mirror versions of my PC's. Once I deleted the mirror versions, all was well.
CURTIS C. said: Thanks. I just tried that several different ways.&nbsp; Still no luck.&nbsp; Kurt J. said: CURTIS C. said: Hello:&nbsp; I'm having trouble with the Powercards format handouts. I ahve created powercards handouts in the proper way and have gotten them to work. But now whenever I add a new format to the list, it fails.&nbsp; For example: These are the formats for Downtown Abbie and Charlie Carter. They are identical except for the the name. They&nbsp; are in the smae handout. The first one works by the second one doesn't. Downtown Abbie: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 Charlie Carter: --titlefont|font-family: “Arial”; font-weight: bold; --titlefontshadow|none --bgcolor| #e6b800 --txcolor|#330000 --corners|20 --erowbg|#99bbff --orowbg|#ccddff --border|5px solid&nbsp; #e6b800 I'm calling them up in powercards using this command.&nbsp; --format|@{selected|character_name} Again the first one works and the second one doesn't.&nbsp; The names are spelled correctly on the token markers and on the character sheet. I have tried calling up the Charlie Carter format using this command&nbsp; --format|Charlie Carter But it doesn't work. If I try calling up the Downton Abbie format using&nbsp; --format|Downtown Abbie then it does work. I have tried disabling and reenabling powercards and restarting the API sandbox.&nbsp; I'm basically stuck. So this is going to sound weird, but try copying the text of your handout and pasting it into Notepad. Then clear it all from the handout and copy the notepad text and paste that back into the handout. Some time after the handout methods were added to PowerCards, Roll20 changed the in-game editor and it now throws all kinds of HTML junk into the text that you can't normally see. Something like notepad that doesn't support that allows you to clear it out with the copy/paste dance. "What's in a name?" &nbsp; --Some Bard This may sound odd as a possible solution, but if you aren't having any luck otherwise, you could try changing the name of the second one.&nbsp;
I have a novice question :) I'm new to both Powercards and the Powercards Macro Helper - finally got them both working (yay!) I'm wondering if there's a straightforward way to have spell slots deducted after casting a spell from the PCMH button on a token? I have the 5th edition OGL by Roll20 API installed so I figured this should be possible in theory... Thanks in advance!
Hello, I have a problem. I'm trying to add a conditional to that PowerCard using the !Act api. It all works, but seems that in that way, the api isn't able to roll the dice indicated (1d6). How can I make it works? Thanks! That's how I wrote it: !power {{ --?? @{selected|critica} == 0?? api_act| -1 [[1d6]] _Resa ciurma @{selected|token_name} --?? @{selected|critica} == 1?? api_act*2| -1 1 _Resa ciurma @{selected|token_name} }}
1625215888

Edited 1625219737
Ivo
Pro
I'm trying to call alterbars from within a PCM template with replacements --["~NPCA-TYPE$" -eq "ATTACK" -and "~NPCA-DAMAGETYPE2$" -eq ""]?? $Atk &gt;= ~T-AC$ AND $Atk.base &lt;&gt; 20 ??&nbsp; api_alter _target|&lt;attempt to get toekn_id_here&gt; _bar|1 _amount|-?{Damage Taken|0} I've tried _target|~0$, _target|~0!, _target|~T$. _target|~T-CN$, _target|~T-CID all of them return an invalid target from alterbars. Do I need to wrap the call in SelectionManager etc, or maybe call it outside of the template call, and somehow return a result from the template? &nbsp;Am i missing something, maybe I can't call an API from a PCM template? Cheers Ivo Edit - Ok i dumped out 'content' from alterbars, and it looks like the only parm its getting is the last one _amount, so I guess im not wrapping the call properly
<a href="https://gist.github.com/chrisrobin97/a9db29170596134d82d8fcbab952edca" rel="nofollow">https://gist.github.com/chrisrobin97/a9db29170596134d82d8fcbab952edca</a>&nbsp; When I run my iceknife macro, code above, this is what the output is. This is my first attempt at a complex powercard like this, so any help would be appreciated please!
forgot the image, woops
1626276880
Kurt J.
Pro
API Scripter
Chris B. said: This line: --?! $save9 -ge @{selected|spell_save_dc} !? @{target|target9|token_id} avoids the shards! is missing a vertical bar after the !?, and should be: --?! $save9 -ge @{selected|spell_save_dc} !?|@{target|target9|token_id} avoids the shards!
1626487328

Edited 1626487353
Put the 1d6 roll in a hroll tag line and give it a $ marker.&nbsp; --hroll|[[ [$Duration] 1d6 ]] The in the !act like insert it as $Duration. !power {{ --hroll|[[ [$Duration] 1d6 ]] --?? @{selected|critica} == 0?? api_act| -1 $Duration _Resa ciurma @{selected|token_name} --?? @{selected|critica} == 1?? api_act*2| -1 1 _Resa ciurma @{selected|token_name} }} LU MASTER said: Hello, I have a problem. I'm trying to add a conditional to that PowerCard using the !Act api. It all works, but seems that in that way, the api isn't able to roll the dice indicated (1d6). How can I make it works? Thanks! That's how I wrote it: !power {{ --?? @{selected|critica} == 0?? api_act| -1 [[1d6]] _Resa ciurma @{selected|token_name} --?? @{selected|critica} == 1?? api_act*2| -1 1 _Resa ciurma @{selected|token_name} }}
1626650195

Edited 1626681156
Hi, I'm a total moron when it comes to scripts. I am hoping someone can guide me to a solution to this simple requirement: I want to create an encounter table with 2 elements, being a title and description. I believe I can achieve this with a macro using powercards and two rollable tables. one has the title and the other the description. The one dice roll would retrieve both elements. I am sure this has been done before but I could not find it. Clever people can you please help? Update: Okay, so I implemented this with a whole pile of conditional statements making this macro more than 200 lines long - effectively putting both tables inside the powercards macro. Now I just have to format it a little more.
Hello everyone. This appears to be the correct place to go to ask powercard questions. I intend to replace everything in my game with powercards so players rarely, if ever, have to keep going to their character sheets to hunt for the correct roll. I've come quite far on my own, but I've hit a few barriers.&nbsp; 1. Skills.&nbsp; So far, this is working. I have a powercard "Menu" set up that the players can click to see a list of all skills by their associated attribute. To do this, I created an Ability Check Template. However, I had to create a macro for each skill, because I couldn't find a way to make dynamic replacements work. Example shown below. !power {{ --format|@{selected|allegiance} --template|AbilityCheck|@{selected|character_name};Athletics;@{selected|athletics_bonus};@{selected|gender} }} Is there a way I can streamline this so that I only need to call one macro? One thing I thought of was to have replacement entries for each skill, but there's no way I know of to pass which replacement I'd want to use to the singular macro. 2. Attacks a. Spells showing up in available actions. I'm using&nbsp;--ogl_pc_attack_list|@{selected|character_id}&nbsp; in order to enumerate a given players available actions. The issue with this is that any spells in their spell list set to output as an attack will also show up in this list. The obvious answer appears to be either remove the attack entry on their core sheet or set the output to be a spell card. In the former case, this breaks the spell. Attempting to cast it results in a blank line. The latter case kills the point, and you'd have to make the roll yourself. I'm 100% against players having to do things manually (slows down the game). Is there a way I can enumerate player actions without picking up their attack spells as well?&nbsp; b. Attacks themselves This is the one I'm stuck on now. Using&nbsp; --ogl_pc_attack_list|@{selected|character_id}&nbsp; gives me a list of player actions on my powercard, and buttons to click on that executes those actions. I'd like the act of pressing the button to also call a powercard. I have no idea how to do this. Thanks for reading this far. I'm fairly familiar with the nuances of writing code, but there's only so much I can do by myself. Any tips you all could give me would be appreciated greatly.
<a href="https://app.roll20.net/forum/permalink/2165711/" rel="nofollow">https://app.roll20.net/forum/permalink/2165711/</a> &nbsp;(Look towards the bottom of that link ( I think that's what you are asking in regards to a skill menu).&nbsp; You could also do a drop down menu where each skill is listed and a roll made when skill check is called for. Check out&nbsp; <a href="https://app.roll20.net/forum/post/6712857/helpful-hints-tricks-and-guidance-thread-repository" rel="nofollow">https://app.roll20.net/forum/post/6712857/helpful-hints-tricks-and-guidance-thread-repository</a> and <a href="https://app.roll20.net/forum/post/6712857/helpful-hints-tricks-and-guidance-thread-repository" rel="nofollow">https://app.roll20.net/forum/post/6712857/helpful-hints-tricks-and-guidance-thread-repository</a>. &nbsp; Good luck.
1627341341
timmaugh
Pro
API Scripter
With regard to #1 (Skills menu substitutions), you can use Fetch (possibly with or without Muler &amp; ZeroFrame , depending on how complex your setup is) to get around some of the problems of HTML character substitution: @(selected.?{Ability to Check|Athletics|Dexterity|Charisma|Manipulation}) Think of it as a late way to construct something like: @{selected|Athletics} If what you need to construct is somewhat more complex than that, subbing in more or less other arguments to the check line, then Muler can hold that verbiage and return the command to the data you require. If you post a few of the various macros you're having to create, I can show you how to start to consolidate them using the above scripts, if you want.
1629805626

Edited 1629805707
JCRP
Pro
Dear powercards experts, I am hoping someone can help me with what is pretty sure to be a simple fix. I have written powercards for both PCs and NPCs. My NPC attacks target the ac attribute and the PC attacks target npc_ac which is great until you want PCs to be able to attack each other or NPCs to be able to fight each other. The wiki seems to say that you can use a "replacement values" command that automatically uses ac or npc_ac depending on what is being targetted but I can't understand how this is actually supposed to work within the script. How do I get the script to use the replacement value? Best Regards, John
1629806713
timmaugh
Pro
API Scripter
Not sure the replacement idea you're talking about or the wiki page in question, but I can do that with Fetch: @(@{target|token_id}.ac[@(@{target|token_id}.npc_ac)]) For a PC, that will retrieve the AC. For an npc, that will retrieve npc_ac. You can either replace every instance of "go get the target's AC" with the above line, or you can assign it to a variable in PowerCards (I think PC lets you do that, right?). Or you can install APILogic and assign it to a definition, and then use your defined term wherever you would need to reference the AC you retrieved: {&amp; define ([targetac] @(@{target|token_id}.ac[@(@{target|token_id}.npc_ac)])) } That would define targetac to be the retrieved value.
1629808832

Edited 1629808930
JCRP
Pro
Thank you. I will experiment with that :) This is the part on the Wiki. Initially I assumed it meant that if you used AC instead of npc-ac or ac then it would substitute the relavennt value but that doesn't happen sadly...
1629946173

Edited 1629948686
Have a weird issue that I've narrowed down to an issue related to PowerCards, not the basic ability command button functionality. I've created a bunch of powercard macros for a specific character. The macros all live on a macro mule sheet, and use chat menu ability command buttons to make things easy for the players.&nbsp; But for some reason the *name* of the Macro sheet is breaking the ability command buttons. Here's an example macro that's breaking (where ~LuzavernMacro is the name of the macro mule character that holds all of the referenced ability macros) !power {{ &nbsp;--format|Luzavern &nbsp;--whisper|GM &nbsp;--name|Luzavern - Actions &nbsp;--leftsub| ~C&nbsp; What would you like to do? ~C &nbsp;--!hide| ~C [Ability Check](~LuzavernMacro|AbilityCheck) [Skill Check](~LuzavernMacro|SkillCheck) [Spellcasting](~LuzavernMacro|Spellcasting) [Saving Throw](~LuzavernMacro|SavingThrow) [Perception](~LuzavernMacro|Perception) [Make an Attack](~LuzavernMacro|Attack) [Combat Maneuver](~LuzavernMacro|CombatManeuver) ~C }} This results in the following output, where most, but not all, of the chat buttons don't come out as actual buttons, and link to a Roll20 page not found error instead of to the correct ability. After a bunch of trial and error, I've discovered that changing nothing but the name of the macro sheet "fixes" this problem, but I can't for the life of me figure out why !&nbsp; Any ideas?&nbsp; Some sample cases: a) The same macro, for a different character named Trig, works completely fine, referring to his macro mule sheet, ~TrigMacro. b) renaming this characters macro sheet to "Macro 2" and referring to ~Macro2|abilityname works c) renaming this character's macro sheet to "LuzMacro" and referring to ~LuzMacro|abilityname does not work d) removing all of the PowerCards specific commands and tags and saving the macro with only the buttons works fine, too. Is there some kind of conflict happening with the sheet name that I'm just not understanding?&nbsp; Any help will be much appreciated!
1629971174
Kurt J.
Pro
API Scripter
Matt A. said: Have a weird issue that I've narrowed down to an issue related to PowerCards, not the basic ability command button functionality. I've created a bunch of powercard macros for a specific character. The macros all live on a macro mule sheet, and use chat menu ability command buttons to make things easy for the players.&nbsp; But for some reason the *name* of the Macro sheet is breaking the ability command buttons. Here's an example macro that's breaking (where ~LuzavernMacro is the name of the macro mule character that holds all of the referenced ability macros) !power {{ &nbsp;--format|Luzavern &nbsp;--whisper|GM &nbsp;--name|Luzavern - Actions &nbsp;--leftsub| ~C&nbsp; What would you like to do? ~C &nbsp;--!hide| ~C [Ability Check](~LuzavernMacro|AbilityCheck) [Skill Check](~LuzavernMacro|SkillCheck) [Spellcasting](~LuzavernMacro|Spellcasting) [Saving Throw](~LuzavernMacro|SavingThrow) [Perception](~LuzavernMacro|Perception) [Make an Attack](~LuzavernMacro|Attack) [Combat Maneuver](~LuzavernMacro|CombatManeuver) ~C }} This results in the following output, where most, but not all, of the chat buttons don't come out as actual buttons, and link to a Roll20 page not found error instead of to the correct ability. After a bunch of trial and error, I've discovered that changing nothing but the name of the macro sheet "fixes" this problem, but I can't for the life of me figure out why !&nbsp; Any ideas?&nbsp; Some sample cases: a) The same macro, for a different character named Trig, works completely fine, referring to his macro mule sheet, ~TrigMacro. b) renaming this characters macro sheet to "Macro 2" and referring to ~Macro2|abilityname works c) renaming this character's macro sheet to "LuzMacro" and referring to ~LuzMacro|abilityname does not work d) removing all of the PowerCards specific commands and tags and saving the macro with only the buttons works fine, too. Is there some kind of conflict happening with the sheet name that I'm just not understanding?&nbsp; Any help will be much appreciated! It is confusing the ~L in with the Left Alignment character sequence. If you change the capital L to a lowercase l, that will avoid the issue. ~C, ~L, ~R, and ~J can all be problematic. (Center, Left, Right, and Justified)
It is confusing the ~L in with the Left Alignment character sequence. If you change the capital L to a lowercase l, that will avoid the issue. ~C, ~L, ~R, and ~J can all be problematic. (Center, Left, Right, and Justified) Thank you!&nbsp; This was driving me nuts not knowing.
&nbsp;Hello Roll20, I am attempting to script a PowerCard to heal the bar1 of the party members whos names are Maykit and Erdon.&nbsp; The script is my attempt to simulate Song of Rest by a bard and this is where I have gotten so far (my failed attempt!): !power {{ &nbsp;--name|Song of Rest &nbsp;--leftsub| &nbsp;--rightsub| &nbsp;--soundfx|_audio,play,nomenu|Song of Rest &nbsp;--?? Healing:|[[ [$Healing] (1d8) ]] &nbsp;--?? alterbar2|_target|@{target|token_id} _bar|1 _amount|-[^Healing] _show|all }} %{selected|Portrait} Would anyone be able to help me? Thank you!
1630191539

Edited 1630191598
Can someone spot something I am missing? It keeps running the 9th level but doesn't subtract the spell slots or add the HP to the target.&nbsp; !power {{ &nbsp;--name|Cure Wounds &nbsp;--leftsub|@{selected|character_name} cures @{target|character_name} &nbsp; --replaceattrs|S-|@{selected|character_id} &nbsp; --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 1 ?? skipTo*1|CureA --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 2 ?? skipTo*2|CureB --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 3 ?? skipTo*3|CureC --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 4 ?? skipTo*4|CureD --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 5 ?? skipTo*5|CureE --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 6 ?? skipTo*6|CureF --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 7 ?? skipTo*7|CureG --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 8 ?? skipTo*8|CureH --?? ?{Cast at what level|1,CureA|2,CureB|3,CureC|4,CureD|5,CureE|6,CureF|7,CureG|8,CureH|9,CureI} == 9 ?? skipTo*9|CureI &nbsp; --:CureA| &nbsp; --?? ~S-SSL1E$ &lt; 1 ?? skipTo*10|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP1] 1d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar1|_target|@{target|token_id} _bar|3 _amount|+[^HP1] _show|all &nbsp; --api_modattr *1|_silent _charid @{character_id} _lvl1_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*11|EndOfCard &nbsp;&nbsp; &nbsp; --:CureB| &nbsp; --?? ~S-SSL2E$ &lt; 1 ?? skipTo*12|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP2] 2d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar2|_target|@{target|token_id} _bar|3 _amount|+[^HP2] _show|all &nbsp; --api_modattr *2|_silent _charid @{character_id} _lvl2_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*13|EndOfCard &nbsp;&nbsp; &nbsp; --:CureC| &nbsp; --?? ~S-SSL3E$ &lt; 1 ?? skipTo*14|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP3] 3d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar3|_target|@{target|token_id} _bar|3 _amount|+[^HP3] _show|all &nbsp; --api_modattr *3|_silent _charid @{character_id} _lvl3_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*15|EndOfCard &nbsp;&nbsp; &nbsp; --:CureD| &nbsp; --?? ~S-SSL4E$ &lt; 1 ?? skipTo*16|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP4] 4d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar4|_target|@{target|token_id} _bar|3 _amount|+[^HP4] _show|all &nbsp; --api_modattr *4|_silent _charid @{character_id} _lvl4_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*17|EndOfCard &nbsp;&nbsp; &nbsp; --:CureE| &nbsp; --?? ~S-SSL5E$ &lt; 1 ?? skipTo*18|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP5] 5d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar5|_target|@{target|token_id} _bar|3 _amount|+[^HP5] _show|all &nbsp; --api_modattr *5|_silent _charid @{character_id} _lvl5_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*19|EndOfCard &nbsp;&nbsp; &nbsp; --:CureF| &nbsp; --?? ~S-SSL6E$ &lt; 1 ?? skipTo*20|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP6] 6d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar6|_target|@{target|token_id} _bar|3 _amount|+[^HP6] _show|all &nbsp; --api_modattr *6|_silent _charid @{character_id} _lvl6_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*21|EndOfCard &nbsp;&nbsp; &nbsp; --:CureG| &nbsp; --?? ~S-SSLE7$ &lt; 1 ?? skipTo*22|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP7] 7d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar7|_target|@{target|token_id} _bar|3 _amount|+[^HP7] _show|all &nbsp; --api_modattr *7|_silent _charid @{character_id} _lvl7_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*23|EndOfCard &nbsp;&nbsp; &nbsp; --:CureH| &nbsp; --?? ~S-SSL8E$ &lt; 1 ?? skipTo*24|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP8] 8d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar8|_target|@{target|token_id} _bar|3 _amount|+[^HP8] _show|all &nbsp; --api_modattr *8|_silent _charid @{character_id} _lvl8_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*25|EndOfCard &nbsp;&nbsp; &nbsp; --:CureI| &nbsp; --?? ~S-SSL9E$ &lt; 1 ?? skipTo*26|NoSpellSlotsAvailable &nbsp; --Spell Cast| Cure Wounds &nbsp; --For|[[ [$HP9] 9d8+@{wisdom_mod}[WIS] ]] &nbsp; --alterbar9|_target|@{target|token_id} _bar|3 _amount|+[^HP9] _show|all &nbsp; --api_modattr *9|_silent _charid @{character_id} _lvl9_slots_expanded|-1 &nbsp; --vfx_opt|@{target|token_id} glow-holy &nbsp; --skipTo*27|EndOfCard &nbsp;&nbsp; &nbsp; --:NoSpellSlotsAvailable| &nbsp; --Failure|No spell slots of this level available &nbsp; --skipTo*28|EndOfCard &nbsp;&nbsp; &nbsp; --:EndOfCard| }}
Good day.&nbsp; I am running into an issue with powercards that is puzzling.&nbsp; I am using Nick O's Frost Ray macro from a tutorial.&nbsp; I trimmed out all code other than that which is of interest.&nbsp; I created a test game with only Powercards, ACT and Token-Mod APIs installed to eliminate any side effects from my own APIs that I wrote.&nbsp; Here is the abbreviated code. power {{ &nbsp;--name|Ray of Frost &nbsp;--Attack:|[[ [$Atk] ?{Attack|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{spell_attack_bonus} ]] vs AC @{target|AC} &nbsp;--?? $Atk &gt;= @{target|AC} ?? api_token-mod|_ids @{target|token_id} _ignore-selected _set statusmarkers|tread &nbsp;--?? $Atk &gt;= @{target|AC} ?? api_act|-1 1 _Slow }} api_act gets called and puts Slow on the turn track correctly, token-mod however does not seem to execute.&nbsp; If I run it from the chat window with the usual !token-mod syntax it is fine, but inside here it does not work.&nbsp; However in the tutorial this exact code works fine.&nbsp; I have run into the same issue with ChatSetAttr, there are no errors it just does not seem to execute inside powercards (for me anyway, it works fine in tutorials).
I am using the following in a macro... !power {{&nbsp; &nbsp;--name|Initiative roll&nbsp; &nbsp;--Score| [[(?{base-Dexterity} + ?{mod-Dexterity} + ?{mod-Initiative} + 1d10) &amp;{tracker}]] }} But the result in chat is never the same value as what is put into the CT. Doesn't appear to be any relation between the numbers.
Replace &amp;{tracker} with [TRKR] Kevin Flynn said: I am using the following in a macro... !power {{&nbsp; &nbsp;--name|Initiative roll&nbsp; &nbsp;--Score| [[(?{base-Dexterity} + ?{mod-Dexterity} + ?{mod-Initiative} + 1d10) &amp;{tracker}]] }} But the result in chat is never the same value as what is put into the CT. Doesn't appear to be any relation between the numbers.
You don't have a complete conditional, just the if not the then. --?? (If) ?? (then) So it should look like this.. &nbsp;--Healing:|[[ [$Healing] (1d8) ]] &nbsp;--?? @{target|Maykit|token_name} = Maykit ?? alterbar1|_target|@{target|Maykit|token_id} _bar|1 _amount|-[^Healing] _show|all &nbsp;--?? @{target|Erdon|token_name} = Maykit ?? alterbar2|_target|@{target|Erdon|token_id} _bar|1 _amount|-[^Healing] _show|all Barry S. said: &nbsp;Hello Roll20, I am attempting to script a PowerCard to heal the bar1 of the party members whos names are Maykit and Erdon.&nbsp; The script is my attempt to simulate Song of Rest by a bard and this is where I have gotten so far (my failed attempt!): !power {{ &nbsp;--name|Song of Rest &nbsp;--leftsub| &nbsp;--rightsub| &nbsp;--soundfx|_audio,play,nomenu|Song of Rest &nbsp;--?? Healing:|[[ [$Healing] (1d8) ]] &nbsp;--?? alterbar2|_target|@{target|token_id} _bar|1 _amount|-[^Healing] _show|all }} %{selected|Portrait} Would anyone be able to help me? Thank you!
I have a multiclass character and the primary spell casting ability is Int. Is there anyway to pull Innate and Spell Casting ability from spells as these are not in the List of Spell Replacements.&nbsp;
Hi All. I am trying to learn PowerCards which to be honest is proving difficult as I have no background in any form of computer programming. I have not long gone pro in an attempt to enhance me and my groups play, (we all have over 30 year's experience of roll playing game's). Anyway I can't get the PowerCard I've been working on to play sound, I have been all over the forums to find a solution but to no avail.&nbsp; This is the PowerCard I've started. A big thank you to Kurt J and Nick O for there wonderful YouTube videos. !power {{ &nbsp; --name|bolt &nbsp; --leftsub|Ranged Spell Attack &nbsp; --rightsub|12/24/48 Inches &nbsp; --charid|@{selected|character_id} --target_list|@{target|token_id} &nbsp; --emote|@{selected|character_name} casts a spell at @{target|character_name} &nbsp; --Attack: | [[ [$Atk] 1d8! ]]&nbsp; [[ [$Atk1] 1d6! ]] vs Tn [[ 4 ]] &nbsp; --Damage: | [[ [$Dmg] 2d6! ]] vs Toughness @{target|toughness} &nbsp; --!roll20AM --audio,play|ice blast &nbsp; --vfx_opt|@{selected|token_id}&nbsp; @{target|token_id} beam-frost }} any help would be very appreciated. Oh and as an aside I have lots of other questions about how to get PowerCards to do what I want but we'll leave those for another day.&nbsp;
1635537097
Kurt J.
Pro
API Scripter
Shaun C. said: Hi All. I am trying to learn PowerCards which to be honest is proving difficult as I have no background in any form of computer programming. I have not long gone pro in an attempt to enhance me and my groups play, (we all have over 30 year's experience of roll playing game's). Anyway I can't get the PowerCard I've been working on to play sound, I have been all over the forums to find a solution but to no avail.&nbsp; This is the PowerCard I've started. A big thank you to Kurt J and Nick O for there wonderful YouTube videos. !power {{ &nbsp; --name|bolt &nbsp; --leftsub|Ranged Spell Attack &nbsp; --rightsub|12/24/48 Inches &nbsp; --charid|@{selected|character_id} --target_list|@{target|token_id} &nbsp; --emote|@{selected|character_name} casts a spell at @{target|character_name} &nbsp; --Attack: | [[ [$Atk] 1d8! ]]&nbsp; [[ [$Atk1] 1d6! ]] vs Tn [[ 4 ]] &nbsp; --Damage: | [[ [$Dmg] 2d6! ]] vs Toughness @{target|toughness} &nbsp; --!roll20AM --audio,play|ice blast &nbsp; --vfx_opt|@{selected|token_id}&nbsp; @{target|token_id} beam-frost }} any help would be very appreciated. Oh and as an aside I have lots of other questions about how to get PowerCards to do what I want but we'll leave those for another day.&nbsp; @Shaun - There are a couple of potential issues here : First, the PowerCards tag to call Roll20AM is --soundfx| &nbsp;followed by the parameters that would normally be passed to it with the "--" replaced with "_". So, for your example, the line would be: --soundfx|_audio,play,nomenu|ice_blast The way you have it written right now, (--!roll20AM --audio,play|ice blast) will actually be treated as two separate tags (--!roll20AM, which won't do anything since it doesn't have a vertical bar) and --audio,play|ice blast which will just output a line that says " audio,play ice blast". The second critical thing to verify is that your tracks are imported into Roll20AM correctly. I'd love to provide more detail on this, but I'm by no means a Roll20AM expert :) If !roll20AM --audio,play|ice blast typed in at the chat prompt by itself works, you should be good. If you are just starting out with PowerCards, I'd like to recommend taking a look at ScriptCards, which is my successor to PowerCards. While PowerCards has lots of great features, it doesn't really support some of the things needed in a programming language (it was never intended to). ScriptCards is its own programming language with things like varibles, loops, subroutines, etc.
Thanks Kurt I will try your suggestion and will have a look at ScriptCards&nbsp;
Hi All. This is the powercard I've been working on, it works of a fashion. !power {{ &nbsp;--name|Colt Peacemaker &nbsp;--leftsub|Ranged Attack &nbsp;--rightsub|12/24/48 &nbsp;--charid|@{selected|character_id} --target_list|@{target|token_id} &nbsp;--emote|@{selected|character_name} Fires At @{target|character_name} &nbsp;--Attack|Trait Dice [[ [$Atk1] 1d8!]] Wild Dice [[ [$Atk2] 1d6!]] &nbsp;--?? $Atk1.total &lt;= 3 ?? Miss|You Miss &nbsp;--?? $Atk1.total &gt;= 4 ?? Hit|You Hit &nbsp;--?? $Atk1.total &gt;= 8 ?? Hitting| You Hit With A Raise &nbsp;--Damage| You Did [[ [$Dmg] 2d6! ]] vs Toughness @{target|toughness} &nbsp;--?? $Dmg.total &lt; @{target|toughness} ?? None|You Do No Damage &nbsp;--?? $Dmg.total &gt;= @{target|toughness} ?? Success| Target Shaken &nbsp;--?? $Dmg.total @{target|toughness} &gt;= 4 ?? Succeed|Target Shaken And 1 Wound &nbsp;--soundfx|_audio,play,nomenu|Pistol Shot }} Problem 1. I cant seem to get KH1 of either the trait dice or wild dice, I've tried adding KH1 all kinds of ways, then when I have KH1 to add a modifiers|0 to that roll where I can add a minus number to get a final total. Then were I have my conditionals to reference KH1 total. Problem 2. In my conditionals for damage how do I get it to query @{target|toughness} by 4 or higher. Any help would be much appreciated.
1638821165

Edited 1638821805
Greetings to all! Please immediately excuse my english! I scrolled through the forum a lot and already started to forget what I came for. But now I remember and I want to ask for help. Is it possible to count variables in force maps using others? Example: !power {{ --hroll | [[ [$Atk] @{Hit_Weap_cc}+1d6+1d4 ]] --hroll | [[ [$Dodg] @{target|Dodge}+1d6+1d4 ]] --hroll | [[ [$Hit] 1d1*[^Atk]-[^Dodg] ]]
1638830734
Kurt J.
Pro
API Scripter
AlcHemist said: Greetings to all! Please immediately excuse my english! I scrolled through the forum a lot and already started to forget what I came for. But now I remember and I want to ask for help. Is it possible to count variables in force maps using others? Example: !power {{ --hroll | [[ [$Atk] @{Hit_Weap_cc}+1d6+1d4 ]] --hroll | [[ [$Dodg] @{target|Dodge}+1d6+1d4 ]] --hroll | [[ [$Hit] 1d1*[^Atk]-[^Dodg] ]] With PowerCards, it is not possible to reference the results of one roll within another. That is supported in ScriptCards, however.
1639708112
Kurt J.
Pro
API Scripter
PowerCards 3.8.18 I have pushed a minor update to PowerCards to make it more friendly with Meta scripts. The update is currently queued for OneClick distribution in the next round of updates, and is also available on the development GIST here:&nbsp; <a href="https://gist.github.com/kjaegers/7fd81c55517014704b9fe3986660341c" rel="nofollow">https://gist.github.com/kjaegers/7fd81c55517014704b9fe3986660341c</a>
1639711481
timmaugh
Pro
API Scripter
Excellent! Thank you, Kurt!
1640350817

Edited 1640350870
In creating a new game I loaded Powercards&nbsp; into the API scripts and noticed that an error came up in the scriptcalls.&nbsp; I run mainly scriptcard macros now and load this for the few remaining Powercards scripts I still have so either it has no impact or I haven't noticed an effect.&nbsp; It is: EDIT:&nbsp; Failed to load PowerCards No such file or directory @ rb_sysopen - /code/apiscripts/PowerCards/3.8.18/PowerCards.js
1640354390
Kurt J.
Pro
API Scripter
Michael C. said: In creating a new game I loaded Powercards&nbsp; into the API scripts and noticed that an error came up in the scriptcalls.&nbsp; I run mainly scriptcard macros now and load this for the few remaining Powercards scripts I still have so either it has no impact or I haven't noticed an effect.&nbsp; It is: EDIT:&nbsp; Failed to load PowerCards No such file or directory @ rb_sysopen - /code/apiscripts/PowerCards/3.8.18/PowerCards.js Yea, sorry about that. In my update to OneClick, I named the file "powercards.js" instead of "PowerCards.js"... I've put in a pull request to fix it with the next push, or if you select 3.8.17 from the dropdown that should work.
1640547670

Edited 1640547742
Hello all, I also had the issue mentionned with the update, and downgrading to 3.8.17 under oneclick API didn't changed nothing. Finally, I went to the scipt source (<a href="https://raw.githubusercontent.com/Roll20/roll20-api-scripts/master/PowerCards/3.8.18/powercards.js" rel="nofollow">https://raw.githubusercontent.com/Roll20/roll20-api-scripts/master/PowerCards/3.8.18/powercards.js</a>), copy it and add it as a new script (after deactivating powerCard), and it works perfectly... And I take the oportunity to thanks Kurt for all this work which enlight my Roll20 game ;-) And merry christmas :-D Rufus