Detpackable Walls in Team Fortress Classic

You've seen the depackable areas in many TFC maps and have porbably wondered "How did they do that?" Well this tutorial is the answer. I'll show you how to create one time depack areas (like the grates in Valves Well map) and multi detable areas (like the one found in Rock2's tunnel entrances) and lastly the trigger type (like the destroyable command center in the map Canal Zone). So lets crank up WC and start making some walls we can blow up.


Preamble

I am assuming in this tutorial that you are completely familiarized with WorldCraft 2.x and understand how to do the basics like placing and texturing brushes as well as how to place and edit entities. TFC editing is not easy and not really geared for the faint of heart, but as long as you have a good grasp of how WC works you should do fine.


The Detpack Trigger

This is the simplest of all the detpack effects. It consists of a single info_goal entity with its Goal Activation Bitfeild set to 2 (detpack only)

Goal Activation Bitfield

2 (detpack only)

This setting causes the goal only to trigger when hity by the blast from a detpack

Now that you have the detpack trigger part done you can target a standard HL/TFC entity with the targeted_object feild, activate/remove/restore another goal (or goals), display a message, award points etc. The point here is now we have a trigger that reacts to the detpack explosion.. what you do with it is up to you :)

 


The Multiple Use Detpack Area

Now it's time to learn how to create the re-detable wall. This is the same type of effect as seen on the map Rock2 in the base tunnels.

Step 1: Create the area that will hold the detpackable wall (or roof,or floor, or whatever but I will use the term wall for simplicity) Start by creating the basic surroundings of the soon to be hole by creating ONLY those elements that will be the same before and after the detpack explosion. Usually this leaves you with a very simple square opening in the wall for you to fill in.( NOTE: if you use a sqare/rectangular hole on this step it will greatly simplify the rest of the process)

Step 2: With the basic hole created lets start to make the pre-blast walls. fill in your hole with brushes as needed and texture them to match the surrounding walls. (if you have a squared hole this should be very easy as it only takes one brush) Now that we have the preblast wall created select all of the pre-deted walls brushes and turn the whole thing into a func_wall_toggle. Then make sure your texture lock is on and shift-drag to an area away from your hole to copy the entity. You should now have 2 func_wall_toggles one in position and one off to the side. Now we can create the post-blast wall

Step 3: Time to destroy that prestine wall. select the wall_toggle that is still in position in the hole and click on the ToWorld button. (turning it back into standard brushes). Grab the clipping tool and start slicing brushes into the rough shape for the post-blast hole. The vertex manipulation tool will work fine here to, even adding the brushes by hand is fine.. but I've found the clip to to be a fast and effective means of creating the blown out walls w/o the risk of invalid solids. After you have a nice blown out wall look and textured appropriately (maybe add some large chunks of debris to remain on the floor around the hole to add that extra touch of realism) select all the blown out parts of the wall and create another func_wall_toggle out of them.. we are now almost done.

Step 4: Triggers.. now we need to add a pair of info_goals to trigger our wall when hit by a detpack.. so place one info goal on either side of the wall (so it can be deted from either side) We also need a Multi Manager to control the func_wall toggles so place one in near the hole in an out of the way place. You should now have something like this..

Top View Side View

This shows (albeit unclearly) the blown and unblown walls overlapped as well as the info_goal placement

This may look different from what you have... as you can see in this view from my latest map the floor is much lower on one side of the hole than on the other. Because of this I have shifted the info_goals vertically to put them in the same relationthip to their respective floors.

This view also clearly shows the extra debris that will show up once the wall is blown out. You can also see the MM here.



Step 5: Entity work. Break out that entity editor casue it's time to set some keys. Set up each of the entitys like this.

Pre-blown wall entity (func_wall_toggle)

name

unblownwall1

A unique name for the entity

Post-blown wall entity (func_wall_toggle)

name

blownwall1

A unique name for the entity
start invisible (flag setting)
true (checked)
causes wall to start out invisible

info_goal #1

name

not needed

we will reference it by goal number
goal#
501
a unique reference number
targeted object
mmdet1
Target the multimanage that controlls the func_wall_toggles
Goal Activation Bitfields
2 (detpack only)
sets to react to a detpack event

info_goal #2

name

not needed

we will reference it by goal number
goal#
502
a unique reference number
targeted object
mmdet1
Target the multimanage that controlls the func_wall_toggles
Goal Activation Bitfields
2 (detpack only)
sets to react to a detpack event

Multi Manager

name

mmdet1

A unique name for the entity
blownwall1
0
will turn on/off the blown looking wall
unblownwall1
0
will turn on/off the unblown looking wall

 

Step 6: Almost done.. now (with texture lock still on) move the unblown wall (the copy that you made off to the side) back into position. It should be overlapping the the blown out wall entity.

That's it.. You now have a detable wall that when hit by a detpack blast will flip between open/closed on every blast. You can set up alert messages, warning sounds, gib shooters, etc to spice up the effect but the basic detable wall is now in place.


One time detable wall

The set up for a one time detable wall is identical to the Multiple Use one above.. the only changes some in the two info_goal entities. They will require the addition of a goal group and remove_goal _group keys as shown below.

info_goal #1

name

not needed

we will reference it by goal number
goal#
501
a unique reference number
group#
500
a unique group reference number
targeted object
mmdet1
Target the multimanage that controlls the func_wall_toggles
Remove_Group#
500
removes the two info goals that detect the detpack blast
Goal Activation Bitfields
2 (detpack only)
sets to react to a detpack event

info_goal #2

name

not needed

we will reference it by goal number
goal#
502
a unique reference number
group#
500
a unique group reference number
targeted object
mmdet1
Target the multimanage that controlls the func_wall_toggles
Remove_Group#
500
removes the two info goals that detect the detpack blast
Goal Activation Bitfields
2 (detpack only)
sets to react to a detpack event

How this works.. When the detpack goes off and triggers either of the info_goals it goes active to the goal moves to the active state and does two things.. it triggers the multi-manager (mmdet1) thus opening the hole and then it removes itself (and the other info_goal) by moving all goals in the 500 group to the removed state. Now that the info_goal is in the removed state only another goal can restore it to inactive state (so it can be triggered again) but because we haven't added a means to do that it will stay removed for the rest of the game once it's triggered.


End Results

Here are some shots of the final map (created from the rmf that the WC screen shots above came from)

Before Detpacking After Detpacking


 

Snowdog