There's no way right now to make that intuitive damage system supported by xedamage without making it a requirement.
I was going to have something like:
local xedamage xd = xedamage.create()
Then in a damage event you can:
if (xedamage.isInUse()) then
call AnnounceWasUsed( xe.CurrentDamageType, xe.CurrentAttackType)
I don't like the whole stuff about declaring new damage types incompatible with the ones we already used so much, considering there are so many elements declared as damage types already.