pf2e icon indicating copy to clipboard operation
pf2e copied to clipboard

[Feature Request](v12) enable or add toggle to enable "Grid Based Template Shapes" when on hex grids

Open FolkvangrForgent opened this issue 1 year ago • 9 comments

PF2e understandably manages the "Grid Based Template Shapes" setting. This works well on square or gridless maps but produces less than optimal result for hex grids. I would propose that the pf2e system enables "Grid Based Template Shapes" when on a map configured with hex grid or adds a toggle to enable this behavior.

FolkvangrForgent avatar May 28 '24 17:05 FolkvangrForgent

Can you please provide a Paizo book reference that details the template shapes for PF2e. I can’t find that which makes it hard to implement.

TMunsie avatar May 28 '24 17:05 TMunsie

As per page 456 of Errata 4 of the Core Rulebooks

Areas Some effects occupy an area of a specified shape and size. An area effect always has a point of origin and extends out from that point. There are four types of areas: emanations, bursts, cones, and lines. When you’re playing in encounter mode and using a grid, areas are measured in the same way as movement (page 463), but areas’ distances are never reduced or affected by difficult terrain (page 475) or lesser cover (page 476). You can use the diagrams below as common reference templates for areas, rather than measuring squares each time. Many area effects describe only the effects on creatures in the area. The GM determines any effects to the environment and unattended objects.

As per page 14 of the Gamemastery Guide

HEX GRIDS Some of the challenges of diagonal movement can be fixed by using a hex grid instead of a square grid, or by using a grid with offset squares, which works similarly. This allows you to count movement the same in all directions. However, it makes flanking a bit harder to pull off, requires you to arrange standard Large and larger miniatures differently, and causes challenges when drawing maps that consist primarily of rectangular structures, since you’ll have a lot of partially occupied hexes.

This means that hex grid templates would have the same behavior as when the "Grid Based Template Shapes" is enabled.

FolkvangrForgent avatar May 28 '24 18:05 FolkvangrForgent

Ok. But what we need is a Paizo diagram of what a 15 foot cone on a hex grid looks like though. Like the image you are referencing. Because we have no idea what “correct” would be in that case.

TMunsie avatar May 28 '24 19:05 TMunsie

I don't understand why you would also need a diagram from Paizo when the rules I copied above describe how one would go about drawing area templates on a hex grid. The Paizo diagram for square grids is provided only as a reference: "You can use the diagrams below as common reference templates for areas, rather than measuring squares each time.". I have attached a diagram from another source as a visual aid if it helps. 191661388-7230672c-1100-4c2c-ba42-f0de1745cd8a I would like to stress that the current system works well expect for the edge of the hex template which can be fixed by enabling the v12 "Grid Based Template Shapes" when on hex grids.

FolkvangrForgent avatar May 28 '24 20:05 FolkvangrForgent

I have put together an image to show the issues with having the setting off by using simple world building to enable it in a different world. I think this helps to indicate how not using the "Grid Based Template Shapes" breaks the rules set forth in the crb and gmg for calculating cones, bursts and emanations (medium/small/tiny) on hex grids. burstandemination

EDIT: have put together an example with a 60° cone (pf2e system already supports and uses 60° on hex which is a godsend) cone

FolkvangrForgent avatar May 29 '24 01:05 FolkvangrForgent

We’ve assessed the request and it isn’t a simple thing to add. Likely it will take work in core Foundry first. If you wish to code it and can come up with a solution we would be happy to look at it for addition to the system.

TMunsie avatar May 29 '24 03:05 TMunsie

The reason we would like paizo's shapes is because turning setting's implementation actually causes incorrect results for square scenes (try it in a different system where the template behavior isn't overriden). So that setting isn't actually an accurate representation, its just more accurate.

That said, I don't really mind what we do for hex grids so I checked very quickly, and unfortunately Grid-based Template Shapes is a global setting used internally by different placeables and cannot be overriden on a per scene basis. If we attempt to set it when the new scene loads it'll trigger a re-render, and that performance impact isn't ideal. Turning it on for square scenes leads to an undesirable border render as well.

You'll need to make a core foundry request such that all references to the setting either go through the scene, or for that setting to be configurable per grid type.

EDIT: if you figure out a solution that avoids the re-render and impacts only hex scenes, or one that turns the setting on but keeps the borders as they are, then I'll gladly take it. My quick glance is revealing that its not possible, but I may undo the restriction we put on it.

CarlosFdez avatar May 29 '24 03:05 CarlosFdez

After evaluation this is possible, just annoying and will take a migration. We can swap the default over to grid based template shapes, but then override the rendering to look like that setting is off. That should get us something within the spirit of the original settings and also solve this use case.

CarlosFdez avatar Jun 13 '24 04:06 CarlosFdez

If this is something that would be easier and cleaner with better internal FVTT support, I totally understand if this is not implemented in the near term. I was able to throw together a pretty crappy but functional module to get the sort of behavior I wanted.

EDIT: I have begun work on a new module https://github.com/FolkvangrForgent/pf2e-hex that I plan to cleanup the code and add features to. The code still need some cleaning up but I am planning to maintain it for the near future at least. It should be in the module browser soon.

FolkvangrForgent avatar Jun 13 '24 15:06 FolkvangrForgent

@CarlosFdez I now have a stable work around to the "Grid Based Template Shapes" (and more) with my pf2e-hex module. I think we can close this issue as a result. I did want to note a possible bug that I found when I was experimenting with forcing "Grid Based Template Shapes" (via module or editing pf2e system).

  • If you are on an active hex scene with no templates and refresh the page (CTRL+F5) then try to place a template from chat it will error. I don't know why this would be happening and maybe it is upstream but it was not happening to templates placed from measurement tools. This bug is very niche and doesn't occur in normal use of the system so I don't know if I should make a new Issue for it or not.

FolkvangrForgent avatar Jul 30 '24 16:07 FolkvangrForgent

Does that issue occur on master? @stwlam did some stuff where it now forwards certain things upstream.

CarlosFdez avatar Jul 31 '24 01:07 CarlosFdez

Hmm Interesting. I was using the master https://github.com/foundryvtt/pf2e/commit/a832d766aeda24b1b238f09398be8f305d3862e4 but I just used current master (which has no relevant MRs since) and created a new world and I can no longer reproduce the error with my old code that attempted to turn "Grid Based Template Shapes" on. I'm gonna go ahead and close this Issue then as it seems to be a non-repo bug (despite the fact that I could repo it 20hrs ago) and the new code my module uses didn't hit this non-repo bug anyways.

FolkvangrForgent avatar Jul 31 '24 02:07 FolkvangrForgent