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, Subzotic, JollyGamer, Jayden wingler, Yi Tan, Phillip Brewer, Thoueris Zanzibar, Emma Holloway, Ashley Sullivan, Ghostfang1337, Gillian Tolbert, David R Abbott, Schoxmania Werks, Vanda Leipold, Brittany DeNicholas, Phillip Hash, Ly Anton-Blake, Amanda Kettles, Anthony Brown, Lou Bliss, Treighton, Pythor Sen, myrontheotter, Kassie Nicovara, Michael Isberg, Nat, Cory Evans, Krueger82, BestWorseCaseScenario, Damian Steele, Jessie G, Icarus Unleashed, Mark L, Price Webb, Lj Nielson, Conall Reilly, Alex, Violet Floyd, keith oneal rogers, Moss, William Bamann, Merissa, Patrick Natale, Cam Largent, Thaddeus Johnson, Siren, Donavan Guay, AstroLass, Jack Stevens, Sam Davis, Chandlor Desper, Lizzie, Masca Boom, Jordan, Rincewind, Michael Hamilton, Rob Hale, Vedie V, Mylon Schroder, Nathan, Tiffany Mathis, Joseph Mitchell, Jordan Florez, Robert Rich, Robin Ellis-Foster, Deanna Pyle, Jess, Meme Pitt-Melton, E.D.F., Devon Bickel, Zee Livezey, Kevin, ryan scott, Christianna Schommer, Kerry Melton, Mary Kieser, SallySparrow132, Lunesolace, DJ_Kelf, paige anderson, Cassandra Keyes, Naomi B, Millergendraft, charles phillips, Nick Soucy, Ellen Mitchell, Melanie Warga, Jeremiah Walker, Bryan Kempka, chris wilson, Max Hops, Sarah Holland, Joshua David Maddox, Jennifer Smith, Ray Bissonnette, Joe Dalby, Nicholas Zamora, Yuki, ShortyMcgibble, mtnman1979@aol.com, KFB_Patreon, eric sun, Bruce Willison, Gundar Wez, Ken Shapiro, Matthew payne, Jacob Plummer, Nahellion, Serena Verden, bilbens baggo, Stuart, Brysen Packer, Galygious, Tim Mason, Maxwell Mayer, Gannon Dubay, Thobek, Aaron Teupe, Celso R Garcia III, Felix Schmäche, XMrMonkyx ., John, Miss Zilla M, RRare, Jordan Brazeal, Kyle Clark, Jake Lane, Adam Ruiz, Phillip P Torchia, Natalie Luttrell, Stefan Gottschalk's, Royce Dillard, Remora's Jewel, Dawnwolf, Buffonturtle, Christina Majchrzak, jeremy baisch, Ivee Quinn, Zealot23, Shane Andrews, CJMAXP, KingHavok1217, Keaton Permenter, Shazear, Curran Vallejo, Steve Rosenlund, Leanna Orr, Ezzela1891, John Nazario, 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!

Username:
Password:
Forgot?

Register

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

Gift Premium

Donate