Giter VIP home page Giter VIP logo

homebrew's Introduction

Homebrew JSONs compatible with 5etools. The editor will be expanded to support more content types Eventually:tm:.

Getting Brew (automatically)

  1. Hit the "Manage Homebrew" button (if available) on a 5etools page.
  2. "Get Homebrew"
  3. Click to add. Currently, the list only displays items from this repository.

Getting Brew (manually)

  1. Browse for the file you want
  2. Click "Raw" (top-right) and save it as .json
  3. Load into 5etools via the Brew Manager

Getting Help

Join the 5etools Discord Server, and ask in the #brew conversion channel.

Requesting Additions/Updates

Join the 5etools Discord Server, and see the pinned message format in the #brew conversion channel. You can vote for your conversion request, or those of others, in the #brew-tracker channel.

Creating and Contributing

Note: one large advantage of contributing to this repo, is that your files will be kept up-to-date as changes are made to the main site.

  • The easiest way to make your own is to copy one of the existing 'brews as a template and use the main 5etools data as a reference.
    • The schemas for homebrew data can be found here
  • Contributions are welcome. For the GitHub-literate, make a pull request.* For everyone else, create an Issue and post a link to your file (PasteBin is fine), and I (or other maintainers, in future) can add it for you.

* See the article here for a how-to.

Conventions to Follow

There are a few conventions used which should be followed when creating homebrew:

  • Use tabs over spaces, "LF" as end-of-line, and UTF-8 (without BOM) encoding.
  • Format filenames as "Author Name; Homebrew Name.json"
  • Use a unique "json" source name; they should be uniquely identifiable across all homebrew. For example, for the hypothetical book "A History Of Dragons" by "A. N. Other," a sensible source name would be "ANOtherHistoryOfDragons". Note that this text is never displayed, so can be as long and as ugly as required. While this is not enforced, we reserve the right to change data as required to avoid naming conflicts.
  • Use https://github.com/TheGiddyLimit/homebrew as the source URL for sources without one.
  • Only include content authors in the source "author" field; conversion credit should be given in a "convertedBy" field (with the same format).
  • Include a "dateAdded" property in file metadata, which is a Unix timestamp (in seconds) at which the file was added. See here for an example of the structure; an example timestamp would be 1537874753. You can view and copy the current Unix time here.

Useful links

homebrew's People

Contributors

ambynavy avatar austinyw avatar badooga avatar billiam9420 avatar blackflighter avatar bucketlistmod avatar chasarooniz avatar crazierivan avatar desorda avatar drunkenyoda avatar dwhyte11 avatar emberheartshine avatar foxfire94 avatar git-gor avatar hakr14 avatar ineedanamepls avatar kevindwitama avatar lxran avatar maalunar avatar mothben avatar mrvauxs avatar nova-katt avatar p4535992 avatar revilowaldow avatar seuronao avatar spappz avatar surged20 avatar thegiddylimit avatar trunzoc avatar tylermac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebrew's Issues

ffxiv x dnd5e Dancer import error

Was importing silentsoren;5th edition dnd x ffxiv into my foundry world and Dancer was giving me this error on import.

UtilApplications.js:1 Plutonium | Task "Dancer (FFXIV5E)" failed Error: Unhandled tag "conditon"
at Object.Parser.getTagSource (parser.js:2839)
at Object.unpackUid (utils.js:2148)
at Renderer._renderString_renderTag (render.js:1676)
at Renderer._renderString (render.js:1191)
at Renderer._recursiveRender (render.js:337)
at Renderer._renderTable (render.js:532)
at Renderer._recursiveRender (render.js:279)
at Renderer._renderEntriesSubtypes (render.js:641)
at Renderer._renderEntries (render.js:603)
at Renderer._recursiveRender (render.js:276)

Flavor Text for items

Request to support allowing fluff for items to add possible description, history, flavour text, and/or an image for magic items.

Homebrew Import Failed

I tried importing a lvl 4 Alternate Sorcerer from LaserLlama's Homebrew, which is included in the master homebrew respo. Here is the log from console:

UtilApplications.js:1 Plutonium | Task "Alternate Sorcerer (LLAS)" failed TypeError: Cannot read property 'type' of null
at Renderer._renderTable (render.js:523)
at Renderer._recursiveRender (render.js:297)
at Renderer._renderEntriesSubtypes (render.js:665)
at Renderer._renderEntries (render.js:627)
at Renderer._recursiveRender (render.js:294)
at Renderer._renderEntriesSubtypes (render.js:665)
at Renderer._renderEntries (render.js:627)
at Renderer._recursiveRender (render.js:294)
at Renderer.recursiveRender (render.js:260)
at Renderer.render (render.js:2019)

Not sure what any of that means, sorry.

Plutonium imprt Fails

i tried to import a few npc´s via the import wizard but it didnt work
this is the console log:
Plutonium | Pre-caching item lookup...
DataConverterItem.js:1 Plutonium | Pre-caching complete.
UtilApplications.js:1 Plutonium | Task "Szoldar Szoldarovich (CR 2) (CoS)" failed TypeError: Cannot read property 'NONE' of undefined
at Function._pGetItemItem_getAttunedIdentifiedEquipped (DataConverterItem.js:1)
at Function.pGetActionWeaponDetails (DataConverterItem.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAddWeapon (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAction (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pActions (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems (ImportListCreature.js:1)
at async ImportListCreature.pImportEntry (ImportListActor.js:1)
at async UtilApplications..pRun (UtilApplications.js:1)
at async Function.pRunTasks (UtilApplications.js:1)
at async ImportListCreature._pHandleClickRunButton (ImportList.js:1)
pRun @ UtilApplications.js:1
ImportListActor.js:1 Plutonium | Importing npc "Gar Shatterkeel" (from "PotA")
foundry.js:2475 DEBUG | Calling preCreateActor hook with args:
foundry.js:2476 Array(3)
foundry.js:2450 DEBUG | Calling createActor hook with args:
foundry.js:2451 Array(3)
foundry.js:29510 Foundry VTT | Created Actor with id ahZ0HV1xnLfXOcqg
foundry.js:2475 DEBUG | Calling getActorDirectoryFolderContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling getActorDirectoryEntryContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling renderActorDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarTab hook with args:
foundry.js:2476 Array(3)
UtilApplications.js:1 Plutonium | Task "Gar Shatterkeel (CR 4) (PotA)" failed TypeError: Cannot read property 'ATTUNED' of undefined
at ImportListCreature._pImportEntry_pFillItems_pAddWeapon (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAction (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pActions (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems (ImportListCreature.js:1)
at async ImportListCreature.pImportEntry (ImportListActor.js:1)
at async UtilApplications..pRun (UtilApplications.js:1)
at async Function.pRunTasks (UtilApplications.js:1)
at async ImportListCreature._pHandleClickRunButton (ImportList.js:1)
at async HTMLButtonElement. (ImportList.js:1)
pRun @ UtilApplications.js:1
ImportListActor.js:1 Plutonium | Importing npc "Faroul" (from "ToA")
foundry.js:2475 DEBUG | Calling preCreateActor hook with args:
foundry.js:2476 Array(3)
foundry.js:2450 DEBUG | Calling createActor hook with args:
foundry.js:2451 Array(3)
foundry.js:29510 Foundry VTT | Created Actor with id Ln2fE7VChlXhLEIS
foundry.js:2475 DEBUG | Calling getActorDirectoryFolderContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling getActorDirectoryEntryContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling renderActorDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarTab hook with args:
foundry.js:2476 Array(3)
UtilApplications.js:1 Plutonium | Task "Faroul (CR 2) (ToA)" failed TypeError: Cannot read property 'NONE' of undefined
at Function._pGetItemItem_getAttunedIdentifiedEquipped (DataConverterItem.js:1)
at Function.pGetActionWeaponDetails (DataConverterItem.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAddWeapon (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAction (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pActions (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems (ImportListCreature.js:1)
at async ImportListCreature.pImportEntry (ImportListActor.js:1)
at async UtilApplications..pRun (UtilApplications.js:1)
at async Function.pRunTasks (UtilApplications.js:1)
at async ImportListCreature._pHandleClickRunButton (ImportList.js:1)
pRun @ UtilApplications.js:1
ImportListActor.js:1 Plutonium | Importing npc "Jobal" (from "ToA")
foundry.js:2475 DEBUG | Calling preCreateActor hook with args:
foundry.js:2476 Array(3)
foundry.js:2450 DEBUG | Calling createActor hook with args:
foundry.js:2451 Array(3)
foundry.js:29510 Foundry VTT | Created Actor with id NsnnlN1Vho3K4pbs
foundry.js:2475 DEBUG | Calling getActorDirectoryFolderContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling getActorDirectoryEntryContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling renderActorDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarTab hook with args:
foundry.js:2476 Array(3)
UtilApplications.js:1 Plutonium | Task "Jobal (CR 2) (ToA)" failed TypeError: Cannot read property 'NONE' of undefined
at Function._pGetItemItem_getAttunedIdentifiedEquipped (DataConverterItem.js:1)
at Function.pGetActionWeaponDetails (DataConverterItem.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAddWeapon (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pAction (ImportListCreature.js:1)
at async ImportListCreature._pImportEntry_pFillItems_pActions (ImportListCreature.js:1)
at async ImportListCreature.pImportEntry_pFillItems (ImportListCreature.js:1)
at async ImportListCreature.pImportEntry (ImportListActor.js:1)
at async UtilApplications..pRun (UtilApplications.js:1)
at async Function.pRunTasks (UtilApplications.js:1)
at async ImportListCreature.pHandleClickRunButton (ImportList.js:1)
pRun @ UtilApplications.js:1
foundry.js:2475 DEBUG | Calling getActorDirectoryFolderContext hook with args:
foundry.js:2476 Array(2)0: S.fn.init [section#actors.sidebar-tab.sidebar-directory.tab.flexcol.active]1: (6) [{…}, {…}, {…}, {…}, {…}, {…}]length: 2__proto
: Array(0)
foundry.js:2475 DEBUG | Calling getActorDirectoryEntryContext hook with args:
foundry.js:2476 Array(2)
foundry.js:2475 DEBUG | Calling renderActorDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarDirectory hook with args:
foundry.js:2476 Array(3)
foundry.js:2475 DEBUG | Calling renderSidebarTab hook with args:
foundry.js:2476 Array(3)
foundry.js:2450 DEBUG | Calling canvasPan hook with args:
foundry.js:2451 Array(2)

did i do something wrong or is this a bug?

Enrichment of the "homebrew builder"

This is not a bug, it is just an enrichment of the "homebrew builder" that I would like to have integrated but it is more a desire than anything else.

On the "Abilities" tab on the spellcasting trait the possibility to set info about:

Spellcasting Ability (None,Strength,Dexterity,Constitution,Intelligence,Wisdom,Charisma) (String)
Global Magic Attack Modifier (Integer)
Magic Caster Level (String)
Spell Save DC Mod (Integer)

for a better Roll20 integration.

On the "Abilities" tab on the actions trait for the generate attack add a "Description" text of the saving throw on weapon.

For example :

Ranged Weapon Attack: +5 to hit. range 30/120 ft., one creature. Hit: 6 (1d6 + 3) piercing damage and the target must succeed on a DC 13 Constitution saving throw or be poisoned for 1 hour. If the saving throw fails by 5 or more, the target is also unconscious while poisoned in this way. The target wakes up if it takes damage or if another creature takes an action to shake it awake.

Greetings.

Lingering soul class' phantom calling features at wrong levels

When selected either of three Lingering soul's subclasses it's features shows at wrong levels. It's expected to have a phantom calling feature at 1st, 6th, 11th and 15th levels but appears at 6th, 11th, 15th and 18th, even when the feature description says at what level it suppose to be.
I mean I'm reading 6th lvl and feature be like "no bro it's 1st".

Updating T&M

Walrock's Homebrew Traders & Merchants has been updated in August 2nd, 2020 with much more expanded tables, sources, additional rulings and merchant gimmicks.

Specific Chapters to be finished:

  • Traders & Merchants Chapter
  • Merchants & Merchandise Chapter
  • Merchant Inventories Chapter
  • Legendary Merchants Chapter

Specific Tables to be finished:

  • Merchant Inventories ...................10
  • Alcohol and Refreshment.................10
  • Animals ................................................12
  • Books and Maps.................................14
  • Flowers and Seeds ............................16
  • Food and Animal Products ..............18
  • Furniture and Interior Decor...........20
  • High Fashion.......................................22
  • Jewelry and Gems ..............................24
  • Knick-Knacks......................................26
  • Leatherworking..................................28
  • Mechanical Contraptions .................30
  • Medium and Heavy Armor ...............32
  • Potions, Poisons, and Herbs ...........34
  • Religious Idols and Blessings..........36
  • Songs and Instruments ....................38
  • Spell Scrolls and Tomes...................40
  • Thieving Supplies ..............................42
  • Tools......................................................44
  • Vehicles and Transportation ............46
  • Weapons...............................................48
  • Legendary Merchants ..................50
  • Astral Traveler.....................................50
  • Enchantments.....................................52
  • Fey Bargains........................................54
  • Magic Items.........................................56
  • Magical Creatures..............................58
  • Necromancy ........................................60
  • Needful Things ...................................62
  • Time-Lost.............................................64

Compendium of Forgotten Secrets Issue: Familiars

Familiars (while having the right Tag for the stat block) don't show up when using with the "Familiar" filter under Miscellaneous category (which is the filter that shows all the canonical familiars)

Schema for adding traits without having to attach them to creatures.

from the discord

hafdon Yesterday at 11:51 PM
I see that creature traits are indexed so they show up in the [Add Predefined Traits] modal in the makebrew. Is there a way to add traits without attaching them to creatures?

SupportToday at 12:09 AM
That's kinda what I'm working on getting to Giddy - a list of all the traits /etc for them from all the sources

Error when importing SilentSoren; 5th Edition D&D x Final Fantasy XIV - Classes and Races Compendium.json into FoundryVTT

Been trying to import the SilentSoren; 5th Edition D&D x Final Fantasy XIV - Classes and Races Compendium.json file into FoundryVTT, only selecting the content I'm allowing in my game, and when trying to import the Gunbreaker class and subclasses, it errors out on importing the Breaker archetype, saying

Plutonium | Importing class "Gunbreaker" (from "FFXIV5E")
foundry.js:9682 Foundry VTT | Created Item with id MP2SdMIxNZJEUmZk
UtilApplications.js:1 Plutonium | Task "Gunbreaker (FFXIV5E)" failed TypeError: Cannot read property 'includes' of undefined
    at Renderer._renderString_renderTag (render.js:1267)
    at Renderer._renderString (render.js:1148)
    at Renderer._recursiveRender (render.js:336)
    at Renderer._renderEntriesSubtypes (render.js:620)
    at Renderer._renderEntries (render.js:587)
    at Renderer._recursiveRender (render.js:276)
    at Renderer._renderEntriesSubtypes (render.js:620)
    at Renderer._renderEntries (render.js:587)
    at Renderer._recursiveRender (render.js:276)
    at Renderer._renderEntriesSubtypes (render.js:620)
foundry.js:3855 Foundry VTT | Rendering ChooseImporter
foundry.js:3855 Foundry VTT | Rendering Application
ImportListClass.js:1 Plutonium | Importing subclass "Breaker Style" (from "FFXIV5E")
UtilApplications.js:1 Plutonium | Task "Breaker Style (FFXIV5E)" failed TypeError: Cannot read property 'includes' of undefined
    at Renderer._renderString_renderTag (render.js:1267)
    at Renderer._renderString (render.js:1148)
    at Renderer._recursiveRender (render.js:336)
    at Renderer._renderEntriesSubtypes (render.js:620)
    at Renderer._renderEntries (render.js:587)
    at Renderer._recursiveRender (render.js:276)
    at Renderer._renderEntriesSubtypes (render.js:620)
    at Renderer._renderEntries (render.js:587)
    at Renderer._recursiveRender (render.js:276)
    at Renderer._renderEntriesSubtypes (render.js:620)

What could be causing it? And can it be fixed easily?

Bronze Automaton from Odyssey of the Dragonlords

{
"_meta": {
"sources": [
{
"json": "ArcanumWorldsOdysseyoftheDragonlords",
"abbreviation": "OotD",
"full": "Arcanum Worlds; Odyssey of the Dragonlords",
"url": "https://www.dmsguild.com/product/285960/Odyssey-of-the-Dragonlords-Adventure-Book",
"authors": [
"James Ohlen",
"Jesse Sky"
],
"convertedBy": [
"TheDude"
]
}
],
"dateAdded": 1606277012,
"dateLastModified": 1606277012
},
"monster": [
{
"name": "Bronze Automaton",
"source": "ArcanumWorldsOdysseyoftheDragonlords",
"page": 364,
"size": "M",
"type": "construct",
"alignment": [
"U"
],
"ac": [
{
"ac": 17,
"from": [
"natural armor"
]
}
],
"hp": {
"formula": "8d8 + 24",
"average": 60
},
"speed": {
"walk": 30
},
"str": 16,
"dex": 10,
"con": 16,
"int": 9,
"wis": 10,
"cha": 10,
"save": {
"str": "+3",
"con": "+3",
"int": "-1"
},
"senses": [
"darkvision 120 ft."
],
"passive": 10,
"immune": [
"lightning",
"poison",
"psychic"
],
"conditionImmune": [
"charmed",
"exhaustion",
"frightened",
"paralyzed",
"petrified",
"poisoned"
],
"languages": [
"Speak the languages of its creator"
],
"cr": "4",
"trait": [
{
"name": "Death Throes",
"entries": [
"When the bronze automaton dies, there is a 50% chance that it explodes in a conflagration of fire and lightning. Each creature within 5 feet of it must make a {@dc 15} Dexterity saving throw, taking 17 ({@damage 5d6}) fire damage and 17 ({@damage 5d6}) lightning damage on a failed save, or half as much on a successful one."
]
},
{
"name": "Immutable Form",
"entries": [
"The bronze automaton is immune to any spell or effect that would alter its form."
]
},
{
"name": "Magic Resistance",
"entries": [
"The bronze automaton has advantage on saving throws against spells and other magical effects."
]
},
{
"name": "Magic Weapons",
"entries": [
"The bronze automaton's weapon attacks are magical"
]
},
{
"name": "Martial Advantage",
"entries": [
"Once per turn, the bronze automaton can deal an extra 10 ({@damage 3d6}) damage to a creature it hits with a weapon attack if that creature is within 5 feet of an ally of the bronze automaton that isn't {@condition incapacitated}."
]
}
],
"action": [
{
"name": "Multiattack",
"entries": [
"The bronze automaton makes two glaive attacks."
]
},
{
"name": "Glaive",
"entries": [
"{@atk mw} {@hit 6} to hit, reach 10 ft., one target. {@h}9 ({@damage 1d10 + 3}) slashing damage."
]
}
],
"fluff": {
"entries": [
"Bronze automatons are constructed using mechanical and magical techniques that are passed down by the gods. They are built for war and little else. They need constant repairs and maintenance or else they begin to break down. This means that they cannot be left as unattended guardians for longer than a few years.",
"Constructed Nature. Bronze automatons are the ultimate soldiers. They don’t age, and they don’t need air, food, drink, or sleep. They are built for the sole purpose of fighting until they are destroyed.",
"Explosive Power. Bronze automatons are powered by a mixture of elemental fire and bottled lightning. When an automaton is destroyed, this mixture of elemental energy can be released in the automaton’s death throes with catastrophic results to anyone standing close to them. Luckily, bronze automatons are immune to lightning and resistant to fire, otherwise these explosions might lead to chain reactions that could obliterate an entire legion of the automatons."
]
},
"tokenUrl": "https://imgur.com/SFU7kV5",
"traitTags": [
"Death Burst",
"Immutable Form",
"Magic Resistance",
"Magic Weapons"
],
"senseTags": [
"SD"
],
"actionTags": [
"Multiattack"
],
"damageTags": [
"F",
"L",
"S"
],
"miscTags": [
"AOE",
"MW",
"RCH"
]
}
]
}
Bronze Automaton
Brone Automaton

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.