Learn to use quickhide and quickhide unselected. Makes working on isolated portions of your map very easy without cordon.
func_respawnroom will automatically inherit the team of the info_player_teamspawns inside of it.
info_no_dynamic_shadows exists and you use it by selecting faces, and no shadows (pickups or players showing through walls, etc) will appear on that face.
You can control koth timers with i/o by targeting zz_red_koth_timer and the corresponding one for blue. They have all the i/o of a team_round_timer entity.
Hit the help button in the properties panel of an entity to get a window showing all the valid inputs/outputs for that entity ( a BIG one people don't seem to know ).
When flipping your map, create a skip brush on the seam, and drag your copied half around by that skip brush. It will make sure your map half stays on grid.
There's a button in hammer that will turn prop fade distances on in the 3d view.
Place a prop_static with a sentry model in your map, and set it's fade distance to 1024/1024. If you toggle display fade distances in the 3d view, you can see it's range by flying around: if you can see it, you're in range. As it's a prop_static, it won't even appear once the map is compiled.
The player can receive inputs IgnitePlayer and ExtinguishPlayer, useful for waterfalls or lava. (Target with !activator).
The player can also recieve the input SpeakResponseConcept with the override of a response. These are in scripts/response_rules and you can use a trigger to make the player call out voice lines, or scream when they fall into a pit (with HalloweenLongFall).
If you have a trigger_push, the player will only be affected by it if they're in the air already, or they jump. You can force them into it by putting a small,
18 unit or so ledge around the trigger. The player won't notice it, but they'll be forced to fall off it for a split second and be affected by the trigger.
You can replace any sound in the game by using a <yourmapname>_level_sounds.txt file and creating soundscripts (will write a tutorial on this one).
Your respawn room visualizer can be any texture. This is most useful for wide doors - instead of stretching the no entry overlay, make a brush in the middle with that, and then surround it with nodraw to cover the rest of the door. Then tie all of it to the same func_respawnroom_visualizer.
If you build your displacements like this
http://i.imgur.com/DcTCQSr.jpg And then you select the faces you can actually see and turn them into displacements
http://i.imgur.com/R1jze39.jpg , it all sews because the base brushes match and there's none of that fiddly half angle stuff