- Add DamageCalculationResult model for transparent damage breakdown - Implement _calculate_attack_damage with W/R modifiers (additive/multiplicative) - Add _execute_attack_effect for future effect system integration - Add _build_attack_message for detailed damage breakdown in messages - Update _execute_attack to use new calculation pipeline - Bulbasaur now properly weak to Lightning in walkthrough demo New features: - Weakness applies bonus damage (additive +X or multiplicative xN) - Resistance reduces damage (minimum 0) - State changes include weakness/resistance details for UI - Messages show damage breakdown (e.g. 'base 10 +20 weakness') Tests: 7 new tests covering additive/multiplicative W/R, type matching, minimum damage floor, knockout triggers, and state change details |
||
|---|---|---|
| .. | ||
| core | ||
| __init__.py | ||
| test_health.py | ||