Fighter
Fighters share an unparalleled mastery with weapons and armor, and a thorough knowledge of the skills of combat. They are well acquainted with death, both meting it out and staring it defiantly in the face.
You must have a Dexterity or Strength score of 13 or higher in order to multiclass in or out of this class.
name = 'Fighter'
description = "***Class: Fighter.*** Fighters share an unparalleled mastery with weapons and armor, and a thorough knowledge of the skills of combat. They are well acquainted with death, both meting it out and staring it defiantly in the face."
Level | Proficiency Bonus | traits |
---|---|---|
1st | +2 | Fighting Style, Second Wind |
2nd | +2 | Action Surge (x1) |
3rd | +2 | Martial Archetype |
4th | +2 | Ability Score Improvement |
5th | +3 | Extra Attack (x1) |
6th | +3 | Ability Score Improvement |
7th | +3 | Martial Archetype feature |
8th | +3 | Ability Score Improvement |
9th | +4 | Indomitable (x1) |
10th | +4 | Martial Archetype feature |
11th | +4 | Extra Attack (x2) |
12th | +4 | Ability Score Improvement |
13th | +5 | Indomitable (x2) |
14th | +5 | Ability Score Improvement |
15th | +5 | Martial Archetype feature |
16th | +5 | Ability Score Improvement |
17th | +6 | Action Surge (x2), Indomitable (x3) |
18th | +6 | Martial Archetype feature |
19th | +6 | Ability Score Improvement |
20th | +6 | Extra Attack (x3) |
As a fighter, you gain the following class traits.
Hit Points
Hit Dice: 1d10 per fighter level
Hit Points at 1st Level: 10 + your Constitution modifier
Hit Points at Higher Levels: 1d10 (or 6) + your Constitution modifier per fighter level after 1st
def everylevel(npc): npc.hits('d10')
Proficiencies
Armor: All armor, shields
Weapons: Simple weapons, martial weapons
Tools: None
Saving Throws: Strength, Constitution
Skills: Choose two skills from Acrobatics, Animal Handling, Athletics, History, Insight, Intimidation, Perception, and Survival
Equipment
- (a) chain mail or (b) leather, longbow, and 20 arrows
- (a) a martial weapon and a shield or (b) two martial weapons
- (a) a light crossbow and 20 bolts or (b) two handaxes
- (a) a dungeoneer's pack or (b) an explorer's pack
def level1(npc):
npc.savingthrows.append("STR")
npc.savingthrows.append("CON")
for arm in armor['light'] | armor['medium'] | armor['heavy'] | armor['shields']:
npc.proficiencies.append(arm)
for wpn in weapons['simple-melee'] | weapons['martial-melee'] | weapons['simple-ranged'] | weapons['martial-ranged']:
npc.proficiencies.append(wpn)
skills = ['Acrobatics', 'Animal Handling', 'Athletics', 'History', 'Insight', 'Intimidation', 'Perception', 'Survival']
chooseskill(npc, skills)
chooseskill(npc, skills)
npc.equipment.append("Martial weapon")
npc.equipment.append("Shield OR martial weapon")
npc.equipment.append("Light crossbow and 20 bolts OR two handaxes")
npc.equipment.append("Dungeoneer's pack, or explorer's pack")
npc.armorclass['Chain mail'] = 16
Fighting Style
1st-level fighter feature
You adopt a particular style of fighting as your specialty. Choose one of the styles available. You can't take a Fighting Style option more than once, even if you later get to choose again.
choosestyle(npc)
#style = choose("Choose a Fighting Style:", styles)
#npc.fightingstyle = style[0]
#(style[1])(npc)
Second Wind
You have a limited well of stamina that you can draw on to protect yourself from harm. On your turn, you can use a bonus action to regain hit points equal to 1d10 + your fighter level.
Once you use this feature, you must finish a short or long rest before you can use it again.
npc.defer(lambda npc: npc.bonusactions.append(f"***Second Wind (Recharges on short or long rest).*** On your turn, you can regain 1d10 + {npc.levels('Fighter')} hit points."))
Action Surge
Starting at 2nd level, you can push yourself beyond your normal limits for a moment. On your turn, you can take one additional action on top of your regular action and a possible bonus action.
Once you use this feature, you must finish a short or long rest before you can use it again. Starting at 17th level, you can use it twice before a rest, but only once on the same turn.
def level2(npc):
npc.defer(lambda npc: npc.traits.append(f"***Action Surge ({'2/' if npc.levels('Fighter') > 16 else ''}Recharges on short or long rest).*** On your turn, you can take one additional action on top of your regular action and a possible bonus action."))
Martial Archetype
At 3rd level, you choose an archetype that you strive to emulate in your combat styles and techniques:
- Arcane Archer
- Banneret
- Battle Master
- Blood Thrall
- Brute
- Cavalier
- Champion
- Dervish
- Dwarven Defender
- Dragon Knight
- Dragon Slayer
- Dragoon
- Dreadnought
- Duelist
- Eldritch Knight
- Elemental Blade
- Ghost Warrior
- Monster Hunter
- Psi Knight
- Rune Knight
- Samurai
- Scout
- Stillmind Warrior
- Weapon Master
The archetype you choose grants you traits at 3rd level and again at 7th, 10th, 15th, and 18th level.
def level3(npc):
# Choose subclass
(_, subclass) = choose("Choose a Martial Archetype:", subclasses)
npc.subclasses[allclasses['Fighter']] = subclass
npc.description.append(subclass.description)
Ability Score Improvement
When you reach 4th level, and again at 6th, 8th, 12th, 14th, 16th, and 19th level, you can increase one ability score of your choice by 2, or you can increase two ability scores of your choice by 1. As normal, you can't increase an ability score above 20 using this feature.
def level4(npc): abilityscoreimprovement(npc)
def level6(npc): abilityscoreimprovement(npc)
def level8(npc): abilityscoreimprovement(npc)
def level12(npc): abilityscoreimprovement(npc)
def level14(npc): abilityscoreimprovement(npc)
def level16(npc): abilityscoreimprovement(npc)
def level19(npc): abilityscoreimprovement(npc)
Martial Versatility
Whenever you reach a level in this class that grants the Ability Score Improvement feature, you can do one of the following, as you shift the focus of your martial practice:
- Replace a fighting style you know with another fighting style available to fighters.
- If you know any maneuvers from the Battle Master archetype, you can replace one maneuver you know with a different maneuver.
Extra Attack
5th-level Fighter feature
You can attack twice, instead of once, whenever you take the Attack action on your turn.
The number of attacks increases to three when you reach 11th level in this class and to four when you reach 20th level in this class.
def level5(npc):
npc.defer(lambda npc: npc.actions.append(f"***Multiattack.*** You can attack {'twice' if npc.levels('Fighter') < 11 else '3 times' if npc.levels('Fighter') < 20 else 'four times'} whenever you take the Attack action on your turn."))
Indomitable
9th-level Fighter feature
You can reroll a saving throw that you fail. If you do so, you must use the new roll, and you can't use this feature again until you finish a long rest.
You can use this feature twice between long rests starting at 13th level and three times between long rests starting at 17th level.
def level9(npc):
npc.defer(lambda npc: npc.traits.append(f"***Indomitable ({'' if npc.levels('Fighter') < 13 else '2/' if npc.levels('Fighter') < 17 else '3/'}Recharges on long rest).*** You can reroll a saving throw that you fail. If you do so, you must use the new roll, and you can't use this feature again until you finish a long rest."))
# Fighter subclasses use styles and maneuvers
dependentmodules = ['Styles.md', 'Maneuvers.md']