Release Date : 2018-04-06 Version: 3.7.0 Source: <a href="http://gist.github.com/kjaegers/7fd81c55517014704b9fe3986660341c" rel="nofollow">http://gist.github.com/kjaegers/7fd81c55517014704b9fe3986660341c</a> Here is my first major update for PowerCards. The items below were all active in my 5E game last night, and everything worked as intended there (Of course, that is a pretty limited test setting, so please let me know if you run into any trouble/bugs so I can fix them). On with the additions: Additional Action/Trait Tags Three new tags have been added similar to the existing "npc_action_list" tag. These are "npc_legendaryaction_list", "npc_trait_list", and "npc_reaction_list". In the case of npc_legendaryaction_list, the actions will be displayed with API command buttons that can be clicked to perform the action. Traits and Reactions are essentially just names and descriptions in the OGL character sheet, so these are displayed as lists with the name in bold followed by the description. Individual traits/reactions are separated by a horizontal line. NPC Attributes, Skills and Qualities Tags Similar to the tags above, these tags will produce a formatted list of attributes (npc_attribute_summary), qualities, such as damage immunties and the like (npc_qualities_summary) and any skills that the NPC has ranks in (npc_skills_summary). It is possible that I will be refining the output from these tags over the next couple of versions, so they might display things a little differently in the furture, but in general they will maintain the same functionality. Currently, I have a macro on my Token Action bar called #Card:Summary that looks like this: !power {{ --name|@{selected|character_name} --whisper|GM --format|badguys --emote| --tokenid|@{selected|token_id} --npc_attribute_summary|@{selected|character_id} --npc_qualities_summary|@{selected|character_id} --npc_skills_summary|@{selected|character_id} --!Actions|**Available Actions** --npc_action_list|@{selected|character_id} --!Reactions|**Available Reactions** --npc_reaction_list|@{selected|character_id} --!LA|**Legendary Actions** --npc_legendaryaction_list|@{selected|character_id} --!TR|**@{selected|character_name} Traits** --npc_trait_list|@{selected|character_id} }} Which produces a mini-stats sheet for an NPC as a whisper to me. It looks something like this: New Attribute-Based Audio Tag This is really just an alternative option to the existing --soundfx tag, and still requires the use of the Roll20 Audio Master script. This tag (--audioattr) requires two parameters. The first is a token id, and the second is an attribute name. If the given attribute exists on the character that the token represents, it will be passed (without editing) to the !roll20AM command. For example: --audioattr|@{selected|token_id} Audio_OnAttack When the PowerCard is displayed, it will check the charactersheet represented by the selected token. If Audio_OnAttack exists as an attribute, it will retrieve the value of the attribute and pass it to Roll20 Audio Master. If, for example, the Audio_OnAttack attribute for a dragon was "--play|FireBreath", the corresponding "FireBreath" sound effect track will be played (assuming you HAVE a FireBreath sound effect in your jukebox). New Attribute-Based Effects Tag Just like the --audioattr tag, this new tag (--vfxattr) takes two parameters: a token id and an attribute name. It will check the character represented by the token for the specified attribute. If it is found, the script will interpret the contents of the tag and set up a visual effect: --vfxattr|@{target|token_id} Effect_OnHit When this tag fires, it will check the targeted token for an attribute called Effect_OnHit. If it exists, it will be parsed to create a visual effect. Because @{} token references are parse by the chat system and not the API, we can't directly specify things like @{selected|token_id} in the attribute, so instead we interpret "s" as the selected token and "t" as the target. This means the value of Effect_OnHit could be something like: s t beam-magic Which will cause a point-to-point magic beam effect starting at the selected token (s) and pointing at the target token (t). This attribute value: t glow-blood Will cause a burst of blood on the target token. PLEASE NOTE: Video effects are played on the active player page (where the Player ribbon is positioned). It is easy to forget this when testing effects on a page the players can't see. What are these new attribute-based tags for? I use a detailed, but highly generic, set of macros for my PowerCards. I have one macro for a standard NPC action in the first NPC Action slot, one for the second action, etc. There are a couple of variations on these (attacks that do two kinds of damage, and a generic multi-attack for use when both attacks are at the same target). I put these macros into the Abilities section of my monster character sheets and show them as token actions so I can use them quickly in game. However, I also want to be able to have some customization options as well. I don't want to create new macros to play different sound effects, for example. If I have an animal, I can set an "Audio_OnAttack" attribute to "--play|Growl" and my standard #card-atk0 macro will play the growl when the animal attacks. On an archer, I can change it to "--play|BowShot", or to "--play|SwordSwing" for someone with a blade. And if the attributes aren't present on a character? Then nothing happens and the tag is ignored. Because these tags work with the conditional system, I can have audio and video effects triggered by die roll results. Here is an example from my #card-atk0 macro: --?? $Atk.total >= @{target|BAR2} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? vfxattr *1|@{target|token_id} Effect_OnHurt --?? $Atk.total >= @{target|BAR2} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? audioattr *1|@{target|token_id} Audio_OnHurt --?? $Atk.total >= @{target|BAR2} AND $Atk.base <> 1 AND $Atk.base <> 20 ?? audioattr *2|@{selected|token_id} Audio_OnHit_0 If the attack hits (and there is a line before these for the damage roll) we will play the target's Effect_OnHurt effect, the target's Audio_OnHurt sound, and the attacker's Audio_OnHit_0 sound - if any of these exist on the characters.