Compare commits

...

9 Commits

Author SHA1 Message Date
Manuel Vögele 908600bfa3 Release v1.5.4 2021-04-21 10:08:50 +02:00
Manuel Vögele 6472c1d5bd Don't include the movement history in collission checks (fixes #61) 2021-04-21 09:05:50 +02:00
Manuel Vögele 9151b45874 Release v1.5.3 2021-04-20 17:03:13 +02:00
Manuel Vögele d732f7ca17 Add defaults for dcc system 2021-04-20 17:02:37 +02:00
Manuel Vögele 4be6730fd5 Use parseInt on the speed attribute to increase compatibility with game systems (resolves #60) 2021-04-20 17:00:28 +02:00
Manuel Vögele 1faeda6f47 Release v1.5.2 2021-04-19 11:23:26 +02:00
Manuel Vögele 667259d5d6 If a token has no actor, use the user's color for highlighting grid spaces (fixes #58) 2021-04-19 11:22:13 +02:00
Manuel Vögele 4b68b82590 Release v1.5.1 2021-04-15 17:19:32 +02:00
Manuel Vögele 447995977b Don't show the difficult terrain measurement hint when no terrain module is enabled 2021-04-15 17:17:38 +02:00
7 changed files with 50 additions and 20 deletions
+22
View File
@@ -1,3 +1,25 @@
## 1.5.4
### Bugfixes
- Fixed a bug that prevented tokens from being moved when their movement history collides with a wall. ([#61](https://github.com/manuelVo/foundryvtt-drag-ruler/issues/61))
## 1.5.3
### Compatiblilty
- Drag Ruler's Generic Speed Provider is now able to work with game systems that put non-number characters behind the tokens movement speed (like `30ft.`). One example for such a game system is Dungeon Crawl Classics. ([#60](https://github.com/manuelVo/foundryvtt-drag-ruler/issues/60))
- The Generic Speed Provider now has good default settings for the Dungeon Crawl Classics (dcc) game system.
## 1.5.2
### Bugfixes
- Drag Ruler no longer prevents tokens that don't have an actor from being moved. ([#58](https://github.com/manuelVo/foundryvtt-drag-ruler/issues/58))
- Grid highlighting now also works for tokens that don't have an actor.
## 1.5.1
### Bugfixes
- The hint that tells users how to enable difficult terrain measurement in Drag Ruler is no longer shown if no terrain layer module is installed.
## 1.5.0
### New features
- In combat Drag Ruler will now remember the path that was taken by a token during the turn. Picking the token up during the same turn will continue the previous measurement, taking steps that are already taken into account.
+2 -2
View File
@@ -2,7 +2,7 @@
"name": "drag-ruler",
"title": "Drag Ruler",
"description": "When dragging a token displays a ruler showing how far you've moved that token.",
"version": "1.5.0",
"version": "1.5.4",
"minimumCoreVersion" : "0.7.9",
"compatibleCoreVersion" : "0.7.9",
"authors": [
@@ -49,7 +49,7 @@
],
"socket": true,
"url": "https://github.com/manuelVo/foundryvtt-drag-ruler",
"download": "https://github.com/manuelVo/foundryvtt-drag-ruler/archive/v1.5.0.zip",
"download": "https://github.com/manuelVo/foundryvtt-drag-ruler/archive/v1.5.4.zip",
"manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-drag-ruler/master/module.json",
"readme": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/README.md",
"changelog": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/CHANGELOG.md",
+2
View File
@@ -61,6 +61,7 @@ export function checkDependencies() {
else if (game.modules.get("TerrainLayer")?.active) {
enabledTerrainModule = game.modules.get("TerrainLayer").data.title;
}
if (enabledTerrainModule) {
new Dialog({
title: game.i18n.localize("drag-ruler.dependencies.terrain-ruler.title"),
content: `<h2>${game.i18n.localize("drag-ruler.dependencies.terrain-ruler.title")}</h2><p>${game.i18n.format("drag-ruler.dependencies.terrain-ruler.text", {moduleName: enabledTerrainModule})}</p>`,
@@ -81,4 +82,5 @@ export function checkDependencies() {
}
}
}
}
+1 -1
View File
@@ -20,7 +20,7 @@ export async function moveTokens(draggedToken, selectedTokens) {
if (!game.user.isGM) {
const hasCollision = selectedTokens.some(token => {
const offset = calculateTokenOffset(token, draggedToken)
const offsetRays = rays.map(ray => applyOffsetToRay(ray, offset))
const offsetRays = rays.filter(ray => !ray.isPrevious).map(ray => applyOffsetToRay(ray, offset))
return offsetRays.some(r => canvas.walls.checkCollision(r));
})
if (hasCollision) {
+3
View File
@@ -166,6 +166,9 @@ function onTokenDragLeftCancel(event) {
export function getColorForDistance(startDistance, subDistance=0) {
if (!this.isDragRuler)
return this.color
if (!this.draggedToken.actor) {
return this.color;
}
// Don't apply colors if the current user doesn't have at least observer permissions
if (this.draggedToken.actor.permission < 2) {
// If this is a pc and alwaysShowSpeedForPCs is enabled we show the color anyway
+1 -1
View File
@@ -124,7 +124,7 @@ export class GenericSpeedProvider extends SpeedProvider {
const speedAttribute = this.getSetting("speedAttribute")
if (!speedAttribute)
return []
const tokenSpeed = getProperty(token, speedAttribute)
const tokenSpeed = parseInt(getProperty(token, speedAttribute));
if (tokenSpeed === undefined) {
console.warn(`Drag Ruler (Generic Speed Provider) | The configured token speed attribute "${speedAttribute}" didn't return a speed value. To use colors based on drag distance set the setting to the correct value (or clear the box to disable this feature).`)
return []
+3
View File
@@ -1,6 +1,8 @@
export function getDefaultSpeedAttribute() {
switch (game.system.id) {
case "dcc":
return "actor.data.data.attributes.speed.value";
case "dnd5e":
return "actor.data.data.attributes.movement.walk"
case "lancer":
@@ -17,6 +19,7 @@ export function getDefaultDashMultiplier() {
switch (game.system.id) {
case "swade":
return 0
case "dcc":
case "dnd5e":
case "lancer":
case "pf1":