Easily Determine a Spell's Area of Effect in Roll20 via the SmartAOE Script

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone i'm nick olivo and today we're looking at the smart aoe script for roll 20. this script allows you to easily calculate the area of effect for a given spell and then have all the impacted creatures roll saves and apply damage all with the touch of a button note that because we're using the api a pro account is required in order to do this before we dive in i'd just like to thank roll20 for sponsoring this video area effect spells like burning hands or fireball are some of the quintessential hallmarks of a dnd game but sometimes figuring out exactly which creatures are caught in a particular spell's area of effect can be a real challenge now you can get around this by using templates or things like that but personally i've always found that experience kind of clunky the smart aoe script simplifies this process immensely you click a button and the script gives you this targeting icon that you can drag out onto the battlefield the targeting icon shows you exactly which creatures will be caught in a spell's area of effect and then you can trigger damage for the spell and have that automatically applied to the targeted creature along with special effects this script was written by the insanely talented david m and the script code is up on github i'll put a link down to that in the description and i'll pop a card showing how to install scripts from github if you're not familiar with how to do that once you've got the script installed save it it'll look something like this and then you also need to install a second script called lib inline that script is available as part of the roll20 script library and does need to be installed separately from smart aoe so you are installing two scripts in order to do everything that you see in this video and this lib in line script was developed by two legendary names in the role 20 world tim ah and the aaron so you know it's gonna be amazing whatever it does so get those two scripts installed and once that's done you're good to go okay so let's jump back inside the game and once you've got the script installed it's going to create this aoe control token character sheet for us that's what's going to give us the targeting token and also contains the macros that will fire the spell effects in addition to making this amazing script david has also created a comprehensive wiki page which i'll put a link to down below as well and this gives you the commands to create many of the common area spell effects like ice storm burning hands spirit guardians and more and to give you a flavor for how these work i've copied the burning hands example that he provided into my game and let's say i want my wizard mumford here to cast it so let's go ahead we'll click burning hands we'll say we're gonna cast it at level one and burning hands deals fire damage in a 15 foot cone so the script lets me drag out the targeting token and it's showing me exactly which creatures will be impacted now the nice thing about this is i can drag the targeting token around and you'll notice that it keeps the cone effect to the correct range so even if i drag the targeting token way up here the script doesn't stretch out the cone of fire out to that point because it knows that burning hands only goes in a 15 foot cone so it respects the range of the spell and won't allow you to target creatures that are outside the spells given range once we're happy with the targeting this trigger all button is what's going to apply the damage along with the saving throw and in this case the damage that was applied was enough to kill the target you'll also notice over here on the right we've got a descriptive card that shows a description of the spell a list of the creatures that were impacted their saves whether they passed or failed the save and the damage that was applied to them now there are a ton of commands and parameters available to you within this script in fact if you've ever worked with the power cards or the script cards api you're going to get a very similar vibe to it and the nice thing is because david has provided a bunch of examples you can just copy and paste those right into your game but for today i'd like to actually make one of our own so i'm going to create a smart aoe macro for the shatter spell and i'll put the code for this down in the description below but let's see what it's going to look like when all is said and done so we're going to cast shatter we'll say what level we're casting at we're going to put in our targeting token and this one's a little bit different because you'll notice now that instead of giving me the cone like we saw with burning hands shatter affects a particular radius at a given point within range and so i can drag my targeting token around to catch both these skeletons within that range and then just like before we can say trigger all it applies the damage and then we get the card over here telling us how much damage was applied which creatures were affected how much damage they took what their saves were whether they passed or failed and again the description of the spell okay so that's what we're working towards let's see how we actually make this so i'm going to put the code for this into notepad so it's a little easier to read and then once i'm done writing all the code i'm going to put it into a macro in roll20 and the way that the macro is going to start out is with this smart aoe command and so basically what this is saying is we're doing a smart aoe and everything related to that smart aoe is going to be inside this set of double curly braces so i'm just going to paste in commands rather than subject you all to the pain of me typing everything so let me paste in the first chunk here so right here title shatter that's this part of the card right here the left sub that's saying the slot level which is right here and you'll notice we've got a prompt asking what level we're casting the spell at two three four five six seven eight or nine because shatter starts out as a level two spell and then whatever slot that we use for that we display here so if we'd cast this at fourth level it would say slot level four the right sub dc is the selected tokens spell save dc constitution save specifically which you see right here dc17 con and then title card background linear gradient blue cyan that's talking about this area right here you see it starts out as blue and then it gradually fades down into cyan so that gets us our first chunk here this next part defines the background color of the data displayed over here in this part of the card so we've got custom colors defined for both the odd and even rows so our even rows are going to be this darker blue the odd rows are the lighter blue and these are just the hexadecimal values for those colors you can also set the font color as well and if you don't specify a color for a font in a row the script will default to black which is what's happened here as you can see i've specified a color for my odd rows but not one for my even rows so that will just default it to black you can also set the table background color which is what's going to show up down here this next chunk defines what token will be used for targeting so you'll want to set this to aoe control token which is the character sheet that was created when you installed the script and you'll want to set the control toke size to 1 which means that the targeting token will take up one square on the battlefield now this next section deals with commands that define how the targeting preview will be displayed and to kind of help illustrate this i'm going to cast shatter again and so when i drag out the targeting token you'll see we've got this background color here on the grid that's what this aoe color represents is the color that's in the squares the aoe outline color is the color of the circle that's being drawn right here and the aoe type is what's saying we're going to make this a circle rather than a cone or a square and there's a whole list of all the available values that you can provide for the aoe type in the wiki page that david created you'll notice i also have float specified here and float is what untethers the targeting token from the caster so you remember when i cast burning hands it kept the origin of the spell as my wizard here the origin is this targeting token itself which is what you'd want to do for things like fireball or shatter the radius is how big the radius is coming out from the center of the targeting token so in our example shatter has a radius of 10 feet next up is the min grid area and min toke area these let you specify how much of a square or token needs to be in the area of effect in order for it to be impacted by the spell so here i'm saying that at least 25 of a token or square needs to be inside the spell's affected area in order for the spell to impact it now you can modify that to whatever you think is appropriate maybe you think at least 50 percent of the token or square needs to be in there that's totally cool you just change this to be 0.5 i mean likely you're the dm setting this up so go with whatever makes sense okay now next up we have the special effect that will be applied when the spell goes off and this can be any one of the spell effect types that you have access to so you can have beams bombs bursts explosion acid fire frost whatever there isn't a specific thunder effect type which is what shatter deals but i think the yellow bursts that holy provides will be a sufficient substitute so we're going to go with that the dc is the caster's spelled save dc and the expectation here is that you will have your caster selected when you cast the spell if you don't have a token selected then the script will give you an error message now the save formula tells what kind of a saving throw that the impacted creatures need to make and david has provided a bunch of pre-configured constants that you can use to define whether something is a fifth edition constitution save or a fifth edition dexterity save or a pathfinder save and you can see all that in the wiki that he created so if i was just doing a straight con save this is what i would use but in some circumstances the targets impacted by shatter such as objects that are made out of glass or creatures that are made out of crystal will make their saving throws at disadvantage so what i want to do is put in a command that will allow me to specify if the creatures impacted are making their saving throws as normal or as with advantage or as with disadvantage so i'm going to replace the 5e con here with this and this may look a little daunting at first so let's break it down so we're prompting the user to provide the save type and if the save type is normal that is they're they're not making it with advantage or disadvantage then we're using that 5e con constant again that david provided but if they're making it with advantage then they're rolling to d20 and we're taking the higher one so if it's advantage then we put in this command right here which is saying roll 2d20 keep the highest one and add the target's constitution saving throw bonus and if they're making it a disadvantage then we're going to roll 2d20 we're going to keep the lowest one and again add the target's constitution bonus if you're familiar with writing macros you may notice what we're seeing here looks familiar but it's not the exact role 20 syntax this a for example you might be expecting it to be an at symbol instead so what david does is he substitutes the letter a for the at because of just the way the api parses this particular command and so the a stands in for the at symbol and then the ampersand hash mark 125 colon stands in for for the closing bracket you would normally have it at the end of this right here and then also these double greater than less than signs are used to represent what would normally be the double brackets that you'd use in an inline role so it's just a little bit of substitution that needs to happen again this is all documented in the wiki in fact david helped me write the code for the save formula here so david thank you again but this will give us a prompt allowing us to choose how the saving throw will be made now the damage formula is how damage will be calculated shatter starts at 3d8 thunder damage at second level and then increases by 1d8 for every level thereafter so here what we're doing is reusing the prompt that we provided earlier to figure out what level we were casting at and then we're taking that number and adding 1 to it so if we cast it at level 2 we take 2 we add 1 to it and then we roll that number d8 so at level 2 we're going to roll 3d8 at level 4 we would roll 5d8 and so on then here we specify what kind of damage we're actually dealing so here thunder and then instant says that we should delete the targeting token once we've triggered the spell so after shatter has gone off i want to delete the targeting token from the battlefield okay next we're going to say that we want to automatically apply damage to the targeted creature and here what we're saying is which bar on the creature's token has their hp in it so for me i'm using bar one and then finally here this zero hp marker says that if we drop the target creature to zero hit points we want to automatically apply the dead flag to it so that'll put the red x over the creatures token and then lastly i'm going to put in this desk flag which is a straight copy paste of the spell's description from the roll20 compendium and that gets us our shatter spell so now what we would do is copy all of this go into roll20 we're going to create a new macro i'm just going to call it shatter i'm going to paste in my new command here that i just did we'll save changes i'm going to delete this old token off the board here and so what i'm going to do now is highlight my wizard going to click my newly created shatter all right what level are we casting at we'll do it at 2. see here where are we making the save normally with advantage or disadvantage we'll say normal submit we get our targeting token it puts everything in the right colors as we expected we've got the right radius we'll say trigger all there's our holy effect and whoa we did a lot of damage that time around as you can see we we did 14 points of thunder damage both the skeletons failed their saving throws so they've both been destroyed as a result of that spell now a couple of other things before we close out you probably noticed that when we cast our spell we have a couple of other buttons that show up here in the toolbar and let's talk about what those do real quick so ccw and cw this stands for clockwise and counterclockwise and what these do is rotate the origin point of a spell clockwise or counterclockwise so right now you'll notice that the cone origin point here is the center of the caster if i click clockwise it rotates the origin point so it's coming from the top right corner of the caster and if i click counterclockwise it moves it back to the center and then moves it to the left so this just allows you a little bit of finer control in terms of the targeting and positioning now trigger all is the one that we've been using throughout the course of this video that's going to impact all the creatures inside of these spells area but trigger target will allow you to apply the damage or whatever it is to a specific creature within the area of effect and this could be useful if you were doing something like spirit guardians or something like that where the damage isn't always going to be applied automatically to every creature in the affected area but rather just a specific one so there you have it that's how you can use the smart aoe script and this script has quickly become one of my favorites and i'm using it in all of my games now now that what i've shown today really just scratches the surface of what the script is capable of so i'd really recommend you take a look at the wiki page that david has put together to see all the examples and all the different possibilities that the script provides and i'll also include a link to the roll20 forums where this script is being discussed so you can ask david questions or just tell him that he did an awesome job in building the script but if you found this video helpful please give it a like and consider subscribing and until next time folks have a great day
Info
Channel: Nick Olivo
Views: 680
Rating: undefined out of 5
Keywords:
Id: YzKu_rSp4vs
Channel Id: undefined
Length: 17min 29sec (1049 seconds)
Published: Thu Dec 16 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.