mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-06-02 19:08:47 +02:00
added new spell functions and custom weapons
This commit is contained in:
@@ -81,7 +81,7 @@ class Character():
|
||||
nature = Skill(ability='intelligence')
|
||||
perception = Skill(ability='wisdom')
|
||||
performance = Skill(ability='charisma')
|
||||
persuasian = Skill(ability='charisma')
|
||||
persuasion = Skill(ability='charisma')
|
||||
religion = Skill(ability='intelligence')
|
||||
sleight_of_hand = Skill(ability='dexterity')
|
||||
stealth = Skill(ability='dexterity')
|
||||
@@ -411,6 +411,8 @@ class Character():
|
||||
"""Armor class, including contributions from worn armor and shield."""
|
||||
# ## TODO:
|
||||
# Implement AC functions by class
|
||||
if hasattr(self, 'force_AC'):
|
||||
return self.force_AC
|
||||
# Retrieve current armor (or a generic armor substitute)
|
||||
armor = self.armor if self.armor is not None else NoArmor()
|
||||
shield = self.shield if self.shield is not None else NoShield()
|
||||
|
||||
@@ -231,7 +231,7 @@ def create_character_pdf(char, basename, flatten=False):
|
||||
'Nature': mod_str(char.nature),
|
||||
'Perception ': mod_str(char.perception),
|
||||
'Performance': mod_str(char.performance),
|
||||
'Persuasion': mod_str(char.persuasian),
|
||||
'Persuasion': mod_str(char.persuasion),
|
||||
'Religion': mod_str(char.religion),
|
||||
'SleightofHand': mod_str(char.sleight_of_hand),
|
||||
'Stealth ': mod_str(char.stealth),
|
||||
@@ -279,7 +279,7 @@ def create_character_pdf(char, basename, flatten=False):
|
||||
'nature': 'Check Box 33',
|
||||
'perception': 'Check Box 34',
|
||||
'performance': 'Check Box 35',
|
||||
'persuasian': 'Check Box 36',
|
||||
'persuasion': 'Check Box 36',
|
||||
'religion': 'Check Box 37',
|
||||
'sleight_of_hand': 'Check Box 38',
|
||||
'stealth': 'Check Box 39',
|
||||
|
||||
+23
-1
@@ -5,7 +5,7 @@ __all__ = ('Dwarf', 'HillDwarf', 'MountainDwarf', 'Elf', 'HighElf',
|
||||
'WoodElf', 'DarkElf', 'Halfling', 'LightfootHalfling',
|
||||
'StoutHalfling', 'Human', 'Dragonborn', 'Gnome', 'ForestGnome',
|
||||
'RockGnome', 'HalfElf', 'HalfOrc', 'Tiefling', 'Aasimar',
|
||||
'FallenAasimar')
|
||||
'FallenAasimar', 'Lizardfolk', 'Kenku')
|
||||
|
||||
|
||||
class Race():
|
||||
@@ -192,3 +192,25 @@ class Aasimar(Race):
|
||||
class FallenAasimar(Aasimar):
|
||||
name = "Fallen Aasimar"
|
||||
strength_bonus = 1
|
||||
|
||||
|
||||
# Lizardfolk
|
||||
class Lizardfolk(Race):
|
||||
name = 'Lizardfolk'
|
||||
size = 'medium'
|
||||
speed = """30 (+swim)"""
|
||||
constitution_bonus = 2
|
||||
wisdom_bonus = 1
|
||||
languages = ('Common', 'Draconic')
|
||||
weapon_proficiencies = (weapons.Bite,)
|
||||
proficiencies_text = ('bite',)
|
||||
|
||||
|
||||
# Kenku
|
||||
class Kenku(Race):
|
||||
name = 'Kenku'
|
||||
size = 'medium'
|
||||
speed = 30
|
||||
dexterity_bonus = 2
|
||||
wisdom_bonus = 1
|
||||
languages = ('Common', 'Auran')
|
||||
|
||||
@@ -24,7 +24,7 @@ class Spell():
|
||||
name = "Unknown spell"
|
||||
casting_time = "1 action"
|
||||
casting_range = "60 ft"
|
||||
components = ("V", "S")
|
||||
components = ()
|
||||
materials = ""
|
||||
duration = "instantaneous"
|
||||
ritual = False
|
||||
|
||||
@@ -434,6 +434,16 @@ class HeavyLeft(MonkUnarmed):
|
||||
bonus_damage = 10 + 2 - 2 # No proficiency bonus
|
||||
attack_bonus = -5 # Heavy weapon master
|
||||
|
||||
|
||||
class Bite(Weapon):
|
||||
name = "Bite"
|
||||
base_damage = "1d4"
|
||||
damage_type = 'p'
|
||||
cost = "0 gp"
|
||||
weight = 0
|
||||
properties = ""
|
||||
ability = "strength"
|
||||
|
||||
|
||||
# Some lists of weapons for easy proficiency resolution
|
||||
simple_melee_weapons = (Club, Dagger, Greatclub, Handaxe, Javelin,
|
||||
|
||||
Reference in New Issue
Block a user