Bonus damage is currently handled after all defense have run, which means that DefenseRules cannot react to them. They could be moved out of Entity::Hit and into Tile's attack execution. Certain damage bonuses may want to apply before DefenseOrder::Always (e.g. Fire on Grass), and others may want to happen after (e.g. weakness, Freeze and Breaking).
Bonus damage is currently handled after all defense have run, which means that DefenseRules cannot react to them. They could be moved out of Entity::Hit and into Tile's attack execution. Certain damage bonuses may want to apply before DefenseOrder::Always (e.g. Fire on Grass), and others may want to happen after (e.g. weakness, Freeze and Breaking).