%sourceObject could be a projectile so get the name ?
%sourceObject being a projectile is the best case scenario. If it’s not, I’m left guessing, there’s no way to determine vector or details about the projectile like whether or not it’s supposed to be melee or a gun. The assumptions just pile up thereafter. At most I’d be able to implement partial-half assed support for raycasting weapon packs, but even then, there’s no guarantee it will work unless the creator of the weapon pack has called
player.damage with specific arguments that actually support my blood mod.
For example, Conan’s dueling weapons call
armor::damage with an undefined position argument. There’s nothing wrong with this, because blockland doesn’t care and there’s no real reason he needs to care. But when it gets to my mod, the system is going to plug in “0 0 0” as the hit position thinking it’s where the collision between the player and the damage source happened, meaning you’d see particles spawning at the origin and not where you hit the player, and it would also only ever bloody your feet, since the origin is on the ground.
Compare all these weird hacks and work arounds to
adding a single line of code in somewhere and fixing it entirely. You could probably even just package it as a new add-on.