By the way, why do you have what amounts to two type checks? First you check the event type string against "shot" and then you check the event object type against Shot. Shouldn't those two things be...