Skip to content

ElfFriend-DnD/FoundryVTT-Encounter-Builder

 
 

Repository files navigation

A Vue-powered Foundry-Native Encounter Builder

Dungeon Moon allows GMs to quickly and easily build fair encounters in their systems, using all available Actors in the world and compendiums as well as the loaded Party information to make the process a breeze to use. Encounters can be spawned into the world with just a quick button click.

Current Supported Systems: Toolkit13 (13th Age compatible), PF2E

Planned Supported Systems: DND 5e

Want to be on this list? Reach out to me on Discord: cswendrowski#9701

🌑Dungeon Moon is currently under active development, with Alpha builds and Early Access Beta builds available at https://www.patreon.com/ironmoose

How to add a system

Implement the following JS

  • histogramStep - what step the histogram should show results in
  • histogramLabelPrettify(level) - a pretty label for the level, if needed
  • getPlayerCharacters - return list of PC actors
  • getNpcs - return list of enemy Actors
  • filterCompendiumActors(pack, packActors) - given a compendium pack being loaded, filter out any desired actors
  • filterAvailableActors(availableActors, filters) - given a list of actors, return a reduced list based on system-specific filters
  • getActorSource(actor) - defaults to returning source compendium / folder, overridable to whatever you prefer for your system
  • getUniqueKey(actor, partyInfo, encounterSettings) - a unique identifier for this actor + party info, used for vue cache breaking *getEncounterScore(actor, partyInfo) - return how expensive this unit is towards a fair fight
  • getSafeLevel(actor) - return the level of the

Example: https://github.com/cswendrowski/FoundryVTT-Encounter-Builder/blob/master/scripts/thirteenth-age.mjs

Implement the following Vue components

  • actor - a display of the actor in the results
  • encounterSettings - any additional settings that impact the encounter calculation, such as double-strength
  • encounterSummary - Display total of the selected encounter, such as "total exp" or "total Encounter score"
  • filters - Any additional filters for searching
  • selectedActor - A display for a selected actor in the encounter

Examples: https://github.com/cswendrowski/FoundryVTT-Encounter-Builder/tree/master/vue/components/13th-age

About

A Vue-powered Encounter Builder

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Vue 47.3%
  • JavaScript 37.1%
  • SCSS 14.8%
  • Handlebars 0.8%