We have OnHit scripts for when a weapon hits an enemy and OnDeath scripts for enemies dying and "when characters are damaged" global scripts, but it would be cool if we could fire a script and assign an OnDamaged script scoped down to specific characters. I know I could modify and do a large function to check every enemy type etc in the global, but much like OnHit being implemented, I think OnDamaged has a similar use case to make the argument for it being useful locally assigned.
For example:
Slimes - when a slime gets hit by the player, a script on the slime could run to make it split.
Porcupine enemy - When the player attacks with a melee weapon, a script runs that damages the player
Skeleton - If the player uses a blunt weapon, it could take additional damage or cause some trigger an effect that is only used when blunt weapons are used against skeletons.
Boss phases - When a boss is hit and HP is under a certain threshold, can trigger a new phase or special attack
These are some of the things I have am immediate use case for for without having to make a large global function that checks all of these things everytime something is hit