Hopefully this shares correctly. Below are the functions I use to easily program animations such as layerset; vertical, horizontal and omni resizing; four directional moves, light control, and rotation. The functions are controlled by easy to understand parameters such as graphic name, start size, end size, start angle, end angle, distance, layer name, etc. Delay controls when the function will act so you can make a sequence of these functions. Combine two or more functions at the same delay time to make composites like move and grow, or change layers and rotate, etc. Duration controls how long a function will take from start to finish, and increments are how many frames the function will use. For example, a resize from 70 to 140 pixels with 4 increments and a duration of 2 seconds will grow about 17.5 pixels every half-second. Don't forget to use quotation marks around layer names and graphic names. An example function call looks like this: vresize("smoke1",35,350,4,3000,500); Simple. <a href="https://github.com/MelvinMcSnatch/roll20-api/blob/master/Animations" rel="nofollow">https://github.com/MelvinMcSnatch/roll20-api/blob/master/Animations</a> Some other advice: Don't try to run things too fast. If you use too many increments in a short amount of time, it will skip or act erratically. Objects resize from the middle and will also resize the transparency around the image. If you want something to just grow vertically or horizontally (like a side view) but not both (like from a top down view), you will need to either edit the image to double its size with transparency at the bottom of the image, or use a coordinated move to offset the resize. But goodluck with that.