mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-06-07 13:15:53 +02:00
add Goblin race
This commit adds Goblin race and it's features. Source: Guildmaster's Guide to Ravnica
This commit is contained in:
@@ -32,7 +32,7 @@ class PowerfulBuild(Feature):
|
|||||||
name = "Powerful Build"
|
name = "Powerful Build"
|
||||||
source = "Race"
|
source = "Race"
|
||||||
|
|
||||||
|
|
||||||
class Amphibious(Feature):
|
class Amphibious(Feature):
|
||||||
"""
|
"""
|
||||||
You can breath air and water
|
You can breath air and water
|
||||||
@@ -41,7 +41,7 @@ class Amphibious(Feature):
|
|||||||
name = "Amphibious"
|
name = "Amphibious"
|
||||||
source = "Race"
|
source = "Race"
|
||||||
|
|
||||||
|
|
||||||
# Dwarves
|
# Dwarves
|
||||||
class DwarvenResilience(Feature):
|
class DwarvenResilience(Feature):
|
||||||
"""You have advantage on saving throws against poison, and you have resistance
|
"""You have advantage on saving throws against poison, and you have resistance
|
||||||
@@ -62,7 +62,7 @@ class Stonecunning(Feature):
|
|||||||
name = "Stonecunning"
|
name = "Stonecunning"
|
||||||
source = "Race (Dwarf)"
|
source = "Race (Dwarf)"
|
||||||
|
|
||||||
|
|
||||||
class DwarvenToughness(Feature):
|
class DwarvenToughness(Feature):
|
||||||
"""
|
"""
|
||||||
Your hit point maximum
|
Your hit point maximum
|
||||||
@@ -73,7 +73,7 @@ class DwarvenToughness(Feature):
|
|||||||
source = "Race (Hill Dwarf)"
|
source = "Race (Hill Dwarf)"
|
||||||
needs_implementation = True
|
needs_implementation = True
|
||||||
|
|
||||||
|
|
||||||
# Elves
|
# Elves
|
||||||
class FeyAncestry(Feature):
|
class FeyAncestry(Feature):
|
||||||
"""You have advantage on saving throws against being charmed, and magic can’t
|
"""You have advantage on saving throws against being charmed, and magic can’t
|
||||||
@@ -163,7 +163,7 @@ class HalflingNimbleness(Feature):
|
|||||||
name = "Halfling Nimbleness"
|
name = "Halfling Nimbleness"
|
||||||
source = "Race (Halfling)"
|
source = "Race (Halfling)"
|
||||||
|
|
||||||
|
|
||||||
class NaturallyStealthy(Feature):
|
class NaturallyStealthy(Feature):
|
||||||
"""You can attempt to hide even when you are obscured only by a creature that
|
"""You can attempt to hide even when you are obscured only by a creature that
|
||||||
is at least one size larger than you.
|
is at least one size larger than you.
|
||||||
@@ -283,7 +283,7 @@ class ArtificersLore(Feature):
|
|||||||
name = "Artificer's Lore"
|
name = "Artificer's Lore"
|
||||||
source = "Race (Rock Gnome)"
|
source = "Race (Rock Gnome)"
|
||||||
|
|
||||||
|
|
||||||
class Tinker(Feature):
|
class Tinker(Feature):
|
||||||
"""You have proficiency with artisan’s tools (tinker’s tools). Using those
|
"""You have proficiency with artisan’s tools (tinker’s tools). Using those
|
||||||
tools, you can spend 1 hour and 10 gp worth of materials to construct a
|
tools, you can spend 1 hour and 10 gp worth of materials to construct a
|
||||||
@@ -316,8 +316,28 @@ class StoneCamouflage(Feature):
|
|||||||
source = "Race (Deep Gnome)"
|
source = "Race (Deep Gnome)"
|
||||||
|
|
||||||
|
|
||||||
|
# Goblins
|
||||||
|
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)"
|
||||||
|
|
||||||
# Half-Elves
|
# Half-Elves
|
||||||
|
|
||||||
# Half-Orcs
|
# Half-Orcs
|
||||||
class RelentlessEndurance(Feature):
|
class RelentlessEndurance(Feature):
|
||||||
"""When you are reduced to 0 hit points but not killed outright, you can drop
|
"""When you are reduced to 0 hit points but not killed outright, you can drop
|
||||||
@@ -353,7 +373,7 @@ class InfernalLegacy(Feature):
|
|||||||
the hellish rebuke spell once per day as a 2nd-level spell. Once you reach
|
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
|
5th level, you can also cast the darkness spell once per day. Charisma is
|
||||||
your spellcasting ability for these spells.
|
your spellcasting ability for these spells.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
name = "Infernal Legacy"
|
name = "Infernal Legacy"
|
||||||
source = "Race (Tiefling)"
|
source = "Race (Tiefling)"
|
||||||
@@ -422,7 +442,7 @@ class RadiantConsumption(Feature):
|
|||||||
|
|
||||||
Once you use this trait, you can't use it again until you finish a long
|
Once you use this trait, you can't use it again until you finish a long
|
||||||
rest.
|
rest.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
name = "Radiant Consumption"
|
name = "Radiant Consumption"
|
||||||
source = "Race (Scourge Aasimar)"
|
source = "Race (Scourge Aasimar)"
|
||||||
@@ -519,7 +539,7 @@ class ExpertForgery(Feature):
|
|||||||
name = "Expert Forgery"
|
name = "Expert Forgery"
|
||||||
source = "Race (Kenku)"
|
source = "Race (Kenku)"
|
||||||
|
|
||||||
|
|
||||||
class Mimicry(Feature):
|
class Mimicry(Feature):
|
||||||
"""You can mimic sounds you have heard, including voices. A creature that
|
"""You can mimic sounds you have heard, including voices. A creature that
|
||||||
hears the sounds you make can tell they are imitations with a successful
|
hears the sounds you make can tell they are imitations with a successful
|
||||||
@@ -529,7 +549,7 @@ class Mimicry(Feature):
|
|||||||
name = "Mimicry"
|
name = "Mimicry"
|
||||||
source = "Race (Kenku)"
|
source = "Race (Kenku)"
|
||||||
|
|
||||||
|
|
||||||
# Lizardfolk
|
# Lizardfolk
|
||||||
class CunningArtisan(Feature):
|
class CunningArtisan(Feature):
|
||||||
"""As part of a short rest, you can harvest bone and hide from a slain
|
"""As part of a short rest, you can harvest bone and hide from a slain
|
||||||
@@ -695,7 +715,7 @@ class ReachToTheBlaze(Feature):
|
|||||||
class AcidResistance(Feature):
|
class AcidResistance(Feature):
|
||||||
"""
|
"""
|
||||||
You have resistance to acid damage.
|
You have resistance to acid damage.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
name = "Acid Resistance"
|
name = "Acid Resistance"
|
||||||
source = "Race (Water Genasi)"
|
source = "Race (Water Genasi)"
|
||||||
|
|||||||
+21
-8
@@ -39,10 +39,10 @@ class Race():
|
|||||||
@property
|
@property
|
||||||
def spells_prepared(self):
|
def spells_prepared(self):
|
||||||
return self.spells_known
|
return self.spells_known
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "\"{:s}\"".format(self.name)
|
return "\"{:s}\"".format(self.name)
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ class LightfootHalfling(_Halfling):
|
|||||||
name = "Lightfoot Halfling"
|
name = "Lightfoot Halfling"
|
||||||
charisma_bonus = 1
|
charisma_bonus = 1
|
||||||
features = _Halfling.features + (feats.NaturallyStealthy,)
|
features = _Halfling.features + (feats.NaturallyStealthy,)
|
||||||
|
|
||||||
|
|
||||||
class StoutHalfling(_Halfling):
|
class StoutHalfling(_Halfling):
|
||||||
name = "Stout Halfling"
|
name = "Stout Halfling"
|
||||||
@@ -179,7 +179,7 @@ class ForestGnome(_Gnome):
|
|||||||
features = _Gnome.features + (feats.NaturalIllusionist,
|
features = _Gnome.features + (feats.NaturalIllusionist,
|
||||||
feats.SpeakWithSmallBeasts)
|
feats.SpeakWithSmallBeasts)
|
||||||
spells_known = (spells.MinorIllusion,)
|
spells_known = (spells.MinorIllusion,)
|
||||||
|
|
||||||
|
|
||||||
class RockGnome(_Gnome):
|
class RockGnome(_Gnome):
|
||||||
name = "Rock Gnome"
|
name = "Rock Gnome"
|
||||||
@@ -248,7 +248,7 @@ class _Aasimar(Race):
|
|||||||
feats.HealingHands, feats.LightBearer)
|
feats.HealingHands, feats.LightBearer)
|
||||||
spells_known = (spells.Light,)
|
spells_known = (spells.Light,)
|
||||||
|
|
||||||
|
|
||||||
# Protector Aasimar
|
# Protector Aasimar
|
||||||
class ProtectorAasimar(_Aasimar):
|
class ProtectorAasimar(_Aasimar):
|
||||||
name = "Protector Aasimar"
|
name = "Protector Aasimar"
|
||||||
@@ -393,7 +393,7 @@ class AirGenasi(_Genasi):
|
|||||||
features = (feats.UnendingBreath,
|
features = (feats.UnendingBreath,
|
||||||
feats.MingleWithTheWind)
|
feats.MingleWithTheWind)
|
||||||
|
|
||||||
|
|
||||||
class EarthGenasi(_Genasi):
|
class EarthGenasi(_Genasi):
|
||||||
name = "Earth Genasi"
|
name = "Earth Genasi"
|
||||||
strength_bonus = 1
|
strength_bonus = 1
|
||||||
@@ -415,6 +415,16 @@ class WaterGenasi(_Genasi):
|
|||||||
feats.CallToTheWave)
|
feats.CallToTheWave)
|
||||||
|
|
||||||
|
|
||||||
|
class Goblin(Race):
|
||||||
|
name = "Goblin"
|
||||||
|
size = "small"
|
||||||
|
dexterity_bonus = 2
|
||||||
|
constitution_bonus = 1
|
||||||
|
speed = 30
|
||||||
|
languages = ("Common", "Goblin")
|
||||||
|
features = (feats.Darkvision, feats.FuryOfTheSmall, feats.NimbleEscape)
|
||||||
|
|
||||||
|
|
||||||
PHB_races = [HillDwarf, MountainDwarf, HighElf, WoodElf, DarkElf,
|
PHB_races = [HillDwarf, MountainDwarf, HighElf, WoodElf, DarkElf,
|
||||||
LightfootHalfling, StoutHalfling, Human, Dragonborn,
|
LightfootHalfling, StoutHalfling, Human, Dragonborn,
|
||||||
ForestGnome, RockGnome, HalfElf, HalfOrc, Tiefling]
|
ForestGnome, RockGnome, HalfElf, HalfOrc, Tiefling]
|
||||||
@@ -425,7 +435,10 @@ VOLO_races = [ProtectorAasimar, ScourgeAasimar, FallenAasimar,
|
|||||||
EE_races = [Aarakocra, DeepGnome, AirGenasi, FireGenasi, EarthGenasi,
|
EE_races = [Aarakocra, DeepGnome, AirGenasi, FireGenasi, EarthGenasi,
|
||||||
WaterGenasi]
|
WaterGenasi]
|
||||||
|
|
||||||
available_races = PHB_races + VOLO_races + EE_races
|
#Guildmaster's Guide to Ravnica
|
||||||
|
GGTR_races = [Goblin]
|
||||||
|
|
||||||
|
available_races = PHB_races + VOLO_races + EE_races + GGTR_races
|
||||||
|
|
||||||
__all__ = tuple([r.name for r in available_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', 'GGTR_races')
|
||||||
|
|||||||
Reference in New Issue
Block a user