Destroyable Cameras.
Cameras Part II.I
Now, this is simple enough to do, with a bit of entity work. Now, when the camera itself (the brush based model) is destroyed, the button can still activate the trigger_camera entity. Well, here I will show you how to get around this and to add a new twist to your lovely cameras!
First of all, here I have the layout shown in my first Camera Tutorial:

Here, I have the camera model, an info_target, a trigger_camera and a func_button. They have been set up exactly as in the other tutorial. Each has the following information set:
func_button with 2 flags set, these being 'Don't Move' and 'Toggle'
Name - button
Target - cam1
trigger_camera:
Name - cam1
Target - cam1_targ
info_target:
Name - cam1_targ
What we want to do is change the buttons target when the model is destroyed, so in effect, the trigger_camera is always looking at the info_target, but the button will no longer look at it.
Next stage is to set up a routine that will disable the func_button from viewing the camera. Insert 3 entities, and set them as follows:
Set one up as a trigger_changetarget with the following attributes:
Name - camera_changed
Target - button
New Target - cam1_changed
Set a second trigger_changetarget up as follows:
Name - round_restart
Target - button
New Target - cam1_targ
The last entity is to be set as an info_null. It only has one attribute to fill in:
Name - cam1_changed
Note: If you don't have this entity as an option, an info_target will also do the job.
You should have something like this:

Next, draw in a new brush that would be suitable to be destroyed, like a radar dish or use the camera brush based model itself. Here, I am using an electricity box that powers the button:

Ok, now set the chosen object as a func_breakable (electricity box in this case), and give it the following values:
Target On Break - cam_changed
Strength - 300
Material Type - Metal
Now, what will happen is when the box is destroyed, it will target the trigger_changetarget and set the button to view the info_null. This will disable the button from viewing the trigger_camera. So it will appear as if the camera has been knocked out, but the entity is still viewing the area, it just can't be viewed by the player!
Now, this works, but we need this to be reset at the beginning of every round don't we? So, what entity resets at the beginning of every round? A func_door!
Make a brush anywhere, preferably outside of the map (where a player won't ever go to).
Tie it to an entity and set it up as follows:
Target - round_restart
Flag: Don't Link - Check this flag.
Making sure this is outside of where a player is going to move is because once the door is touched by a player, it'll reset the button to its normal state by targeting the second trigger_changetarget that we set up. However, if its not touched, it'll happily reset at the beginning of every round for us. Nice of them or what!
The GOD.
Comments?