Commit 3e696b67 authored by Andrew's avatar Andrew

Simplify modules page and add glossary

parent cb085ff5
......@@ -22,6 +22,7 @@ roleplaying games in a beautiful and intuitive web-based application.
pages/license
pages/hosting
pages/tutorial
pages/glossary
pages/entities
pages/dice
pages/api
......
.. _glossary:
Core Concepts and Glossary of Terms
***********************************
Entity (Entities)
-----------------
Entities are the formal term used for the first-class objects which comprise the core data model for Foundry VTT.
Each Entity type is stored in a separate database table within your World and implements a unique data model which
is extended by the Game System used in that World. The following list references the Entity types in Foundry VTT.
* User <todo>
* Scene <:ref:`scene`>
* Actor <:ref:`actor`>
* Item <todo>
* Combat <todo>
* ChatMessage <todo>
* JournalEntry <todo>
* Playlist <todo>
* Folder <todo>
Game System
-----------
Game Systems provide the underlying rule-sets and definitions needed to play games by defining the types of entities
(Actors, Items, etc...) and the data they contain. This extends and empowers the core software to incorporate System
specific rules and behaviors. Systems are located inside the ``/app/resources/public/systems`` folder. <:ref:`modules`>
Module
------
Modules enhance or replace functionality of Foundry Virtual Tabletop by extending the behavior of the core software
and Systems to add new content, features, or aesthetics. Modules can contain anything ranging from entirely new tools
to pre-build adventure paths which can be imported into existing Worlds. Modules are located inside the
``/app/resources/public/modules`` folder. <:ref:`modules`>
World
-----
A World represents the combination of many concepts into an actual game session. Each World is a parallel universe,
running a different Game System with different Modules, and containing different Entities. You may only ever have a
single World, or you may build and run games across a multitude of them. Each World contains its own data and is
designed to be portable. Worlds are located inside the ``/app/resources/public/worlds`` folder.
Installation Instructions
*************************
These are the basic setup instructions for manually installing the Foundry VTT application.
.. error:: Foundry VTT is not yet released or available to the public. These instructions are internal for authorized developers!
.. warning:: You will only be able to follow these instructions if you have been granted access to the source code.
Once the project gets closer to release, these steps will be automated as part of a normal application installer.
Windows Application
===================
Follow these steps to install the Foundry VTT software on Windows as a native desktop application.
1. **Install Node.js.** In order to develop the app you will need to install Node.js. You can download installers for
Node from the following URL ``https://nodejs.org/en/download/``.
2. **Create Parent Directory and Clone Repository.** Create a parent directory in a location of your choosing, for
example (in my case) ``D://Games/FoundryVTT``. Clone the contents of this repository into the ``app`` subfolder
of this parent directory.
3. **Download Node-Webkit.** Lastly, you will need to download the contents of Node-Webkit ``https://nwjs.io/``
which provides the application layer. Choose the SDK version so you can debug the server background window.
Download the nwjs archive to the same parent folder ``FoundryVTT`` and extract it as a subfolder named ``nwjs``.
You should now have two subfolders, one named ``app`` and one named ``nwjs``.
4. **Install Dependency Modules.** Go into your app folder, open the command prompt with ``cmd`` and install
dependency node modules using ``npm install``. This may take some time.
5. **Run the Application.** Lastly, we can run the application from the command line using.::
..\nwjs\nw.exe .
**Why is all this necessary?** In a final distributed version this will all be bundled and none of these steps will
be required, but keeping things separate for now is better for development while things are rapidly changing.
Dedicated Server
================
These instructions are for installing Foundry VTT on a Linux host to run as a dedicated headless server.
1. **Install Node.js.** First install node.js, the following is the easiest way for AWS instances.::
sudo yum update -y
sudo yum install -y gcc gcc-c++ make openssl-devel
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs
2. **Clone the Repository.** Pull the repository contents to a directory of your choice, in this case I use
``${HOME}/foundryvtt``.::
cd ~
sudo yum install -y git
git clone https://gitlab.com/foundrynet/foundry-vtt.git foundryvtt -b master
3. **Install dependency packages.** Use ``npm`` to install all the required packages.::
cd foundryvtt
npm install
npm audit fix --force
4. **Run the server.** We can start the server using the basic Node invocation but passing the `--headless` flag.::
node main.js --headless
.. _modules:
Featured Game Systems and Modules
*********************************
Installing Game Systems and Modules
***********************************
Foundry Virtual Tabletop prides itself on providing a platform for community developers to use their skills in HTML,
JavaScript, and CSS to create modules which enhance or extend platform functionality. This page celebrates some of
many excellent community-developed modules that are available now for use with Foundry VTT.
.. contents:: Tutorial Contents
:depth: 1
:local:
:backlinks: top
Foundry Virtual Tabletop provides a strong platform for community developers to use skills in HTML, JavaScript, and
CSS to create modules or entire game systems which extend and enhance platform functionality. This page describes where
to find modules and systems and how to install them for use in Foundry VTT.
-------
Dungeons & Dragons 5th Edition
==============================
The D&D5e system comes bundled with the base Foundry VTT installation, however you may also access the source code,
view open issues, or submit pull requests here: https://gitlab.com/foundrynet/dnd5e
D&D Beyond Character Importer
-----------------------------
https://github.com/sillvva/foundry-vtt-modules/tree/master/ddb-importer
This module allows for you to import a character from D&D Beyond and create a player character Actor in Foundry VTT.
This is extremely useful for players who use D&D Beyond as a campaign management tool as you can update existing
actors using data stored in D&D Beyond.
Roll20 NPC Importer
-------------------
https://github.com/syl3r86/roll20npcimporter
This module is capable of importing JSON data of NPCs that has been exported from the Roll20 platform if you are using the
Shaped or OGL Sheet.
FVTT Enhancement Suite
----------------------
https://github.com/sillvva/foundry-vtt-modules/tree/master/fvtt-enhancement-suite
One of the first D&D5e modules for FVTT! The enhancement suite adds the ability to define and store custom chat macros
which can be posted to chat and evaluated against the data of a controlled Token.
Game Systems
============
Game Systems provide the underlying rule-sets and definitions needed to play games by defining the types of entities
(Actors, Items, etc...) and the data they contain. This extends and empowers the core software to incorporate System
specific rules and behaviors. To discover additional game Systems which are available for use or for testing, please
browse the Community Wiki Page here: https://foundry-vtt-community.github.io/wiki/Community-Game-Systems/
Better NPC Sheet
----------------
https://github.com/syl3r86/BetterNPCSheet5e
This module redesigns the NPC character sheet in the D&D5e system to visually represent the classic printed book style
that is used in official modules and sources.
Spell Compendium Browser
------------------------
https://github.com/syl3r86/Spell-Browser
This module extends the compendium functionality in the D&D5e system to offer more rich browser functionality that
allows you to search and filter by various spell characteristics including level, class, spell school, casting time,
and more!
NPC Compendium Browser
----------------------
https://github.com/syl3r86/npc-browser
This module extends the compendium functionality in the D&D5e system to offer more rich browser functionality that
allows you to search and filter NPCs via various filters like challenge rating, type, size, and more!
Spellbook Tweaker
-----------------
System Installation Process
---------------------------
https://github.com/syl3r86/Spellbook-Tweaker
To install a new game System for Foundry Virtual Tabletop, follow these steps:
This module adds some quality-of-life improvements to the way that the spellbook is displayed on character sheets in
the D&D5e system.
1. Download the .zip archive of the System from the provided location.
2. Extract the zip archive into the ``/resources/app/public/systems`` folder. The folder name for each
installed System must match exactly with it's canonical name, and take care that an extra layer of folder nesting
was not inadvertently added by the extraction process. For example, if installing the System for Dungeons & Dragons
5th Edition (dnd5e), you would end up with a file path that looks like
``/resources/app/public/systems/dnd5e/system.json``.
3. Restart Foundry Virtual Tabletop.
4. Confirm that the installed System is now available for selection when creating a new World.
Changing the System of an Existing World
----------------------------------------
Item Card Sounds
----------------
.. warning::
There is (currently) no guaranteed or officially supported method for migrating an existing World from one game
System to another. The following steps may introduce errors or data loss. Be sure to copy your original world first
in case this procedure does not work. Do this at your own risk.
https://gitlab.com/moerills-fvtt-modules/item-sounds
The Item Card Sounds module allows you to assign a particular audio file to weapons, spells, or other types of "items"
in the D&D5e system. This will allow those sound effects to play automatically when a particular spell or weapon is
played to the chat log.
Favourite Item Tab
------------------
https://github.com/syl3r86/favtab
Adds a Favourite tab to display a customized list of items, feats and spells. Usable with the default dnd5e Character sheet.
You can add any item from the inventory, spellbook or feature section of the Charactersheet. This module also gives access to item charges.
You can add these to any item on the favourite list or remove them by changing the maximum to 0.
This uses the same data that is used by Moerill#7205's adnd5e module, since this data is not supported by default.
Polymorpher
-----------
https://github.com/syl3r86/polymorpher
A module for Foundry VTT that lets you polymorph characters into any other character!
Just drag any Actor (NPC or Character) ontop of another Actor to change the later into the prior.
Support droping both from Compendium or the sidebar.
-------
Pathfinder (Original)
=====================
The Pathfinder system comes bundled with the base Foundry VTT installation, however you may also access the source
code, view open issues, or submit pull requests here: https://gitlab.com/foundrynet/pathfinder
To change the System used by an existing World, follow these steps.
1. Acknowledge the warning message written at the top of this section, and understand this is a potentially risky
process.
2. Open the ``world.json`` file in a text editor.
3. Change the ``"system"`` field to the canonical name of your desired new System.
4. Set the ``"systemVersion"`` field to ``0`` (the value zero) to force a System migration next time that world is
loaded.
5. Restart Foundry Virtual Tabletop and attempt to load the world.
-------
Modules
=======
System Agnostic Modules
=======================
The following modules will work with any game system.
Modules enhance or replace functionality of Foundry Virtual Tabletop by extending the behavior of the core software
and Systems to add new content, features, or aesthetics. Modules can contain anything ranging from entirely new
tools to pre-build adventure paths which can be imported into existing Worlds.
SVG Wall Loader - Supports Dungeon Fog!
---------------------------------------
To discover the broad range of modules which are currently available and under development please browse the Community
Wiki page https://foundry-vtt-community.github.io/wiki/Community-Modules/.
https://gitlab.com/moerills-fvtt-modules/svg-loader
The SVG Wall loader is capable of importing a SVG file which defines the walls, doors, and light sources from a .svg
file. This SVG spec can be generated by a large number of systems, but in particular the module features out-of-the-box
support for DUNGEONFOG. You can learn more about Dungeon Fog on our :ref:`partnerships` page.
System Installation Process
---------------------------
Token Randomizer
----------------
To manually install modules, follow these steps.
https://gitlab.com/moerills-fvtt-modules/token-randomizer
1. Download the .zip archive of the Module from the provided location.
2. Extract the zip archive into the ``/resources/app/public/modules`` folder. The folder name for each
installed System must match exactly with it's canonical name, and take care that an extra layer of folder nesting
was not inadvertently added by the extraction process. For example, if installing the SVG Loader (svg-loader)
module, the resulting file path should be ``/resources/app/public/modules/svg-loader/module.json``.
3. Restart Foundry Virtual Tabletop.
4. Confirm that the installed Module is now available for selection in the Module Management panel of your World.
This module adds a variety of flexible options for randomising Token properties when the Token is first placed into a
Scene. The module supports random selection from a set of token artwork, automatic prefix addition, numeric name
indexing, or (if using the D&D5e system) randomizing Token health based on the formula defined by the base Actor.
Compendium Importer
-------------------
https://github.com/PaulEndri/fvtt-compendium-importer/tree/master/compendium-importer
The compendium importer module allows for you to export an entire Foundry VTT compendium pack to a JSON file which
can be saved locally. The module also includes the functionality to re-load a compendium from existing JSON so that
content can be easily shared between users. Fantastic!
Display Mode
------------
Module Management
-----------------
https://github.com/syl3r86/displaymode
Module are not automatically activated. Different modules are supported under different Systems, and each World may
independently choose the set of Modules which are used within it. Modules can even be toggled on or off for different
game sessions. To manage these preferences, activate the Module Management panel within your World through the Settings
tab of the Sidebar.
Hide all those pesky display elements you don't need for using foundry on the table.
Hides the Sidebar, Navigation (scene links at the top of the page), navigation (control buttons on the left side of the page) and the connected player indicator.
Toggles visibility of all those via clicking the anvil icon in the top left corner.
\ No newline at end of file
Each installed and compatible Module is listed here, selecting or un-selecting the checkbox to the left of the module
will toggle whether the module is active within the world.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment