While this is highly verbose, I think it could be made more condensed and still give a lot of useful information. Note that this will never be approved, but something like:
- Code:
Your Shard of Ice hits the Ettin for 35 damage! (5 damage resisted)
The ettin hits you for 6 damage. (13 damage resisted)
Would be quite reasonable. You could have separate messages for resistances/AC reduction, or just roll them all into one. Maybe say "damage was reduced by 5" so we don't confuse anyone with the word resist for AC reductions. You could do the same for to-hit rolls, but personally I'd leave them out on hits. On misses you could show the comparison. dice ranges for max rolls optional.
- Code:
You closely miss the ettin! (To hit: 4 (1d20) EV: 7 (1d10))
One problem with this is that many spells use frankly absurd damage formulas, like airstrike shown above. It increases in max damage once every 6 points, and also once every 7 points. Why? Would gaining 2 points every 6 be too strong? Why roll 3 different ranges instead of just doing a simple 3dN? This kind of formula only works because it's hidden and so the user doesn't know it's so unintuitive.