Added the monster races from volos guide

This commit is contained in:
jerom venneker
2019-08-13 20:43:45 +02:00
parent 9a49e7cb14
commit eb6bc7d591
3 changed files with 181 additions and 3 deletions
+1 -1
View File
@@ -332,7 +332,7 @@ class Cleric(CharClass):
subclasses_available = (KnowledgeDomain, LifeDomain, LightDomain,
NatureDomain, TempestDomain, TrickeryDomain,
WarDomain, ArcanaDomain, ForgeDomain,
GraveDomain)
GraveDomain, DeathDomain)
spellcasting_ability = 'wisdom'
spell_slots_by_level = {
# char_lvl: (cantrips, 1st, 2nd, 3rd, ...)
+112
View File
@@ -711,3 +711,115 @@ class CallToTheWave(Feature):
"""
name = "Call to the Wave"
source = "Race (Water Genasi)"
#monsterous races
#bugbear
class LongLimbed(Feature):
""" When you make a melee attack on your turn, your reach for it is 5 feet greater than normal.
"""
name = "Long-Limbed"
source = "Race (BugBear)"
class SupriseAttack(Feature):
""" If you surprise a creature and hit it with an attack on your first turn
in combat, the attack deals an extra 2d6 damage to it. You can use this trait
only once per combat.
"""
name = "Suprise Attack"
source = "Race (BugBear)"
#goblin
class FuryOfTheSmall(Feature):
"""When you damage a creature with an attack or a spell and the creature's size
is larger than yours, you can cause the attack or spell to deal extra damage to
the creature. The extra damage equals your level. Once you use this trait, you
can't use it again until you finish a short or long rest.
"""
name = "Fury of the Small"
source = "Race (Goblin)"
class NimbleEscape(Feature):
""" You can take the Disengage or Hide action as a bonus action on each of your turns.
"""
name = "Nimble Escape"
source = "Race (Goblin)"
#HobGoblin
class SavingFace(Feature):
"""Hobgoblins are careful not to show weakness in front of their allies, for fear
of losing status. If you miss with an attack roll or fail an ability check or a
saving throw, you can gain a bonus to the roll equal to the number of allies you
can see within 30 feet of you (maximum bonus of +5). Once you use this trait, you
can't use it again until you finish a short or long rest.
"""
name = "Saving Face"
source = "Race (HobGoblin)"
class MartialTraining(Feature): #you have to add the weapons of choice to your sheet
"""You are proficient with two martial weapons of your choice and with light armor.
"""
name = "Martial Training"
source = "Race (HobGoblin)"
#kobold
class GrovelCowerAndBeg(Feature):
""" As an action on your turn, you can cower pathetically to
distract nearby foes. Until the end of your next turn, your
allies gain advantage on attack rolls against enemies
within 10 feet of you that can see you. Once you use this
trait, you can't use it again until you finish a short
or long rest
"""
name = "Grovel Cower and Beg"
source = "Race (Kobold)"
class PackTactics(Feature):
"""You have advantage on an attack roll against a creature
if at least one of your allies is within 5 feet of the
creature and the ally isn't incapacitated.
"""
name = "Pack Tactics"
source = "Race (Kobold)"
class Aggressive(Feature):
""" As a bonus action, you can move up to your speed
toward an enemy of your choice that you can see or hear.
You must end this move closer to the enemy than you started.
"""
name = "Aggressive"
source = "Race (Orc)"
#yuan-ti pureblood
class InnateSpellcasting(Feature):
"""You know the poison spray cantrip. You can cast animal
friendship an unlimited number of times with this trait,
but you can target only snakes with it. Starting at 3rd level,
you can also cast suggestion with this trait. Once you cast it,
you can't do so again until you finish a long rest. Charisma is
your spellcasting ability for these spells.
"""
name = "Innate Spellcasting"
source = "Race (Yuan-Ti Pureblood)"
class MagicResistance(Feature):
""" You have advantage on saving throws against spells and other magical effects.
"""
name = "Magic Resistance"
source = "Race (Yuan_Ti Pureblood)"
class PoisonImmunity(Feature):
"""You are immune to poison damage and the poi~oned condition.
"""
name = "Poison Immunity"
source = "Race (Yuan_Ti Pureblood)"
+68 -2
View File
@@ -414,6 +414,70 @@ class WaterGenasi(_Genasi):
features = (feats.AcidResistance, feats.Amphibious,
feats.CallToTheWave)
class BugBear(Race):
name = "BugBear"
strength_bonus = 2
dexterity_bonus = 1
size = 'medium'
speed = 30
features = (feats.Darkvision, feats.LongLimbed,
feats.PowerfulBuild, feats.SupriseAttack)
skill_proficiencies = ("stealth", )
languages = ("Common", "Goblin")
class Goblin(Race):
name = "Goblin"
dexterity_bonus = 2
constitution_bonus = 1
size = 'small'
speed = 30
features = (feats.Darkvision, feats.FuryOfTheSmall,
feats.NimbleEscape)
languages = ("Common", "Goblin")
class HobGoblin(Race):
name = "HobGoblin"
constitution_bonus = 2
intelligence_bonus = 1
size = 'medium'
speed = 30
features = (feats.Darkvision, feats.SavingFace)
proficiencies_text = ('light armor',)
languages = ("Common", "Goblin")
class Kobold(Race):
name = "Kobold"
dexterity_bonus = 2
strength_bonus = -2
size = 'small'
speed = 30
features = (feats.Darkvision, feats.PackTactics,
feats.GrovelCowerAndBeg, feats.SunlightSensitivity)
languages = ("Common", "Draconic")
class Orc(Race):
name = "Orc"
strength_bonus = 2
constitution_bonus = 1
intelligence_bonus = -2
size = 'medium'
speed = 30
skill_proficiencies = ('intimidation',)
features = (feats.Darkvision, feats.Aggressive,
feats.PowerfulBuild)
languages = ("Common", "Orc")
class PureBlood(Race):
name = "Yuan-Ti Pureblood"
charisma_bonus = 2
intelligence_bonus = 1
size = 'medium'
speed = 30
features = (feats.Darkvision, feats.InnateSpellcasting,
feats.MagicResistance, feats.PoisonImmunity)
spells_known = (spells.PoisonSpray,)
languages = ("Common", "Abyssal", "Draconic")
PHB_races = [HillDwarf, MountainDwarf, HighElf, WoodElf, DarkElf,
LightfootHalfling, StoutHalfling, Human, Dragonborn,
@@ -425,7 +489,9 @@ VOLO_races = [ProtectorAasimar, ScourgeAasimar, FallenAasimar,
EE_races = [Aarakocra, DeepGnome, AirGenasi, FireGenasi, EarthGenasi,
WaterGenasi]
available_races = PHB_races + VOLO_races + EE_races
MONSTER_races = [BugBear, Goblin, HobGoblin, Kobold, Orc, PureBlood]
available_races = PHB_races + VOLO_races + EE_races + MONSTER_races
__all__ = tuple([r.name for r in available_races]) + (
'available_races', 'PHB_races', 'VOLO_races', 'EE_races')
'available_races', 'PHB_races', 'VOLO_races', 'EE_races', 'MONSTER_races')