Quote:
Originally Posted by Rasputin
And I download the data files and start poking around.
|
I'm glad to see that things basically make sense to you! I've tried really hard to a) format things to be easy to read and b) name things coherently.
Quote:
Originally Posted by Rasputin
I assume features.js is the file that lets me tweak how often a room has a monster, right?
|
Bingo.
Quote:
Originally Posted by Rasputin
And the weight is the likelihood in the total sum of the weights (currently 249) that it picks the room type?
|
Yep. A pretty standard way of doing "pick randomly from a list" for computers because it's easier to expand on than trying to do a dice-driven table and then squeeze another 5 new ideas in.
Quote:
Originally Posted by Rasputin
It looks like threatDistribution.js gives the probabilities of each relative CR. What does NgtX mean? And what threat distribution is online? How do we switch from one to another?
|
N is from the CER article, which is basically expressing the relationship between the threat of the encounter vs the party's ability to present a threat to the monsters. The bigger N, the easier the encounter. NgtX is a terrible name but I stalled out on how to give it a self documenting name that didn't turn into a big paragraph. I'm open to suggestions - I could have done with putting a note in the file, for sure.
NgtX indicates that N numbers that are greater than this number (that don't already belong to another entry) belong to this entry. The current numbers are the ones from the CER article, as are the descriptions.
So if you have an encounter who's N is 12, it's a nuisance encounter. If it has an N of 1, it's a worthy encounter. It's
specifically greater-than, not greater-than-or-equal-to - an N of exactly 0.5 is Boss, not Worthy.
Quote:
Originally Posted by Rasputin
I do see how you can add different kinds of Specials (using the term from the old Basic Set table) to the generator, adding tables for things like Thrones and Altars and putting the code into features.js.
|
I tried to make it easy to expand for my own laziness, but also to facilitate fiddling with by other people (who could then contribute the new ideas if they felt like it).
Quote:
Originally Posted by Rasputin
I never would have thought of the Atmospheres, so props for that.
|
I have to credit Arrows of Indra's random-level-of-hell generator for reminding me that atmospheric conditions are totally a thing from Ye Olden Days, and GURPS has rules for them (which I pinched for DFRPG).
Quote:
Originally Posted by Rasputin
I like the tags with the traps, to go full librarian.
|
The tag system is not fully utilized yet, but ready and waiting!
Quote:
Originally Posted by Rasputin
I do also see the sizeArea.js file, which does address having enough room to fit your dragon.
|
Yes, but I confess right now the logic doesn't properly check if there's enough room for
everyone - if there's enough room for one dragon, it tends to think there's enough room for 20 dragons.
Quote:
Originally Posted by Rasputin
It's a pity there isn't a full treasure table, however.
|
Yeah. The remote treasure service is a bit unreliable (it's hosted on a free service and they throttle whenever they feel like it) and right now I'm pretty sure I'm hammering on the service pretty bad if someone generates a big dungeon. And of course you need to have an active and reliable internet connection.
I've been meaning to generate a set of a couple of hundred "parcel items" to build some treasure out of if the online generator isn't available. It won't be as exciting but it'll make a do.
Quote:
Originally Posted by Rasputin
My JavaScript is quite rusty (though I did learn some while in tech support), so going through some files like CER_encounter.js isn't wise on my part.
|
The original code from drow (Related to the base map and random number generation, mostly) is entirely undocumented and has some really terrible variable names (he released it "minified", blech). I've been doing my best to clarify it but that's slow going.
I haven't been strict enough in documenting my own code, but I've been trying... some of it is some pretty hairy logic though. I try to refactor once I reach the "It's working but I don't know why" stage though :P