Add option to show colors of PCs to anyone, regardless of permissions

This commit is contained in:
Manuel Vögele
2021-02-02 14:37:07 +01:00
parent 59f2e67717
commit 5c43651925
3 changed files with 16 additions and 1 deletions
+4
View File
@@ -1,6 +1,10 @@
{
"drag-ruler": {
"settings": {
"alwaysShowSpeedForPCs": {
"name": "Show PC speed to everyone",
"hint": "If enabled the coloring based on actor speed for player characters will shown to everyone, even if they don't have observer permission for the character sheet."
},
"dashMultiplier": {
"name": "Dash Multiplier",
"hint": "This can be used to give tokens a secondary speed during coloring of the measured path. Set it to 0 to disable the secondary speed."
+2
View File
@@ -174,6 +174,8 @@ function getColorForDistance(startDistance, subDistance) {
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
if (!(this.draggedToken.actor.data.type === "character" && game.settings.get(settingsKey, "alwaysShowSpeedForPCs")))
return this.color
}
const distance = startDistance + subDistance
+9
View File
@@ -4,6 +4,15 @@ import {getDefaultDashMultiplier, getDefaultSpeedAttribute} from "./systems.js"
export const settingsKey = "drag-ruler";
export function registerSettings() {
game.settings.register(settingsKey, "alwaysShowSpeedForPCs", {
name: "drag-ruler.settings.alwaysShowSpeedForPCs.name",
hint: "drag-ruler.settings.alwaysShowSpeedForPCs.hint",
scope: "world",
config: true,
type: Boolean,
default: true,
})
// This setting will be modified by the api if modules register to it
game.settings.register(settingsKey, "speedProvider", {
name: "drag-ruler.settings.speedProvider.name",