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] Power Cards

Several? There's only one... the whole thing in the code box is the script. --crit also does not work anymore. Use [[ [HR19] 1d20]] now.
1408344029
Falcon
Pro
Sheet Author
I had an old script from a different thread. Ok - much better now. Can you do calls to tables? I have a hit location table such as [[1t[Hit-Location]]]. It returns a 0.
Not yet. I haven't added that yet. I have to add a whole new section to the inlineroll builder to get it to work.
1408345261
Falcon
Pro
Sheet Author
BTW - this is fantastic and thanks to you and the crew. Final question for the night - When you do multiple attacks - like a dual attack (different weapons and damage) - is there a way to do attack2 and then show 2 lines: 8 | vs. AC with Axe 12 | vs AC with Shield 8 Damage with Axe 12 Damage with Shield
I would make that two separate macros. One for axe, one for shield. That way if the axe attack kills your target... you can select another for the shield.
1408592005

Edited 1408592691
Got this working... but only for one roll. It does not work for multiple table rolls like 2t[HitLocation]. It will only work for 1t[Table] rolls. August 20th, 2014 ~ 11:30 pm eastern: Tables now work... for one roll tables only. For example, a table named HitLocation would work if you used the following inline roll: [[ 1t[HitLocation ]] but would NOT work if you used [[ 2t[HitLocation] ]] Update: This does NOT work with any multiroll tags either... so no attack#, damage#, or multiroll# yet. Will try to figure that out later.
August 21st, 2014 ~ 12:40 pm eastern: I have added four new tags... which let you further customize the appearance of the power cards. These colors can also be set for all power cards at the top of the script. --orowbg|#000 defines the background color of odd rows --orowtx|#000 defines the text color of odd rows --erowbg|#000 defines the background color of even rows --erowtx|#000 defines the text color of even rows
1408597063

Edited 1408597124
Aaron said: Suggestion: Character specific color overrides My macros using power cards all have this in common: --bgcolor|#@{BGColor} --txcolor|#@{FGColor} example: !power --format|ddn --emote|@{selected|token_name} extends his hand and a blast of arctic frost sprays forth! --bgcolor|#@{BGColor} --txcolor|#@{FGColor} --name|Ray of Frost --leftsub|50 ft --rightsub|Evocation Cantrip --attack|[[1d20+@{Int}+@{Proficiency}]] | [[1d20+@{Int}+@{Proficiency}]] --damage|[[1d8]] cold damage and target's speed is reduced by 10ft until @{selected|token_name}'s next turn. Having the script check the calling character for some defaults would be a nice enhancement from my perspective. Obviously you'd have to pass something like --asCharacter|<character_id> but that's not a deal breaker for me. =D You could do all that with one attribute on a character sheet: !power --format|ddn @{selected|cardformat} --name|Ray of Frost ... Then in cardformat, put in the tags: --bgcolor|#000 --txcolor|#000 etc. Roll20 will replace that attribute with the tags before it is sent to the api.
1408599750
The Aaron
Roll20 Production Team
API Scripter
Yeah, I suppose one is better than two... :)
1408616185

Edited 1408616206
So your table addition initially inspired me to make some powercard loot generation macros tied to rollable tables. Then I thought better of it when looking at the sheer number of tables that can potentially be involved in a random loot generation o_0
1408625097
Wes
Sheet Author
I can't wait to try them out later today.
Zepth said: So your table addition initially inspired me to make some powercard loot generation macros tied to rollable tables. Then I thought better of it when looking at the sheer number of tables that can potentially be involved in a random loot generation o_0 lol
1408630117
Tom F.
Pro
API Scripter
Loving this script! I just did a quick test, and it seems that when I changed the row colours in a macro, it carries that change forward to all other uses of the cards, whether i changed those macros or not. I have to re-save the script on the API page in order to get the original colours back. To be clear I did not change the default colours on the script, but made those changes in a macro, and those carried over for all uses. When I run a second macro and change the row colours, that becomes the new default, until I re-save the API, and then I get the beige/brown standard colours. I'm guessing the global default row and text row colour variables themselves are being reset when they are called in the macro?
That's weird...I'll take a look when I get home, if the power is back on yet.
Ok... "bug" is fixed. Thanks Tom. August 21st, 2014 ~ 2:00 pm eastern: Bugfix... moved odd/even row default colors into the PowerCardScript.Process function to prevent macros from overriding these values and carrying over to other macros.
1408647302

Edited 1408648717
Tom F.
Pro
API Scripter
HoneyBadger, you are, without doubt, the most responsive developer ever! Thank for all the great work!!! **tested: works beautifully!!!
Eh, I wouldn't go that far... lol. I still have not updated my 4e character importer...
Sorry Honey Badger..... there words are very true.... do we need a new thread to show you from all of us...... how we feel about the work you have done..... thanks for what you have done and help you have given
1408861845

Edited 1408862375
Is there a way I can add my own personal tag? I want to change --emote to just be "/me" and add a tag --emas|@{selected|token_name} to /emas but I don't really know anything about code, so I don't see where it catches the "--emote|" bit and translates it to powercard.emote
Keiss said: Is there a way I can add my own personal tag? I want to change --emote to just be "/me" and add a tag --emas|@{selected|token_name} to /emas but I don't really know anything about code, so I don't see where it catches the "--emote|" bit and translates it to powercard.emote you can use /me in place of --emote, simply put the /me on the first line of the macro and the second line can start the !power. To then use the /emas, you can use the --emote|... That will perform the /emas. So for an example the macro could be. /me Lunges forward slashing and stabbing at the foe !power --name|Lunge --attack|[[d20]] --damage|[[d8]] --emote|@{selected|token_name} is mortally wounded. I'm not sure if you're wanting two emotes in one macro or not, but above is how it can be done. This would look funny however as the emotes would likely be separated by a blank message. Just keep in mind you can always use the /me ... before any !power command in a macro.
Keiss said: Is there a way I can add my own personal tag? I want to change --emote to just be "/me" and add a tag --emas|@{selected|token_name} to /emas but I don't really know anything about code, so I don't see where it catches the "--emote|" bit and translates it to powercard.emote The --emote tag simply puts whatever you have typed as a /emas emote. Players don't normally have access to this command, but can use it through the API. If you post an actual macro you are using, it will be easier to help that way.
1408879834

Edited 1408879909
HoneyBadger said: Keiss said: Is there a way I can add my own personal tag? I want to change --emote to just be "/me" and add a tag --emas|@{selected|token_name} to /emas but I don't really know anything about code, so I don't see where it catches the "--emote|" bit and translates it to powercard.emote The --emote tag simply puts whatever you have typed as a /emas emote. Players don't normally have access to this command, but can use it through the API. If you post an actual macro you are using, it will be easier to help that way. So, the way its done is that a token must be selected to use a power. Which isn't that big of a deal-- except when your players aren't exactly the brightest bulbs in the box. Most of them won't "be" anyone else, so using /emas ends up creating more stress than anything. I could change it to target|token_name, but then I can see them forgetting which token they are. I did figure out how to add my own tag (--emas, which uses /emas so I can be other people) and changed emote to use /me. It seems to work so far. That way, I can just give my players macros of their spells so they just click a button-- rather than spend 15 minutes trying to rifle through their things. It was moreso, "How do I make this idiot proof?" I love my players but.. My only suggestion? I don't know if it's a limitation of the script or the API itself, but passing html like <ul> <a> <br /> from the chat/macro would be pretty nice for breaking up paragraphs. I am also in love with this script.
You didn't need to change the emote tag... you could have just put: /me makes an attack! !power --name|Attack --attack|[[1d6]] vs Defense
Keiss said: My only suggestion? I don't know if it's a limitation of the script or the API itself, but passing html like <ul> <a> <br /> from the chat/macro would be pretty nice for breaking up paragraphs. I am also in love with this script. Line breaks are in... ^^ will insert a break between paragraphs.
HoneyBadger said: Keiss said: My only suggestion? I don't know if it's a limitation of the script or the API itself, but passing html like <ul> <a> <br /> from the chat/macro would be pretty nice for breaking up paragraphs. I am also in love with this script. Line breaks are in... ^^ will insert a break between paragraphs. Oops. <a> would still be nice though :D Dem urls
Not sure what I did but I broke my power card test. I'm playing an AD&D 1st Edition game, so I don't need all the skill checks and such from the later editions. I just wanted to clean up how my macros looked but something went wrong. I used the API script from above with no modifications. I used a modified version of the sample power card macro text from the wiki: !power --emote|@{selected|token_name} strikes skillfully with his long sword. --name|Melee Basic Attack --usage|At-Will --action|Standard Action --attack|[[1d20]] --damage|[[1d8]] --dmgtype|slashing
They arent individual lines, they are to be all in one line, seperated by a space: !power --emote|@{selected|token_name} strikes skillfully with his long sword. --name|Melee Basic Attack --usage|At-Will --action|Standard Action --attack|[[1d20]] --damage|[[1d8]] --dmgtype|slashing
Also, Dmgtype has been removed as a usable tag and I believe usage and action will go soon as well.
HoneyBadger said: August 21st, 2014 ~ 12:40 pm eastern: I have added four new tags... which let you further customize the appearance of the power cards. These colors can also be set for all power cards at the top of the script. --orowbg|#000 defines the background color of odd rows --orowtx|#000 defines the text color of odd rows --erowbg|#000 defines the background color of even rows --erowtx|#000 defines the text color of even rows Thanks for these power cards, they are fantastic and look really great. I've been having a lot of "fun" making up macros for people using them. Is there any way to set the color of individual lines? For instance, I made a macro for our rapid-shot ranger, and I'd like to make the several lines of info for Arrow 1 be say, orange, perhaps even various shades of orange. Arrow 2 could then be green perhaps, 3 red, etc. making it a lot easier to pick out the relevant info for each arrow as opposed to the even/odd format currently.
Nope. Not without making the macro a near unreadable mess.
HoneyBadger said: Nope. Not without making the macro a near unreadable mess. Understood. Trying to get around this using line breaks, but I'm having issues getting ^^ to work. I'm obviously missing something. My macro works perfectly before that, so I believe I understand the majority of the logic, but trying to integrate a line break into it is just printing the ^^ and not making a line break. What is the procedure for including it in a macro?
--Effect|Content ^^ content ^^ content Would show up as: Effect: Content content content If you want a line break at the beginning of a new section use --Effect|^^Content
Huh. That's what I have been doing. At this point it is probably a safe guess that my GM isn't using the latest version of the script, would you say? Thanks for the info.
Yeah... kick your GM in the ass to get the script updated. :)
1409004553
The Aaron
Roll20 Production Team
API Scripter
You should add a !power --version to your script, then people could post which one they are using. =D
He updated it, and it works perfectly now. Appreciate you spending the time to help.
Gah, I hate to be a pest, but is there a length limit to a macro? I've got one that calculates 4 arrows perfectly, but I add the 5th in and it just refuses to output anything. To verify that it wasn't anything stupid I did, I copied one of the previous arrows exactly, and then just renamed the --Arrow#| to 5 and it still doesn't work. The only thing I can think of is a length limit, but with some of the stuff people have pasted in regard to spell descriptions, it seems the limit would be pretty huge. Or maybe number of calculations, or something I might be exceeding? Sorry to be a pain.
Post the macro.
1409011381

Edited 1409011564
Hopefully I get this to post correctly. If not I'll try to edit it. I'm using [ code ] in case it doesn't work. (EDIT: Close enough!) Please don't laugh at my horrible macro construction, I didn't even know Power Cards existed until last week! Posting it broken up so it isn't a jumbled mess. Obviously it is all one long string with a space instead of line breaks in the actual macro. Also, this is for Pathfinder. [code]!power --emote|@{character_name} is attacking with @{repeating_weapon_2_name} --name|@{repeating_weapon_2_name} --usage|Range @{repeating_weapon_2_range}ft --action|Crit @{repeating_weapon_2_crit-target}/x@{repeating_weapon_2_crit-multiplier} --^0Arrow 1|[[d20+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2)]] | [[(@{repeating_weapon_2_crit-target})+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2)]] = Crit ^^ Crit Confirm: [[d20+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2)]] ^^ Damage: [[@{repeating_weapon_2_damage-dice-num}d@{repeating_weapon_2_damage-die}+@{repeating_weapon_2_enhance}+@{dex-mod} +(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1)+(?{Favored Enemy?|0}*2)]]+[[1d6]] Fire ^^ Crit Dmg:+[[(@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}+(@{repeating_weapon_2_enhance}+@{dex-mod}+(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1) +(?{Favored Enemy?|0}*2))*(@{repeating_weapon_2_crit-multiplier}-1))]]+[[1d6]] Fire --^0Arrow 2|[[(d20+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] | [[((@{repeating_weapon_2_crit-target})+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] = Crit ^^ Crit Confirm: [[(d20+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] ^^ Damage: [[(@{repeating_weapon_2_damage-dice-num}d@{repeating_weapon_2_damage-die}+@{repeating_weapon_2_enhance}+@{dex-mod} +(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]]+[[1d6*?{Rapid Shot?|0}]] Fire ^^ Crit Dmg:+[[(@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}+(@{repeating_weapon_2_enhance}+@{dex-mod}+(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1) +(?{Favored Enemy?|0}*2))*(@{repeating_weapon_2_crit-multiplier}-1))]]+[[1d6*?{Rapid Shot?|0}]] Fire --^0Arrow 3|[[(d20+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] | [[((@{repeating_weapon_2_crit-target})+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] = Crit ^^ Crit Confirm: [[(d20+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]] ^^ Damage: [[(@{repeating_weapon_2_damage-dice-num}d@{repeating_weapon_2_damage-die}+@{repeating_weapon_2_enhance}+@{dex-mod} +(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1)+(?{Favored Enemy?|0}*2))*?{Rapid Shot?|0}]]+[[1d6*?{Rapid Shot?|0}]] Fire ^^ Crit Dmg:+[[(@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}+(@{repeating_weapon_2_enhance}+@{dex-mod}+(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1) +(?{Favored Enemy?|0}*2))*(@{repeating_weapon_2_crit-multiplier}-1))]]+[[1d6*?{Rapid Shot?|0}]] Fire --^0Arrow 4 (Full Attack)|^^[[(d20+@{attk-ranged} -5+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Full Attack?|0}]] | [[((@{repeating_weapon_2_crit-target})+@{attk-ranged} -5+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Full Attack?|0}]] = Crit ^^ Crit Confirm: [[(d20+@{attk-ranged} -5+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Full Attack?|0}]] ^^ Damage: [[(@{repeating_weapon_2_damage-dice-num}d@{repeating_weapon_2_damage-die}+@{repeating_weapon_2_enhance}+@{dex-mod} +(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1)+(?{Favored Enemy?|0}*2))*?{Full Attack?|0}]]+[[1d6*?{Full Attack?|0}]] Fire ^^ Crit Dmg:+[[(@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}+(@{repeating_weapon_2_enhance}+@{dex-mod}+(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1) +(?{Favored Enemy?|0}*2))*(@{repeating_weapon_2_crit-multiplier}-1))]]+[[1d6*?{Full Attack?|0}]] Fire --^0Arrow 5 (Hasted)|^^[[(d20+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Haste?|0}]] | [[((@{repeating_weapon_2_crit-target})+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Haste?|0}]] = Crit ^^ Crit Confirm: [[(d20+@{attk-ranged} +@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2))*?{Haste?|0}]] ^^ Damage: [[(@{repeating_weapon_2_damage-dice-num}d@{repeating_weapon_2_damage-die}+@{repeating_weapon_2_enhance}+@{dex-mod} +(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1)+(?{Favored Enemy?|0}*2))*?{Haste?|0}]]+[[1d6*?{Haste?|0}]] Fire ^^ Crit Dmg:+[[(@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}+(@{repeating_weapon_2_enhance}+@{dex-mod}+(?{Bard Song?|0}*@{BardSongMod})+(?{Point Blank?|0}*1) +(?{Favored Enemy?|0}*2))*(@{repeating_weapon_2_crit-multiplier}-1))]]+[[1d6*?{Haste?|0}]] Fire[/code] The intent of the macro is to accept all the variables as input (with a created variable of BardSongMod in the character sheet which will vary based on the bard's level), and then output 5 shots, with any that don't matter being zeroed out. So if you answer no (0) to Haste, it will zero out the 5th arrow, Rapid Shot zeroes arrows 2 and 3, and Full Attack zeroes 4. If you say yes to all of them, obviously they will all output a result. If I only include up through Arrow 4, it works. Arrow 5 breaks it, even if I take Arrow 3 and copy it directly and just change the name to Arrow 5 (thus eliminating the zeroing due to Haste). I also realize that I could probably simplify this a ton by taking each section and making separate macros out of them and then including those macros within this one, but I don't know how to do that yet, and I wanted to ensure I understood what I was doing completely first before jumping into making it better. P.S. On a side note, no matter what I do I can't figure out how to zero out the dice roll part of the crits (this part:[code]@{repeating_weapon_2_damage-dice-num}*(@{repeating_weapon_2_crit-multiplier}-1))d@{repeating_weapon_2_damage-die}[/code]. No matter where I put the multiplication by ?{Rapid Shot?|0} for example, it just breaks it. I've achieved my goal essentially by zeroing everything else, so it is obvious we can ignore those dice rolls, but still something I'd like to figure out, you know?
That's too big of a mess for me to mess with... it would take me forever to make it to where I could even test the macro. Separate macros for each arrow might be simpler...
Understood. I'm trying to avoid him having a bunch of different macros, but maybe you are right. Thank you for your time, and again for your script.
wow that's a lot of variables to be asked about every time you hit the attack button!
Yeah, that's why I was trying to make it all into one so they didn't have to input them more than once a round. Or select from multiple different macros, particularly since every time we level I have to copy the macros over again due to the Hero Lab import.
If you do that hasted attack on it's own with a value of 0 does it work? Maybe the script doesnt like a null roll.
Yes, if I just put Arrow 5 into a macro (with the same header) it works perfectly, even with a 0 for the Haste variable. It is only putting all 5 together that is causing me problems, which is why I assumed it had something to do with the length, or the number of calculations, or something related to size. My next step will be trying to substitute parts of the calculations into preliminary macros so the main macro itself isn't so big. I still have to learn how to do that though, as my initial foray has failed.
1409035104

Edited 1409035361
Replaced almost all calculations with references to abilities via %{selected|AttackCalc} and similar, making the macro vastly smaller, and the same thing happens when I add in any 5th "arrow". They work individually, they work in any combination of 4, but nothing I do will make all 5 work. It isn't a huge deal in the big scheme of things, as I can just make a second macro for one of them, but I'd sort of like to figure out what is causing the issue just for scientific purposes, and anyone else that might encounter the same thing. It cannot be a length of macro thing anymore, since it is significantly smaller, and to eliminate a few thoughts, replacing Arrow 5's formula with any amount of text, and even adding an Arrow 6 with more text, works just fine. Which leaves things like number of calculations, number of variable calls, number of attribute references, etc. To sort of test that, I replaced my long AttackCalc ability call (which is this: d20+@{attk-ranged}+@{repeating_weapon_2_enhance}+(?{Bard Song?|0}*@{BardSongMod})+(?{Haste?|0}*1)+(?{Point Blank?|0}*1)-(?{Rapid Shot?|0}*2)+(?{Favored Enemy?|0}*2)) with a simple 1d20, reducing the number of calculations/calls/whatever by 50 to 70 (2 for each Arrow, 5 arrows, 5 to 7 calls each), depending upon which are causing the issue. Arrow 5 then worked perfectly. So there is definitely a limit to *something* related to variable calls, ability calls, calculations, etc. I surmise at this point it probably isn't a Power Card issue though, and more likely a Roll20 macro limitation, but I can't find any documentation on such a limit, and obviously I'm not completely sure what is causing the issue. If I narrow it down more I will post further just for edification, or perhaps someone knows, but as I said I'm guessing this probably isn't a Power Card issue. Sorry for the derail, and thanks for the efforts to help. EDIT: After posting a thought occurred to me, so I went ahead and changed the AttackCalc to be simply d20+@{attk-ranged}+@{repeating_weapon_2_enhance}, so I still had the same number of @ calls, but still 50 fewer of the variable calls. It worked! So right now I am leaning towards there being a limit to the number of times either a single variable can be referenced, or the total number of variables.
Getting pretty bleary-eyed looking at this, but it appears to me that my normal macro (not the one listed above, modified a bit to try to cut them down) has 102 variable calls. That still does not work. However, reducing it to 96 seems to be the cutoff point where it does, with 97 failing to work again. I have no idea why 96/97 would be a number of significance anywhere, so either I miscounted or I'm missing something else. But all it takes to make all 5 Arrows work is reducing it by 6 from my current total, via any means (ie. removing them from the beginning, middle, or end, regardless of if they are called via %abilities or directly in the macro itself), so that seems like it must be the solution, even though I can't fathom why.
1409045269

Edited 1409045365
Is it the same if you make that many calls outside of powercards? you could just removed the haste variable and ignore the roll if the attack isn't hasted
I dragged myself into work this morning so I'll see if I can experiment with it here in a bit. The problem with removing Haste is that it adds +1 to all attacks if it is present. I'm thinking I'll probably just have to make a separate roll for either that one or the full attack. I'm leaning towards the full attack, since eventually he'll get a third at -10, etc. and it would be easier to just lump those both together.
Zepth said: Is it the same if you make that many calls outside of powercards? you could just removed the haste variable and ignore the roll if the attack isn't hasted Yep, making it so that it works as a macro without Power Cards, it still doesn't work until I remove exactly 6 calls. So I'd say that confirms it is not an issue with Power Cards, but a limitation of Roll20's system.