Anyways, you could package SomeProjectile::onCollisionand if it hits a certain BL_ID, make it not explode.
http://www.wikihow.com/Train-Your-Pet
At one point in time there were turret events and I'm almost certain they had BL_ID filtering. That was a LONG time ago though, probably no way to get them.
It was possible with VCE and BotEvents. Just spawn a bot/turret bot, give it a weapon, make it look at players that are not whitelisted, and make them fire. Just a simple BL_ID check and bot event magic. Problem is, bot events are CRC'd, but iirc someone made a semi-fixed port.