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
This post has been closed. You can still view previous posts, but you can't post any new replies.

PowerCards 3 (Thread 2)

1433294803

Edited 1435965215
July 3rd, 2015 ~ 7:15 pm eastern Version: 3.2.5 Bugfix: Tables with a number at the start of the item name shouldn't show up with that number as an inline roll in front of the table result. This looks like a bug with Roll20 and the change may need to be temporarily reverted if it breaks other parts of PowerCards. June 30th, 2015 ~ 3:45 pm eastern Version: 3.2.4 Update: Added a tag to hide rolls for use with conditionals. --hroll or --hrolls will both allow you to make any number of rolls in that tag for later use in conditionals. These rolls will not show up on the powercard or when mousing over the title or the card itself. In fact, the rolls are never shown to anyone. I made add in an option to whisper these hidden rolls to the GM, later. Example: --hroll| [[ [$ID] 1d6 ]] June 21st, 2015 ~ 2:40 pm eastern Version: 3.2.3 Bugfix/Update: Conditionals that rely on $ID.base will now work with rolls like 2d20kh1 and 2d20kl1, such as for Advantage/Disadvantage in D&D 5e. It will not work for any rolls that keep more than one die. June 15th, 2015 ~ 9:00 pm eastern Version: 3.2.2 Bugfix: Center and Justify options in row content should work now. Due to css/javascript limitations you cannot have a tag followed by centered or justified content on the same line. You will need to hide the tag using an exclamation mark and then use inline formatting to create a fake tag in the content. Something like --!HiddenTag|~J **Fake Tag:** Justified text. ~J Bugfix: Zeroed die rolls like 0d0 or 0d1 and such should not crash the script now. The roll will default to zero, but include any modifiers. For example, 0d0 + 1 will show up as one instead of zero. Power Cards 3 Link: gist.github.com/Sky-Captain-13/452330a3d926b32da49c What are they? They are simply macro's formatted using --tags that are interpreted by the script to apply html and css to contents of the macro. This string is then sent to the chat window via the API using /direct to allow the html and css formatting to work. This has the benefit of reducing the spam in the chat window (while admittedly creating a new kind of spam) and reduces the number of macros needed. This script can turn this... ... or this ... ... into this! Using the Script Note: You must be a mentor level subscriber to Roll20 to utilize API scripts. Step 1: Copy the script into the API section of your campaign and save it. Step 2: Create macros/abilities for your monsters, characters, magic items, or whatever else you want to use it for. D&D 4e Example: !power {{ --emote|HoneyBadger resorts to the simple attack he learned when he first picked up a weapon. --format|atwill --name|Melee Basic Attack --leftsub|At-Will --rightsub|Standard Action --Attack|[[1d20 + 4 [Strength Mod] + 3 [Longsword Prof.]]] vs AC --Hit|[[1d8 + 4 [Strength Mod]]] slashing damage }} D&D 5e Example: !power {{ --emote|HoneyBadger slashes at his foe with a longsword. --format|atwill --name|Melee Attack --leftsub|Action --rightsub|Reach 5 ft. --Attack|[[1d20 + 3 [Strength Mod] + 2 [Proficiency]]] | [[1d20 + 3 [Strength Mod] + 2 [Proficiency]]] vs AC --Hit|[[1d8 + 3 [Strength Mod]]] slashing damage }} These two macro's show up as... Using Tags Tags are used to tell the script how to identify the Content that follows and help tell the script what to do in some cases. For example, the --name| tag is used to set the name at the top of the power card. Tag Format Examples: GOOD: --Tag|Content GOOD: --Effect|This is an effect. GOOD: --A Custom Tag|This is a custom tag. BAD: effect | This is a bad tag. BAD: -BadTag| This is also a bad tag. Tag Options: These are used to further customize the appearance and features of the power cards. Hidden Tag : Adding an exclamation mark ! at the start of a tag will hide that tag and not display it in the power card, but it will show the contents of the tag in the power card. This is useful for adding blocks of text without a tag. Example: --!Tag|Content Indent: Adding a caret mark ^ followed by a number will indent that entire line and its contents slightly. The indentation option ranges from a minimum of zero (used to reset the indent to default) to a maximum of nine, though at nine, you will not have very much room for content at all. Example: --^1Tag|Content The indent tag option can be used in conjunctions with the hidden tag option, but the exclamation mark must be first. Example: --!^1Tag|Content Repeat: To repeat a tag and its contents, add a hash mark followed by the number of times you want the content to repeat. You can also use roll queries to add a pop-up in roll20 to determine the number of times to repeat the tag when you click the macro (see second example). Example: Tag#4|Content Example: Attack#?{Number of attacks|1}|[[1d20+4]] Using the repeat tag will generate unique rolls for each inline roll in each repeated tag. Same Name: This tag option is used to enable the use tags with the same name. Unlike repeating tags, the content is unique to each tag of the same name. To use this tag, add an asterisk * followed by a number (cannot use the same numbers). Example: Tag *1|Content Example: Tag *2|Content Hides Tag & Content: Add a $ in front of the tag to hide the tag and the content. Using ?{Hit delete to show|$} makes this configurable on the fly. Example: --$Tag|Content Example: --?{Hit delete to show Hex damage|$}Hex:|[[1d6]] necrotic damage Reserved Tags: These tags are reserved for specific use by the script and cannot be used for anything else. charid - Gets the character_id of the character triggering the macro. Combines with --emote to create a custom look to emotes. Usage: --charid|@{character_id} emote - Creates an emote on top of the power card. Set CUSTOM_EMOTES to false in script to return to standard Roll20 orange emotes. If you have charid and emote together in the macro to use the power card styled emotes, you can put an exclamation mark in front of the emote to not show the avatar for that macro. Example: --emote|This emote would have an avatar. Example: --emote|!This emote would not have an avatar. format - An option for GM's to make setting text and background colors easier. See the Format Tag section below for more detailed information. Example: --format|atwill Example: --format|encounter name - The name of the power, skill, ability, etc. being used or whatever else you can think of. Appears at the very top of the card. title - Sets a tooltip on the colored title box. Useful for hiding information that would otherwise clutter the chat window. leftsub - Creates a smaller subtitle beneath the name of the power card, left of the diamond if used in conjunction with rightsub. rightsub - Creates a smaller subtitle beneath the name of the power card, right of the diamond if used in conjunction with leftsub. txcolor - Sets the color of the text in the title box using hex code (#000000). bgcolor - Sets the background color of the title box using hex code (#000000). erowtx - Sets the text color of even numbered rows in the body of the power card using hex code (#000000). erowbg - Sets the background color of even numbered rows in the body of the power card using hex code (#000000). orowtx - Sets the text color of odd numbered rows in the body of the power card using hex code (#000000). orowbg - Sets the background color of odd numbered rows in the body of the power card using hex code (#000000). whisper - Sends the title box and body of the power card to the designated target. For example --whisper|GM would send the power card to the GM. target_list - Creates a list of targets in conjunction with multiple uses of the @{target|Nth Target|token_id} roll query for each possible target. Example: --target_list|@{target|1st Target|token_id} | @{target|2nd Target|token_id} | @{target|3rd Target|token_id} A method for replacing text in the powercard with information from the target_list objects will be added later. titlefont - Sets the font of the title of the power card. subtitlefont - Sets the font of the subtitles beneath the title of the power card. bodyfont - Sets the font of the body of the power card. Word of caution, this absolutely will alter the font of the inline rolls as well. corners - Defaults to 5... set to 0 to remove rounded corners or higher to round them even more. titlefontsize - Sets the size of the name of the powercard subtitlefontsize - Sets the size of the text of leftsub and rightsub bodyfontsize - Sets the size of the text in the body of the powercard border - Can be used to set the size style color of borders using this format: --border|1px solid #000 tokenid - This tag lets you use the token image instead of character avatar for custom emotes. Must be used with either: @{selected|token_id} @{target|self|token_id} Inline Roll Options: Add this before the die roll you want to modify and make sure there is a space between the [[ brackets and the roll option. Such as follows: [[ [NH] 1d4 + @{DEX Mod] [Dex Mod] ]] You can use multiple roll options by separating them with a vertical pipe character such as: [[ [nh|trkr] 1d20]] [NH] - Disables inline roll highlighting for crit success and crit failure. [TRKR] - Adds an entity to the Turn Order Tracker. If the powercard macro does not have --tokenid or --charid, it will use the Display Name of the player that triggered the macro. If you use --charid, it will look for a token that is representing the character and use that id, but fall back to the character name if there are no tokens representing the character. [TXT] - Causes an inline roll to show up as text only instead of as an inline roll. [XPND] - This inline roll option expands the roll into the full formula/expression instead of just the result. [[1d20 + @{Dex Mod}]] becomes [(18) + 3 = 21] instead of [21] Examples: GOOD: [[ [NH] 1d6]] BAD: [[[NH] 1d6]] Text Formatting: You can use the options below to format text in the content of a tag. These can be combined in any number of ways. **Bold** //Italics// __Underline__ ~L, ~C, ~R aligns text in between those tags to the (L)eft, (C)enter, and (R)ight. ~L This text would be left aligned. ~L ~C This text would be centered. ~C ~R This text would be right aligned. ~R ~~~ inserts a horizontal rule. ^^ adds a line break ^*Indents the first line of a paragraph in the content of a tag. @@ <a href="http://www.roll20.net@@" rel="nofollow">www.roll20.net@@</a> - Naked url, requires that ALLOW_URLS to be set to true in the script. @@ <a href="http://www.roll20.net||Roll20@@" rel="nofollow">www.roll20.net||Roll20@@</a> - Hidden url, requires that ALLOW_HIDDEN_URLS to be set to true in the script. @@url||text@@ &lt;-- Must have double bars in between the url and the text. $$#400|This text will be in dark red.$$ The Format Tag The --format tag is one of the more heavily revamped tags in the 2.0 version of power cards. Instead of specifying a game system as it did in the past, it instead can be used to specify the text and background colors of the macro in one tag. The GM of the campaign must create a handout and name it exactly PowerCard Formats so that the script can find the information and parse the formatting info as needed. You absolutely must follow the format shown in the example below to get the --format tag to work properly. This image is an example of the D&D 4e power usage colors. I recommend setting this handout as viewable by all players so that they can see what options are available for them to use in their own power card macros. Target Info Charms This new feature lets you grab info from a character sheet or token by using --target_list|@{target|1st Target|token_id} | @{target|2nd Target|token_id} | etc to create the list of targets and then adding target info charms into the content of your powercard such as %%token_name%% to get the name of the token. The types of charms are broken down into two categories: token charms and attribute charms. Token charms area set list that grab information like bar values and the name of the token. Attribute charms can be any attribute on a character sheet and they are case sensitive. AC is not the same as aC, Ac, or ac. Finally... and this is very important ...all charms referring to a target must be in the same tag. You cannot have charms split between tags. If you want to create a kind of stat sheet, use line breaks ^^ to create new lines. Good Examples !power --name|Single Target Attack --target_list|@{target| |token_id} --Attack|[[1d20+5]] | [[1d20+5]] vs %%AC%% Armor Class (%%token_name%%) --Hit|[[1d8+3]] slashing damage !power --name|Scorching Burst | Nine Targets --target_list|@{target|1st|token_id} | @{target|2nd|token_id} | @{target|3rd|token_id} | @{target|4th|token_id} | @{target|5th|token_id} | @{target|6th|token_id} | @{target|7th|token_id} | @{target|8th|token_id} | @{target|9th|token_id} --Attack#?{Number of targets|1}|[[1d20+5]] vs %%Reflex%% Reflex (%%token_name%%) --Hit|[[1d8+3]] fire damage For a multi-attack power like Scorching Burst in D&D 4e, you create the macro as above and just click nine times and then when the pop up for number of targets appears, type in the actual number of targets in the area and hit enter. The script will ignore the rest of the targets in the list. For example, in the snip below... I clicked nine tokens pretty quickly. Only the first four mattered since those were my actual targets. Then I typed in the number of targets and hit enter when the pop up appeared. !power --name|Stats --target_list|@{target|1st Target|token_id} --Target|%%token_name%% ^^ **Hit Points:** %%bar3%%/%%bar3_max%% ^^ **Defenses:** AC %%AC%%, Fort %%Fortitude%%, Reflex %%Reflex%%, Will %%Will%% Bad Example !power --name|Bad Example --target_list|@{target| |token_id} --Target|%%token_name%% --Attack|[[1d20+5]] | [[1d20+5]] vs %%AC%% Armor Class --Hit|[[1d8+3]] slashing damage to %%token_name%% In the example above, the %%AC%% and second %%token_name%% charms would not be replaced with the proper info. Token Charms %%token_name%% %%bar1%% %%bar1_max%% %%bar2%% %%bar2_max%% %%bar3%% %%bar3_max%% Sample Attribute Charms %%Strength%% %%Strength Mod%% %%Fortitude% %%Reflex%% %%Will%% %%HP%% %%Hit Points%% Other Charms %%who%% - gets the DisplayName of whomever triggered the macro/powercard Conditionals Conditionals are simple logic using either the base value of a die roll or the total value of the entire inline roll. They can only be used at the start of a tag right now, but will eventually be able to be used in the content of a tag to selectively show or hide information. Conditionals are used by wrapping them in double question marks at the start of a tag, telling the script which roll to use, whether to use the base value or total, how to compare it, and to what to compare it to. For example... a basic crit macro for a D&D 4e basic melee attack with a long sword: !power {{ --name|Basic Attack --leftsub|Longsword --rightsub|Range Melee --Attack:|[[ [$Atk] 1d20 + 4 [Str Mod] + 3 [Weapon Proficiency] ]] vs AC --Hit:|[[ 1d8 + 4 [Str Mod] ]] slashing damage --?? $Atk.base == 20 ?? Critical Hit:| Add [[1d8]] slashing damage }} Structure of a Conditional ?? LeftValue vs RightValue ?? LeftValue and RightValue can be a number, a roll id ($Roll), or a roll query ( ?{target|AC} ), or even an attribute call ( @{attribute} ). vs can be one of the following operands: &lt;, &lt;=, ==, &gt;=, &gt;, &lt;&gt; (not equal), % (evenly divisible), ~% (not evenly divisible) Very important!! You must have a space between each part of the conditional. No spaces will cause an undefined variable crash. Roll $ID's must be defined in an inline roll as a label in front of the roll you want to use later. It must be in single square brackets and must start with a dollar sign ($). Next, you will want to determine if you are going to check the base value of the roll of the total value of the entire inline roll. For example if you use [[ [$Atk] 1d20 + 4 ]] and roll a 10 on the d20, the base value will be 10 and the total value will be 14. Add .base to the $ID for the base value and .total for the total value ($ID.base or $ID.total). The symbol can be one of the following: &lt;, &lt;=, ==, &gt;=, &gt;, &lt;&gt;, %, and ~%. They are in order: less than, less than or equal to, equal to, greater than or equal to, greater than, not equal to, modulo, and negated modulo (see below). Modulo Symbol The modulo symbol, added in version 3.0.2, is a percentage sign % and can be used to divide the left side by the right side. By itself, modulo will return true if the left side is evenly divisible by the target number. This can be used to show something if it is an even number (?? $ID.base % 2 ??). Adding the tilde ~ in front of the module will negate or reverse the outcome. So if you do ~% 2 instead, it will be true if the number is odd. Extending Conditionals Conditionals can also be extended to test for multiple values, but keep the following in mind... any conditional with AND will stop immediately when it finds a false statement and any conditional with OR will stop immediately when it finds a true statement. Here is an example of an extended conditional with complex logic for a D&D 5e melee attack: !power {{ --name|Basic Attack --leftsub|Longsword --rightsub|Range Melee --Attack:|[[ [$Atk] 1d20 + 3 [Str Mod] + 2 [Proficiency] ]] vs AC --?? $Atk.base == 1 OR $Atk.total &lt; @{target|AC}?? !Miss:|You missed. --?? $Atk.total &gt;= @{target|AC} AND $Atk.base &lt;&gt; 1 AND $Atk.base &lt;&gt; 20 ?? Hit:|[[1d8 + 3]] slashing damage --?? $Atk.base == 20 ?? Critical Hit:|[[2d8 + 3]] slashing damage }} Stacking Conditionals You can also stack conditionals one after the other and they will be executed in that order, left to right. It basically works like AND, but may be a little cleaner to read. May be more useful after conditionals can be used in the content of a tag and not just the tag itself. Contributors The following members of the Roll20 community have greatly aided with the creation and enhancement of this script either through their scripting expertise or their suggestions to improve features of the script and their relentless bug hunts! Alex L. Brian Chris N. Rob J. The Aaron GenKitty Sean G Janick H.
Reserved for powercard macro examples...
Wow, we filled that one up fast...
1433334910
The Aaron
Roll20 Production Team
API Scripter
(Closed the old one)
1433339926
vÍnce
Pro
Sheet Author
I have yet to upgrade to v3.x Is it safe to assume this version is backward compatible with the v2.4.15a powercard script? Also is dropshadow still available as a border option? As always, powercards are the cat's meow. Thanks HB
Yes.
I'm stuck with improved critical in DnD 5e. How do I get the script to recognize both 19 AND 20 as crit numbers? Mine is slightly more complicated because my critical hits don't do extra damage but instead reference a wound system. That all works great, but I'm not able to get it to recognize BOTH 19 and 20 as critical hits. Thoughts? Here is a snapshot of the version i'm using now. !power --format|5edefault --target_list|@{target|token_id} --emote|**//@{selected|character_name} fires his crossbow at %%token_name%%//**. --name|Crossbow --leftsub|Ranged (30/120) --rightsub|Piercing Damage --target_list|@{target|token_id} --Attack:|[[ [$Atk] 1d20 +4]] | [[ [$Atk] 1d20+4]] vs **AC** %%bar1%% --?? $Atk.base = 1 OR $Atk.total &lt;= @{target|bar1} ?? Hit:|[[1d6+2]] piercing damage --?? $Atk.total &gt;= @{target|bar1} AND $Atk.base &lt;&gt; 1 AND $Atk.base &lt;&gt; 19 AND $Atk.base &lt;&gt; 20 ?? Hit:|[[1d6+2]] piercing damage --?? $Atk.base == 20 ?? Hit:|[[1d6+2]] piercing damage^^ **Wound Hit Location:**|[[ 1t[critl] ]]^^ **Wound Severity:**|[[ 1t[critw] ]] --?? $Atk.Total &gt;= 23 ?? Hit:|[[1d6+2]] piercing damage^^ **Wound Hit Location:**|[[ 1t[critl] ]]^^ **Wound Severity:**|[[ 1t[critw] ]] --tokenid|@{selected|token_id} Thank you in advance!
Here is the card as is. Like I said, delicious...this is so good. When I roll a 20 it works, but it only reveals basic damage with a 19. I have given up trying to do advantage/disadvantage vs not and just let it go, but an adjusted crit range seems like it will matter to some.
Here's a version that will ask you if you have advantage, disadvantage or not... (0 for standard, 1 for disadvantage, 2 for advantage). If you want to make this easier to update, I would replace the + 4 in attack rolls with + @{DexMod} [Dex Mod] + @{Proficiency} [Prof.] or whatever attributes exist for those two bonuses. And I would create a @{CritRange} attribute and put it in place of the 19's shown below. You would also want to replace the + 2 in the damage rolls with @{DexMod} [Dex Mod] . !power {{ --name|Crossbow --leftsub|Ranged (30/120) --rightsub|Improved Crit --format|player --title|[[ [$AtkType] ?{Attack Std (0), Dis (1), or Adv(2)|0} + 0d0 ]] --?? $AtkType == 0 ?? Attack:|[[ [$AtkStd] 1d20 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 1 ?? Attack:|[[ [$AtkDis] {2d20}KL1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 2 ?? Attack:|[[ [$AtkAdv] {2d20}KH1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 0 AND $AtkStd.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &gt;= @{target|bar1} AND $AtkStd.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 0 AND $AtkStd.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 1 AND $AtkDis.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &gt;= @{target|bar1} AND $AtkDis.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 1 AND $AtkDis.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 2 AND $AtkAdv.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &gt;= @{target|bar1} AND $AtkAdv.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 2 AND $AtkAdv.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] }}
1433372272

Edited 1433372319
Hi guys! i need some macro to roll a number of dices and take the hightests results. Like roll 5d6 and take the result from the 4 hightests values. Somebody could help me? I need this macro to play game of thrones, but i believe the system is similar with the legend of the five rings. Thanks!
Thank you for the tip. I only use numericals because I avoid filling out full sheets for certain NPCS. that being said, it may be fast to do that than to customize each macro. I will have to read more on how to create attributes, like @critrange. Thank you again, much appreciated.
You just open a character sheet and click the add attribute button and name it CritRange or whatever.
Lukas said: Hi guys! i need some macro to roll a number of dices and take the hightests results. Like roll 5d6 and take the result from the 4 hightests values. Somebody could help me? I need this macro to play game of thrones, but i believe the system is similar with the legend of the five rings. Thanks! This thread really isn't the place for it... but 5d6kh4 will roll 5 d ice with 6 sides and k eep the h ighest 4 .
HoneyBadger said: Here's a version that will ask you if you have advantage, disadvantage or not... (0 for standard, 1 for disadvantage, 2 for advantage). If you want to make this easier to update, I would replace the + 4 in attack rolls with + @{DexMod} [Dex Mod] + @{Proficiency} [Prof.] or whatever attributes exist for those two bonuses. And I would create a @{CritRange} attribute and put it in place of the 19's shown below. You would also want to replace the + 2 in the damage rolls with @{DexMod} [Dex Mod] . !power {{ --name|Crossbow --leftsub|Ranged (30/120) --rightsub|Improved Crit --format|player --title|[[ [$AtkType] ?{Attack Std (0), Dis (1), or Adv(2)|0} + 0d0 ]] --?? $AtkType == 0 ?? Attack:|[[ [$AtkStd] 1d20 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 1 ?? Attack:|[[ [$AtkDis] {2d20}KL1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 2 ?? Attack:|[[ [$AtkAdv] {2d20}KH1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 0 AND $AtkStd.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &gt;= @{target|bar1} AND $AtkStd.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 0 AND $AtkStd.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 1 AND $AtkDis.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &gt;= @{target|bar1} AND $AtkDis.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 1 AND $AtkDis.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 2 AND $AtkAdv.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &gt;= @{target|bar1} AND $AtkAdv.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 2 AND $AtkAdv.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] }} This......is......AMAZING!!!!!! HoneyBadger, Is there a place where you have multiple macros you have created that use your powercard system? If so, I would love a peek Into that wonderful place. Thanks Ryeaa
HoneyBadger said: Here's a version that will ask you if you have advantage, disadvantage or not... (0 for standard, 1 for disadvantage, 2 for advantage). If you want to make this easier to update, I would replace the + 4 in attack rolls with + @{DexMod} [Dex Mod] + @{Proficiency} [Prof.] or whatever attributes exist for those two bonuses. And I would create a @{CritRange} attribute and put it in place of the 19's shown below. You would also want to replace the + 2 in the damage rolls with @{DexMod} [Dex Mod] . !power {{ --name|Crossbow --leftsub|Ranged (30/120) --rightsub|Improved Crit --format|player --title|[[ [$AtkType] ?{Attack Std (0), Dis (1), or Adv(2)|0} + 0d0 ]] --?? $AtkType == 0 ?? Attack:|[[ [$AtkStd] 1d20 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 1 ?? Attack:|[[ [$AtkDis] {2d20}KL1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 2 ?? Attack:|[[ [$AtkAdv] {2d20}KH1 + 4]] vs **AC @{target|bar1}** --?? $AtkType == 0 AND $AtkStd.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 0 AND $AtkStd.base &lt;&gt; 1 AND $AtkStd.total &gt;= @{target|bar1} AND $AtkStd.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 0 AND $AtkStd.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 1 AND $AtkDis.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 1 AND $AtkDis.base &lt;&gt; 1 AND $AtkDis.total &gt;= @{target|bar1} AND $AtkDis.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 1 AND $AtkDis.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] --?? $AtkType == 2 AND $AtkAdv.base == 1 ?? !Critical Miss|$$#800|**You critically missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &lt; @{target|bar1} ?? !Miss:|$$#800|**You missed!**$$ --?? $AtkType == 2 AND $AtkAdv.base &lt;&gt; 1 AND $AtkAdv.total &gt;= @{target|bar1} AND $AtkAdv.base &lt; 19 ?? Hit:|[[ [nh] 1d6 + 2]] piercing damage --?? $AtkType == 2 AND $AtkAdv.base &gt;= 19 ?? Critical Hit:|[[ [nh] 1d6 + 2]] piercing damage ^^ ** Wound Location:** [[ 1t[critl] ]] ^^ **Wound Severity:** [[ 1t[critw] ]] }} Can you make a non 19-20 crit version, like a standard 20 crit version? this is so good....having trouble modding it.
NM...I got it. Thanks again, this is a great working macro.
Hey Guys. love the power cards and have used the power cards two but like the added information of the power card 3 so have tried to use it at first it worked great and have tried to add somethings we use when we play. even went back to the original marco and not getting all my information to run. !power {{ --tokenid|@{selected|token_id} --emote|@{character_name} attacks @{target|character_name} with his @{weapon-1-name}. --format|?{type the color} --name|Melee Attack --leftsub|Standard Action --rightsub|Melee --Attack:|[[ [$Atk] 1d20 + @{Str_Mod} +@{weapon-1-prof} +@{weapon-1-enh} +@{weapon-1-attack-class} +@{weapon-1-attack-feat} +@{weapon-1-attack-misc}]]vs AC --?? $Atk base == 1 OR $Atk total &lt; @{target|AC}?? !Miss:|You missed.--?? $Atk total &gt;= @{target|AC} AND $Atk base &lt;&gt; 1 AND $Atk base &lt;&gt; 20 ?? Hit:|[[1d10 +@{Str_Mod} +@{Half_Lvl} +@{weapon-1-enh} +@{weapon-1-damage-class} +@{weapon-1-damage-feat} +@{weapon-1-damage-misc}]] slashing damage --?? $Atk base == 20 ?? Critical Hit:|[[2d10 +@{Str_Mod} +@{Half_Lvl} +@{weapon-1-enh} +@{weapon-1-damage-class} +@{weapon-1-damage-feat} +@{weapon-1-damage-misc}]] slashing damage}} this is an example of one that worked but now will only roll the too hit protion and have no idea wha i am missing to get it too work. any help would be much apprecated. Thanks again and the power cards are awesome.
Anywhere is says $Atk base needs to say $Atk.base instead. Same for $Atk total needs to be $Atk.total instead.
1433525014

Edited 1433525443
This may not be the right place for this...but as it relates to the power cards, its on the cusp at least :-D I'm trying to come up with a more organized and easier to edit format to simulate numerous weapons. As is, I have a "weapons" character sheet that has a macro for various weapons, including separate entries for 20 crit vs 19 crit. Versatile and finese weapons also have their own versions. The idea is that I can make "Short Sword" that anyone can use, player or NPC. If they have improved crit and want to use it as a finese weapon...boom there it is. The issue, of course, is that it takes hour of entry and code editing to change them. Which is totally fine, this is such a great tool. I am just thinking there must be am ore efficient way. Suggestions?
1433531320

Edited 1433531661
The obvious two answers I can think of are: Roll Queries (i.e. a popup that asks "What's your minimum threat?" and defaults to 20, but can change to 19 etc.): ?{What's your minimum threat?|20} Relying on Attributes of the Character that is using the macro (i.e. an Attribute called MinThreat that is set to 19 or whatever): @{selected|MinThreat} NOTE: The second way would require that you have the token selected before using the macro. Only easy workaround I can think of is to have the macros in a Handout as a template, and if someone wants to use it, they can copy-paste it into their own sheet as an Ability NOTE 2: Just realized method 2 likely won't work as-is, given that you're using a common Character instead of a global macro
1433535271

Edited 1433535376
Jeremy, how often do your characters change weapons in your game? If they're swapping all the time, the best way may be the roll query like Aaron I. suggested. If each player just picks one weapon and pretty much remains stable, though, you might consider either doing the MinThreat on the character sheet or just making the threat range part of a specific Ability on that character. (E.G. This character uses a Katana and a Throwing Axe, so he has macros for Katana and Throwing Axe that include those specific ranges). You may not need to input every weapon like that--if you only need a small few, don't overwork yourself. :-) For mine, I'm using the roll query method, but I use 13th Age and for certain character classes critical threat ranges can vary wildly from moment to moment (ranger with Lethal Hunter, First Strike, and Favored Enemy, for instance). So that method works best for me.
Aaron I. said: The obvious two answers I can think of are: Roll Queries (i.e. a popup that asks "What's your minimum threat?" and defaults to 20, but can change to 19 etc.): ?{What's your minimum threat?|20} Relying on Attributes of the Character that is using the macro (i.e. an Attribute called MinThreat that is set to 19 or whatever): @{selected|MinThreat} NOTE: The second way would require that you have the token selected before using the macro. Only easy workaround I can think of is to have the macros in a Handout as a template, and if someone wants to use it, they can copy-paste it into their own sheet as an Ability NOTE 2: Just realized method 2 likely won't work as-is, given that you're using a common Character instead of a global macro Thank you for the feedback. Yes for the Crit range, I have an attribute CritRange and CritRange2 which i plug in. My issue, honestly is organization and time management. As is, I want to have as many weapons as I can so I never have to do this again :-D. Any NPC i make, can just grab the global macro, and it will read his info and plug it in. My macros work great, again, just thinking my organization is not efficient. I may have answered my own question though...it may just be a long term labor of love that may or may not ever pay off :-D.
Question Can I change the background color of everything below the ~~~
Kunguru said: Question Can I change the background color of everything below the ~~~ Nope. That's in the same row.
I'm having problems with one of my macros. The following macro !power {{ --tokenid|@{selected|token_id} --emote|The healing rune flares in your allies' armor. --title| Divine, Healing, Runic --target_list|@{target| |token_id} --format|encounter --name|Rune of Mending --leftsub|Minor Action --rightsub|Close burst 5 --Target:|%%token_name%% --Effect|The target can spend a healing surge. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|}.base == 0 ?? ^1Rune of Destruction| You and each ally in the burst gain a +2 power bonus to dmg rolls until the end of your next turn. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|}.base == 1 ?? ^1Rune of Protection| You and each ally in the burst gain a +1 power bonus to all defenses until the end of your next turn. }} shows this, regardless of the input on the query. I use that query format on other macros and they all work correctly, except for this one.
Remove the .base from just numbers. Dot base and dot total are only for actual inline dice rolls.
1433547009

Edited 1433547391
It didn't work. It's strange since the other macros actually work. This one for example. !power {{ --tokenid|@{selected|token_id} --emote|Erandr embodies in his words the primordial powers of exchange. --title| Divine, Runic, Weapon --target_list|@{target| |token_id} --format|atwill --name|Word of Exchange --leftsub|Standard Action --rightsub|Melee weapon --Target:|%%token_name%% --Attack:|[[ [$Atk] 1d20 + @{STR} + @{MProf} + @{Half_Level}]] vs AC --?? $Atk.base &lt;&gt; 20 ?? Hit:|[[ [NH] @{MDam} + @{STR} + ?{1 for Defiant Word|0}*@{WIS}]] damage. --?? $Atk.base == 20 ?? CRIT:|[[ @{MDam_Max} + @{STR} + ?{1 for Defiant Word|0}*@{WIS} ]] damage. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|}.base == 0 ?? ^1Rune of Destruction| Before the end of your next turn, the next attack against a target from an ally deals [[@{WIS}]] extra damage and the ally gains [[@{WIS}]] THP. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|}.base == 1 ?? ^1Rune of Protection| The target takes a -2 penalty to all defenses until the end of your next turn, and the next ally to hit the target gains a +@{WIS} power bonus to AC until the end of your next turn. }} EDIT: I think I found the problem. In the script, lines 317-318 KeyCount = 0; Keys.forEach(function(Tag) { Since I'm not using keys on the macro, it doesn't ever check for conditionals, so the macro gets resolved as if they were normal tags.
Ok added the . in between the $Atk and base and totals but still it will not run the critical part of the macro which again is starnge because i got it too work once but now no matter if a copy and paste a macro from the forums that i know work it still won't run the critical roll !power {{ --tokenid|@{selected|token_id} --emote|@{character_name} attacks @{target|character_name} with his @{weapon-1-name}. --format|?{type the color} --name|Melee Attack --leftsub|Standard Action --rightsub|Melee --Attack:|[[ [$Atk] 1d20 + @{Str_Mod} +@{weapon-1-prof} +@{weapon-1-enh} +@{weapon-1-attack-class} +@{weapon-1-attack-feat} +@{weapon-1-attack-misc}]]vs AC --?? $Atk.base == 1 OR $Atk.total &lt; @{target|AC}?? !Miss:|You missed.--?? $Atk.total &gt;= @{target|AC} AND $Atk.base &lt;&gt; 1 AND $Atk.base &lt;&gt; 20 ?? Hit:|[[1d10 +@{Str_Mod} +@{Half_Lvl} +@{weapon-1-enh} +@{weapon-1-damage-class} +@{weapon-1-damage-feat} +@{weapon-1-damage-misc}]] slashing damage --?? $Atk.base == 15 ?? Critical Hit:|[[2d10 +@{Str_Mod} +@{Half_Lvl} +@{weapon-1-enh} +@{weapon-1-damage-class} +@{weapon-1-damage-feat} +@{weapon-1-damage-misc}]] slashing damage}} i am sure it is something simple i am missing but for the life of me i can't find it. thanks for your time
Critical hit needs to be &gt;= instead of ==.
And the $Atk.base &lt;&gt; 20 should be &lt;= 15 instead.
Jashin said: EDIT: I think I found the problem. In the script, lines 317-318 KeyCount = 0; Keys.forEach(function(Tag) { Since I'm not using keys on the macro, it doesn't ever check for conditionals, so the macro gets resolved as if they were normal tags. Not a problem. Conditionals only work in tags, not the content of tags. I do intend to implement conditionals in content eventually.
The problem is that, if I make a macro like the Rune of Mending, which doesn't have any rolls, I can't designate a variable, so the script doesn't look for conditionals. If I add something like. --Rune|[[ [$Rune] 1d1 + ?{0 for Destruction, 1 for Protection|} ]] And then look for the total of $Rune or another conditional like the ones I wrote before, the macro works correctly.
Honeybader, did you incorporate Aaron's tweak to your script in v3? <a href="https://app.roll20.net/forum/post/1408851/script-r" rel="nofollow">https://app.roll20.net/forum/post/1408851/script-r</a>... It allows for modifiers to be added to rollable tables?
Is it possible to have conditionals on multiattacks? I tried it once and it only took the lastest attack roll/value into it, and not all of them.
Calhanol said: Is it possible to have conditionals on multiattacks? I tried it once and it only took the lastest attack roll/value into it, and not all of them. Not yet.
HoneyBadger said: Calhanol said: Is it possible to have conditionals on multiattacks? I tried it once and it only took the lastest attack roll/value into it, and not all of them. Not yet. Thought as much, just wanted to be sure before I invested a lot of time trying to make it work.
thanks for the help got it work HB very cool stuff.
Kunguru said: Honeybader, did you incorporate Aaron's tweak to your script in v3? <a href="https://app.roll20.net/forum/post/1408851/script-r" rel="nofollow">https://app.roll20.net/forum/post/1408851/script-r</a>... It allows for modifiers to be added to rollable tables? Nope. Will look into it later this week. Fiancee's family are coming over this afternoon and I have a D&D 5e game to run in the evening. Bradford F. said: thanks for the help got it work HB very cool stuff. Awesome. Don't hesitate to post any macros you have issues with.
1433847280
Ziechael
Forum Champion
Sheet Author
API Scripter
Apologies if this is a stupid question (or has been answered before, i've scoured both threads first and printed/read the OP too) but am i right in thinking that there is only the ability to add one roll ID at this time? or would [$atk], [$atk2] etc work? This is possibly/probably answered by the below but I just wanted to be 100% sure before i start revamping all of my macros/powercards/roll templates to incorporate this awesome feature: Calhanol said: HoneyBadger said: Calhanol said: Is it possible to have conditionals on multiattacks? I tried it once and it only took the lastest attack roll/value into it, and not all of them. Not yet. Thought as much, just wanted to be sure before I invested a lot of time trying to make it work.
You can have as many roll id's as you want... well, one per roll. The issue is multi-attacks using something like Attack #3:|[[ [$RollID] 1d20]]. You can't do that yet.
1433849169
Ziechael
Forum Champion
Sheet Author
API Scripter
Ahh, i'm with you now, thanks HB... i'd arrange a muffin basket for you if i could! Now to re-write many many archaic and frankly cumbersome (my own fault...) powercards in my unique and somewhat overzealous style (even going to play around with the formatting tag for the first time!). Superstar!
1433854789

Edited 1433866756
Ziechael
Forum Champion
Sheet Author
API Scripter
ok me again, i am loving playing with these new tools but have just one question, i can't get the centring to work... please could you give me a full example of the formatting for it as mine isn't working: !power {{ --format|save --name|Fortitude Check --!save|~C [[ [$save] 1d20 + @{selected|reflex} + ?{Other Bonus|0}]] v DC ?{DC Target:|0}. ~C --?? $save.total &gt;= ?{DC Target:|0} OR $save.base == 20 ?? !output|~C **Success!** ~C --?? $save.total &lt; ?{DC Target:|0} OR $save.base == 1 ?? !output2|~C **$$#400|Fail!$$** ~C }} Also, one last question, can you compare roll ID's ie --?? $Atk.total &gt;= $save.total ?? I'm too scared to try! Thanks in advance yet again =D
1433856943

Edited 1433856993
Yes. And centering should work. Will look at it later.
1433885479

Edited 1433885945
Ziechael
Forum Champion
Sheet Author
API Scripter
Ok, i hate spamming the thread with my attempts but if i could get help debugging this one then i think i'll have all the secrets unlocked that i need to proceed with the rest of my efforts. It runs but only outputs the emote, name, subs and attack result. None of the conditionals seem to kick in? Could it be that i've put the roll ID mid content (in bold)? Or do ID's have to be 3 letters?! (bold italic): !power {{ --format|attack --emote|@{selected|token_name} attacks @{target|token_name} --name|@{selected|weapon1name} --leftsub|@{selected|weapon1type} --rightsub|Crit: x@{selected|weapon1critmult} --Attack:|[[ [$att] 1d20 + @{selected|BAB} +@{selected|weapon1stat} +@{selected|size} +@{selected|weapon1enh} +@{selected|weapon1focus} + (?{Flank (1=yes)|0}*2) +?{Other Att Bonus?|0} ]] vs AC --?? $att.total &lt; @{target|armorclass} ?? !miss|[[ 1t[misstable] ]] --?? $att.base == 1 ?? !fumble?|[[ 1t[misstable] ]] ^^ Fumble? [[ [$fbl] 1d20 ]] --?? $fbl.base == 1 ?? !fumble|[[ 1t[Fumble] ]] --?? $att.base &gt;= @{selected|weapon1critmin} ?? Threat achieved, crit?|[[ [$crit] 1d20 + @{selected|BAB} +@{selected|weapon1stat} +@{selected|size} +@{selected|weapon1enh} +@{selected|weapon1focus} + (?{Flank (1=yes)|0}*2) +?{Other Att Bonus?|0} ]] vs AC --?? $att.base == 20 OR $att.total &gt;= @{target|armorclass} ?? !hit|[[ 1t[hittable] ]] ^^ [[1@{selected|weapon1damage} +@{selected|weapon1damagestat} +@{selected|weapon1enh} +@{selected|weapon1specialize} +?{Other Damage Bonus?|0}]] damage! --?? $crit.total &gt;= @{target|armorclass} ?? Additional Crit Damage:|Additional [[ [[(d1*@{selected|weapon1critmult}) -1]]@{selected|weapon1damage} ]] @{selected|weapon1type} damage! }}
Trying to sort this out, but it's very hard to do with all the @{attribute} calls. It's better if you create the macro/powercard without all those and just plain dice rolls and numbers... and then start adding in the all the specific stuff after you get the macro working.
Here's an updated macro for you Ziechael, that works... there were some issues with yours that I came across as I tested this version. Fumbles and crits were showing up even if the attack was a miss or a regular hit, since your macro was only checking the results from $fbl and $crit. So if you rolled a 17 on $att and a 1 on $fbl and a 20 on $crit... you could have a fumble table result, a hit table result, and crit damage show up all at once. The logic below prevents this by adding the $att check as needed... like $att.base == 1 AND $fbl.base == 1 to only show the fumble table if both rolls were a one. You should be able to add all the other stuff back in without affecting this macro. !power {{ --format|attack --emote|@{selected|token_name} attacks @{target|token_name} --name|Ziechael's Macro --Attack:|[[ [$att] 1d20 + 4]] vs [! @{target|AC} !] AC --?? $att.base == 1 ?? !fumble| (miss table) ^^ **Fumble Check:** [[ [$fbl] 1d20 ]] --?? $att.base == 1 AND $fbl.base == 1 ?? !fumbled| (fumble table) --?? $att.base &lt;&gt; 1 AND $att.total &lt; @{target|AC} ?? !miss| (miss table) --?? $att.total &gt;= @{target|AC} OR $att.base &gt;= 20 ?? !hit| (hit table and damage) --?? $att.base &gt;= 20 ?? Critical Threat:| [[ [$crit] 1d20 ]] --?? $att.base &gt;= 20 AND $crit.total &gt;= @{target|AC} ?? Critical Hit:| (crit damage) }}
1433897919

Edited 1433905601
vÍnce
Pro
Sheet Author
Aaron made a script that was able to add the double curlies around the powercard tags add a line breaks, /n to preceding each -- tag. So our powercard macros were much easier to read/edit. That saved my bacon. So I changed over to v3 and I found out that HR# has been deprecated. All my powercard attack macros crash. Unfortunately I have something like 5K+ of macros(don't laugh) that include " [HR@{repeating_weapon_ X _crit-target}] " where X varies from 0-4. Is it possible to modify Aaron's line break script to delete all occurrences of " [HR@{repeating_weapon_ X _crit-target}] " from my campaign's macros? Aaron's "add line breaks to existing non-line break powercard macros" on('ready',function() { "use strict"; var getMultilinedText = function(text){ var acc=[]; _.each( text.split(/\n/), function(t){ var args; if(/^!power.*/.test(t) && !/^!power.*\{\{/.test(t)){ args=t.split(/\s+--/); acc.push(args.shift()+" {{ "); _.each(args,function(a){ acc.push(" --"+a); }); acc.push("}} "); } else { acc.push(t); } }); return acc.join("\n"); }, count = 0; _.each(filterObjs(function(o){ return _.contains(['macro','ability','attribute'], o.get('type')); }), function(o){ var p,t,tp; p = (o.get('type') === 'attribute' ? 'current' : 'action'); t=o.get(p); if(_.isString(t)){ tp=getMultilinedText(t); if(tp !== t) { o.set(p,tp); ++count; } } }); log('PowerCard Calls Multilined: '+count); });
1433899054

Edited 1433899112
I'm sure it could be... but his scripts are often like Greek to me. You might even be able to get it to add the new Roll20 cs/cf tags too.
1433902380
vÍnce
Pro
Sheet Author
HoneyBadger said: I'm sure it could be... but his scripts are often like Greek to me. You might even be able to get it to add the new Roll20 cs/cf tags too. Most js looks like Greek to me. :-) I started deleting the references to the the HR code and adding cs&gt; manually for my players and I've changed my script that auto-generates the powercard macros for pathfinder. I can roll back to powercard v2x which doesn't throw the error and patiently wait my turn turn for Aaron to respond. :-)
1433905954
The Aaron
Pro
API Scripter
What's an example of how a macro looks before (with the [HR] ) and after (with the cs&gt;)?
1433908736
vÍnce
Pro
Sheet Author
My hero! The entire macro is fairly large, which I can provide if needed. Here's the problem tag. Current tag (repeating_weapon_ X _crit-target, X is a number from 0-4) --Hits AC|[[ [HR@{repeating_weapon_0_crit-target}] 1d20 + @{repeating_weapon_0_enhance} + @{repeating_weapon_0_masterwork} + @{repeating_weapon_0_attack} + @{repeating_weapon_0_attack-type} + ?{Attack Mod?|0}]] ] **Dmg:** [[@{repeating_weapon_0_damage-dice-num}d@{repeating_weapon_0_damage-die} + @{repeating_weapon_0_enhance} + @{repeating_weapon_0_damage} + @{repeating_weapon_0_damage-ability} + ?{Damage Mod?|0}]] What I would like --Hits AC|[[ ( 1d20 + @{repeating_weapon_0_enhance} + @{repeating_weapon_0_masterwork} + @{repeating_weapon_0_attack} + @{repeating_weapon_0_attack-type} + ?{Attack Mod?|0} )cs&gt;@{repeating_weapon_0_crit-target} ]] ] **Dmg:** [[@{repeating_weapon_0_damage-dice-num}d@{repeating_weapon_0_damage-die} + @{repeating_weapon_0_enhance} + @{repeating_weapon_0_damage} + @{repeating_weapon_0_damage-ability} + ?{Damage Mod?|0}]] If it's too much hassle to add the "cs&gt;@{repeating_weapon_X_crit-target}", I would like to at least remove the "[HR@{repeating_weapon_X_crit-target}]" part to prevent the API from crashing. Thanks Aaron