diff --git a/FightClub5eXML/CHANGELOG.md b/FightClub5eXML/CHANGELOG.md index d8f22c4..7fd5a36 100644 --- a/FightClub5eXML/CHANGELOG.md +++ b/FightClub5eXML/CHANGELOG.md @@ -1,6 +1,11 @@ ## CHANGE LOG +### 2020-01-28 + +Added and separated Artificer and Artificer (UA) spells. + + ### 2020-01-25 Added Artificer class from Eberron: Rising from the Last War. diff --git a/README.md b/README.md index 686bec5..aef2645 100644 --- a/README.md +++ b/README.md @@ -21,21 +21,87 @@ If you'd like to contribute, feel free to fork the repository and submit pull re * The files in Collections define which sources are merged into their own Compendium XML. * When the master branch is updated, Travis CI validates the XML, builds the Compendiums, and deploys to Dropbox. +### Adding a Source + +New material is added to D&D 5e quite frequently, especially through Unearthed Arcana which is typically used for beta testing. Keeping each source in its own file makes it easier to add new content and select which sources you want to include in your Compendium. + +Each source is like its own Compendium, and could potentially be imported on its own, with two exceptions (classes and spells) which are explained below. The structure of the XML file should be: + +```xml + + + + + + + + + + +``` + +Add the specific elements under the appropriate comment (e.g. `...` goes under ``). See the Fight Club Import Tutorial for the format of each element, or use our existing sources as a foundation. You can also check out the schema we use for validation in `Utilities/compendium.xsd`. + +When merged with other sources (see "Build Your Own Compendium" below), items, races, feats, backgrounds, and monsters are all added to the resulting Compendium. It's recommended that subraces be added as their own race. Classes and spells, however, are merged when their names match, making it easier to add subclasses without modifying existing sources. + +#### Subclasses + +Adding a subclass in Fight Club is as easy as adding new `` tags to a class. When selecting sources for a Compendium, the merge finds classes with matching `` tags and appends the `` tags to the end. + +```xml + + Barbarian + + ... + + ... + +``` + +Because the rest of the class data is not included, this means you would need to include the original source of the class in your Compendium as well. + +#### Spells + +In the Fight Club compendium, spell lists are defined by the spell, not the class. If you want to add a spell to a class list, you would need to modify the spell's `` tag. This can be done without modifying the original spell by adding only the name and new class in your source XML. During the Compendium merge, the value of `` is concatenated to any matching spells. + +New source: + +```xml + + Acid Splash + Artificer + +``` + +Resulting merge with original source: + +```xml + + Acid Splash + 0 + C + ... + Fighter, Rogue, Sorcerer, Wizard, Artificer + ... + +``` + +Just like classes, the original source would be required in order for the full spell details to appear in the Compendium. ### Manual Validation -While you add to XML files, you can manually validate the XML to catch any errors. +While you add to XML source files, you can manually validate the XML to catch any errors. You can find an online XML Linter or use xmllint in the command line. The schema files are in the Utilities folder. Here is an example, running xmllint at the top level of the repo, using the compendium schema to validate an xml file in Sources: ```bash -xmllint --noout --schema Utilities/compendium.xsd FightClub5eXML/Sources/CorePlusUnearthedArcana.xml +xmllint --noout --schema Utilities/compendium.xsd FightClub5eXML/Sources/CoreRulebooks.xml ``` -## Build your own Compendium +## Build Your Own Compendium ### Create a collection file