checked new code works for create-character

This commit is contained in:
Ben Cook
2018-12-23 03:22:47 -05:00
parent 6c4589d03f
commit a83c49146c
25 changed files with 264 additions and 195 deletions
+4 -2
View File
@@ -99,13 +99,15 @@ class ZealotPath(SubClass):
class Barbarian(CharClass):
name = 'Barbarian'
hit_dice_faces = 12
subclass_select_level = 3
saving_throw_proficiencies = ('strength', 'constitution')
primary_abilities = ('strength',)
weapon_proficiencies = (weapons.SimpleWeapon + weapons.MartialWearpon)
weapon_proficiencies = (weapons.SimpleWeapon, weapons.MartialWeapon)
_proficiencies_text = ('light armor', 'medium armor', 'shields',
'simple weapons', 'martial weapons')
multiclass_weapon_proficiencies = weapon_proficiencies
_multiclass_proficiencies_text = ('shields', 'simple weapons', 'martial weapons')
_multiclass_proficiencies_text = ('shields', 'simple weapons',
'martial weapons')
class_skill_choices = ('Animal Handling', 'Athletics',
'Intimidation', 'Nature', 'Perception', 'Survival')
subclasses_available = (BerserkerPath, TotemWarriorPath, BattleragerPath,
+3 -2
View File
@@ -116,13 +116,14 @@ class CollegeOfWhispers(SubClass):
class Bard(CharClass):
name = 'Bard'
hit_dice_faces = 8
subclass_select_level = 3
saving_throw_proficiencies = ('dexterity', 'charisma')
primary_abilities = ('charisma',)
_proficiencies_text = (
'Light armor', 'simple weapons', 'hand crossbows', 'longswords',
'rapiers', 'shortswords', 'three musical instruments of your choice')
weapon_proficiencies = ((weapons.HandCrossbow, weapons.Longsword,
weapons.Rapier, weapons.Shortsword) +
weapon_proficiencies = (weapons.HandCrossbow, weapons.Longsword,
weapons.Rapier, weapons.Shortsword,
weapons.SimpleWeapon)
class_skill_choices = ('Acrobatics', 'Animal Handling', 'Arcana',
'Athletics', 'Deception', 'History', 'Insight',
+5 -1
View File
@@ -9,6 +9,7 @@ class CharClass():
name = "Default"
level = 1
hit_dice_faces = 2
subclass_select_level = 3
weapon_proficiencies = ()
_proficiencies_text = ()
multiclass_weapon_proficiencies = ()
@@ -26,9 +27,12 @@ class CharClass():
subclasses_available = ()
features_by_level = defaultdict(list)
def __init__(self, level, subclass=None, feature_choices=[],
def __init__(self, level, owner=None, subclass=None, feature_choices=[],
**params):
self.level = level
self.owner = owner
# For ex: add "char.Monk" attribute
setattr(self.owner, self.name, self)
# Instantiate the features
self.features_by_level = defaultdict(list)
cls = type(self)
+1
View File
@@ -183,6 +183,7 @@ class GraveDomain(SubClass):
class Cleric(CharClass):
name = 'Cleric'
hit_dice_faces = 8
subclass_select_level = 1
saving_throw_proficiencies = ('wisdom', 'charisma')
primary_abilities = ('wisdom',)
_proficiencies_text = ('light armor', 'medium armor', 'shields',
+1
View File
@@ -86,6 +86,7 @@ class Druid(CharClass):
_wild_shapes = ()
_circle = ''
hit_dice_faces = 8
subclass_select_level = 2
saving_throw_proficiencies = ('intelligence', 'wisdom')
primary_abilities = ('wisdom',)
languages = 'Druidic'
+1
View File
@@ -165,6 +165,7 @@ class Gunslinger(SubClass):
class Fighter(CharClass):
name = 'Fighter'
hit_dice_faces = 10
subclass_select_level = 3
saving_throw_proficiencies = ('strength', 'constitution')
primary_abilities = ('strength', 'dexterity',)
_proficiencies_text = ('All armor', 'shields', 'simple weapons',
+1
View File
@@ -110,6 +110,7 @@ class KenseiWay(SubClass):
class Monk(CharClass):
name = 'Monk'
hit_dice_faces = 8
subclass_select_level = 3
saving_throw_proficiencies = ('strength', 'dexterity')
primary_abilities = ('dexterity', 'wisdom')
_proficiencies_text = (
+1
View File
@@ -222,6 +222,7 @@ class OathOfRedemption(SubClass):
class Paladin(CharClass):
name = 'Paladin'
hit_dice_faces = 10
subclass_select_level = 3
saving_throw_proficiencies = ('wisdom', 'charisma')
primary_abilities = ('strength', 'charisma')
_proficiencies_text = ('All armor', 'shields', 'simple weapons',
+2 -1
View File
@@ -118,12 +118,13 @@ class Swashbuckler(SubClass):
class Rogue(CharClass):
name = 'Rogue'
hit_dice_faces = 8
subclass_select_level = 3
saving_throw_proficiencies = ('dexterity', 'intelligence')
primary_abilities = ('dexterity',)
_proficiencies_text = (
'light armor', 'simple weapons', 'hand crossbows', 'longswords',
'rapiers', 'shortswords', "thieves' tools")
weapon_proficiencies = (weapons,SimpleWeapon, weapons.HandCrossbow,
weapon_proficiencies = (weapons.SimpleWeapon, weapons.HandCrossbow,
weapons.Longsword, weapons.Rapier,
weapons.Shortsword)
multiclass_weapon_proficiencies = ()
+1
View File
@@ -94,6 +94,7 @@ class StormSorcery(SubClass):
class Sorceror(CharClass):
name = 'Sorceror'
hit_dice_faces = 6
subclass_select_level = 1
saving_throw_proficiencies = ('constitution', 'charisma')
primary_abilities = ('charisma',)
_proficiencies_text = ('daggers', 'darts', 'slings',
+1
View File
@@ -115,6 +115,7 @@ class Hexblade(SubClass):
class Warlock(CharClass):
name = 'Warlock'
hit_dice_faces = 8
subclass_select_level = 1
saving_throw_proficiencies = ('wisdom', 'charisma')
primary_abilities = ('charisma',)
_proficiencies_text = ("light Armor", "simple weapons")
+1
View File
@@ -159,6 +159,7 @@ class WarMagic(SubClass):
class Wizard(CharClass):
name = 'Wizard'
hit_dice_faces = 6
subclass_select_level = 2
saving_throw_proficiencies = ('intelligence', 'wisdom')
primary_abilities = ('intelligence',)
_proficiencies_text = ('daggers', 'darts', 'slings',