Hi,
You can go both ways actually. Both the projectile and the object being hit can be made aware of the impact. So the projectile can check that hit object and send an event to that object with values representing the damage to apply
Or, the object being hit can know what projectile just hit and apply damage to self.
In my example, I use the first version, the Projectile will fire an event "WEAPONG / APPLY DAMAGE" to the object being hit. the reason for that is that the object being hit is not aware of the projectile details, so it's easier to pass the data from a place that's aware of the various details then having to digg info. So for example the projectile has a power ( varying from projectile to projectile), sending the event "WEAPON / APPLY DAMAGE" will host in it s event data the damage power ( that's easy, it's define in the projectile itself), the object being hit simply get the damage from the event info, and done, it doesn't need to get the reference of the projectile, then look up the damage value to apply to self etc etc.
does that make sense?
Bye,
Jean