Support this project here.
How to use:
Click the Generate Encounter in the actor sidebar to bring up the window
What do the buttons do?
- Encounter Type: This will choose from a number of formulaeic encounter types, based on monster challenge rating/XP. For example:
- Single BBEG: One Big Bad Evil Guy/Gal using the entire encounter budget
- BBEG + 2 Minions: One BBEG and two of the same minions 1/3rd of their CR
- 2 Semi-BBEG: Two of the same type of BBEG
- BBEG + Monster horde: One BBEG and 5 of the same monsters ~1/10th of the BBEG's CR
- BBEG + Random monster horde: One BBEG and 5 different monsters ~1/10th of the BBEG's CR
- Monster horde: 6 of the same monster
- Random monster horde: 6 equal CR monsters
- Random: Completely random algorithm which does the following
- Choose a monster that is within some range of acceptable CR for this encounter
- Choose a quantity of this monster that is within our encounter budget
- Add this monster
- Repeat steps 1-3 until we get close enough to our encounter budget
- Note: If you have other encounter formula types to add, let me know! They are super cheap and easy to add (One line of code!)
- Generate Encounters: Does what it says! This will index your local compendiums you have selected and use them to create encounters! This should run in ~5-20 seconds, depending on the speed of your computer and size of your compendiums.
- You encounters will appear, from here you can do the following:
- Use the star icon to save the encounter for later
- Use the Double Arrow icon (on the right) to spawn the encounter
- Use the Toolbox icon (under the Double Arrow icon) to generate a loot sheet (Item Piles is highly raccomanded for this to look better)
- Drag n Drop any monster to the scene to spawn them or drag n drop any item to an actor to add it to them
- Click the two swords icon to get a combat estimate for this encounter
- Filter Buttons: These buttons will all have similar functionality for allowing you to filter the types of these items for use in encounter generation.
- Treasure Type: Types of loot rarity do we include in the treasure listed? (Note: Only PF2e for the moment)
- Creature Type: Types of creatures we include in our list of encounters to generate
- Environment: Types of environments to choose creatures from. If Any is chosen, this means monsters that either had "Any" listed in their environment list or monsters that had no environment selected.
- Players: The players to choose for identifying encounter CR/XP budgets.
- Compendium: The compendiums to choose monsters/items from for all of the above.
Additionally you can use the searchbar on top to search for encounter name\creatures\items on the left of the searchbox you will find the filter for favorite only and on the right of the searchbox the funnel icon will bring up the compendium configuration window: in this window you can sort and enable\disable compendiums the module will pull from. (Note: This may not work as expected currently. Issue #52)
We will either take the monsters and players listed in the combat dialog or the monsters in the encounter selected and the players from the player filter dialog and attempt to choose the optimal actions for damage in their list of possible actions. We will use AC, Saving Throw modifiers of the enemies of the current combatant to identify how likely an attack is to hit, in addition to calculating the average and expected damage. This can be especially useful for determining difficulty in campaigns with magical items. Please let me know if some player features aren't identified correctly (e.g. Great Weapon Master) or if a Monster's best action/spell or multiattack wasn't parsed correctly.
A creature codex to browse the creatures you have in multiple compendiums and sort, filter by more than just name: XP, creature type, environment, etc.
License / Credits
More info here https://github.com/SortableJS/Sortable
This package is licensed under the Prosperity Public License 3.0.
That means that this package is free to use for non-commercial projects
See https://github.com/Glench/fuzzyset.js for more details