Build:
- trigger_multiple brush
- A pair of team filter entities (filter_activator_tfteam) named filter_blu/red
- A point_teleport in each destination, named teleport_blu/red
Then:
- Set the Entity to Teleport for each of your point_teleports as !activator
- Give each filter entity the output OnPass > teleport_blu/red > Teleport
- Give the trigger_multiple two outputs like this: OnStartTouch > filter_blu/red > TestActivator, one for each filter.
That's five entities.
If you made two trigger_teleport brushes, you would still need two filter entities and two destination point entities (info_target). So that would make six entities.
The methods above assume you are okay with your players being teleported in to the same spot. If you want them to be teleported in to different positions at the destination, you will need to use trigger_teleport in conjunction with a landmark. You can actually set the landmark to the origin of the trigger_teleport by specifying
!self as the landmark. For more precise placement, you can use a bunch of point_teleports and a logic_case but that defeats the object of keeping it simple.