Beispiel #1
0
        public Elf()
        {
            RaceName             = "Elf";
            AbilityScoreIncrease = new Tuple <string, int>("Dexterity", 2);
            BaseSpeed            = 30;
            Languages            = new List <string>(new [] { "Common", "Elvish" });
            MinimumHeight        = 4;
            MaximumHeight        = 7;
            Size = 2;

            FeaturesDictionary.Add("Darkvision", "Accustomed to twilit forests and the night sky, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in darkness " +
                                   "as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Keen Sense", "You have proficiency in the Perception skill.");

            FeaturesDictionary.Add("Fey Ancestry", "You have advantage on saving throws against being charmed, and magic can't put you to sleep.");

            FeaturesDictionary.Add("Trance", "Elves don't need to sleep. Instead, they meditate deeply, remaining semiconscious, for 4 hours a day. " +
                                   "(The Common word for such meditation is \"trance.\") While meditating, you can dream after a fashion; such " +
                                   "dreams are actually mental exercises that have become reflexive through years of practice. After resting " +
                                   "in this way, you gain the same benefit that a human does from 8 hours of sleep.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Elvish. Elvish is fluid, with subtle intonations and intricate " +
                                   "grammar. Elven literature is rich and varied, and their songs and poems are famous among other races. Many " +
                                   "bards learn their language so they can add Elvish ballads to their repertoires.");
        }
Beispiel #2
0
        public Dwarf()
        {
            RaceName             = "Dwarf";
            AbilityScoreIncrease = new Tuple <string, int>("Constitution", 2);
            BaseSpeed            = 25;
            Languages            = new List <string>(new[] { "Common", "Dwarvish" });
            MinimumHeight        = 4;
            MaximumHeight        = 5;
            Size = 2;

            FeaturesDictionary.Add("Darkvision", "Accustomed to life underground, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in darkness " +
                                   "as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Dwarven Resilience", "You have advantage on saving throws against poison, and you have resistance " +
                                   "against poison damage.");

            FeaturesDictionary.Add("Stonecutting", "Whenever you make an Intelligence (History) check related to the origin of stonework, " +
                                   "you are considered proficient in the History skill and add double your proficiency " +
                                   "bonus to the check, instead of your normal proficiency bonus.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Dwarvish. Dwarvish is full of hard " +
                                   "consonants and guttural sounds, and those characteristics spill over itno whatever other " +
                                   "language a dwarf might speak.");
        }
Beispiel #3
0
        public override void AddClassFeatures()
        {
            FeaturesDictionary.Add("Bardic Inspiration", "You can inspire others through stirring words or music. To do so, you use a bonus action on your turn to " +
                                   "choose one creature other than yourself within 60 feet of you who can hear you. That creature gains one " +
                                   "Bardic Inspiration die, a d6. Once within the next 10 minutes, the creature can roll the die and add the " +
                                   "number rolled to one ability check, attack roll, or saving throw it makes. The creature can wait until after " +
                                   "it rolls the d20 before deciding to use the Bardic Inspiration die, but must decide before the DM says whether " +
                                   "the roll succeeds or fails. Once the Bardic Inspiration die is rolled, it is lost. A creature can have only " +
                                   "one Bardic Inspiration die at a time. You can use this feature a number of times equal to your Charisma " +
                                   "modifier (a minimum of once). You regain any expended uses when you finish a long rest. Your Bardic " +
                                   "Inspiration die changes when you reach certain levels in this class. The die becomes a d8 at 5th level, a " +
                                   "d10 at 10th level, anda d12 at 15th level.");

            FeaturesDictionary.Add("Jack of All Trades", "Starting at 2nd level, you can add half your proficiency bonus, rounded down, to any ability check you make " +
                                   "that doesn't already include your proficiency bonus.");

            FeaturesDictionary.Add("Song of Rest", "Beginning at 2nd level, you can use soothing music or oration to help revitalize your wounded allies during a short " +
                                   "rest. If you or any friendly creatures who can hear your performance regain hit points at the end of the short rest, " +
                                   "each of those creatures regains an extra 1d6 hit points. The extra hit points increase when you reach certain levels " +
                                   "in this class: to 1d8 at 9th level, 1d10 at 13th level, and to 1d12 at 17th level.");

            FeaturesDictionary.Add("Bard College", "At 3rd level, you delve into the advanced techniques of a bard college of your choice: the College of Lore or the " +
                                   "College of Valor, both detailed at the end of the class description. Your choice grants you features at 3rd level " +
                                   "and again at 6th and 14th level.");

            FeaturesDictionary.Add("Expertise", "At 3rd level, choose two of your skill proficiencies. Your proficiency bonus is doubled for any ability check you " +
                                   "make that uses either of the chosen proficiencies. At 10th level, you can choose another two skill proficiencies to " +
                                   "gain this benefit");

            FeaturesDictionary.Add("Ability Score Improvement", "When you reach 4th level, and again at 8th, 12th, 16th, and 19th level, you can increase one ability " +
                                   "score of your choice by 2, or you can increase two ability scores of your choice by 1. As normal, you " +
                                   "can’t increase an ability score above 20 using this feature.");

            FeaturesDictionary.Add("Font of Inspiration", "Beginning when you reach 5th level, you regain all of your expended uses of Bardic Inspiration when you " +
                                   "finish a short or long rest.");

            FeaturesDictionary.Add("Countercharm", "At 6th level, you gain the ability to use musical notes or words of power to disrupt mind-influencing effects. " +
                                   "As an action, you can start a performance that lasts until the end of your next turn. During that time, you and any " +
                                   "friendly creatures within 30 feet of you have advantage on saving throws against being frightened or charmed. A " +
                                   "creature must be able to hear you to gain this benefit. The performance ends early if you are incapacitated or " +
                                   "silenced or if you voluntarily end it (no action required).");

            FeaturesDictionary.Add("Magical Secrets", "By 10th level, you have plundered magical knowledge from a wide spectrum or disciplines. Choose two spells from " +
                                   "any class, including this one. A spell you choose must be of a level you can cast, as shown on the Bard table, or " +
                                   "a cantrip. The chosen spells count as bard spells for you and are included in the number in the Spells Known column " +
                                   "of the Bard table. You learn two additional spells from any class at 14th level and again at 18th level.");

            FeaturesDictionary.Add("Superior Inspiration", "At 20th level, when you roll initiative and have no uses of Bardic Inspiration left, you regain one use.");

            FeaturesDictionary.Add("Skills That You May be Proficient in", "Acrobatics, AnimalHandling, Arcana, Athletics, Deception, History, Insight, Intimidation, " +
                                   "Investigation, Medicine, Nature, Perception, Performance, Persuasion, Religion, SleightOfHand, " +
                                   "Stealth, Survival");

            additionalFeaturesTable.Add("Cantrips Known", new List <string>(new string[] { "2", "2", "2", "3", "3", "3", "3", "3", "3", "4", "4", "4", "4", "4", "4", "4",
                                                                                           "4", "4", "4", "4" }));

            additionalFeaturesTable.Add("Spells Known", new List <string>(new string[] { "4", "5", "6", "7", "8", "9", "10", "11", "12", "14", "15", "15", "16", "18",
                                                                                         "19", "19", "20", "22", "22", "22" }));
        }
Beispiel #4
0
        public override void AddClassFeatures()
        {
            FeaturesDictionary.Add("Divine Domain", "Choose one domain related to your deity: Knowledge, Life, Light, Nature, Tempest, Trickery, or War. Each domain " +
                                   "is detailed at the end of the class description, and each one provides examples of gods associated with it. Your " +
                                   "choice grants you domain spells and other features when you choose it at 1st level. It also grants you additional " +
                                   "ways to use Channel Divinity when you gain that feature at 2nd level, and additional benefits at 6th, 8th, and 17th " +
                                   "levels.\n\nEach domain has a list of spells - its domain spells - that you gain at the cleric levels noted in the " +
                                   "domain description. Once you gain a domain spell, you always have it prepared, and it doesn't count against the number " +
                                   "of spells you can prepare each day. If you have a domain spell that doesn't appear on the cleric spell list, the spell " +
                                   "is nonetheless a cleric spell for you.".Replace("\n", Environment.NewLine));

            FeaturesDictionary.Add("Channel Divinity", "At 2nd level, you gain the ability to channel divine energy directly from your deity, using that energy to fuel " +
                                   "magical effects. You start with two such effects: Turn Undead and an effect determined by your domain. Some domains " +
                                   "grant you additional effects as you advance in levels, as noted in the domain description. When you use your Channel " +
                                   "Divinity, you choose which effect to create. You must then finish a short or long rest to use your Channel Divinity " +
                                   "again. Some Channel Divinity effects require saving throws. When you use such an effect from this class, the DC " +
                                   "equals your cleric spell save DC. Beginning at 6th level, you can use your Channel Divinity twice between rests, " +
                                   "and beginning at 18th level, you can use it three times between rests. When you finish a short or long rest, you " +
                                   "regain your expended uses.\n\nChannel Divinity: Turn Undead\nAs an action, you present your holy symbol and speak a " +
                                   "prayer censuring the undead. Each undead that can see or hear you within 30 feet of you must make a Wisdom saving throw. " +
                                   "If the creature fails its saving throw, it is turned for 1 minute or until it takes any damage. A turned creature must spend " +
                                   "its turns trying to move as far away from you as it can, and it can't willingly move to a space within 30 feet of you. It also " +
                                   "can't take reactions. For its action, it can use only the Dash action or try to escape from an effect that prevents it from " +
                                   "moving. If there's nowhere to move, the creature can use the Dodge action.".Replace("\n", Environment.NewLine));

            FeaturesDictionary.Add("Ability Score Improvement", "When you reach 4th level, and again at 8th, 12th, 16th, and 19th level, you can increase one ability " +
                                   "score of your choice by 2, or you can increase two ability scores of your choice by 1. As normal, you " +
                                   "can’t increase an ability score above 20 using this feature.");

            FeaturesDictionary.Add("Destroy Undead", "Starting at 5th level, when an undead fails its saving throw against your Turn Undead feature, the creature is " +
                                   "instantly destroyed if its challenge rating is ator below a certain threshold, as shown in the Destroy Undead " +
                                   "Table.\n\nCleric Level       Destroys Unewrdead of CR...\n5th                    1/2 or lower\n8th                    " +
                                   "1 or lower\n11th                  2 or lower\n14th                  3 or lower\n17th                  " +
                                   "4 or lower".Replace("\n", Environment.NewLine));

            FeaturesDictionary.Add("Divine Intervention", "Beginning at 10th level, you can call on your deity to intervene on your behalf when your need is great. " +
                                   "Imploring your deity's aid requires you to use your action. Describe the assistance you seek, and roll " +
                                   "percentile dice. If you roll a number equal to or lower than your cleric level, your deity intervenes. The " +
                                   "DM chooses the nature of the intervention; the effect of any cleric spell or cleric domain spell would be " +
                                   "appropriate. If your deity intervenes, you can't sue this feature again for 7 days. Otherwise, you can use " +
                                   "it again after you finish a long rest. At 20th level, your call for intervention succeeds automatically, no " +
                                   "roll required.");

            // TODO add the different divine domains (a ton of typing)
            // maybe I don't have it listed in the class features section and instead make a popup window allowing the user to see them more in depth
            // and select one?

            FeaturesDictionary.Add("Skills That You May be Proficient in", "History, Insight, Medicine, Persuasion, Religion");

            additionalFeaturesTable.Add("Cantrips Known", new List <string>(new string[] { "3", "3", "3", "4", "4", "4", "4", "4", "4", "5", "5", "5", "5", "5", "5", "5",
                                                                                           "5", "5", "5", "5" }));
        }
Beispiel #5
0
        //Apparently humans don't have any special abilities?
        public Human()
        {
            RaceName             = "Human";
            AbilityScoreIncrease = new Tuple <string, int>("All", 1);
            BaseSpeed            = 30;
            Languages            = new List <string>(new[] { "Common" });
            MinimumHeight        = 4;
            MaximumHeight        = 7;
            Size = 2;

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and one extra language of your choice. Humans typically " +
                                   "learn the languages of other peoples they deal with, including obscure dialects. They are fond of " +
                                   "sprinking their speech with words borrowed from other tongues: Orc curses, Elvish musical expressions, " +
                                   "Dwarvish military phrases, and so on.");

            CanHaveExtraLanguages = true;
        }
Beispiel #6
0
        //TODO: Implement Gnome Special Abilities

        //Forest Gnome
        //Natural Illusionist: You know the minor illusion cantrip. Intelligence is your spellcasting ability for it.
        //Speak with Small Beasts: Through sounds and gestures, you an communicate simple ideas with Small or smaller beasts. Forest
        //                         Gnomes love animals and often keep squirrels, badgers, rabbits, moles, woodpeckers, and other creatures
        //                         as beloved pets.

        //Rock Gnome
        //Artificer's Lore: Whenever you make an Intelligence (History) check related to magic items, alchemical objects, or technological
        //                  devices, you can add twice your proficiency bonus, instead of any proficiency bonus you normally apply.
        //Tinker: You have proficiency with artisan's tools (tinker's tools). Using these tools, you can spend 1 hour and 10 gp worth of
        //        materials to construct a Tiny clockwork device (AC 5, 1 hp). The device ceases to function after 24 hours (unless you spend
        //        1 hour repairing it to keep the device functioning), or when you use your action to dismantle it; at that time, you can reclaim
        //        the materials used to create it. You can have up to three such devices active at a time. When you create a device, choose one of
        //        the following options:
        //        Clockwork Toy: This toy is a clockwork animal, monster, or person, such as a frog, mouse, bird, dragon, or soldier. When placed
        //                       on the ground, the toy moves 5 feet across the ground on each of your turns in a random direction. It makes noises
        //                       as appropriate to the creature it represents.
        //        Fire Starter: The device produces a miniature flame, which you can use to light a candle, torch, or campfire. Using the device
        //                      requires your action.
        //        Music Box: When opened, this music box plays a single song at a moderate volume. The box stops playing when it reaches the song's
        //                   end or when it is closed.

        public Gnome()
        {
            RaceName             = "Gnome";
            AbilityScoreIncrease = new Tuple <string, int>("Intelligence", 2);
            BaseSpeed            = 25;
            Languages            = new List <string>(new[] { "Common", "Gnomish" });
            MinimumHeight        = 3;
            MaximumHeight        = 4;
            Size = 1;
            FeaturesDictionary.Add("Darkvision", "Accustomed to life underground, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in darkness " +
                                   "as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Gnome Cunning", "You have advantage on all Intelligence, Wisdom, and Charisma saving throws against magic.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Gnomish. The Gnomish language, which uses " +
                                   "the Dwarvish script, is renowned for its technical treatises and its catalogs of knowledge about " +
                                   "the natural world.");
        }
Beispiel #7
0
        //TODO: Implement the Tiefling special abilities.
        public Tiefling()
        {
            RaceName             = "Tiefling";
            AbilityScoreIncrease = new Tuple <string, int>("Intelligence", 1);
            BaseSpeed            = 30;
            Languages            = new List <string>(new[] { "Common", "Infernal" });
            MinimumHeight        = 4;
            MaximumHeight        = 7;
            Size = 2;
            FeaturesDictionary.Add("Darkvision", "Thanks to your infernal heritage, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in darkness " +
                                   "as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Hellish Resistance", "You have resistance to fire damage.");

            FeaturesDictionary.Add("Infernal Legacy", "You know the thaumaturgy cantrip. Once you reach 3rd level, you can cast the hellish rebuke " +
                                   "spell once per day as a 2nd-level spell. Once you reach 5th level, you can also cast " +
                                   "the darkness spell once per day. Charisma is your spellcasting ability for these spells.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Infernal");
        }
Beispiel #8
0
        public Halfling()
        {
            RaceName             = "Halfling";
            AbilityScoreIncrease = new Tuple <string, int>("Dexterity", 2);
            BaseSpeed            = 25;
            Languages            = new List <string>(new[] { "Common", "Halfling" });
            MinimumHeight        = 2;
            MaximumHeight        = 4;
            Size = 1;

            FeaturesDictionary.Add("Lucky", "When you roll a 1 on an attack roll, ability check, or saving throw, you can reroll the die " +
                                   "and must use the new roll.");

            FeaturesDictionary.Add("Brave", "You have advantage on saving throws against being frightened.");

            FeaturesDictionary.Add("Halfling Nimbleness", "You can move through the space of any creature that is of a size larger than yours.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Halfling. The Halfling language isn't secret, but halflings " +
                                   "are loath to share it with others. They write very little, so they don't have a rich body of literature. " +
                                   "Their oral tradidition, however, is very strong. Almost all halflings speak Common to converse with the " +
                                   "people in whose lands they dwell or through which they are traveling.");
        }
Beispiel #9
0
        //TODO: Implement Half Elf special abilities
        public HalfElf()
        {
            RaceName             = "Half Elf";
            AbilityScoreIncrease = new Tuple <string, int>("Charisma", 2);
            BaseSpeed            = 30;
            //Also get a language of your choice
            Languages     = new List <string>(new[] { "Common", "Elvish" });
            MinimumHeight = 5;
            MaximumHeight = 6;
            Size          = 2;
            FeaturesDictionary.Add("Darkvision", "Thanks to your elf blood, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in " +
                                   "darkness as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Fey Ancestry", "You have advantage on saving throws against being charmed, and magic can't put you to sleep.");

            FeaturesDictionary.Add("Skill Versatility", "You gain proficiency in two skills of your choice.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common, Elvish, and one extra language of your choice.");

            CanHaveExtraLanguages = true;
        }
Beispiel #10
0
        //TODO: Implement Dragonborn special abilities
        public Dragonborn()
        {
            RaceName             = "Dragonborn";
            AbilityScoreIncrease = new Tuple <string, int>("Strength", 2);
            BaseSpeed            = 30;
            Languages            = new List <string>(new[] { "Common", "Draconic" });
            MinimumHeight        = 6;
            MaximumHeight        = 8;
            Size = 2;
            FeaturesDictionary.Add("Draconic Ancestry", "You have draconic ancestry. Choose one type of dragon from the Draconic Ancestry table. " +
                                   "Your breath weapon and damage resistance are determined by the dragon type, as shown in the table. " +
                                   "\n\nDragon----------------Damage Type-----------------Breath Weapon" +
                                   "\nBlack-------------------Acid--------------------------------5 by 30 ft. line (Dex. save)" +
                                   "\nBlue---------------------Lightning-------------------------5 by 30 ft. line (Dex. save)" +
                                   "\nBrass-------------------Fire----------------------------------5 by 30 ft. line (Dex. save)" +
                                   "\nBronze-----------------Lightning-------------------------5 by 30 ft. line (Dex. save)" +
                                   "\nCopper----------------Acid---------------------------------5 by 30 ft. line (Dex. save)" +
                                   "\nGold--------------------Fire----------------------------------15 ft. cone (Dex. save)" +
                                   "\nGreen------------------Poison----------------------------15 ft. cone (Con. save)" +
                                   "\nRed---------------------Fire----------------------------------15 ft. cone (Dex. save)" +
                                   "\nSilver-------------------Cold--------------------------------15 ft. cone (Con. save)" +
                                   "\nWhite------------------Cold--------------------------------15 ft. cone (Con. save)".Replace("\n", Environment.NewLine));

            FeaturesDictionary.Add("Breath Weapon", "You can use your action to exhale destrucive energy. Your draconic ancestry determines the size, shape, " +
                                   "and damage type of the exhalation. When you use your breath weapon, each creature in teh area of the exhalation " +
                                   "must make a saving throw, the type of which is determined by your draconic ancestry. The DC for this saving throw " +
                                   "equals 8 + your Constitution modifier + your proficiency bonus. A creature takes 2d6 damage on a failed save, and " +
                                   "half as much damage on a successful one. The damage increases to 3d6 at 6th level, 4d6 at 11th level, and 5d6 at " +
                                   "16th level. After you use your breath weapon, you can't use it again until you complete a short or long rest.");

            FeaturesDictionary.Add("Damage Resistance", "You have resitance to the damage type associated with your draconic ancestry.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Draconic. Draconic is thought to be one of the oldest languages and " +
                                   "is often used in the study of magic. The language sounds harsh to most other creatures and includes numerous " +
                                   "hard consonants and sibilants");
        }
Beispiel #11
0
        //TODO: Implement Half Orc special abilities
        public HalfOrc()
        {
            RaceName             = "Half Orc";
            AbilityScoreIncrease = new Tuple <string, int>("Strength", 2);
            BaseSpeed            = 30;
            Languages            = new List <string>(new[] { "Common", "Orc" });
            MinimumHeight        = 5;
            MaximumHeight        = 7;
            Size = 2;
            FeaturesDictionary.Add("Darkvision", "Thanks to your orc blood, you have superior vision in dark and dim conditions. " +
                                   "You can see in dim light within 60 feet of you as if it were bright light, and in " +
                                   "darkness as if it were dim light. You can't discern color in darkness, only shades of gray.");

            FeaturesDictionary.Add("Menacing", "You gain proficiency in the Intimidation skill.");

            FeaturesDictionary.Add("Relentless Endurance", "When you are reduced to 0 hit points but not killed outright, you can drop to 1 " +
                                   "hit point instead. You can't use this feature again until you finish a long rest.");

            FeaturesDictionary.Add("Savage Attacks", "When you scorea critical hit with a melee weapon attack, you can roll one of the weapon's " +
                                   "damage dice one additional time and add it to the extra damage of the critical hit.");

            FeaturesDictionary.Add("Languages Known", "You can speak, read, and write Common and Orc. Orc is a harsh, grating language with hard " +
                                   "consonants. It has no script of its own but is written in the Dwarvish script.");
        }
        public override void AddClassFeatures()
        {
            FeaturesDictionary.Add("Rage", "In battle, you fight with primal ferocity. On your turn, you can enter a rage as a bonus action. While raging, you gain the " +
                                   "following benefits if you aren't wearing heavy armor: You have advantage on Strength checks and Strength saving throws. " +
                                   "When you make a melee weapon attack using Strength, you gain a bonus to the damage rol that increases as you gain levels as " +
                                   "a barbarian, as shown in the Rage Damage column of the Barbarian table. You have resistance to bludgeoning, piercing, and " +
                                   "slashing damage.If you are able to cast spells, you can't cast them or concentrate on them while raging. You rage lasts for " +
                                   "1 minute.It ends early if you are knocked unconscious or if your turn ends and you haven't attacked a hostile creature since " +
                                   "your last turn or taken damage since then. You can also end your rage on your turn as a bonus action. Once you have raged the " +
                                   "number of times shown for your barbarian level in the Rages colu, n of the Barbarian table, you must finish a long rest before " +
                                   "you can rage again.");

            FeaturesDictionary.Add("Unarmored Defense", "While you are not wearing any armor, your Armor Class equals 10 + your Dexterity modifier + your Constitution " +
                                   "modifier. You can use a shield and still gain this benefit.");

            FeaturesDictionary.Add("Reckless Attack", "Starting at 2nd level, you can throw aside all concern for defense to attack with fierce desperation. " +
                                   "When you make your first attack on your turn, you can decide to attack recklessly.Doing so gives you " +
                                   "advantage on melee weapon attack rolls using Strength during this turn, but attack rolls against you " +
                                   "have advantage until your next turn.");

            FeaturesDictionary.Add("Danger Sense", "At 2nd level, you gain an uncanny sense of when things nearby aren't as they should be, giving you an edge " +
                                   "when you dodge away from danger. You have advantage on Dexterity saving throws against effects that you can " +
                                   "see, such as traps and spells. To gain this benefit, you can't be blinded, deafened, or incapacitated.");

            FeaturesDictionary.Add("Primal Path", "At 3rd level, you choose a path that shapes the nature of your rage. Choose the Path of the Berserker or the " +
                                   "Path of the Totem Warrior, both detailed at the end of the class description. Your choise grants you features " +
                                   "at 3rd level and again at 6th, 10th, and 14th levels.");

            // TODO need to implement this somehow
            FeaturesDictionary.Add("Ability Score Improvement", "When you reach 4th level, and again at 8th, 12th, 16th, and 19th level, you can increase one " +
                                   "ability score of your choice by 2, or you can increase two ability scores of your choice by 1. " +
                                   "As normal, you cant increase an ability score above 20 using this feature.");

            FeaturesDictionary.Add("Extra Attack", "Beginning at 5th level, you can attack twice, instead of once, whenever you take the Attack action on your turn.");

            FeaturesDictionary.Add("Fast Movement", "Starting at 5th level, your speed increases by 10 feet while you aren't wearing heavy armor.");

            FeaturesDictionary.Add("Feral Instinct", "By 7th level, your instincts are so honed that you have advantage on initiative rolls. Additionally, " +
                                   "if you are surprised at the beginning of combat and aren't incapacitated, you can act normally on your first " +
                                   "turn, but only if you enter your rage before doing anything else on that turn.");

            FeaturesDictionary.Add("Brutal Critical", "Beginning at 9th level, you can roll one additional weapon damage die when determining the extra damage " +
                                   "die when determining the extra damage for a critical hit with a melee attack. This increases to two additional " +
                                   "dice at 13th level and three additional dice at 17th level.");

            FeaturesDictionary.Add("Relentless Rage", "Starting at 11th level, your rage can keep you fighting despite grievous wounds. If you drop to 0 hit points " +
                                   "while you're raging and don't die outright, you can make a DC 10 Constitution saving throw. If you succeed, " +
                                   "you drop to 1 hit point instead. Each time you use this feature after the first, the DC increases bt 5. When " +
                                   "you finish a short or long rest, the DC resets to 10.");

            FeaturesDictionary.Add("Persistent Rage", "Beginning at 15th level, your rage is so fierce that it ends early only if you fall unconcious or if you choose " +
                                   "to end it.");

            FeaturesDictionary.Add("Indomitable Might", "Beginning at 18th level, if your total for a Strength check is less than your Strength score, you can use that " +
                                   "score in place of the total.");

            FeaturesDictionary.Add("Primal Champion", "At 20th level, you embody the power of the wilds. Your Strength and Constitution scores increase by 4. Your " +
                                   "maximum for those scores is now 24.");

            FeaturesDictionary.Add("Skills That You May be Proficient in", "Animal Handling, Athletics, Intimidation, Nature, Perception, Survival");

            additionalFeaturesTable.Add("Rages", new List <string>(new string[] { "2", "2", "3", "3", "3", "4", "4", "4", "4", "4", "4", "5", "5", "5", "5", "5",
                                                                                  "6", "6", "6", "Unlimited" }));

            additionalFeaturesTable.Add("Rage Damage", new List <string>(new string[] { "+2", "+2", "+2", "+2", "+2", "+2", "+2", "+2", "+3", "+3", "+3", "+3", "+3", "+3",
                                                                                        "+3", "+4", "+4", "+4", "+4", "+4" }));
        }