mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-18 20:23:27 +02:00
added multiclass proficiencies for all classes
This commit is contained in:
@@ -100,9 +100,11 @@ class Barbarian(CharClass):
|
||||
class_name = 'Barbarian'
|
||||
hit_dice_faces = 12
|
||||
saving_throw_proficiencies = ('strength', 'constitution')
|
||||
weapon_proficiencies = (weapons.simple_weapons + weapons.martial_weapons)
|
||||
_proficiencies_text = ('light armor', 'medium armor', 'shields',
|
||||
'simple weapons', 'martial weapons')
|
||||
weapon_proficiencies = (weapons.simple_weapons + weapons.martial_weapons)
|
||||
multiclass_weapon_proficiencies = weapon_proficiencies
|
||||
_multiclass_proficiencies_text = ('shields', 'simple weapons', 'martial weapons')
|
||||
class_skill_choices = ('Animal Handling', 'Athletics',
|
||||
'Intimidation', 'Nature', 'Perception', 'Survival')
|
||||
subclasses_available = (BerserkerPath, TotemWarriorPath, BattleragerPath,
|
||||
|
||||
@@ -129,6 +129,9 @@ class Bard(CharClass):
|
||||
'Nature', 'Perception', 'Performance', 'Persuasion',
|
||||
'Religion', 'Sleight of Hand', 'Stealth',
|
||||
'Survival')
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = ('Light Armor', '[choose one skill]',
|
||||
'[choose one musical instrument]')
|
||||
num_skill_choices = 3
|
||||
features_by_level = defaultdict(list)
|
||||
subclasses_available = (CollegeOfLore, CollegeOfValor, CollegeOfGlamour,
|
||||
|
||||
@@ -63,6 +63,7 @@ class CharClass():
|
||||
'spells_known', 'spells_prepared'):
|
||||
new_list = getattr(self, attr, ()) + getattr(self.subclass, attr, ())
|
||||
setattr(self, attr, new_list)
|
||||
# All subclass proficiencies transfer, regardless of if this is primary class
|
||||
self.multiclass_weapon_proficiencies += (self.subclass.weapon_proficiencies)
|
||||
self._multiclass_proficiencies_text += (self._proficiencies_text)
|
||||
self.spellcasting_ability = (self.spellcasting_ability or
|
||||
|
||||
@@ -187,6 +187,8 @@ class Cleric(CharClass):
|
||||
_proficiencies_text = ('light armor', 'medium armor', 'shields',
|
||||
'all simple weapons')
|
||||
weapon_proficiencies = weapons.simple_weapons
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = ('light armor', 'medium armor', 'shields')
|
||||
class_skill_choices = ('History', 'Insight', 'Medicine',
|
||||
'Persuasion', 'Religion')
|
||||
features_by_level = defaultdict(list)
|
||||
|
||||
@@ -96,6 +96,10 @@ class Druid(CharClass):
|
||||
weapons.Javelin, weapons.Mace,
|
||||
weapons.Quarterstaff, weapons.Scimitar,
|
||||
weapons.Sickle, weapons.Sling, weapons.Spear)
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = (
|
||||
'Light armor', 'medium armor',
|
||||
'shields (druids will not wear armor or use shields made of metal)')
|
||||
class_skill_choices = ('Arcana', 'Animal Handling', 'Insight',
|
||||
'Medicine', 'Nature', 'Perception', 'Religion',
|
||||
'Survival')
|
||||
|
||||
@@ -128,7 +128,39 @@ class Samurai(SubClass):
|
||||
"""
|
||||
name = "Samurai"
|
||||
features_by_level = defaultdict(list)
|
||||
|
||||
|
||||
# Custom
|
||||
class Gunslinger(SubClass):
|
||||
"""Most warriors and combat specialists spend their years perfecting the
|
||||
classic arts of swordplay, archery, or polearm tactics. Whether duelist or
|
||||
infantry, martial weapons were seemingly perfected long ago, and the true
|
||||
challenge is to master them.
|
||||
|
||||
However, some minds couldn't stop with the innovation of the
|
||||
crossbow. Experimentation with alchemical components and rare metals have
|
||||
unlocked the secrets of controlled explosive force. The few who survive
|
||||
these trials of ingenuity may become the first to create, and deftly wield,
|
||||
the first firearms.
|
||||
|
||||
This archetype focuses on the ability to design, craft, and utilize
|
||||
powerful, yet dangerous ranged weapons. Through creative innovation and
|
||||
immaculate aim, you become a distance force of death on the
|
||||
battlefield. However, not being a perfect science, firearms carry an
|
||||
inherent instability that can occastionally leave you without a functional
|
||||
means of attack. This is the danger of new, untested technologies in a
|
||||
world where arcane energies that rule the elements are ever present.
|
||||
|
||||
Should this path of powder, fire, and metal call to you, keep your wits
|
||||
about you, hold on to your convictions as a fighter, and let skill meet
|
||||
luck to guide your bullets to strike true.
|
||||
|
||||
"""
|
||||
name = "Gunslinger"
|
||||
features_by_level = defaultdict(list)
|
||||
weapon_proficiencies = (weapons.firearms)
|
||||
_proficiencies_text = ('firearms')
|
||||
|
||||
|
||||
class Fighter(CharClass):
|
||||
class_name = 'Fighter'
|
||||
@@ -147,4 +179,4 @@ class Fighter(CharClass):
|
||||
features_by_level = defaultdict(list)
|
||||
subclasses_available = (Champion, BattleMaster, EldritchKnight,
|
||||
PurpleDragonKnight, ArcaneArcher, Cavalier,
|
||||
Samurai)
|
||||
Samurai, Gunslinger)
|
||||
|
||||
@@ -115,6 +115,9 @@ class Monk(CharClass):
|
||||
'simple weapons', 'shortswords', 'unarmed',
|
||||
"one type of artisan's tools or one musical instrument")
|
||||
weapon_proficiencies = (weapons.Shortsword, weapons.Unarmed) + weapons.simple_weapons
|
||||
multiclass_weapon_proficiencies = weapon_proficiencies
|
||||
_multiclass_proficiencies_text = ('simple weapons', 'shortswords',
|
||||
'unarmed')
|
||||
class_skill_choices = ('Acrobatics', 'Athletics', 'History', 'Insight',
|
||||
'Religion', 'Stealth')
|
||||
subclasses_available = (OpenHandWay, ShadowWay,
|
||||
|
||||
@@ -226,6 +226,9 @@ class Paladin(CharClass):
|
||||
_proficiencies_text = ('All armor', 'shields', 'simple weapons',
|
||||
'martial weapons')
|
||||
weapon_proficiencies = weapons.simple_weapons + weapons.martial_weapons
|
||||
multiclass_weapon_proficiencies = weapon_proficiencies
|
||||
_multiclass_proficiencies_text = ('light armor', 'medium armor', 'shields',
|
||||
'simple weapons', 'martial weapons')
|
||||
class_skill_choices = ("Athletics", 'Insight', 'Intimidation',
|
||||
'Medicine', 'Persuasion', 'Religion')
|
||||
features_by_level = defaultdict(list)
|
||||
@@ -245,7 +248,7 @@ class Paladin(CharClass):
|
||||
9: (0, 4, 3, 2, 0, 0, 0, 0, 0, 0),
|
||||
10: (0, 4, 3, 2, 0, 0, 0, 0, 0, 0),
|
||||
11: (0, 4, 3, 3, 0, 0, 0, 0, 0, 0),
|
||||
12: (0, 4, 3, 3, 0, 0, 0, 0, 0, 0),
|
||||
p 12: (0, 4, 3, 3, 0, 0, 0, 0, 0, 0),
|
||||
13: (0, 4, 3, 3, 1, 0, 0, 0, 0, 0),
|
||||
14: (0, 4, 3, 3, 1, 0, 0, 0, 0, 0),
|
||||
15: (0, 4, 3, 3, 2, 0, 0, 0, 0, 0),
|
||||
|
||||
@@ -78,6 +78,10 @@ class Ranger(CharClass):
|
||||
_proficiencies_text = ("light armor", "medium armor", "shields",
|
||||
"simple weapons", "martial weapons")
|
||||
weapon_proficiencies = weapons.simple_weapons + weapons.martial_weapons
|
||||
multiclass_weapon_proficiencies = weapon_proficiencies
|
||||
_multiclass_proficiencies_text = ('light armor', 'medium armor', 'shields',
|
||||
'simple weapons', 'martial weapons',
|
||||
'[choose one skill from Ranger list]')
|
||||
class_skill_choices = ('Animal Handling', 'Athletics', 'Insight',
|
||||
'Investigation', 'Nature', 'Perception', 'Stealth',
|
||||
'Survival')
|
||||
|
||||
@@ -125,6 +125,9 @@ class Rogue(CharClass):
|
||||
weapon_proficiencies = weapons.simple_weapons + (
|
||||
weapons.HandCrossbow, weapons.Longsword, weapons.Rapier,
|
||||
weapons.Shortsword)
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = ('light armor', "thieves' tools",
|
||||
'[choose one skill from Rogue list]')
|
||||
class_skill_choices = ('Acrobatics', 'Athletics', 'Deception',
|
||||
'Insight', 'Intimidation', 'Investigation',
|
||||
'Perception', 'Performance', 'Persuasion',
|
||||
|
||||
@@ -100,6 +100,8 @@ class Sorceror(CharClass):
|
||||
weapon_proficiencies = (weapons.Dagger, weapons.Dart,
|
||||
weapons.Sling, weapons.Quarterstaff,
|
||||
weapons.LightCrossbow)
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = ()
|
||||
class_skill_choices = ('Arcana', 'Deception', 'Insight',
|
||||
'Intimidation', 'Persuasion', 'Religion')
|
||||
features_by_level = defaultdict(list)
|
||||
|
||||
@@ -121,6 +121,8 @@ class Warlock(CharClass):
|
||||
'Intimidation', 'Investigation', 'Nature',
|
||||
'Religion')
|
||||
weapon_proficiencies = weapons.simple_weapons
|
||||
multiclass_weapon_proficiencies = weapon_proficiencies
|
||||
_multiclass_proficiencies_text = ('light armor', 'simple weapons')
|
||||
features_by_level = defaultdict(list)
|
||||
subclasses_available = (Archfey, Fiend, GreatOldOne, Undying, Celestial,
|
||||
Hexblade)
|
||||
|
||||
@@ -165,6 +165,8 @@ class Wizard(CharClass):
|
||||
weapon_proficiencies = (weapons.Dagger, weapons.Dart,
|
||||
weapons.Sling, weapons.Quarterstaff,
|
||||
weapons.LightCrossbow)
|
||||
multiclass_weapon_proficiencies = ()
|
||||
_multiclass_proficiencies_text = ()
|
||||
class_skill_choices = ('Arcana', 'History', 'Investigation',
|
||||
'Medicine', 'Religion')
|
||||
features_by_level = defaultdict(list)
|
||||
|
||||
Reference in New Issue
Block a user