There was never any provision against team vehicles being teamkilled. The entire minigameCanDamage and minigameCstar fishe functions are bad and I need time to rewrite them. Which I don't have.
Alright, I'll work on a workaround for the Boss Battles Server.
Also because of my limited time I probably won't be making any of those suggestions or new gamemodes or anything anytime soon.
omg mak gamemod exaclt lik SPORE SPORE id fun gam mak it!
Edit: Here's the fix I used -
...
if(!%mini.Teams.friendlyFire)
   {
   if(isObject(%objA.spawnBrick) && %objA.spawnBrick.getDatablock().slyrType $= "TeamVehicle" && isObject(%clientB))
      {
         %color = %objA.spawnBrick.getColorID();
         if(%color == %clientB.getTeam().color)
            return 0;
      }
      if(isObject(%objB.spawnBrick) && %objB.spawnBrick.getDatablock().slyrType $= "TeamVehicle" && isObject(%clientA))
      {
         %color = %objB.spawnBrick.getColorID();
         if(%color == %clientA.getTeam().color)
            return 0;
      }
      if(%clientA != %clientB)
      {
...
Additionally, I noticed anyone can drive player-based vehicles despite team restrictions because of this check:
if( [...] %class $= "PlayerData"
Fixed when I changed PlayerData to AIPlayer.