Code Monkey home page Code Monkey logo

5e-monsters's Introduction

Kobold Fight Club

Finding Extra Content

A curated list of extra content is available here. Additionally, anyone can submit extra content to the stickied thread on /r/asmor

Adding your own custom content to Kobold Fight Club

Links:

  1. Make a copy of the template
    1. Go to the template
    2. Make sure you're logged into a Google account
    3. Click File -> Make a copy
  2. There are two sheets in the template. You'll need to fill out both sheets.
    • See the master sheet for examples of how to fill out the sheets
    • Specific notes for Monsters sheet
      • fid must be unique for each monster, and should be derived from the monster's (exact!) name. The format of fid is "source.name", where source is a short code for the source the monster comes from and name is its name, with all special characters removed and dashes seperating words. For example, consider these two monsters:
        • Aerisi Kalinoth
          • fid: apoc.aerisi-kalinoth
        • Aerisi Kalinoth (in lair)
          • fid: apoc.aerisi-kalinoth-in-lair
        • These are actually the same monster, except one is the monster in its lair and one is not. Since the monster has a higher CR in its lair, it gets a separate entry.
        • This monster is in the Princes of the Apocalypse supplement. All monsters from this supplement use the apoc code, which I chose arbitrarily. The important thing when choosing this code is that it is unique (no two sources should have the same code).
        • If a monster is in multiple sources, choose the "most important" one and use the code from that. For example, all the monsters in the basic rules are also in the Monster Manual, which is the more important source, so they all use the mm code.
        • Finally, note how "Aerisi Kalinoth (in lair)" is translatd to aerisi-kalinoth-in-lair. All punctuation is removed, hyphens are placed between each word, and it's written entirely lower-case.
      • The alignment field is very flexible. Whatever you write will be presented to the user as-is in the alignment field in KFC. However, it will also attempt to parse what you've written to determine what alignments are allowed. You can include multiple alignments by separating them by commas or the word or. You can also use terms like "any good", "non-evil", etc.
      • environments is a comma-separated list of environments the monster can be found in. Allowed environments are:
        • aquatic
        • arctic
        • cave
        • coast
        • desert
        • dungeon
        • forest
        • grassland
        • mountain
        • planar
        • ruins
        • swamp
        • underground
        • urban
      • lair, legendary, and unique are all qualities the monster entry might have. If a monster has that quality, you should put that word in that column (e.g. if a monster is unique, write "unique" in that column). Otherwise leave that column blank.
        • lair means the monster is being encountered in its lair. Often monsters will have a different CR when in their lair, so you'll have two entries for the monster; one in lair, one not. You should also include (in lair) at the end of the monster's name for the row where it's in its lair.
        • legendary means the monster has legendary actions.
        • unique means the monster is a unique individual, rather than a type of monster. Unique monsters will never be chosen for a random encounter. Typically these are NPCs in adventures, demon lords, named monsters, etc.
      • sources is a comma-separated list of sources where the monster can be found, in the format "Full Source Name: Where". Examples:
        • Basic Rules v1: 54, HotDQ supplement: 7, Monster Manual: 345
          • Located in those 3 sources, at each of those pages. Note that the page numbers are not preceeded by "p.". They should just be numbers.
        • Monster-A-Day: https://www.reddit.com/r/monsteraday/comments/3rdrry/day_79_chronomancers/
          • In this case the monster comes from a website, and we give a specific URL. KFC will provide a link to the monster.
    • Specific notes for Sources sheet
      • type is what sort of content this is. In a future update, KFC will sort sources based on their type. Standard types are:
        • Official
          • 5th edition books published by Wizards of the Coast
        • Official Adventure
          • 5th edition adventures published by Wizards of the Coast
        • Official Web Supplement
          • 5th edition supplements published online by Wizards of the Coast
        • Third-Party
          • 5th edition books published by companies other than Wizards of the Coast
        • Community
          • Content created by fans
        • Other
          • You can use any type you want. I recommend "Homebrew" for your own personal content.
      • name is the full name of the source, and should exactly match the name of the source as you used it in the monsters sheet. If the names don't match exactly, monsters won't be linked to their sources correctly.
      • short name is the short name for the source. This is used on narrow screens such as phones. It should be something easily identifiable and unique. It may be the same as the fid code, but doesn't have to be. Examples:
        • Monster Manual: MM
        • Monster-A-Day: MAD
        • Curse of Strahd: Strahd
        • Fifth Edition Foes: 5eF
        • Primeval Thule Campaign Setting: ThuleCS
      • link is a link to the source. This should be a landing page of some sort, not a direct link to a PDF. For example, a blog post, a reddit thread, an online store front.
  3. Publish your Google Doc to the web. Select File -> Publish to the web.
  4. Go to the sheet checker (see links section above). Put the URL for your sheet in the box and click the button. Note that this is the URL of your Google doc, not its publish URL. Fix any errors you get and try again.
  5. Once you're done, click "Manage Custom Content" in KFC. Put the URL for your sheet in the field that says URL, give it a name, and click add. If you've done everything correctly, your monsters will now be integrated into the list.

Contributing content to Kobold Fight Club

User-submitted content is no longer accepted directly into KFC. Instead, if you'd like to share, post a link to that content in This reddit thread with a link to the sheet and a description of its contents.

I may end up making a wiki page to organize and curate these links, but I make no promises.

Why is KFC no longer accepting user-submitted content?

Two reasons, both ultimately my own fault.

  1. It was really unsustainable. I haven't run into any issues yet, but eventually there would be so many entries that something would give (browser storage limits, performance, Google Sheets' API, etc). I'm not really doing things in a very efficient way, and it would be a nightmare to put that genie back in the battle if/when that happens, so better to take care of it now.
  2. Due to various poor design decisions, it's very difficult and time consuming to add new content to the existing sheets. I've recently started turning down many requests, which understandably upset people.

I've already got a lot of difficulty motivating myself to maintain KFC (even if that maintenance at this point is largely just testing and accepting pull requests from the excellent contributors to this project), and having this cloud of outstanding submissions that I either had to add or turn down was really killing my morale.

Technical stuff

In case you're interested in contributing code

Node Commands

  • npm install - Install necessary dependencies
  • npm run start - Start an http server for debugging on localhost
  • npm run build-css - Compile sass into css
  • npm run watch-css - Watch folder for changes and run build-css if needed

5e-monsters's People

Contributors

asmor avatar chisaipete avatar cynicaloptimist avatar cyrulik avatar dmarj avatar elsoybean avatar jamesdow21 avatar jbarzilai avatar olavmueller avatar snafuy avatar stuartlangridge avatar villawhatever 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

5e-monsters's Issues

Added Source buttons

Enhancement request: in the Source dialog, I would like a button labeled "Official" that activates all published WotC sources, not just the core books.
I have written code for this change, along with another button labeled "3rd Party" that does the opposite.
I will submit a pull request if that's okay.

Random Encounter Table

Would it be possible to go through and add monsters to a pool then generate the encounters from that pool so you could basically create a Random Encounter Table with your campaign in mind?

Thanks for all your work by the way. Love the program.

Summary View of the Manage Encounters tab

I could probably get this effect with a user-style sheet, and I'm tempted to make one, but I'd like a "summary view" of the manage encounters tab.

This tab is for giving out XP. So it should list the encounter name + the total xp, the encounter rating (deadly, hard, etc.) . this would be done one per line in table format.

I'd also like to see the total xp divided by the number of players per encounter, and the total XP of the entire tab.

Capitalization of Alignment and Environment filter options.

Hello! I am loving this tool as a brand new DM! I would like to propose a quality of life fix, correcting the capitalization inconsistency for some filter options. At least on mobile, specifically the Alignment and Environment filter strings (E.G. Neutral Good or Mountain) are all lower case whereas the Size and Type filters are all capitalized.

I am a student webdev finishing a billion projects presently or I would try to read up on the structure of this application.

Thank you for this incredible tool!!!

  1. Reproduction (on mobile) :
  2. Go to the home page
  3. Click the drop down for "Any Alignment"
  4. View the capitalization of the options.

Typo "Tlingcalli" -> "Tlincalli"

The volo's beast Tlincalli is erroneously spelled Tlingcalli (guid:33f3dc3e-b613-42c0-b39c-679ef86fd3d8, fid: volo.tlingcalli). This also brings up nothing in google making it extra hard to find unless you have the book.

Make KFC work offline

Set up app cache so that KFC can work offline.

A complication is going to be handling data, which I don't host anymore. #51 will see that data cached on the client side, but it will still be making remote checks to see if the data are out of date.

Content is not there

I accessed Kobold Fight club for many months and found it very helpful, but in the past few weeks nothing has shown up on the sight, monster wise. I've tried resetting filterers, making sure I'd selected my sources, and re added content, but noting has worked. Please help.

Kuo-Toa Monitor Missing

Apologies if this is not the correct place to write this:

The Kuo Toa Monitor (MM p198) is missing from the entries.

Many thanks for a great product!

Alignment Search Confuses "Any Alignment" with "any"

When you set no filter for Alignment (any alignment option) all alignments appear, as expected.
When you change the combo to "any" I expected to show only creatures with "any", but it shows all alignments.

2017-12-01_17-45-06

2017-12-01_17-45-48

Incorrect Monster Types

I spotted two mobs that were listed as the incorrect type (when referenced against my copy of the latest version of the book).

Bastet Temple Cat is labeled as a Beast but is actually a Monstrosity.
Cikavak is labeled as a Beast but is actually a Fey.

Display / source selection issue in Internet Explorer

I use the page periodically -- probably once a month or so -- and discovered today that it no longer seems to be functional when loaded using Internet Explorer 11. I'm running on a desktop PC with Windows 10 64-bit, and a fully-updated copy of IE 11 and this seems to be a recent change (the last time I recall loading the page in IE, it worked fine).

When I load up the site with all filters cleared, the monster selection area is empty. I noticed that the "Set Sources" menu, when opened, is also empty except for the "Everything", "Core Books", and "None" buttons at the top. There are no individual sources shown below, and no individual checkboxes.

Pressing any of the three buttons in the "Set Sources" menu has no apparent effect.

I tried flushing my browser cache, and also tried a forced reload of the page -- both before and after clearing the cache -- with no apparent effect.

It seems as though the page still works okay in Chrome and Firefox.

Overhaul environments

When I started KFC, there were no environment tables for the monsters in the MM. As a result, I made up my own.

Those tables exist now, and other products also include environments. Should research what's out there and overhaul the data to bring it in line with official sources.

Monster quantity buttons overlap in mobile

Via email:

On the encounter info manager portion, the first monster chosen will appear as normal but the + and - buttons to add more of the same monster is covered by the random encounter generator button. This is making it difficult to just add one more of the same monster.

Tarrasque is a titan

The Tarrasque does not show up when filtering by titans, but in it's stat block it says (titan) the same way Kracken does which does show up.

Overhaul source categories

Currently the source categories are a confusing mess, and with the ability for people to add custom sources in #53 there should be a way for them to specify what their source is.

So I'm thinking add a new column to the Sources sheets, "type". Sources would be grouped by types. Types could be things like "Homebrew", "Adventures", "Official", "Third party", etc.

Allow people to select all/select none for each type of source, as well as doing so everything.

Use GET Parameters to preserve state

Being able to preserve page state, i.e. encounters you have built, with nothing more then a link would be extremely useful. Just adding a few get parameters to set player count, player level, and a listing of monsters would make it easy to open and modify previous encounters without having to fill out all the details over again.

Add dummy data to placeholders

As it stands since they have no AC, HP or initiative, it is not possible to modify a placeholder monsters' hp or keep track of it's initiative in the "run encounters" section. If dummy values were added (0 10 whatever), those could be modified when running the encounter to fit the needs.

{ name: "CR 0", cr: "0", special: true, id: "cf33021b-ebd7-4db3-884d-0b48e8211ac3" },
{ name: "CR 1/8", cr: "1/8", special: true, id: "6107ed19-210b-47a4-a05d-3bf2489e6f4c" },
{ name: "CR 1/4", cr: "1/4", special: true, id: "ac37c9c6-a51b-4b7d-9c53-01a59a46965c" },
{ name: "CR 1/2", cr: "1/2", special: true, id: "614d0471-4a6c-4c62-be0e-7056eda3373e" },
{ name: "CR 1", cr: "1", special: true, id: "f42b1530-a466-45a4-95d7-e2ed05ed6a22" },
{ name: "CR 2", cr: "2", special: true, id: "687c8372-49bc-4fb1-923f-6de3018e5286" },
{ name: "CR 3", cr: "3", special: true, id: "129475b2-6192-4d3b-9df9-36f97549c04c" },
{ name: "CR 4", cr: "4", special: true, id: "06862566-630e-430d-a02d-842c743667de" },
{ name: "CR 5", cr: "5", special: true, id: "b3a8e10a-c632-4c1f-9c41-24d817b83eb0" },
{ name: "CR 6", cr: "6", special: true, id: "f8fa57c7-66d1-4992-9751-5750642c4528" },
{ name: "CR 7", cr: "7", special: true, id: "490d87ca-5730-4c55-8859-fe553aae2e04" },
{ name: "CR 8", cr: "8", special: true, id: "b952f971-e50f-4473-9e07-51e82c0ff288" },
{ name: "CR 9", cr: "9", special: true, id: "57f8b076-5b4f-4194-bae9-4fd195497d15" },
{ name: "CR 10", cr: "10", special: true, id: "80fbaf92-86c9-4ef5-8bee-df96a6b581b4" },
{ name: "CR 11", cr: "11", special: true, id: "5c6bf8cc-b83b-48d9-a719-100ae45cac57" },
{ name: "CR 12", cr: "12", special: true, id: "b43d7d4c-c573-4600-96ed-8d739dc8202a" },
{ name: "CR 13", cr: "13", special: true, id: "a24ebe53-0810-4874-99c7-fdfc2474cc3b" },
{ name: "CR 14", cr: "14", special: true, id: "3fc880d1-3810-4139-8c7c-62656e1787f2" },
{ name: "CR 15", cr: "15", special: true, id: "fa14831b-5804-48bf-944a-9373b69a9b4a" },
{ name: "CR 16", cr: "16", special: true, id: "25d596ed-710c-41ca-98ce-2489f08131ee" },
{ name: "CR 17", cr: "17", special: true, id: "73d7d8e0-d03b-461e-9882-8963bf1235c8" },
{ name: "CR 18", cr: "18", special: true, id: "3152a039-f64e-4794-bc88-51309dcbf52c" },
{ name: "CR 19", cr: "19", special: true, id: "024ca4e4-8bf1-49e7-a162-0bba83be1b2a" },
{ name: "CR 20", cr: "20", special: true, id: "660565b6-44cf-486e-9d70-52420a9a0ffe" },
{ name: "CR 21", cr: "21", special: true, id: "6e20c795-903a-4374-a8fd-69b92f71ae1d" },
{ name: "CR 22", cr: "22", special: true, id: "f5fccb83-9337-47b8-b12e-f9417e0e0b50" },
{ name: "CR 23", cr: "23", special: true, id: "2f56a2f1-068e-4467-83e5-559c7f57fd72" },
{ name: "CR 24", cr: "24", special: true, id: "566bea90-3430-4c6c-99c9-f17b37abf6c9" },
{ name: "CR 25", cr: "25", special: true, id: "56fc82df-ba8f-4c45-b64f-837e0370a341" },
{ name: "CR 26", cr: "26", special: true, id: "c2075aca-1de3-497b-94e4-cdb87393b1da" },
{ name: "CR 27", cr: "27", special: true, id: "c329588c-dd97-4edc-af8a-a65ed101a959" },
{ name: "CR 28", cr: "28", special: true, id: "6da69e50-4a20-4730-b84d-bdc5346a32df" },
{ name: "CR 29", cr: "29", special: true, id: "e2589f3b-62dd-4c38-906b-6b262058188a" },
{ name: "CR 30", cr: "30", special: true, id: "28e78bc1-ba2a-4e9d-8dc8-dfe6c7e4cbea" },

Monster payload on Improved Initiative integration is misusing the Initiative Modifier field

The initiative modifier field in Improved Initiative is designed for miscellaneous modifiers that are applied on top of dexterity modifier, such as the benefit from the Alert feat.

Kobold Fight Club's monster data only includes the final initiative modifier; it doesn't contain ability scores to disambiguate a boosted initiative modifier.

Suggested fix: don't include initiative bonus in the payload for monsters posted to Improved Initiative. Should be an easy fix: remove integration.service.js:95. If this is unacceptable, I can update the endpoint to accept a 'final initiative' field.

See cynicaloptimist/improved-initiative#87

Incorrect difficulty for random encouter

Using a party of 3 level 4 adventurers, if I filter the list of available monsters by entering 'Bandit' and then click random encounter, the result is always one difficulty below the requested difficulty.

For example if I generate a random Medium encounter, I get an Easy encounter.

If I clear the monster filter, I get the correct random encounter difficulty.

Make selected encounter 'sticky'

On wider resolutions where the encounter is shown to the left of the table of monsters, the encounter should remain visible when you scroll down.

I think the best solution here might be to put the table inside of a div with overflow:scroll. That way only the table scrolls. And as a bonus, this would also make it simple to keep the pagination controls and filters always visible.

Cache data

Cache data so we don't have to hit google sheets for every request.

Need to figure out how to check for updated data.

Credit logo

I never credited the artist who did the logo. Reached out to him on reddit and he requested to be credited as "Jin The Blue", with no additional links or contact info.

Export to CSV

Thank you for a great site. I would like to propose a feature request to allow export of either a single encounter, or multiple encounters to a CSV for import into Excel or the like.
Thank you again.
Jason
9Fingers-Nixie Die Calculator

Monsters of the Orient

Hi KFC guys,

A little over a month ago I published a 5e bestiary on dmsguild.
It's a supplement to one of my previous titles, but the monsters within can really be used in any setting.
You can find the bestiary here: http://www.dmsguild.com/product/215595

I've put them all into the template for inclusion in KFC.
You can find it here:
https://docs.google.com/spreadsheets/d/1Mt4u_lEkH3TPRQA8NdhiYa0TwS9QxQbxQESy3kdgPB8

If there are any errors just let me know, and I'll get it fixed.

Thank you guys for making and maintaining this awesome resource!

Sincerely,
Marc

Unable to generate

First time user.

The site sounds like a great idea, but I am unable to use it. The website loads, but the generate button is stuck on "Random Medium." I have cleared my cache for firefox, and chrome. I also downloaded the git hub files, and tried running the index.html file.

screenshot

Feature Suggestion - The Adventuring Day budge and Multipart Encounters

Hi, first I want to say thank you for your site. It is an amazing tool!
I searched the git hub issues and din't find this suggestion:
Is difficult to implement the "Daily Budge" in the encounter building? The guidelines are found on DMG pg 84, "The Adventuring Day".
Additionally, with the xp budged of the adventure day would be possible to implement the Multipart Encounters (pg 83) with the thresholder warnings (1/3 of the daily budge)?
I believe that those features would great increment your tool. And help DMs that run campaign with multiple passage of days.

Add easier way for people to contribute

Either find a simpler way for people to contribute monsters, or make a simple way for people to add in custom monsters.

Maybe a spreadsheet from google drive?

Misc Tome of Beasts Creature Errors/Errata

Zmey Headling is missing (Tome of Beasts p417) - also it should have the "forest, swamp" environments.

Also per the errata, there are a few type changes from what things currently are.

Clockwork Abomination is a "Fiend (Construct, Devil)" but should be a "Construct (Devil)".
Spawn of Arbeyach is an "Aberration" but should be a "Fiend (Devil)".
Map Mimic is an "Aberration" but should be a "Monstrosity".
Oculo Swarm is a "Monstrosity (Swarm)" but should be an "Aberration (Swarm)".

The random button ignores the CR filters

It doesn't matter what minimal value I put on the CR min filter, the random button keeps generating creatures with levels below it.

To demonstrate: just put any number on the CR min filter and press the random button, then look at the CR of the generated creatures.

Multiple Choice Selections

It'd be nice to move from an "All or Nothing" list style to a more "Multiple Choice" style. i.e. the ability to show both Monstrosities and Beasts without anything else. Also the ability to show Small, Medium, Large, without allowing Tiny, etc. Donjon's does something like this and I find it to be pretty helpful. It's also already done for the "Select Sources" dialog.

Monsters from Demon Cults and Secret Societies

Figured if I was putting an idea out there with my last post the least I could do was provided something. Here is the link to Kobold Press's Demon Cults and Secret Societies.

https://docs.google.com/spreadsheets/d/1IQWR226LVN1cQf7Yq5CeMV8Kl7c1qc5GJpS7GvDbwvI/edit?usp=sharing

I left the environment out since they are cults that could probably pop up anywhere. Wasn't sure what you wanted to do that that,

Thanks again for all your work and I hope this is helpful.

Windows 10 - Chrome Browser - Site not updating

Ever since I started using kobold.club in Chrome I've had no issues. Today, however, the "Deadly Medium" button will not autopopulate the encounter, and I cannot change it to a different difficulty. In Firefox, however, it works fine.

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.