- Created utils/dice_utils.py with reusable dice rolling functions - DiceRoll dataclass for roll results - parse_and_roll_multiple_dice() for multiple dice notation - parse_and_roll_single_dice() for single dice notation - Graceful error handling with empty list returns - Refactored commands/dice/rolls.py to use new utility module - Removed duplicate DiceRoll class and parsing methods - Updated all method calls to use standalone functions - Added new /d20 command for quick d20 rolls - Fixed fielding prefix command to include d100 roll - Updated tests/test_commands_dice.py - Updated imports to use utils.dice_utils - Fixed all test calls to use standalone functions - Added comprehensive test for /d20 command - All 35 tests passing - Updated utils/CLAUDE.md documentation - Added Dice Utilities section with full API reference - Documented functions, usage patterns, and design benefits - Listed all commands using dice utilities Benefits: - Reusability: Dice functions can be imported by any command file - Maintainability: Centralized dice logic in one place - Testability: Functions testable independent of command cogs - Consistency: All dice commands use same underlying logic 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| admin | ||
| custom_commands | ||
| dice | ||
| draft | ||
| examples | ||
| gameplay | ||
| help | ||
| injuries | ||
| league | ||
| players | ||
| profile | ||
| soak | ||
| spoiler | ||
| teams | ||
| transactions | ||
| utilities | ||
| voice | ||
| __init__.py | ||
| CLAUDE.md | ||