This just might work.
Elaborating on your idea, I could keep track of the last agent to make contact with each player and then credit them with any damage that follows.
This covers the situations where a player instigates the action, but it unfortunately doesn’t cover when a player hits the wall by their own bad luck. Still, the result would be a point for the other team, and I think that could be good enough.
Thinking this through, I could also start each team with X points (maybe 100) and remove a point every time someone is eliminated (by themselves or others). When a team reaches a score of zero, that would signify a win.
I think I’ll try both ideas. Thanks!