Kassoon

How To Add More Content To The Character Sheet

You can add your own races, classes, subclasses, and other options to the Character Sheet. To import the data, you need a .js file that someone in the community has shared, or you can write one yourself.

Import A File

Below is a brief list of content that people have shared. You can also find more on github, but if you're downloading official content then make sure you own the relevant book.

Make Your Own

Creating your own requires that your .js file conforms to a specific layout. Here are some basic starter examples:

Race:
RaceList["Halforc"] = {
  name : "Half-Orc",
  scores : [2, 0, 1, 0, 0, 0],
  vision : [["Darkvision", 60]],
  skills : ["Intimidation"],
  skillstxt : "You gain proficiency in the Intimidation skill.",
  speed : {
    walk : { spd : 30, enc : 20 }
  },
  languageProfs : ["Common", "Orc"],
  savetxt : {
    text : ["Magic can't put me to sleep"],
    adv_vs : ["charmed"]
    immune : ["poison"]
  },
  toolProfs : ["Tinker's tools"],
  spellcastingAbility : 6,
  spellcastingBonus : {
    name : "Infernal Legacy (level 1)",
    spells : ["thaumaturgy"],
    selection : ["thaumaturgy"],
    firstCol : 'atwill'
  },
  dmgres : ["Acid"]
  features : {
    "relentless endurance" : {
      name : "Relentless Endurance",
      minlevel : 1,
      usages : 1,
      recovery : "long rest",
      description : "When I am reduced to 0 hit points but not killed outright, I can drop to 1 hit point instead. I can't use this feature again until I finish a long rest."
    },
    "relentless endurance" : {
      name : "nSavage Attacks",
      minlevel : 1,
      description : "When I score a critical hit with a melee weapon attack, I can roll one of the weapon's damage dice one additional time and add it to the extra damage of the critical hit."
    },
  },
  trait : "Half-Orc (+2 Strength, +1 Constitution)",
};
Class:
RaceList["barbarian"] = {
  name : "Barbarian",
  primaryAbility : "Strength",
  prereqs : "Strength 13",
  die : 12,
  saves : ["Str", "Con"],
  skillstxt : {
    primary : "Choose two from Animal Handling, Athletics, Intimidation, Nature, Perception, and Survival"
  },
  armorProfs : {
    primary : [true, true, false, true],
    secondary : [false, false, false, true]
  },
  weaponProfs : {
    primary : [true, true],
    secondary : [true, true]
  },
  equipment : "Barbarian starting equipment:" +
    "\n \u2022 A greataxe -or- any martial melee weapon;" +
    "\n \u2022 Two handaxes -or- any simple weapon;" +
    "\n \u2022 An explorer's pack and four javelins." +
    "\n\nAlternatively, choose 2d4 \xD7 10 gp worth of starting equipment instead of both the class' and the background's starting equipment.",
  features : {
    "rage" : {
      name : "Rage",
      minlevel : 1,
      description : desc([
        "Start/end as bonus action; add damage to melee weapons that use Str; lasts 1 min",
        "Adv. on Strength checks/saves (not attacks); resistance to bludgeoning/piercing/slashing",
        "Stops if I end turn without attacking or taking damage since last turn, or unconscious"
      ]),
      additional : "+2 melee damage",
      usages : [2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, "\u221E\xD7 per "],
      recovery : "long rest",
      action : ["bonus action", " (start/end)"],
      dmgres : [["Bludgeoning", "Bludgeon. (in rage)"], ["Piercing", "Piercing (in rage)"], ["Slashing", "Slashing (in rage)"]],
      savetxt : { text : ["Adv. on Str saves in rage"] },
    },
    "unarmored defense" : {
      name : "Unarmored Defense",
      minlevel : 1,
      description : desc("Without armor, my AC is 10 + Dexterity modifier + Constitution modifier + shield"),
    },
    "reckless attack" : {
      name : "Reckless Attack",
      minlevel : 2,
      description : desc("Adv. on melee weapon attacks during my turn, but attacks vs. me adv. until next turn")
    },
    "danger sense" : {
      name : "Danger Sense",
      minlevel : 2,
      description : desc("Adv. on Dexterity saves against seen effects (not blinded/deafened/incapacitated)"),
      savetxt : { text : ["Adv. on Dex saves vs. seen effects"] }
    },
    "subclassfeature3" : {
      name : "Primal Path",
      minlevel : 3,
      description : desc('Choose a Primal Path that shapes the nature of your rage and put it in the "Class" field ')
    },
    "fast movement" : {
      name : "Fast Movement",
      minlevel : 5,
      description : desc("I gain +10 ft speed when I'm not wearing heavy armor"),
      speed : { allModes : "+10" }
    },
    "feral instinct" : {
      name : "Feral Instinct",
      minlevel : 7,
      description : desc("I get adv. on Initiative; I can enter rage to act normally on the first turn when surprised"),
    },
    "brutal critical" : {
      name : "Brutal Critical",
      minlevel : 9,
      description : desc("I can roll additional dice for the extra damage on a critical hit with a melee attack"),
    },
    "relentless rage" : {
      name : "Relentless Rage",
      minlevel : 11,
      description : " [DC 10 + 5 per try, per short rest]" + desc([
        "If I drop to 0 HP while raging, I can make a DC 10 Constitution save to stay at 1 HP",
        "The DC increases by 5 for every attempt until I finish a short or long rest"
      ]),
    },
    "persistent rage" : {
      name : "Persistent Rage",
      minlevel : 15,
      description : desc("My rage only lasts less than 1 minute if I fall unconscious or I choose to end it")
    },
    "indomitable might" : {
      name : "Indomitable Might",
      minlevel : 18,
      description : desc("If a Strength check is lower than my Strength score, I can use my Strength score instead")
    },
    "primal champion" : {
      name : "Primal Champion",
      minlevel : 20,
      description : desc("I add +4 to both my Strength and Constitution, and their maximums increase to 24"),
      scores : [4,0,4,0,0,0],
      scoresMaximum : [24,0,24,0,0,0]
    }
  }
};
Subclass:
AddSubClass("barbarian", "berserker", {
  subname : "Path of the Berserker",
  abilitySave : 6,
  features : {
    "subclassfeature3" : {
      name : "Frenzy",
      minlevel : 3,
      description : desc([
        "As a bonus action each turn while raging, I can make a melee attack",
        "After my rage is over, I suffer one level of exhaustion"
      ]),
      action : ["bonus action", " attack (while raging)"]
    },
    "subclassfeature6" : {
      name : "Mindless Rage",
      minlevel : 6,
      description : desc("While raging, I can't be charmed or frightened, and such effects are suspended"),
      savetxt : { text : ["Immune to being charmed/frightened in rage"] }
    },
    "subclassfeature10" : {
      name : "Intimidating Presence",
      minlevel : 10,
      description : desc([
        "As an action, frighten one creature in 30 ft for one turn if it fails a Wisdom save",
        "This effect ends if the creature is out of line of sight or more than 60 ft away",
        "If a creature succeeds its saving throw, it is immune for 24 hours"
      ]),
      action : ["action", ""]
    },
    "subclassfeature14" : {
      name : "Retaliation",
      minlevel : 14,
      description : desc("When an enemy within 5 ft damages me, I can make a melee attack as a reaction"),
      action : ["reaction", " (after taking damage)"]
    }
  }
});

Need more help with your campaign? Check out all the other tools, generators, and articles: kassoon.com/dnd/

This website exists thanks to the contribution of patrons on Patreon. If you find these tools helpful, please consider supporting this site. Even just disabling your adblocker will help (it's only text and plain image ads I promise). Becoming a patron will upgrade your account to premium, giving you no ads and more features.

Shout outs: Stacey, elijah D. maben, R., bruschkin, Bobby Marr, Vincent Drone, thea musing, Brian Nunziato, Garrett Smith, Matt Yates, Elisa Martinez, Ryan Flagg, Jade Arrowood, yoland katamari, Dave Walker, Rhonda Seiter, Alexa Hobusch, Jonathan Lekse, Katie White, JollyGamer, Tiernan Greenman, Burlyfighter, Gillian Tolbert, David R Abbott, Rick Marsh, Brittany DeNicholas, Phillip Hash, Amanda Kettles, John Trent Dumproff, Lou Bliss, Pythor Sen, Desedent, Michael Isberg, Nat, Thomas Wilhelm, Krueger82, Irate The Pirate, Mark L, Conall Reilly, keith oneal rogers, Cam Largent, Siren, AstroLass, Lizzie, Michael Hamilton, Vedie V, Mylon Schroder, Nathan, Jordan Florez, Robert Rich, Rodney O'Dell, Robin Ellis-Foster, Jess, Lars Yell, Zee Livezey, Kevin, Kerry Melton, Mary Kieser, SallySparrow132, Naomi B, J, Millergendraft, Federica Frezza, Nick Soucy, Ellen Mitchell, Melanie Warga, Jeremiah Walker, Bryan Sheairs, Bryan Kempka, chris wilson, Max Hops, Sarah Holland, Joshua David Maddox, Jennifer Smith, Liz Fontain, Ray Bissonnette, Joe Dalby, Joline Tran, Nicholas Zamora, ShortyMcgibble, Mr. Vinclair, mtnman1979@aol.com, KFB_Patreon, eric sun, Kayleigh Sulin, Dani, Gundar Wez, Nahellion, Ben Pytlik, Nicholas Hanke, bilbens baggo, Stuart, Brysen Packer, Maxwell Mayer, Gannon Dubay, Thobek, Aaron Teupe, Felix Schmäche, XMrMonkyx ., Miss Zilla M, Jordan Brazeal, Kyle Clark, Jake Lane, Adam Ruiz, Phillip P Torchia, Stefan Gottschalk's, Remora Jewel, jeremy baisch, Daniel Edwards, Zealot23, Shane Andrews, Brandon Mußiq, CJMAXP, Dylan Rintoul, KingHavok1217, Mx Charlie, Zachary Burgess-Hicks, Shazear, Steve Rosenlund, Ezzela1891, John Nazario, Gordon Alexander Fallon, Justin Stensgard, Jason Clark, Trey Vickory
Their contribution stands as a beacon of hope for all adventurers!

Become a patron
 
[-] Login▾

Make campaigns and save encounters / combats / dice rolls and more. One step!

Login

Username:
Password:
Forgot?

Register New Account

Username:
Password:
Recovery / Patron Email (Optional):

Gift Premium

Donate