Closed marcusadmortati closed 1 year ago
For better or worse, this module lives by the literal names of light sources. I don't want to offer someone support for something and then find it doesn't work because of an apostrophe. This has limited what systems I offer light sources for out of the box:
(I've had to supply aliases for slight naming differences from ddb-importer for dnd5e because it is so widely used.)
I'd love to support coc7, wod, cod, shadowrun5e, starwarsffg, and many other games I've played and enjoyed directly, but they are mostly used by the game-masters entering data from the books to run their game, so naming is unlikely to match precisely. For these, user-supplied light sources make sure they're only precisely matching two names they typed themselves. (Fortunately, this isn't taxing because few systems have more than six or eight simple light sources.)
Games where gear isn't a major part of play (like pbta) are a whole other category, are better off with our fallback approach of a single "self" light source with bright/dim radii configured for all users and all other light properties determined by the prototype token properties.
If DCC ships with a compendium containing light sources, by all means send me the JSON with the sources in it, using the names in the compendium. I'd love to have it join the party and I'll credit you with the contribution.
The DCC has in its compendium the torch and the flashlight as items, not as light sources...
@marcusadmortati Ah, so the system comes with a compendium of items and the light sources are in it. That sounds like it's an excellent candidate to include. You want to create a custom JSON you can put into your game through the config to try it out, kick the tires, and then pass it back to me to get into the set delivered with the module? (I'll credit you with the contribution in the changelog, of course.)
Right! I'll try here, coding is far from my skill.
I believe what you are asking for is this. I apologize in advance for any errors, I have no coding skills.
{ "dcc": { "system": "dcc", "topology": "standard", "quantity" : "quantity", "aliases": { "Torch, each": "Torch, each",
}
"sources": {
"Torch, each": {
"name": "Torch, each",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
}
}
}, ... }
When I bring up a fresh DCC world, I see two compendia: User Guide and DCC Macros. Where are your items coming from?
No, it comes from the DCC Core Book Compendium.
Ah, okay, I see, it's a Goodman Games premium module. Got it. So that's a bullet-two item and still a good candidate. Unfortunately hard for me to test here without shelling out for the module. :(
What other light sources are there in those items? I see a Lantern. Are there candles as well? Do the rules give the bright/dim distances for each? Any cones, etc.? Can you post JSON with the whole list and verify everything goes on and off using it as an "Additional Light Sources" file? (By the way, you won't need an alias for anything you're doing so far, so you can omit that section.)
It's looking good so far.
Only torch and lantern. They are only listed as equipment, they do not have light parameters. In the system (book), both flashlight and torch use 15' bright, 30 dim and 360º as parameters.
So they have a flashlight as well as a lantern and a torch? But no item for the flashlight? What do they say about the lantern?
My mistake, just a torch and a lantern.
I would presume the flashlight is just MCC, right? And Goodman offers no licensed VTT material for MCC, so MCC stuff is going to be strictly a GM-supplied JSON. (The devil's always in the details, but it sounds like, once we have the light stats for the Lantern and it's tested, we've got just about everything we need to include it.)
That is the question, in the licro itself there are no such parameters. What I'm going to pass on here are the values that the community uses.
Lantern: 15' bright, 30 dim; Torch, each: 15' bright, 30 dim.
There is no official support for MCC yet.
Just as the parameters of the torches and lanterns are supported by the common sense of the DM's, we can arbitrate the MCC lantern...
The advantage of the lantern is the time it stays on.
Okay, so both are comparable in illumination to a PF1 lamp. I presume Lantern should be consumable: false, another advantage. Make the JSON for those, test it, and I'll incorporate it.
I will try to do it.
Done. You will probably find errors...
{ "dcc": { "system": "dcc", "topology": "standard", "quantity" : "quantity", "aliases": { "Torch, each": "Torch, each", "Oil": "Oil"
}
"sources": {
"Torch, each": {
"name": "Torch, each",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
"Oil": {
"name": "Oil",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
}
}
}, ... }
The use of consumable oil as a stand-in for the lantern that consumes it is kind of interesting. I hadn't thought of doing that. The name "Oil" will show up in your light sources rather than the lantern, which is a little strange, but it just might work.
My only misgiving besides the naming: Do you really want to consume a flask of oil every time you light the lantern? Oil usually lasts a lot longer than that - for hours. Remember that this would be going to everyone everywhere who uses dcc and Torch together, so there's more than personal preference / house rules involved. It might be better to use the Lantern but not make it consumable and then let the users keep track of how many hours of oil they're using if it matters in their game. That is essentially what I've done for all the other systems.
In any case, I cleaned up the braces on your JSON and removed the unnecessary aliases. See how the following works for you as a configured "Additional light source". Try using both the torch and the lantern. If they're both behaving, it looks like we have a winner. (Remember, I didn't shell out the $25 for the DCC core rules, so I don't have the compendium and thus can't test it myself.)
{
"dcc": {
"system": "dcc",
"topology": "standard",
"quantity" : "quantity",
"sources": {
"Torch, each": {
"name": "Torch, each",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
},
"Oil": {
"name": "Oil",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
}
}
}
}
I'll try!
Worked!
Correction: the name of oil is Oil, 1 flask***
I think I am going to do the Lantern with consumable: false rather than the "Oil, 1 flask". It's consistent with the approach taken on other systems. Try this, and if it works, we have something I can publish:
{
"dcc": {
"system": "dcc",
"topology": "standard",
"quantity" : "quantity",
"aliases": {
"Lantern": "Oil"
},
"sources": {
"Torch, each": {
"name": "Torch, each",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
},
"Lantern": {
"name": "Lantern",
"type": "equipment",
"consumable": false,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.5,
"animation": { "type": "torch", "speed": 5, "intensity": 2, "reverse": false }
}
]
}
}
},
}
Sound like a plan?
It didn't work, the previous one did.
Do you have the lantern itself in your equipment, or just the oil? And is the name literally "Lantern" or something more? (It's frustrating not being able to try things out myself to see what's going on...)
Oil>Oil, 1 flask*** Lantern> Lantern
I made some adjustments to alpha and intensity in the previous version, it's working. Only instead of the "Torch" animation, it lights up with the "Flickering Light".
The one that works is this one, with the adjustments I made, in intensity and alpha.
{
"dcc": {
"system": "dcc",
"topology": "standard",
"quantity" : "quantity",
"sources": {
"Torch, each": {
"name": "Torch, each",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.2,
"animation": { "type": "torch", "speed": 5, "intensity": 5, "reverse": false }
}
]
},
"Oil, 1 flask": {
"name": "Oil, 1 flask",
"type": "equipment",
"consumable": true,
"states": 2,
"light": [
{
"bright": 15, "dim": 30, "angle": 360, "color": "#ff9329", "alpha": 0.2,
"animation": { "type": "torch", "speed": 5, "intensity": 5, "reverse": false }
}
]
}
}
}
}
To switch light sources, right click on the one button and it gives you a context menu. I picked up your alpha and intensity changes. Looks like type is still "torch" but it looks good. I finally repro'd by supplying custom items with the right names to stand in for the ones in the compendium.
Great! Working here! Excellent job! The interesting thing is that you managed to make a mod change the item's quantities, something that no mod could do in DCC, which is very interesting for any other mod to change the amount of consumables such as arrows and rations.
Happily, DCC handles quantity in exactly the same way as many other systems, so it's just updating the embeddedItem.system.quantity. I'll get a release out. Thanks! You may not be a coder, but now you can say you're a module developer. :)
It wouldn't be possible without you! Thanks! :)
It's up! Thanks for working with me on it.
The mod is excellent! Would it be possible to include DCC (Dungeon Crawl Classics) in the list of systems configured?