Team Fortress 2/Mapper's Reference: Difference between revisions
Brandished (talk | contribs) (replaced overcomlicated wiki table format with htm for jump table, removed composer mozilla html formatting from other tables, added some cell coloring and huge summary note...) |
Brandished (talk | contribs) m (redid cell coloring, didn't work right 1st try) |
||
Line 28: | Line 28: | ||
<table border="1" cellpadding="2"> | <table border="1" cellpadding="2"> | ||
<tr style="background:#6495ED;" | <tr> | ||
<th style="background:#6495ED;" width="110">Class </th> | |||
<th width="110">Jump Type </th> | <th style="background:#6495ED;" width="110">Jump Type </th> | ||
<th width="90">Horizontal </th> | <th style="background:#6495ED;" width="90">Horizontal </th> | ||
<th width="90">Vertical </th> | <th style="background:#6495ED;" width="90">Vertical </th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td rowspan="2"><b>Scout</b> | <td style="background:#CCCCCC;" rowspan="2"><b>Scout</b></td> | ||
<td style="background:#CCCCCC;"> Normal </td> | |||
<td> Normal </td> | <td style="background:#CCCCCC;"> 320~352 </td> | ||
<td> 320~352 </td> | <td style="background:#CCCCCC;"> 72 </td> | ||
<td> 72 | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> Double jump </td> | <td style="background:#CCCCCC;"> Double jump </td> | ||
<td> 608~640 </td> | <td style="background:#CCCCCC;"> 608~640 </td> | ||
<td> 117 | <td style="background:#CCCCCC;"> 117 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td rowspan="5"><b>Soldier</b> | <td rowspan="5"><b>Soldier</b> | ||
<pre>* = wall climb</pre> | <pre>* = wall climb</pre></td> | ||
<td> Normal </td> | <td> Normal </td> | ||
<td> 224~256 </td> | <td> 224~256 </td> | ||
Line 57: | Line 53: | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 1 rocket </td> | <td> 1 rocket </td> | ||
<td> 992 (1024 max) </td> | <td> 992 (1024 max) </td> | ||
Line 63: | Line 59: | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 2 Rocket * </td> | <td> 2 Rocket * </td> | ||
<td> N \ A </td> | <td> N \ A </td> | ||
<td> 928~992 | <td> 928~992 </td> | ||
</tr> | </tr> | ||
<tr | <tr"> | ||
<td> 3 Rocket * </td> | <td> 3 Rocket * </td> | ||
<td> N \ A </td> | <td> N \ A </td> | ||
<td> 1184~1248 | <td> 1184~1248 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 4 Rocket * </td> | <td> 4 Rocket * </td> | ||
<td> N \ A </td> | <td> N \ A </td> | ||
<td> 1312~1376 | <td> 1312~1376 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> <b>Pyro</b> </td> | <td style="background:#CCCCCC;"> <b>Pyro</b> </td> | ||
<td> Normal </td> | <td style="background:#CCCCCC;"> Normal </td> | ||
<td> 256~288 </td> | <td style="background:#CCCCCC;"> 256~288 </td> | ||
<td> 72 | <td style="background:#CCCCCC;"> 72 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td rowspan="5"><b>Demoman</b> | <td rowspan="5"><b>Demoman</b> | ||
<pre>* = Medic necessary</pre> | <pre>* = Medic necessary</pre> | ||
Line 94: | Line 86: | ||
<td> Normal </td> | <td> Normal </td> | ||
<td> 250~256 </td> | <td> 250~256 </td> | ||
<td> 70 | <td> 70 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 1 sticky </td> | <td> 1 sticky </td> | ||
<td> 2112~2144 </td> | <td> 2112~2144 </td> | ||
<td> 728 (928-960 max) | <td> 728 (928-960 max) </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 2 stickies </td> | <td> 2 stickies </td> | ||
<td> 5845? </td> | <td> 5845? </td> | ||
<td> 3072~3104 | <td> 3072~3104 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 3 stickies * </td> | <td> 3 stickies * </td> | ||
<td> ? </td> | <td> ? </td> | ||
<td> over 6323 | <td> over 6323 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> 4 stickies * </td> | <td> 4 stickies * </td> | ||
<td> ? </td> | <td> ? </td> | ||
<td> over 7769 | <td> over 7769 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> <b>Heavy</b> </td> | <td style="background:#CCCCCC;"> <b>Heavy</b> </td> | ||
<td> Normal </td> | <td style="background:#CCCCCC;"> Normal </td> | ||
<td> 192~224 </td> | <td style="background:#CCCCCC;"> 192~224 </td> | ||
<td> 72 | <td style="background:#CCCCCC;"> 72 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td rowspan="4"><b>Engineer</b> | <td rowspan="4"><b>Engineer</b> | ||
<pre>* = used as platform</pre> | <pre>* = used as platform</pre></td> | ||
<td> Normal </td> | <td> Normal </td> | ||
<td> 256~288 </td> | <td> 256~288 </td> | ||
<td> 72 | <td> 72 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> Teleporter * </td> | <td> Teleporter * </td> | ||
<td> ? </td> | <td> ? </td> | ||
<td> 84 | <td> 84 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> Dispenser * </td> | <td> Dispenser * </td> | ||
<td> 288~320 </td> | <td> 288~320 </td> | ||
<td> 127 | <td> 127 </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> Sentry * </td> | <td> Sentry * </td> | ||
<td> ~315 </td> | <td> ~315 </td> | ||
<td> 138 | <td> 138 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> <b>Medic</b> </td> | <td style="background:#CCCCCC;"> <b>Medic</b> </td> | ||
<td> Normal </td> | <td style="background:#CCCCCC;"> Normal </td> | ||
<td> 256~288 </td> | <td style="background:#CCCCCC;"> 256~288 </td> | ||
<td> 72 | <td style="background:#CCCCCC;"> 72 | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr | <tr> | ||
<td> <b>Sniper</b> </td> | <td> <b>Sniper</b> </td> | ||
<td> Normal </td> | <td> Normal </td> | ||
<td> 256~288 </td> | <td> 256~288 </td> | ||
<td> 72 | <td> 72 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> <b>Spy</b> </td> | <td style="background:#CCCCCC;"> <b>Spy</b> </td> | ||
<td> Normal </td> | <td style="background:#CCCCCC;"> Normal </td> | ||
<td> 256~288 </td> | <td style="background:#CCCCCC;"> 256~288 </td> | ||
<td> 72 | <td style="background:#CCCCCC;"> 72 | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr style="background:#ED5555;" | <tr> | ||
<td style="background:#ED5555;"> Maximum </td> | |||
<td> ? </td> | <td style="background:#ED5555;"> ? </td> | ||
<td> ? </td> | <td style="background:#ED5555;"> ? </td> | ||
<td> over 1952 </td> | <td style="background:#ED5555;"> over 1952 </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
Line 191: | Line 171: | ||
<!--- screw it, I'm using html ---> | <!--- screw it, I'm using html ---> | ||
<table border="1" cellpadding="2"> | <table border="1" cellpadding="2"> | ||
<tr style="background:#6495ED;" | <tr> | ||
<th style="background:#6495ED;" width="110">Class </th> | |||
<th width="110">Forwards </th> | <th style="background:#6495ED;" width="110">Forwards </th> | ||
<th width="90">Backwards </th> | <th style="background:#6495ED;" width="90">Backwards </th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 201: | Line 181: | ||
<td> 360 </td> | <td> 360 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="1"><b>Soldier</b> </td> | |||
<td> 240 </td> | <td style="background:#CCCCCC;"> 240 </td> | ||
<td> 216 </td> | <td style="background:#CCCCCC;"> 216 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 211: | Line 191: | ||
<td> 270 </td> | <td> 270 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="1"><b>Demoman</b> </td> | |||
<td> 280 </td> | <td style="background:#CCCCCC;"> 280 </td> | ||
<td> 252 </td> | <td style="background:#CCCCCC;"> 252 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 221: | Line 201: | ||
<td> 207 </td> | <td> 207 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="1"><b>Engineer</b> </td> | |||
<td> 300 </td> | <td style="background:#CCCCCC;"> 300 </td> | ||
<td> 270 </td> | <td style="background:#CCCCCC;"> 270 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 231: | Line 211: | ||
<td> 288 </td> | <td> 288 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;"> <b>Sniper</b> </td> | |||
<td> 300 </td> | <td style="background:#CCCCCC;"> 300 </td> | ||
<td> 270 </td> | <td style="background:#CCCCCC;"> 270 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 250: | Line 230: | ||
<table border="1" cellpadding="2"> | <table border="1" cellpadding="2"> | ||
<tr style="background:#6495ED;" | <tr> | ||
<th style="background:#6495ED;" width="110">Class </th> | |||
<th width="110">Weapon Type </th> | <th style="background:#6495ED;" width="110">Weapon Type </th> | ||
<th width="90">Damage Dealt </th> | <th style="background:#6495ED;" width="90">Damage Dealt </th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 268: | Line 248: | ||
<td>30~40 </td> | <td>30~40 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="3"><b>Soldier</b> </td> | |||
<td> Rocket Launcher </td> | <td style="background:#CCCCCC;"> Rocket Launcher </td> | ||
<td>90~100 </td> | <td style="background:#CCCCCC;">90~100 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Shotgun </td> | |||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Shovel </td> | |||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 294: | Line 274: | ||
<td>60~70</td> | <td>60~70</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="3"><b>Demoman</b> </td> | |||
<td> Grenade Launcher </td> | <td style="background:#CCCCCC;"> Grenade Launcher </td> | ||
<td>50~60 </td> | <td style="background:#CCCCCC;">50~60 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Pipe Bomb (sticky) Launcher</td> | |||
<td>110~120</td> | <td style="background:#CCCCCC;">110~120</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Bottle </td> | |||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 320: | Line 300: | ||
<td>60~70 </td> | <td>60~70 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="3"><b>Engineer</b> </td> | |||
<td> Shotgun </td> | <td style="background:#CCCCCC;"> Shotgun </td> | ||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Pistol</td> | |||
<td>10~20</td> | <td style="background:#CCCCCC;">10~20</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Wrench </td> | |||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 342: | Line 322: | ||
<td>60~70</td> | <td>60~70</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;" rowspan="4"><b>Sniper</b> </td> | |||
<td> Sniper Rifle (noscope) </td> | <td style="background:#CCCCCC;"> Sniper Rifle (noscope) </td> | ||
<td>50~60 </td> | <td style="background:#CCCCCC;">50~60 </td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;"> Sniper Rifle (full charge)</td> | |||
<td>150~160</td> | <td style="background:#CCCCCC;">150~160</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Submachine gun</td> | |||
<td>0~10</td> | <td style="background:#CCCCCC;">0~10</td> | ||
</tr> | </tr> | ||
<tr style="background:#CCCCCC;" | <tr> | ||
<td style="background:#CCCCCC;">Kukri (knife) </td> | |||
<td>60~70 </td> | <td style="background:#CCCCCC;">60~70 </td> | ||
</tr> | </tr> | ||
<tr> | <tr> |
Revision as of 09:57, 30 May 2008
A quick reference for the numbers and statistics that any Team Fortress 2 level designer should know. Most importantly, use these numbers to help make a map feel in proportion, as TF2 maps are slightly larger than maps for other, more realistic mods.
Model sizes
These are the minimum empty space dimensions required for a model to fit and function in the game. Players can move through spaces with these dimensions, and Engineer structures can be built and operate in them. All sizes are in Hammer Units.
Model | Height | Width / Depth |
---|---|---|
Player (standing) | 83 | 49 |
Player (ducking) | 56 | 49 |
Sentry gun (level 3) | 87 | 49 |
Dispenser | 83 | 49 |
Teleporter | 95 | 57 |
Maximum | 95 | 57 |
Jump distances
The maximum jump clearances for each class, in Hammer units. A player can clear a gap that is as wide as the Horizontal clearance for his class. He can climb a ledge that is as tall as his Vertical clearance. Without jumping a player can climb a vertical height of 18 units (the largest single step of a stairs).
<tr">Class | Jump Type | Horizontal | Vertical |
---|---|---|---|
Scout | Normal | 320~352 | 72 |
Double jump | 608~640 | 117 | |
Soldier
* = wall climb |
Normal | 224~256 | 72 |
1 rocket | 992 (1024 max) | 448 (576 max) | |
2 Rocket * | N \ A | 928~992 | |
3 Rocket * | N \ A | 1184~1248 | |
4 Rocket * | N \ A | 1312~1376 | |
Pyro | Normal | 256~288 | 72 |
Demoman
* = Medic necessary |
Normal | 250~256 | 70 |
1 sticky | 2112~2144 | 728 (928-960 max) | |
2 stickies | 5845? | 3072~3104 | |
3 stickies * | ? | over 6323 | |
4 stickies * | ? | over 7769 | |
Heavy | Normal | 192~224 | 72 |
Engineer
* = used as platform |
Normal | 256~288 | 72 |
Teleporter * | ? | 84 | |
Dispenser * | 288~320 | 127 | |
Sentry * | ~315 | 138 | |
Medic | Normal | 256~288 | 72 |
Sniper | Normal | 256~288 | 72 |
Spy | Normal | 256~288 | 72 |
Maximum | ? | ? | over 1952 |

Class Speeds
The speeds below are measured in Hammer units per second. The spy, for example, has a movement speed of 300, so in ten seconds (the max amount of time he can stay cloaked) he can cover a distance of up to 3000 Hammer units.
Class | Forwards | Backwards |
---|---|---|
Scout | 400 | 360 |
Soldier | 240 | 216 |
Pyro | 300 | 270 |
Demoman | 280 | 252 |
Heavy | 230 | 207 |
Engineer | 300 | 270 |
Medic | 320 | 288 |
Sniper | 300 | 270 |
Spy | 300 | 270 |

Damage amounts

func_breakable
) and/or targets in a map. Damage data gathered using func_breakable's - Min Damage to hurt. Settings for the entities were: Strength > 1.0, Physical Impact damage scale > 0.1
Class | Weapon Type | Damage Dealt |
---|---|---|
Scout | Scattergun | 60~70 |
Pistol | 10~20 | |
Bat | 30~40 | |
Soldier | Rocket Launcher | 90~100 |
Shotgun | 60~70 | |
Shovel | 60~70 | |
Pyro | Flamethrower | N/A |
Shotgun | 60~70 | |
Ax | 60~70 | |
Demoman | Grenade Launcher | 50~60 |
Pipe Bomb (sticky) Launcher | 110~120 | |
Bottle | 60~70 | |
Heavy | Minigun | 30~40 |
Shotgun | 60~70 | |
Fists | 60~70 | |
Engineer | Shotgun | 60~70 |
Pistol | 10~20 | |
Wrench | 60~70 | |
Medic | Needle gun | 10~20 |
Bone saw | 60~70 | |
Sniper | Sniper Rifle (noscope) | 50~60 |
Sniper Rifle (full charge) | 150~160 | |
Submachine gun | 0~10 | |
Kukri (knife) | 60~70 | |
Spy | Revolver | 40~50 |
Knife | 40~50 |
Pickup properties
Health pickups
- item_healthkit_small = 20.5% Health
- item_healthkit_medium = 50% Health
- item_healthkit_full = 100% Health
Ammo pickups
- item_ammopack_small = 20.5% Ammo
- item_ammopack_medium = 50% Ammo
- item_ammopack_full = 100% Ammo
Room dimensions
These are some general room dimensions from the popular maps to help gauge the proportions of your level. This section is not intended to provide detailed specifics on individual room layouts, decorations, etc.
2Fort
Room | X | Y | Z |
---|---|---|---|
Ramp Room resupply | 512 | 464 | 240 |
Long Hallway into Ramp Room | 1024 | 128 | 180 |
Ramp Room | 576 | 736 | 492* |
Inner Sewer tunnel | 1136 | 192 | 192 |
Flag Room | 704 | 528 | 304 |
Inner Sewer water (puts out fire if crouched) | - | - | 42 |

Map prefixes
- cp - Control Point
- ctf - Capture the Flag
- tc - Territorial Control
- tr - Training (Unofficial)
- pl - Payload