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

Bladesinging and my DM inexperience.

Okay, so bear with me on this please.  I am VERY new to using these character sheets in advanced ways and need some help.  I'm trying to work out adding Bladsinging to a wizard in this system.  I have managed to work out rough toggle options in different fields to increase AC and change attack modifiers and whatnot.  I want to simplify all of the toggles down to a single button press.   Is there a way to rig up a toggle that references the intelligence modifier and adds it to AC and other combat modifiers all at once?
1740804668
Gauss
Forum Champion
Hi Aaron M.,  You mentioned "this system", could you elaborate on which system you are referencing?  Roll20 the VTT? A particular game system?  Also, which character sheet are you using? If you don't know the name please supply a screenshot of the sheet for identification. 
Yes, the character sheet used uis extremely relevant, as are the details on where you want the modifier applied. It sounds like you're playing D&D, but that still leaves a lot of possibilities - the two most likely being the two 5e sheets by Roll20. If it's the 2014 version, this is doable, if a little complex to set up, with the 2024 sheet, this isn't doable yet. And if it turns out to be some other sheet than these two, well, I'd have to look into it.
Pretty sure it's the D&D 2014 sheet still.  I'm trying to set it up for my girlfriend to use.  She really enjoys the creativity and roleplay but gets overwhelmed when processing the changes from her actions.  Normally I'm there to help, but I'm DM'ing this time and gonna have 5 other players to worry about as well.  Trying to set this up so when she starts bladesinging, she clicks and it changes everything.
1740996208
Gauss
Forum Champion
Yes, that is the D&D 5e 2014 by Roll20 sheet.  Does the game owner have a Pro account? Are they willing to allow API Scripts? 
Alright, I checked back on the benefits of blade singing - some of the effects are easier to do scriptless than others. The bonus to AC is easy enough to do with a global AC modifier, and unless you're using some kind of automation that relies on the speed listed on the sheet, you can just list the speed as 30(40) or whatever as a reminder that it changes. The advantage on acrobatics tests is trickier, but since that advantage can still be turned into a straight roll if the roll would be with disadvantage, you might as well just have query or toggle advantage anyway. The damage bonus for attacks when that feature is gained is easy, though - you'll need to add @{repeating_acmod_$0_global_ac_val}*@{repeating_acmod_$0_global_ac_active_flag} to the attack damage (in the first field), assuming you have the Bladesinging global ac modifier first up in the list of global ac modifiers and it's value is correct for the character. Unfortunately, the save modifier field in the settings doesn't play well with queries, so making that conditional on concentration saves doesn't work, unless you make a separate macro specifically for concentration saves. But given the number of conditional bonuses, I'd give her a macro that simply lists the benefits and that can be called up at any time, such as: /w "@{character_name}" &{template:npcaction} {{rname=Bladesong }} {{description=- You gain a bonus to your AC equal to your Intelligence modifier (minimum of +1). - Your walking speed increases by 10 feet. - You have advantage on Dexterity (Acrobatics) checks. - You gain a bonus to any Constitution saving throw you make to maintain your concentration on a spell. The bonus equals to your Intelligence modifier (minimum of +1) }}
1741027371
Gauss
Forum Champion
The problem is the user wants this all to change at the click of a single button, that is firmly API Script territory (ChatSetAttr would do the trick). 
With my proposed solution, all that can be reasonably changed with one click without scripts is changed with one click, that is, clicking the checkbox.
Don't underestimate the power of a checkbox. I've created some over engineered monsters: conditional text, counting and summing active modifiers, dynamic tooltips. With enough setup you can do almost arbitrary computation with just attributes
The issue isn't the computation, the issue is what the sheet accepts or not and what is practical and what is not. Like I mentioned, you can make a separate macro for concentration, such as this, that will automatically check if the AC modifier is active, and add the same modifier to it: @{wtype}&{template:simple} {{rname=CONCENTRATION }} {{mod=[[@{constitution_mod}+@{constitution_save_prof}+@{repeating_acmod_$0_global_ac_val}*@{repeating_acmod_$0_global_ac_active_flag}]]}} {{r1=[[@{d20} + @{constitution_mod}@{jack_attr}[CON] + @{constitution_save_prof} + @{repeating_acmod_$0_global_ac_val}*@{repeating_acmod_$0_global_ac_active_flag}]] }} @{rtype}+@{constitution_mod}@{jack_attr}[CON]+ @{constitution_save_prof} ]]}} @{charname_output} But I can't make the sheet roll ask a query to determine if a constitution save is concentration or not, with the bonus only applying for the former. And the advantage on is situational, as I mentioned before - it's not a static benefit to toggle on and off, as it depends on whether or not you also have disadvantage. The walking speed is not used for any sheet rolls, and the sheet doesn't calculate the speed out - while it would be easy to create macro that displays the speed modified if the checkbox is checked, having that reflected on the sheet isn't doable. Most of these limitations are due to the sheet, and while they could be worked around, that would require operating the sheet through macros, using the chat for readouts. Given that the goal is to simplify the upkeep for the player, that seems counter to the purpose.