Date: 2025-11-22
Accepted
Combat requires differentiating between types of damage (Fire, Slashing, etc.) to support Resistances, Vulnerabilities, and Immunities.
We introduced a DamageType enum and updated the IHitPoints.TakeDamage method.
- DamageType Enum: Includes standard types (Bludgeoning, Piercing, Slashing, Fire, Cold, etc.).
- TakeDamage Update: Now accepts
DamageTypeas a parameter. - Resistance Logic:
StandardHitPoints(orStandardCreatureviaICombatStats) checks for resistance/vulnerability before applying damage.- Resistance: Halves damage.
- Vulnerability: Doubles damage.
- Immunity: Negates damage.
- Damage calculations are now type-aware.
DamageTakenEventArgsincludes theDamageTypefor event subscribers (UI, logs).- Future features like "Resistance to Non-Magical Attacks" can be built on this enum.