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

Condensing Features and Traits D&D 5e Character Sheet

Hey All,


First post here so hopefully I make sense.


I have found myself having struggles keeping up with my character sheet's feats and traits section. Especially when I multiclass. I'm looking for a way to add a query to my feats and traits area that will allow me to "call" specific abilities to our chat so it can display the information. I would label it per level achieved. I'll list and example down below.


Ex: I want to link a level 3 ability to the chat. However I have 4 abilities from two different classes. I want to have a query ask me "Which Class" and I choose the class, then ask "Which Level" to which I would answer 3, and then finally list the abilities I have for Level 3 for the specific class.


Hopefully this all made sense. Thanks!


January 20 (3 weeks ago)

Which character sheet are you using? There are 10 D&D 5E sheets. 

Hi Jarren, I am using the 2014 by Roll20 addition

January 20 (3 weeks ago)

Without a Mod script (Roll20 Pro subscription required) there's no way to create a dropdown that only lists a character's traits by class.  Traits are simply listed in the Traits section in the order they were added, and can be moved around to a different order.

A Trait only has four pieces of information: Name, Source, Source Type, and Description. Because there is no information stored for each item about when (which level) it was added or which level it came from, a Mod script would not be able to filter based on level. 



However, the Statblock Macromule can mostly do what you're looking for, and doesn't require a Pro subscription to use. Here's what the output of Traits for a PC looks like. The second message in chat is created from clicking on the 'Second Wind' button from the first chat menu.


January 20 (3 weeks ago)

Edited January 20 (3 weeks ago)

If you're willing to do some alteration to the format you list sources in, you can do some filtering - if you name all class features with the level of the feature and then the name of the class in single brackets, such as 1 [fighter], and for all non-class features, have the number as 0, the rest of the source in single brackets.

This will allow you to do this kind of thing:

/w "@{character_name}"&{template:default} {{name=Level ?{level} feature(s)
[ ](#" hidden null=)}} {{[0](#" hidden)=
[ ](#" hidden null=)}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$0_source_type}}=?{level}*1]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$0_source_type}** [**@{prefix}@{character_name}|repeating_traits_$0_name}**](`%{@{character_name}|repeating_traits_$0_output})
*@{prefix}@{character_name}|repeating_traits_$0_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$1_source_type}}=?{level}*2]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$1_source_type}** [**@{prefix}@{character_name}|repeating_traits_$1_name}**](`%{@{character_name}|repeating_traits_$1_output})description}
*@{prefix}@{character_name}|repeating_traits_$1_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$2_source_type}}=?{level}*3]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$2_source_type}** [**@{prefix}@{character_name}|repeating_traits_$2_name}**](`%{@{character_name}|repeating_traits_$2_output})
*@{prefix}@{character_name}|repeating_traits_$2_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$3_source_type}}=?{level}*4]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$3_source_type}** [**@{prefix}@{character_name}|repeating_traits_$3_name}**](`%{@{character_name}|repeating_traits_$3_output})
*@{prefix}@{character_name}|repeating_traits_$3_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$4_source_type}}=?{level}*5]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$4_source_type}** [**@{prefix}@{character_name}|repeating_traits_$4_name}**](`%{@{character_name}|repeating_traits_$4_output})
*@{prefix}@{character_name}|repeating_traits_$4_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$5_source_type}}=?{level}*6]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$5_source_type}** [**@{prefix}@{character_name}|repeating_traits_$5_name}**](`%{@{character_name}|repeating_traits_$5_output})
*@{prefix}@{character_name}|repeating_traits_$5_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$6_source_type}}=?{level}*7]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$6_source_type}** [**@{prefix}@{character_name}|repeating_traits_$6_name}**](`%{@{character_name}|repeating_traits_$6_output})
*@{prefix}@{character_name}|repeating_traits_$6_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$7_source_type}}=?{level}*8]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$7_source_type}** [**@{prefix}@{character_name}|repeating_traits_$7_name}**](`%{@{character_name}|repeating_traits_$7_output})
*@{prefix}@{character_name}|repeating_traits_$7_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$8_source_type}}=?{level}*9]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$8_source_type}** [**@{prefix}@{character_name}|repeating_traits_$8_name}**](`%{@{character_name}|repeating_traits_$8_output})
*@{prefix}@{character_name}|repeating_traits_$8_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$9_source_type}}=?{level}*10]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$9_source_type}** [**@{prefix}@{character_name}|repeating_traits_$9_name}**](`%{@{character_name}|repeating_traits_$9_output})
*@{prefix}@{character_name}|repeating_traits_$9_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$10_source_type}}=?{level}*11]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$10_source_type}** [**@{prefix}@{character_name}|repeating_traits_$10_name}**](`%{@{character_name}|repeating_traits_$10_output})
*@{prefix}@{character_name}|repeating_traits_$10_description}*
}} {{[[[{0,0@{prefix}@{character_name}|repeating_traits_$11_source_type}}=?{level}*12]]](#" hidden)=**@{prefix}@{character_name}|repeating_traits_$11_source_type}** [**@{prefix}@{character_name}|repeating_traits_$11_name}**](`%{@{character_name}|repeating_traits_$11_output})
*@{prefix}@{character_name}|repeating_traits_$11_description}*
}} {{[0](#" hidden)=[ ](#" hidden null=)}}&{noerror}

You'll need to create an attribute named "prefix" (without quotation marks), consisting of "@{" (again, no quatations). I repeated the lines for 12 features, if you need more, just add more lines (before the last line), incrementing the numbers as you go.