Right off the top of my head (I haven't researched it), you could store the player's Health in a float (say, OnInit()), and when the OnHit event occurs, you could do a diff between their old Health and their current Health. The delta would be the damage.
Yes, that would work, but it could become messed up easily if the actor takes damage or uses healing magic between the time that the health is stored and when the hit happens.
I.e. if the health is stored when the player's health is 90, and then he heals to 100 with a healing spell, then the damage is going to return as 10 less than it really is... unless onhit captures literally -everything-, but I don't think it captures potion usage or automatic health regen.
I'll think about it more though,.. it would be great if I could somehow store it just before the attack happens; if there's some event that I can capture when someone starts attacking, that would be a great time to update.
Obviously I could just update it several times per second between attacks, but that's messy and could have bad performance if I run it on more than one actor at a time. I might test it out anyway because it's easy enough to make.