From fa240144d200d4a077d31aa9563cc3171901d766 Mon Sep 17 00:00:00 2001 From: Jeff Hitchcock Date: Fri, 27 Feb 2026 13:23:31 -0800 Subject: [PATCH 1/2] [#6438] Add ring wall type to area of effect options Adds a new "Wall (ring)" area of effect type and renames the existing wall type to "Wall (straight)". The new wall type uses the `ring` shape using `outerWidth`, so the wall's thickness starts at the radius and goes outward. Closes #6438 --- lang/en.json | 5 ++++- module/canvas/template-placement.mjs | 2 +- module/config.mjs | 6 ++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lang/en.json b/lang/en.json index 7758606d40..ba5e434ae9 100644 --- a/lang/en.json +++ b/lang/en.json @@ -4886,6 +4886,9 @@ "otherSized": "{number} {sizes} Radii" } }, + "Ring": { + "Label": "Wall (ring)" + }, "Self": { "Label": "Self" }, @@ -4938,7 +4941,7 @@ } }, "Wall": { - "Label": "Wall", + "Label": "Wall (straight)", "Counted": { "one": "{number} wall", "other": "{number} walls", diff --git a/module/canvas/template-placement.mjs b/module/canvas/template-placement.mjs index c8f5ac39ed..5546e14744 100644 --- a/module/canvas/template-placement.mjs +++ b/module/canvas/template-placement.mjs @@ -62,7 +62,7 @@ export default class TemplatePlacement extends BasePlacement { case "line": return { ...data, length: size, width, type: "line" }; case "rect": case "rectangle": return { ...data, width: size, height: size, type: "rectangle" }; - case "ring": return { ...data, radius: size, outerWidth: width }; + case "ring": return { ...data, radius: size, outerWidth: width, innerWidth: 0 }; } } diff --git a/module/config.mjs b/module/config.mjs index 8d8cd80cff..f834c3d3a1 100644 --- a/module/config.mjs +++ b/module/config.mjs @@ -2841,6 +2841,12 @@ DND5E.areaTargetTypes = { template: "circle", standard: true }, + ring: { + label: "DND5E.TARGET.Type.Ring.Label", + counted: "DND5E.TARGET.Type.Wall.Counted", + template: "ring", + sizes: ["radius", "thickness", "height"] + }, sphere: { label: "DND5E.TARGET.Type.Sphere.Label", counted: "DND5E.TARGET.Type.Sphere.Counted", From f7d336e76f3b852fec574aaa8c5fb8f4ffd71d5e Mon Sep 17 00:00:00 2001 From: Jeff Hitchcock Date: Fri, 19 Jun 2026 13:15:28 -0700 Subject: [PATCH 2/2] [#6438] Rename to just Ring --- lang/en.json | 10 ++++++++-- module/config.mjs | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lang/en.json b/lang/en.json index ba5e434ae9..74a6b7614b 100644 --- a/lang/en.json +++ b/lang/en.json @@ -4887,7 +4887,13 @@ } }, "Ring": { - "Label": "Wall (ring)" + "Label": "Ring", + "Counted": { + "one": "{number} ring", + "other": "{number} rings", + "oneSized": "{sizes} Ring", + "otherSized": "{number} {sizes} Rings" + } }, "Self": { "Label": "Self" @@ -4941,7 +4947,7 @@ } }, "Wall": { - "Label": "Wall (straight)", + "Label": "Wall", "Counted": { "one": "{number} wall", "other": "{number} walls", diff --git a/module/config.mjs b/module/config.mjs index f834c3d3a1..f85ee124b5 100644 --- a/module/config.mjs +++ b/module/config.mjs @@ -2843,7 +2843,7 @@ DND5E.areaTargetTypes = { }, ring: { label: "DND5E.TARGET.Type.Ring.Label", - counted: "DND5E.TARGET.Type.Wall.Counted", + counted: "DND5E.TARGET.Type.Ring.Counted", template: "ring", sizes: ["radius", "thickness", "height"] },