Add the pathfinding radius setting (#194)

This commit is contained in:
Cole Schultz
2022-04-29 03:41:05 -05:00
committed by GitHub
parent 0dba39b145
commit 1b8b2328c6
2 changed files with 13 additions and 3 deletions
+2 -1
View File
@@ -240,7 +240,8 @@ export function findPath(from, to, token, previousWaypoints) {
let tokenSize = Math.max(token.data.width, token.data.height) * canvas.dimensions.size;
let pathfinder = gridlessPathfinders.get(tokenSize);
if (!pathfinder) {
pathfinder = GridlessPathfinding.initialize(canvas.walls.placeables, tokenSize, token.data.elevation, Boolean(game.modules.get("wall-height")?.active));
let radiusMultiplier = game.settings.get(settingsKey, "pathfindingRadius");
pathfinder = GridlessPathfinding.initialize(canvas.walls.placeables, tokenSize * radiusMultiplier, token.data.elevation, Boolean(game.modules.get("wall-height")?.active));
gridlessPathfinders.set(tokenSize, pathfinder);
}
paintGridlessPathfindingDebug(pathfinder);
+11 -2
View File
@@ -1,5 +1,6 @@
import {availableSpeedProviders, currentSpeedProvider, getDefaultSpeedProvider, updateSpeedProvider} from "./api.js";
import {SpeedProvider} from "./speed_provider.js"
import {wipePathfindingCache} from "./pathfinding.js"
import { early_isGM } from "./util.js";
export const settingsKey = "drag-ruler";
@@ -100,10 +101,18 @@ export function registerSettings() {
game.settings.register(settingsKey, "autoPathfinding", {
name: "drag-ruler.settings.autoPathfinding.name",
hint: "drag-ruler.settings.autoPathfinding.hint",
scpoe: "client",
scope: "client",
config: early_isGM() || game.settings.get(settingsKey, "allowPathfinding"),
type: Boolean,
defualt: false,
default: false,
});
game.settings.register(settingsKey, "pathfindingRadius", {
scope: "world",
config: false,
type: Number,
default: 0.9,
onChange: wipePathfindingCache,
});
game.settings.register(settingsKey, "lastTerrainRulerHintTime", {