AoE Shapes header
AoE Shapes icon
AoE Shapes

David Severwright

AoE Shapes

This extension draws AoE's and highlights which squares are hit per the rules in XGtE.


The toolbar has three modes, for drawing cones, circles, and cubes. Click the icon and then click and drag to draw the shape.
By default it will highlight any square that is even partially covered by the shape, but you can change this in the settings.

Owlbear doesn't currently allow extensions to change how shapes are edited, so the default rotation and scaling tools are available but don't work correctly.
If you want to rotate or scale a shape, you'll need to delete it and draw a new one. \

Currently only square grids are supported.


The cog button opens the settings, which are set by the GM for the whole room.
For cones, we support two methods of calculating which squares are hit, both from XGtE 67/68:

  • The default "template" method, draws a triangle and then sees which squares are covered by more than the configured percentage.
  • The "token" method hits one square on the first row, two on the second row, and so on. This results in a consistent number of affected squares, but the shape can be strange.

The only other setting is what percentage of a square needs to be covered to count as being hit by a cone. By RAW any overlap is enough so it should be 0, however the default is 1 as setting it to zero can match some squares that don't look like they should.

There aren't yet any settings for circles and squares.

The pencil button opens the style options, which are per-player.


The rules for cubes are simple and non-controversial.
Circles are done on 50% coverage, per DMG 251.
Cones are where everyone has a different opinion. I've gone with the "template" rules in XGtE 67/68, as the DMG rules are so vague as to be useless.
Jeremy Crawford tweeted that any overlap is enough, but it's configurable as not everyone agrees with that.

Basically, we draw a triangle and every square that is covered by more than the configured percentage of the triangle is hit.
I'm pretty sure this is the "correct" way, if you disagree please send references with your complaints.


  • The code is on GitHub
  • You can post issues there, and stuck questions / feature requests in the discussion there.
  • There's a thread on the Owlbear Discord: https://discord.com/channels/795808973743194152/1107014504660881458