From 66225dafb7a4d293add2cdfa2d11a5a028de6569 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 15:12:12 -0500 Subject: [PATCH 1/8] Allow for JSON defaulting with fallbacks to primary sources.json --- library.js | 44 +++++++++++- test/common-library-tests.js | 126 +++++++++++++++++++++++++++++++++-- 2 files changed, 163 insertions(+), 7 deletions(-) diff --git a/library.js b/library.js index fc3232e..a53758d 100644 --- a/library.js +++ b/library.js @@ -9,12 +9,50 @@ export default class SourceLibrary { this.library = library; } + static applyFieldDefaults(library, reference) { + for (const system in library) { + const ref = reference && reference.hasOwnProperty(system) ? reference[system] : null; + if (!library[system].system) { + library[system].system = system; + } + if (!library[system].topology) { + library[system].topology = ref ? ref.topology : "standard"; + } + if (!library[system].quantity) { + library[system].quantity = ref ? ref.quantity : "quantity"; + } + const sources = library[system].sources; + if (sources) { + for (const source in sources) { + const refsrc = ref ? ref.sources[source] : null; + if (!sources[source].name) { + sources[source].name = source; + } + if (!sources[source].type) { + sources[source].type = refsrc? refsrc.type : "equipment"; + } + if (sources[source].consumable === undefined) { + sources[source].consumable = refsrc ? refsrc.consumable : false; + } + if (sources[source].light && (sources[source].light.constructor !== Array)) { + sources[source].light = [sources[source].light]; + } + if (sources[source].light && (sources[source].light.constructor === Array) && !sources[source].states) { + sources[source].states = sources[source].light.length + 1; + } + } + } + } + } + static async load(systemId, selfBright, selfDim, selfItem, userLibrary, protoLight) { // The common library is cached - to update it, you must reload the game. if (!SourceLibrary.commonLibrary) { SourceLibrary.commonLibrary = await fetch('/modules/torch/sources.json') .then( response => { return response.json(); }); - } + this.applyFieldDefaults(SourceLibrary.commonLibrary); + } + let defaultLight = Object.assign({}, protoLight); defaultLight.bright = selfBright; defaultLight.dim = selfDim; @@ -27,7 +65,9 @@ export default class SourceLibrary { // The user library reloads every time you open the HUD to permit cut and try. let mergedLibrary = userLibrary ? await fetch(userLibrary) .then( response => { return response.json(); }) - .then( userData => { return mergeLibraries (userData, SourceLibrary.commonLibrary, configuredLight); }) + .then( userData => { + this.applyFieldDefaults(userData, SourceLibrary.commonLibrary); + return mergeLibraries (userData, SourceLibrary.commonLibrary, configuredLight); }) .catch(reason => { console.warn("Failed loading user library: ", reason); }) : mergeLibraries ( diff --git a/test/common-library-tests.js b/test/common-library-tests.js index 0c509cd..df76bb6 100644 --- a/test/common-library-tests.js +++ b/test/common-library-tests.js @@ -2,6 +2,122 @@ import SourceLibrary from '../library.js'; export let torchCommonLibraryTests = (context) => { const {describe, it, assert, afterEach} = context; describe('Torch Common Library Tests', () => { + describe('Library defaulting tests', () => { + it('library defaults are all applied - no reference', () => { + let lib = { + fakeSystem: { sources: { + nuke: { light: {bright: 5, dim: 10, angle: 360 } }, + other: { light: [ {bright: 10, dim: 20, angle: 360} ] } + } } + } + SourceLibrary.applyFieldDefaults(lib); + assert.equal(lib['fakeSystem'].system, 'fakeSystem'); + assert.equal(lib['fakeSystem'].topology, 'standard'); + assert.equal(lib['fakeSystem'].quantity, 'quantity'); + assert.equal(lib['fakeSystem'].sources['nuke'].name, 'nuke'); + assert.equal(lib['fakeSystem'].sources['nuke'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['nuke'].consumable, false); + assert.equal(lib['fakeSystem'].sources['nuke'].states, 2); + assert.equal(lib['fakeSystem'].sources['nuke'].light.length, 1); + assert.equal(lib['fakeSystem'].sources['nuke'].light[0].bright, 5); + assert.equal(lib['fakeSystem'].sources['other'].name,'other'); + assert.equal(lib['fakeSystem'].sources['other'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['other'].consumable, false); + assert.equal(lib['fakeSystem'].sources['other'].states, 2); + assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + }) + it('library defaults are all applied - with reference', () => { + let lib = { + fakeSystem: { sources: { + nuke: { light: {bright: 5, dim: 10, angle: 360 } }, + other: { light: [ {bright: 10, dim: 20, angle: 360} ] } + }} + }; + let ref = { + fakeSystem: { topology: "gurps", quantity: "amount", sources: { + other: { type: "spell", consumable: true, "states": 2, light: [ {bright: 15, dim: 30, angle: 57}]} + }} + }; + SourceLibrary.applyFieldDefaults(lib, ref); + assert.equal(lib['fakeSystem'].system, 'fakeSystem'); + assert.equal(lib['fakeSystem'].topology, 'gurps'); + assert.equal(lib['fakeSystem'].quantity, 'amount'); + assert.equal(lib['fakeSystem'].sources['nuke'].name, 'nuke'); + assert.equal(lib['fakeSystem'].sources['nuke'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['nuke'].consumable, false,"Consumable matches for nuke"); + assert.equal(lib['fakeSystem'].sources['nuke'].states, 2); + assert.equal(lib['fakeSystem'].sources['nuke'].light.length, 1); + assert.equal(lib['fakeSystem'].sources['nuke'].light[0].bright, 5); + assert.equal(lib['fakeSystem'].sources['other'].name,'other'); + assert.equal(lib['fakeSystem'].sources['other'].type, 'spell'); + assert.equal(lib['fakeSystem'].sources['other'].consumable, true, "Consumable matches for other"); + assert.equal(lib['fakeSystem'].sources['other'].states, 2); + assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + }) + it('library defaults do not override actual data - no reference', () => { + let lib = { + fakeSystem: { + system: "aSystem", + topology: "gurps", + quantity: "count", + sources: { + nuke: { name: "Nuke2", type: "spell", consumable: true, states: 3, + light: [{bright: 15, dim: 20, angle: 360 }, {bright: 20, dim: 40, angle: 57}] }, + other: { name: "Other", type: "spell", consumable: false, states: 2, light: [ {bright: 10, dim: 20, angle: 360} ] } + } } + } + SourceLibrary.applyFieldDefaults(lib); + assert.equal(lib['fakeSystem'].system, 'aSystem'); + assert.equal(lib['fakeSystem'].topology, 'gurps'); + assert.equal(lib['fakeSystem'].quantity, 'count'); + assert.equal(lib['fakeSystem'].sources['nuke'].name, 'Nuke2'); + assert.equal(lib['fakeSystem'].sources['nuke'].type, 'spell'); + assert.equal(lib['fakeSystem'].sources['nuke'].consumable, true); + assert.equal(lib['fakeSystem'].sources['nuke'].states, 3); + assert.equal(lib['fakeSystem'].sources['nuke'].light.length, 2); + assert.equal(lib['fakeSystem'].sources['nuke'].light[0].bright, 15); + assert.equal(lib['fakeSystem'].sources['other'].name,'Other'); + assert.equal(lib['fakeSystem'].sources['other'].type, 'spell'); + assert.equal(lib['fakeSystem'].sources['other'].consumable, false); + assert.equal(lib['fakeSystem'].sources['other'].states, 2); + assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + }) + + it('library defaults do not override actual data - with reference', () => { + let lib = { + fakeSystem: { + system: "aSystem", + topology: "gurps", + quantity: "count", + sources: { + nuke: { name: "Nuke2", type: "spell", consumable: true, states: 3, + light: [{bright: 15, dim: 20, angle: 360 }, {bright: 20, dim: 40, angle: 57}] }, + other: { name: "Other", type: "spell", consumable: false, states: 2, light: [ {bright: 10, dim: 20, angle: 360} ] } + } } + } + let ref = { + fakeSystem: { topology: "gurps", quantity: "amount", sources: { + other: { type: "spell", consumable: true, "states": 2, light: [ {bright: 15, dim: 30, angle: 57}]} + }} + }; + SourceLibrary.applyFieldDefaults(lib, ref); + assert.equal(lib['fakeSystem'].system, 'aSystem'); + assert.equal(lib['fakeSystem'].topology, 'gurps'); + assert.equal(lib['fakeSystem'].quantity, 'count'); + assert.equal(lib['fakeSystem'].sources['nuke'].name, 'Nuke2'); + assert.equal(lib['fakeSystem'].sources['nuke'].type, 'spell'); + assert.equal(lib['fakeSystem'].sources['nuke'].consumable, true); + assert.equal(lib['fakeSystem'].sources['nuke'].states, 3); + assert.equal(lib['fakeSystem'].sources['nuke'].light.length, 2); + assert.equal(lib['fakeSystem'].sources['nuke'].light[0].bright, 15); + assert.equal(lib['fakeSystem'].sources['other'].name,'Other'); + assert.equal(lib['fakeSystem'].sources['other'].type, 'spell'); + assert.equal(lib['fakeSystem'].sources['other'].consumable, false); + assert.equal(lib['fakeSystem'].sources['other'].states, 2); + assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + }) + + }); describe('Library Loading tests', () => { afterEach(async() => { SourceLibrary.commonLibrary = undefined; @@ -33,7 +149,7 @@ export let torchCommonLibraryTests = (context) => { }); it('library load for D&D 5e with a user library', async () => { assert.notOk(SourceLibrary.commonLibrary, "no common library loaded initially"); - let library = await SourceLibrary.load('dnd5e', 10, 50, 'Torch', './userLights.json'); + let library = await SourceLibrary.load('dnd5e', 10, 50, 'Torch', './modules/torch/test/userLights.json'); assert.ok(SourceLibrary.commonLibrary, "common library loaded"); let candle = library.getLightSource("candle"); assert.equal(candle.light[0].bright, 10, "user candle bright light level"); @@ -49,7 +165,7 @@ export let torchCommonLibraryTests = (context) => { }); it('library load for GURPS with a user library with a GURPS flashlight', async () => { assert.notOk(SourceLibrary.commonLibrary, "no common library loaded initially"); - let library = await SourceLibrary.load('test', 50, 10, 'Torch', './userLights.json'); + let library = await SourceLibrary.load('test', 50, 10, 'Torch', './modules/torch/test/userLights.json'); assert.ok(SourceLibrary.commonLibrary, "common library loaded"); let candle = library.getLightSource("candle"); assert.notOk(candle, "No candle defined as expected"); @@ -67,7 +183,7 @@ export let torchCommonLibraryTests = (context) => { it('Actor inventory settings for Versatile in D&D5e with a user library', async () => { let versatile = game.actors.getName("Versatile"); assert.ok(versatile, "Actor Versatile found"); - let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './userLights.json'); + let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './modules/torch/test/userLights.json'); let torches = library.getInventory(versatile, "Torch"); assert.ok(typeof torches === "number", "Count of torches has a numeric value"); let candles = library.getInventory(versatile, "Candle"); @@ -92,7 +208,7 @@ export let torchCommonLibraryTests = (context) => { it('Actor image settings for Versatile in D&D5e with a user library', async () => { let versatile = game.actors.getName("Versatile"); assert.ok(versatile, "Actor Versatile found"); - let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './userLights.json'); + let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './modules/torch/test/userLights.json'); let torchImage = library.getImage(versatile, "Torch"); assert.ok(torchImage, "Torch should have a defined image"); assert.notEqual(torchImage,"", "Torch image has a reasonable value"); @@ -115,7 +231,7 @@ export let torchCommonLibraryTests = (context) => { assert.ok(bearer, "Actor Torchbearer found"); let everythingBut = game.actors.getName("Bic"); assert.ok(everythingBut, "Actor Bic found"); - let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './userLights.json'); + let library = await SourceLibrary.load('dnd5e', 50, 10, 'Torch', './modules/torch/test/userLights.json'); let breakerSources = library.actorLightSources(breaker); assert.equal (breakerSources.length, 2, "Breaker has two known light sources"); From eaa16e9456be72fe7f36e0b1d33fc1cdea7df5c3 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 15:16:41 -0500 Subject: [PATCH 2/8] Updated userLights used in testing to rely on defaults --- test/userLights.json | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/test/userLights.json b/test/userLights.json index b66932d..04b4c60 100644 --- a/test/userLights.json +++ b/test/userLights.json @@ -1,12 +1,7 @@ { "dnd5e": { - "system": "dnd5e", - "topology": "standard", - "quantity" : "quantity", "sources": { "Phantom Torch": { - "name": "Phantom Torch", - "type": "equipment", "consumable": true, "states": 2, "light": [ @@ -14,32 +9,20 @@ ] }, "Candle": { - "name": "Candle", - "type": "equipment", "consumable": true, - "states": 2, - "light": [ - { - "bright": 10, "dim": 15, "angle": 360, "color": "#ff9329", "alpha": 0.5, - "animation": { "type": "torch", "speed": 5, "intensity": 5, "reverse": false } - } - ] + "light": { + "bright": 10, "dim": 15, "angle": 360, "color": "#ff9329", "alpha": 0.5, + "animation": { "type": "torch", "speed": 5, "intensity": 5, "reverse": false } + } } } }, "test": { - "system": "test", "topology": "gurps", - "quantity": "quantity", "sources": { "Flashlight": { - "name": "Flashlight", - "type": "equipment", "consumable": true, - "states": 2, - "light": [ - { "bright": 10, "dim": 0, "angle": 3, "color": "#ffd6aa", "alpha": 1.0 } - ] + "light": { "bright": 10, "dim": 0, "angle": 3, "color": "#ffd6aa", "alpha": 1.0 } } } } From b2625fa203eebc52b991ab3fe671c82d69d8f63f Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 18:57:09 -0500 Subject: [PATCH 3/8] Updated docs, made consumable string-tolerant, and added aliasing --- README.md | 70 ++++++++++++++++++++++++++++++----- design/finding-quantity.png | Bin 0 -> 161244 bytes library.js | 56 +++++++++++++++++++--------- test/common-library-tests.js | 44 ++++++++++++++++++---- 4 files changed, 137 insertions(+), 33 deletions(-) create mode 100644 design/finding-quantity.png diff --git a/README.md b/README.md index ed9295f..e3cb535 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,17 @@ This module just sheds light from the location of a player token upon demand bas Because the light source to use is now user-configurable, we no longer select a light source for you based on fallbacks. As it stands, if you do not explicitly select your light source, it will pick any among the light sources you have equipped, in no particular order. ## Customizing light sources -You can supersede these settings or supply settings for your own light sources for any system with a JSON file, which you can deliver through the "Additional Light Sources" setting. +You can supersede these settings or supply settings for your own light sources for any system with a JSON file, which you can deliver through the "Additional Light Sources" setting. The following shows a fully specified light source: ```json { "dnd5e": { "system": "dnd5e", "topology": "standard", "quantity" : "quantity", + "aliases": { + "Bullseye Lantern": "Lantern (Bullseye)", + "Hooded Lantern": "Lantern (Hooded)" + } "sources": { "Candle": { "name": "Candle", @@ -47,19 +51,67 @@ You can supersede these settings or supply settings for your own light sources f ... } ``` -The key in the top-level hash is the id of the system. +The JSON has one top-level property per system, keyed by the Foundry id of the system. For each system: +* The `system` value, if specified, should always be identical to the key. It can (and probably should) be omitted. +* The `topology` value has two possible values, defaulting to `standard` if omitted. + * `standard` topology: equipment are `Item` objects. Almost all systems are `standard`. + * `gurps` topology: light sources are collected under a property of the actor and require GURPS-specific functions to find it, manipulate how many you've got, etc. + * If you drag items to your character to "gear up", your system is almost certainly `standard`, so omit the setting. +* The `quantity` value tells the topology which property determines how many you have. It is a path to the quantity property within the "system" subtree of the object representing the light source. It defaults to `quantity`. + * For `standard`, it is the path to the field under item.system that contains the quantity. For nearly all systems, this is `quantity`. (For Earthdawn, however, it is `amount`.) + * For `gurps`, it is the path to the field in a nested structure under the actor. It should be set to `amount`. + * Some systems may not count inventory. For these, omit it, and use the default. + +* The `sources` property has a sub-property for each light source you are creating or superseding. + * The sub-property's key is the name of the light source. + * The `name` value, if specified, should always be identical to the key. It can (and probably should) be omitted. + * The `type` value may be `equipment` or `spell`. If omitted, it defaults to `equipment`. + * The `consumable` value should be `true` or `false`. + * If `true`, when you use the light source, the inventory count goes down. The light source becomes unavailable when the quantity drops to zero. + * If `false`, the quantity in the inventory is ignored, but you still need the light source in your inventory to use it. + * If not specified, it defaults to `false`. + * If your system doesn't count inventory, make sure all of your light sources either don't specify this field or set it to `false`. + * If you find tracking inventory a complete distraction from your game, you can turn this feature off using the "GM Uses Inventory" and "Player Uses Inventory" settings. + * The `states` specifies how many states the light source toggles through. This allows for sources like hooded lanterns to toggle "high - low - off" if desired. It can be omitted and the number of states will be one more than the number of objects you supply to the `light` array. + * The `light` value is an array of objects that specify the light properties for each "on" light state. It has no default. + * Values for the "off" state are taken from the settings for the actor's prototype token. + * If you supply a single object rather than an array of objects, the module will treat it as an array of one item, (a light source with a single "on" state, the most common condition), and `states` will default to 2. + +* The `aliases` property lets you specify alternate names for existing sources. Each entry has a key and a value: + * The key is the name of the existing source that the alias will duplicate. + * The value is the name of the new source as a string. + * The source you duplicate with a new name can either be one of the predefined sources or one of the sources from the same user settings. + +### Determining your system's id, topology, and quantity + +There are a few simple checks that can be done in a system to determine what to use for its id, topology and quantity values. + +First, create an actor and give it the light source in question, either by creating one fresh or grabbing it from a compendium. Verify that the character sheet shows that the actor owns the gear. Adjust the quantity to some easily recognizable number, like 3, 5, 7, 13, something obvious. + +Suppose we create an actor named "Ebenezer" and give him a "Candle". Heck, we'll give him 16 of them. + +Then, go into the browser console and type the following commands, adjusted for what you called your actor and light source: +``` +game.system.id +game.actors.getName("Ebenezer").items.getName("Candle") +``` +The system ID shown is the key name you should use for your system. The second value either gives you an object you can examine for the item or it gives you an error. If this returns a value, your topology is almost certainly standard. + +![](./Design/finding-quantity.png) + +In the item, expand the "system" property, and look for a sub-property whose name has something to do with quantity. If it has the same value you supplied, that clinches it. That's your quantity field. This is usually a simple value like "quantity", "count", or "amount", but it may be nested in a structue, like Star Wars FFG's "quantity.value". That's the value to use for your system's "quantity" property in the JSON. + +### Defining new topologies - something you almost never need to do -We support two `topology` values at present: -* In `standard` topology, equipment are `Item` objects with a property to track how many you have. Set `quantity` to the property name used by the system to count the inventory of the item. -* In `gurps` topology, light sources are collected under a property of the actor and require GURPS-specific functions to manipulate inventory. Set `quantity` to `amount`. +If you can't find your light sources among the actor's items, you may have stumbled across a system that will need its own topology defined, much as I discovered with GURPS. This requires a little code, but only a very little code. Define the new topology in topology.js. Supply an additional Topology class with implementations for the exported methods `actorHasLightSource`, `getImage`, `getInventory`, `setInventory`, and `decrementInventory`. PRs are gratefully accepted. :) -A source with `"consumable": false`, like a lamp or a cantrip, doesn't deduct one from inventory with every use. A source with `"consumable": true`, like a torch or a candle, will have a quantity that is reduced as you use them and will become unavailable when the quantity drops to zero. If you find tracking inventory a complete distraction from your game, you can turn this feature off using the "GM Uses Inventory" and "Player Uses Inventory" settings. +For example, the "Star Wars FFG" system embeds the quantity in the name of the item, so the item name goes from "Torches (3)" to "Torches (2)" as you consume them. Aside from this naming quirk, it is completely standard. A copy/paste of the standard topology that replaced its internal `_findMatchingItem` method with a function, perhaps regular-expression-based, that weeded out the stuff in the parentheses would do the trick. -`states` specifies how many states the light source toggles through. For on/off sources, `states` is 2. For high/low/off sources, like hooded lanterns, states is 3. +Even without adding a topology, you can still use Torch with any new system - by doing nothing! If you don't define any JSON for the system, each user will get a single "self" light they can toggle, with dim/bright values the GM sets up in the game configuration. All of its other properties will come from the actor's prototype token. The downside of this is that the bright/dim game settings will apply identically to all players, regardless of what they're packing. -The `light` array contains a hash of light properties for each "on" state, so most things will have one hash between the brackets, but a hooded lantern will have two. The hash can contain any combination of valid token light properties, providing the same degree of configurability as the token's Light tab. +### Determining the real names of animation and coloration types -To use this module with game systems using different topologies will require code but very little code. Define the new topology in topology.js. PRs gratefully accepted. :) +The easiest way I've found to do this is to set an actor's prototype token to use the types you're interested in and then export the actor from the sidebar. When you examine the file it creates, you should be able to see what it called that property on the prototype token's "light" value. That will tell you what string to use for its value in the Torch user settings to get the desired effect. ## Changelog - now in [separate file](./CHANGELOG.md) diff --git a/design/finding-quantity.png b/design/finding-quantity.png new file mode 100644 index 0000000000000000000000000000000000000000..65fe2b458ddc74d62166a9de6d56513d4a663b31 GIT binary patch literal 161244 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 z

Xn=#g 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

fd7Wn+)G) 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 { describe('Library defaulting tests', () => { it('library defaults are all applied - no reference', () => { let lib = { - fakeSystem: { sources: { + fakeSystem: { + sources: { nuke: { light: {bright: 5, dim: 10, angle: 360 } }, other: { light: [ {bright: 10, dim: 20, angle: 360} ] } - } } + }, + aliases: { + nuke: "bomb", + other: "alt" + } + } } SourceLibrary.applyFieldDefaults(lib); assert.equal(lib['fakeSystem'].system, 'fakeSystem'); @@ -25,17 +31,34 @@ export let torchCommonLibraryTests = (context) => { assert.equal(lib['fakeSystem'].sources['other'].consumable, false); assert.equal(lib['fakeSystem'].sources['other'].states, 2); assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + assert.equal(lib['fakeSystem'].sources['bomb'].name, 'bomb'); + assert.equal(lib['fakeSystem'].sources['bomb'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['bomb'].consumable, false); + assert.equal(lib['fakeSystem'].sources['bomb'].states, 2); + assert.equal(lib['fakeSystem'].sources['bomb'].light.length, 1); + assert.equal(lib['fakeSystem'].sources['bomb'].light[0].bright, 5); + assert.equal(lib['fakeSystem'].sources['alt'].name,'alt'); + assert.equal(lib['fakeSystem'].sources['alt'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['alt'].consumable, false); + assert.equal(lib['fakeSystem'].sources['alt'].states, 2); + assert.equal(lib['fakeSystem'].sources['alt'].light[0].bright, 10); }) it('library defaults are all applied - with reference', () => { let lib = { - fakeSystem: { sources: { + fakeSystem: { + sources: { nuke: { light: {bright: 5, dim: 10, angle: 360 } }, other: { light: [ {bright: 10, dim: 20, angle: 360} ] } - }} + }, + aliases: { + special: "crazy" + } + } }; let ref = { fakeSystem: { topology: "gurps", quantity: "amount", sources: { - other: { type: "spell", consumable: true, "states": 2, light: [ {bright: 15, dim: 30, angle: 57}]} + other: { type: "spell", consumable: true, states: 2, light: [ {bright: 15, dim: 30, angle: 57}]}, + special: { type: "equipment", consumable: false, states: 2, light: [ {bright: 20, dim: 35, angle: 90}]} }} }; SourceLibrary.applyFieldDefaults(lib, ref); @@ -53,6 +76,13 @@ export let torchCommonLibraryTests = (context) => { assert.equal(lib['fakeSystem'].sources['other'].consumable, true, "Consumable matches for other"); assert.equal(lib['fakeSystem'].sources['other'].states, 2); assert.equal(lib['fakeSystem'].sources['other'].light[0].bright, 10); + assert.equal(lib['fakeSystem'].sources['crazy'].name,'crazy'); + assert.equal(lib['fakeSystem'].sources['crazy'].type, 'equipment'); + assert.equal(lib['fakeSystem'].sources['crazy'].consumable, false, "Consumable matches for other"); + assert.equal(lib['fakeSystem'].sources['crazy'].states, 2); + assert.equal(lib['fakeSystem'].sources['crazy'].light[0].bright, 20); + assert.equal(lib['fakeSystem'].sources['special'], undefined); + }) it('library defaults do not override actual data - no reference', () => { let lib = { @@ -90,9 +120,9 @@ export let torchCommonLibraryTests = (context) => { topology: "gurps", quantity: "count", sources: { - nuke: { name: "Nuke2", type: "spell", consumable: true, states: 3, + nuke: { name: "Nuke2", type: "spell", consumable: "true", states: 3, light: [{bright: 15, dim: 20, angle: 360 }, {bright: 20, dim: 40, angle: 57}] }, - other: { name: "Other", type: "spell", consumable: false, states: 2, light: [ {bright: 10, dim: 20, angle: 360} ] } + other: { name: "Other", type: "spell", consumable: "false", states: 2, light: [ {bright: 10, dim: 20, angle: 360} ] } } } } let ref = { From e9f342117fcb154257e4b67c2f5d461595986a57 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 19:23:22 -0500 Subject: [PATCH 4/8] Clarify the settings that govern whether to consume inventory and support the DDB names for the lanterns. --- README.md | 6 +++--- lang/en.json | 10 +++++----- sources.json | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e3cb535..1b90ce2 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,8 @@ The JSON has one top-level property per system, keyed by the Foundry id of the s * For `gurps`, it is the path to the field in a nested structure under the actor. It should be set to `amount`. * Some systems may not count inventory. For these, omit it, and use the default. -* The `sources` property has a sub-property for each light source you are creating or superseding. - * The sub-property's key is the name of the light source. +* The `sources` property has a sub-property for each light source you are creating or superseding. For each source: + * The key is the name of the light source. * The `name` value, if specified, should always be identical to the key. It can (and probably should) be omitted. * The `type` value may be `equipment` or `spell`. If omitted, it defaults to `equipment`. * The `consumable` value should be `true` or `false`. @@ -71,7 +71,7 @@ The JSON has one top-level property per system, keyed by the Foundry id of the s * If `false`, the quantity in the inventory is ignored, but you still need the light source in your inventory to use it. * If not specified, it defaults to `false`. * If your system doesn't count inventory, make sure all of your light sources either don't specify this field or set it to `false`. - * If you find tracking inventory a complete distraction from your game, you can turn this feature off using the "GM Uses Inventory" and "Player Uses Inventory" settings. + * If you find "counting your candles" a complete distraction from your game, you can turn this feature off using the "GM Uses Inventory" and "Player Uses Inventory" settings. * The `states` specifies how many states the light source toggles through. This allows for sources like hooded lanterns to toggle "high - low - off" if desired. It can be omitted and the number of states will be one more than the number of objects you supply to the `light` array. * The `light` value is an array of objects that specify the light properties for each "on" light state. It has no default. * Values for the "off" state are taken from the settings for the actor's prototype token. diff --git a/lang/en.json b/lang/en.json index e50ff3a..c0eb9e4 100644 --- a/lang/en.json +++ b/lang/en.json @@ -6,16 +6,16 @@ "torch.playerTorches.hint": "Allow players to toggle their own torches.", "torch.brightRadius.hint": "How many grid units of bright light to emit.", "torch.dimRadius.hint": "How many grid units of dim light to emit.", - "torch.gmUsesInventory.name": "GM Uses Inventory", - "torch.gmUsesInventory.hint": "If set, when the GM toggles a torch, it will use the actors inventory.", + "torch.gmUsesInventory.name": "GM Consumes Inventory", + "torch.gmUsesInventory.hint": "If set, when the GM toggles a torch, it will reduce the actor's inventory.", "torch.gmInventoryItemName.name": "Inventory item name to use", - "torch.gmInventoryItemName.hint": "Name of the inventory item to use if \"GM Uses Inventory\" is set.", + "torch.gmInventoryItemName.hint": "Name of the inventory item to consume if \"GM Consumes Inventory\" is set.", "torch.turnOffAllLights": "Force bright and dim to configured \"off\" values.", "torch.holdCtrlOnClick": "Hold Ctrl on Click", "torch.dancingLightVision.name": "Give Dancing Lights Vision.", "torch.dancingLightVision.hint": "When enabled, each dancing light has vision so can be used to reveal areas of the map players can't actually see.", - "torch.playerUsesInventory.name": "Player Uses Inventory", - "torch.playerUsesInventory.hint": "If set, when the player toggles a torch, it will use the actors inventory.", + "torch.playerUsesInventory.name": "Player Consumes Inventory", + "torch.playerUsesInventory.hint": "If set, when the player toggles a torch, it will reduce the actor's inventory.", "torch.gameLightSources.name": "Additional Light Sources", "torch.gameLightSources.hint": "JSON file containing additional light sources to use beyond those supplied", "torch.brightRadius.name": "Bright Light Radius", diff --git a/sources.json b/sources.json index f1f6e28..2d38122 100644 --- a/sources.json +++ b/sources.json @@ -3,6 +3,10 @@ "system": "dnd5e", "topology": "standard", "quantity" : "quantity", + "aliases": { + "Hooded Lantern": "Lantern, Hooded", + "Bullseye Lantern": "Lantern, Bullseye" + }, "sources": { "Candle": { "name": "Candle", From 720c33c1652b4733fe7ae2d9fdb9c178931118e2 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 19:29:56 -0500 Subject: [PATCH 5/8] Fixing image reference in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b90ce2..568b671 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ game.actors.getName("Ebenezer").items.getName("Candle") ``` The system ID shown is the key name you should use for your system. The second value either gives you an object you can examine for the item or it gives you an error. If this returns a value, your topology is almost certainly standard. -![](./Design/finding-quantity.png) +![Console Output for Above Commands](./design/finding-quantity.png) In the item, expand the "system" property, and look for a sub-property whose name has something to do with quantity. If it has the same value you supplied, that clinches it. That's your quantity field. This is usually a simple value like "quantity", "count", or "amount", but it may be nested in a structue, like Star Wars FFG's "quantity.value". That's the value to use for your system's "quantity" property in the JSON. From e88874fdcc3264685ec98dffe2c201d3a880efe8 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 19:32:14 -0500 Subject: [PATCH 6/8] More typos - and that's after what I thought was proof reading - jeesh --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 568b671..46741e1 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ The system ID shown is the key name you should use for your system. The second v ![Console Output for Above Commands](./design/finding-quantity.png) -In the item, expand the "system" property, and look for a sub-property whose name has something to do with quantity. If it has the same value you supplied, that clinches it. That's your quantity field. This is usually a simple value like "quantity", "count", or "amount", but it may be nested in a structue, like Star Wars FFG's "quantity.value". That's the value to use for your system's "quantity" property in the JSON. +In the item, expand the "system" property, and look for a sub-property whose name has something to do with quantity. If it has the same value you supplied, that clinches it. That's your quantity field. This is usually a simple property name like "quantity", "count", or "amount", but it may be nested in a structure, like Star Wars FFG's "quantity.value". That's the value to use for your system's "quantity" property in the JSON. ### Defining new topologies - something you almost never need to do From ba765d778f32f141ed57df9b755f686bdbb0aa64 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Sun, 4 Dec 2022 19:59:29 -0500 Subject: [PATCH 7/8] Simplified and corrected test lights --- test/userLights.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/userLights.json b/test/userLights.json index 04b4c60..1eb64a2 100644 --- a/test/userLights.json +++ b/test/userLights.json @@ -3,7 +3,6 @@ "sources": { "Phantom Torch": { "consumable": true, - "states": 2, "light": [ { "bright": 5, "dim": 20, "angle": 360, "color": "#ff9329", "alpha": 0.6 } ] @@ -21,7 +20,6 @@ "topology": "gurps", "sources": { "Flashlight": { - "consumable": true, "light": { "bright": 10, "dim": 0, "angle": 3, "color": "#ffd6aa", "alpha": 1.0 } } } From 53a966ab2470b019dbd8eafa757d7ec4f5e353d7 Mon Sep 17 00:00:00 2001 From: Ralph Mack Date: Tue, 6 Dec 2022 20:04:16 -0500 Subject: [PATCH 8/8] Flipped the order of aliases to "newName": "oldName" --- CHANGELOG.md | 25 ++++++++++++++++++------- README.md | 10 +++++----- library.js | 4 ++-- sources.json | 4 ++-- test/common-library-tests.js | 6 +++--- 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c063a7f..dab5ab2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,20 @@ ## Middle Kingdom - v10 branch +### Unreleased - December 6, 2022 +- [FEATURE] (Lupestro) Updated README for clarity in creating user settings. (Issue #27 - many participants) +- [FEATURE] (Lupestro) Improved and simplified source JSON syntax with defaults for most fields. (Issue #27 - many participants) + * This change shouldn't invalidate any existing light source JSON files. +- [FEATURE] (Lupestro) Introduced aliases to JSON to give new names to light sources defined elsewhere. + * Using this in a very simple custom JSON will make this module more useful to those who play in a non-English language. +- [FEATURE] (Lupestro) Provided aliases for dnd5e light sources that should provide smoother integration with ddb-importer. (Issues raised by MrPrimate and emmoth) +- [FEATURE] (Lupestro) Improved name and description of options for consuming torches, candles, etc. to avoid confusion. (In response to comments by vgeirnaert) + +I'm looking at loading localized language JSON files for the out-of-the-box sources on startup in a future release. This will need the actual (i.e. matching letter-by-letter) light source names used in various games when played in different languages. Contact me if you play with light sources in another language and you're interested in helping out. + ### 2.1.4 - December 4, 2022 - - [BUGFIX] DnD5e Bullseye Lantern had wrong dim/bright ranges due to copy/paste error. - - [BUGFIX] Bullseye lanterns in all systems that had 53 degree radius, now have 57 degree radius. + - [BUGFIX] (Lupestro) DnD5e Bullseye Lantern had wrong dim/bright ranges due to copy/paste error. (Issue reported by Fragmenri. Thanks!) + - [BUGFIX] (Lupestro) Bullseye lanterns in all systems that had 53 degree radius, now have 57 degree radius. * 53 degrees is technically correct for a cone (n units wide at center distance n, per rules). * 57 degrees (1 radian) would be correct for a (spherical) sector of radius n and arc length n. * Foundry projects light radially, so you get a spherical sector, regardless of the game rules. @@ -13,13 +24,13 @@ * You can always reduce it back to 53 degrees with a custom JSON, of course, if you feel strongly about it. ### 2.1.3 - October 8, 2022 - - [BUGFIX] Corrected issue (found by vkdolea) where user-supplied sources for new systems weren't processing properly. - - [BUGFIX] Now pulling non-dim/bright light properties for the light source configured in settings from the prototype token. - - [BUGFIX] Fixed the translation files for several languages. + - [BUGFIX] (Lupestro) Corrected issue (found by vkdolea) where user-supplied sources for new systems weren't processing properly. + - [BUGFIX] (Lupestro) Now pulling non-dim/bright light properties for the light source configured in settings from the prototype token. (Issue reported by Jensenator360) + - [BUGFIX] (Lupestro) Fixed the translation files for several languages. ### 2.1.2 - September 14, 2022 - - [BUGFIX] Fixed image used for dancing lights - - [BUGFIX] Reset precedence order to user-supplied light sources first, then the source in config settings, then module-provided defaults based on game rules. + - [BUGFIX] (Lupestro) Fixed image used for dancing lights + - [BUGFIX] (Lupestro) Reset precedence order to user-supplied light sources first, then the source in config settings, then module-provided defaults based on game rules. ### 2.1.1 - September 6, 2022 - [BUGFIX] (Lupestro) Fixed issue where unlinked tokens were adjusting inventory on source token. diff --git a/README.md b/README.md index 46741e1..f07b9e6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ This module just sheds light from the location of a player token upon demand bas Because the light source to use is now user-configurable, we no longer select a light source for you based on fallbacks. As it stands, if you do not explicitly select your light source, it will pick any among the light sources you have equipped, in no particular order. ## Customizing light sources -You can supersede these settings or supply settings for your own light sources for any system with a JSON file, which you can deliver through the "Additional Light Sources" setting. The following shows a fully specified light source: +You can supersede these settings or supply settings for your own light sources for any system with a JSON file, which you can deliver through the "Additional Light Sources" setting. The following shows a fully specified light source and a couple of aliases: ```json { "dnd5e": { @@ -30,8 +30,8 @@ You can supersede these settings or supply settings for your own light sources f "topology": "standard", "quantity" : "quantity", "aliases": { - "Bullseye Lantern": "Lantern (Bullseye)", - "Hooded Lantern": "Lantern (Hooded)" + "Lantern (Bullseye)": "Bullseye Lantern", + "Lantern (Hooded)": "Hooded Lantern" } "sources": { "Candle": { @@ -78,8 +78,8 @@ The JSON has one top-level property per system, keyed by the Foundry id of the s * If you supply a single object rather than an array of objects, the module will treat it as an array of one item, (a light source with a single "on" state, the most common condition), and `states` will default to 2. * The `aliases` property lets you specify alternate names for existing sources. Each entry has a key and a value: - * The key is the name of the existing source that the alias will duplicate. - * The value is the name of the new source as a string. + * The key is the new name of the source . + * The value is the name (as a string) of the existing source being duplicated. * The source you duplicate with a new name can either be one of the predefined sources or one of the sources from the same user settings. ### Determining your system's id, topology, and quantity diff --git a/library.js b/library.js index 0b3e0e7..f5770a0 100644 --- a/library.js +++ b/library.js @@ -56,8 +56,8 @@ export default class SourceLibrary { } let sources = library[system].sources; let aliases = library[system].aliases; - for (const aliasref in aliases) { - let alias = aliases[aliasref]; + for (const alias in aliases) { + let aliasref = aliases[alias]; let aliasedSource = sources[aliasref] ? sources[aliasref] : ref && ref.sources[aliasref] ? ref.sources[aliasref] : null; if (aliasedSource) { sources[alias] = Object.assign({}, aliasedSource, {name: alias}); diff --git a/sources.json b/sources.json index 2d38122..3ebf3a6 100644 --- a/sources.json +++ b/sources.json @@ -4,8 +4,8 @@ "topology": "standard", "quantity" : "quantity", "aliases": { - "Hooded Lantern": "Lantern, Hooded", - "Bullseye Lantern": "Lantern, Bullseye" + "Lantern, Hooded": "Hooded Lantern", + "Lantern, Bullseye": "Bullseye Lantern" }, "sources": { "Candle": { diff --git a/test/common-library-tests.js b/test/common-library-tests.js index 1511f6a..4c00154 100644 --- a/test/common-library-tests.js +++ b/test/common-library-tests.js @@ -11,8 +11,8 @@ export let torchCommonLibraryTests = (context) => { other: { light: [ {bright: 10, dim: 20, angle: 360} ] } }, aliases: { - nuke: "bomb", - other: "alt" + bomb: "nuke", + alt: "other" } } } @@ -51,7 +51,7 @@ export let torchCommonLibraryTests = (context) => { other: { light: [ {bright: 10, dim: 20, angle: 360} ] } }, aliases: { - special: "crazy" + crazy: "special" } } };