Barbarus
A Python-based D&D 5e character management system, specifically designed for a Barbarian character with rage and elemental weapon capabilities.
Features
-
Combat Management
- Turn-based combat system with action tracking
- Weapon attack rolls with advantage/disadvantage support
- Damage calculations including critical hits
- Rage damage bonus tracking
- Elemental weapon effects
- Status effect management
- Inspiration system
- Bonus action handling
-
Weapon System
- Dynamic weapon registry
- Support for standard and improvised weapons
- Elemental weapon enhancements
- Special weapon actions
- Weapon effect tracking
-
Character Stats
- Ability score modifiers
- Saving throw calculations
- Skill check system
- Proficiency tracking
-
Special Abilities
- Rage state management
- Elemental weapon enhancements during rage
- Support for various damage types (Slashing, Piercing, Bludgeoning, etc.)
- Effect duration tracking
Character Details
The system is configured for a level 5-8 Barbarian with the following base stats:
-
Ability Scores
- Strength: 19 (+4)
- Dexterity: 14 (+2)
- Constitution: 16 (+3)
- Intelligence: 8 (-1)
- Wisdom: 10 (+0)
- Charisma: 10 (+0)
-
Proficiencies
- Saving Throws: Strength, Constitution
- Skills: Athletics, Stealth, Deception, Intimidation
- Special: Advantage on Dexterity saving throws
Usage
The system allows for:
- Adding and managing weapons
- Activating/deactivating rage
- Adding elemental effects to weapons
- Rolling attacks with advantage/disadvantage
- Calculating damage with various effects
- Performing skill checks and saving throws
Technical Details
Built in Python using:
- Type hints for better code clarity
- Dataclasses for damage roll management
- Object-oriented design for extensibility
- Random number generation for dice rolls