----------------------------------------------------------------------------
TeamFortress Entity Reference Sheet			      TF Version 2.13
----------------------------------------------------------------------------

This is a reference sheet for people who're trying to read/debug
the entities on their TF map. It's simply a quick description of
every variable for all the TF entities.
It's simply a quick-reference. For full details, see the tfortmap.txt file.

Print this out, and keep it by you whenever you're reading through someone
else's .map file to see how they did something :)

Robin (walker@netspace.net.au)
==========================================================================
GLOSSARY
--------
AP	:	Activating Player. The player who activated a Goal/Trigger, or picked 
		up the GoalItem.
APA :	Any Player Affected. Any player who is affected by the current 
		Goal/Trigger/Item's activation.

MARKINGS
--------
[C] :   Criteria. Any entity which 'activates' in any way has Criteria.
		By 'activates' I mean it does something when a player touches it.
		If it's an item, it is given to the player. If it's a Goal, it 
		does something else. If it's a monster, it wakes up. If it's a 
		button it gets pushed. If it's a Platform it moves, etc.
		BUT, for the 'activation' to occur, the AP must fulfill the Criteria.
		Anything with the C marking is part of the Criteria, and is checked
		before the entity 'activates'.
		N.B. Don't forget that the "goal_activation" variable has a Bitfield
			 which allows an entity to only 'activate' if the Criteria is not
			 met in any way. Keep an eye out for this.

[E] : 	Effects. This Variable is part of the method used to determine which
		players are affected by this entity's 'activation'. 
		Once the entity 'activates', Results are applied to all players
		affected by the 'activation'.

[R] : 	Result. This Variable is only ever used when the entity	'activates'. 
		It is then applied to all players affected by the Effects variables.

[P] :	Post-Activation. This Variable is part of the Post-activation behaviour
		of the entity. It helps determine what the entity does after the entity
		has 'activated' and done all it's results.

==========================================================================
DETECTION ENTITY VARIABLES
------------------------------------------
classname 			: "info_tfdetect" 
broadcast 			: The TF version string. e.g. "TeamFortress v2.1" 
impulse 			: Initial Toggleflags status. Bitfields.
					    1   : Off - ClasSkin         Off/On   
					    2   : Off - ClassPersistence Off/On
					    4   : Off - CheatChecking 	 Off/On
					    8   : Off - FortressMap 	 Off/On
					    16  : Off - RespawnDelay 	 See tfortmap.txt
					    32  : Off - RespawnDelay 	 See tfortmap.txt
					    64  : Off - AutoTeam 		 Off/On
						128	: Off - Individual Frags Off/On
					  
message 			: Commands that are localcmd'd into the server when the map
					  first starts. e.g.  "sv_gravity 300\nsv_friction 0.1\n" 

ammo_shells 		: Number of lives for each player in Team 1. 0 = infinite.
ammo_nails 			: Number of lives for each player in Team 2. 0 = infinite.
ammo_rockets 		: Number of lives for each player in Team 3. 0 = infinite.
ammo_cells 			: Number of lives for each player in Team 4. 0 = infinite.
maxammo_shells 		: Illegal Classes for Team 1. Bitfields.
						1	:   No Scout            
						2	:	No Sniper        
						4	:	No Soldier       
						8	:	No Demolitions Man
						16	:	No Combat Medic
						32	:	No Heavy Weapons Guy
						64	:	No Pyro
						128	:	No Random PlayerClass
						256 : 	No Spy
						512	:	No Engineer
						N.B. if it's set to -1, its a Civilian Team.
maxammo_nails 		: Illegal Classes for Team 2. See "maxammo_shells"
maxammo_rockets 	: Illegal Classes for Team 3. See "maxammo_shells"
maxammo_cells 		: Illegal Classes for Team 4. See "maxammo_shells"

ammo_medikit		: Maximum number of players allowed in Team 1.
ammo_detpack		: Maximum number of players allowed in Team 2.
maxammo_medikit		: Maximum number of players allowed in Team 3.
maxammo_detpack		: Maximum number of players allowed in Team 4.

hook_out			: If 1, the grappling hook cannot be used on this map.

display_item_status1 : When someone does the FlagInfo command, display the
					   Item Status of this GoalItem.
display_item_status2 : When someone does the FlagInfo command, display the
					   Item Status of this GoalItem.
display_item_status3 : When someone does the FlagInfo command, display the
					   Item Status of this GoalItem.
display_item_status4 : When someone does the FlagInfo command, display the
					   Item Status of this GoalItem.
team_str_home		 : String Displayed to the owners of an Item in an Item 
					   Status if the Item is at it's origin.
team_str_moved		 : String Displayed to the owners of an Item in an Item 
					   Status if the Item is not at it's origin.
team_str_carried	 : String Displayed to the owners of an Item in an Item 
					   Status if the Item is being carried by a player. The
					   player's name is appended to the String.
non_team_str_home	 : String Displayed to everyone except the owners of an 
					   Item in an Item Status if the Item is at it's origin.
non_team_str_moved	 : String Displayed to everyone except the owners of an 
					   Item in an Item Status if the Item is not at it's origin.
non_team_str_carried : String Displayed to everyone except the owners of an 
					   Item in an Item Status if the Item is being carried by a 
					   player. The player's name is appended to the String.

team_broadcast		: String that replaces the Team Menu.
non_team_broadcast	: String that is displayed in the Map Help command.

noise1				: String that replaces the Class Menu for Team 1.
noise2				: String that replaces the Class Menu for Team 2.
noise3				: String that replaces the Class Menu for Team 3.
noise4				: String that replaces the Class Menu for Team 4.

==========================================================================
TEAM SPAWNPOINT VARIABLES
-------------------------
classname 			: "info_player_teamspawn" 
team_no 			: Only players on this team spawn here.
items 				: GoalItem ID of an Item given to players who spawn here.
message 			: A String displayed to players who spawn here.
goal_activation 	: Specifies how many players receive the Item or Message.
					  Bitfields.
						1 : Give the GoalItem in "items" to every player who 
							spawns here.
						2 : Display the "message" to every player who spawns 
							here.
						N.B. if these aren't set, the GoalItem/Message is only
						     given/displayed to the first player who spawns
						     here.

goal_effects 		: If 1, the spawnpoint removes itself after a player has
					  spawned here.


==========================================================================
ARMOR VARIABLES
---------------
armorclass 			: The type of armor this is. Bitfields.
						1	:   Kevlar
						2	:	Wooden
						4	:	Blast
						8	:	Shock
						16	:	Ceramic


==========================================================================
GOAL VARIABLES
--------------
classname 			: "info_tfgoal" 
netname 			: The name of the Goal.
goal_no 			: Unique ID number of this goal.
group_no 			: ID Number of the goal group this goal belongs to.
goal_state			: The initial state of this entity.

mdl					: The mdl used by this Goal. Unspecified = Invisible Goal.

[C] goal_activation		: Determines how the Goal is activated. Bitfields.
							1 :  Activated when touched by a player.
							2 :  Activated when touched by a detpack explosion.
							4 :  Only activated if the AP fails Criteria.
[E] goal_effects		: Determines what players are affected. Bitfields.
							1  : AP is affected.
							2  : Everyone on the AP's team is affected.
							4  : Everyone not on the AP's team is affected.
							8  : Everyone except the AP is affected.
							16 : Radius effect (see "t_length") does not go
								 through walls.
[R] goal_results		: Determines what results are applied to APA. Bitfields.
							1 :  Goal is removed after activation.
							2 :  Goals activated by this one apply their 
								 results.
							4 :  Display scores and end the level.

[C] team_no				: AP must be of this team to meet this Goal's criteria.
[C] items_allowed		: AP needs this GoalItem to meet this Goal's criteria.
[C] playerclass			: AP must be this playerclass to meet this Goal's 
						  criteria.

[E] maxammo_shells		: All members of this team are affected.
[E] maxammo_nails		: All members not of this team are affected.
[E] t_length			: Everyone within this radius is affected. 
						  Also, see bit 16 in "goal_effects"

[R] count 				: Score given to the AP's team.
[R] noise 				: WAV file played when this Goal is activated.

[R] lives				: Added to APA's lives.
[R] health				: Added to APA's health.
[R] armortype			: APA's armortype is set to this value.
[R] armorvalue			: APA's armorvalue is set to this value.
[R] armorclass			: APA's armorclass is set to this value.
[R] frags				: Added to APA's frags.
[R] ammo_<type>			: Added to APA's ammo supply.
[R] no_grenades_1		: Added to APA's number of type 1 TF grenades.
[R] no_grenades_2		: Added to APA's number of type 2 TF grenades.

[R] invincible_finished   : Number of seconds of invincibility APA gets.
[R] invisible_finished    : Number of seconds of invisibility APA gets.
[R] super_damage_finished : Number of seconds of quad APA gets.
[R] radsuit_finished	  : Number of seconds of radsuit APA gets.

[R] items				: Goal gives this GoalItem to APA.
[R] axhitme				: Goal removes this GoalItem from APA that has it.

[P] wait				: Goal stays ACTIVE for this amount of time, in seconds.

[R] activate_goal_no	: Activate this Goal.
[R] inactivate_goal_no	: Inactivate this Goal.
[R] remove_goal_no		: Remove this Goal.
[R] restore_goal_no		: Restore this Goal.

[R] all_active			: If all Goals in this GoalGroup are ACTIVE, activate
						  the Goal in the "last_impulse" variable.
[R] last_impulse		: If all Goals in the "all_active" GoalGroup are ACTIVE, 
						  activate this Goal.
[R] activate_group_no	: Activate all Goals in this GoalGroup.
[R] inactivate_group_no	: Inactivate all Goals in this GoalGroup.
[R] remove_group_no		: Remove all Goals in this GoalGroup.
[R] restore_group_no	: Restore all Goals in this GoalGroup.


==========================================================================
GoalItem Variables
------------------
classname			: "item_tfgoal"
items				: Specifies which console icon to light up when this
					  Item is carried. Bitfield.
					   131072  : Silver Key			 
					   262144  : Gold Key			 

					   524288  : Invisibility Icon	 
					   1048576 : Invulnerability Icon
					   2097152 : Radsuit Icon		 
					   4194304 : Quad Icon			 

goal_activation		: Bitfields
	   				   1   : Carrying Player glows.
					   2   : Carrying Player moves at half speed.
					   4   : Item is dropped when a player with it dies.
					   8   : Item is returned when dropped.
					   16  : Item is returned when removed from players by a Goal
					   32  : Item is returned due to "pausetime" (see below)
					   64  : Only activated (picked-up) if AP fails Criteria.
					   128 : Enable "pausetime" removing.
					   256 : Players keep this item when they die.
					   512 : If this Item isn't being carried, it glows dimly.
					   1024: Don't remove the results of this Item when it's
							 removed from a player.

impulse				: When the GoalItem is Returned, activate this Goal.
pausetime			: Item is removed if not touched for this time after being
					  dropped by a dying player. Also, see bit 32 in 
					  "goal_activation" above.
					  N.B. This is not used if bit 128 in "goal_activation"
						   is not enabled.

[R] distance		: If all GoalItems in this GoalItem Group are being
					  carried by players, activate the Goal in the 
					  "pain_finished" variable.
[R] pain_finished	: If all GoalItems in the GoalItem Group specified in
					  the "distance" variable are being carried by players, 
					  activate this Goal.
[R] speed		   	: If all GoalItems in this GoalItem Group are being
					  carried by one player, activate the Goal in the 
					  "attack_finished" variable.
[R] attack_finished	: If all GoalItems in the GoalItem Group specified in
					  the "speed" variable are being carried by one player, 
					  activate this Goal.

noise3			: String centerprinted to the all the members of the team
				  that own this GoalItem whenever it returns.
noise4			: String centerprinted to the everyone except all the members 
				  of the team that own this GoalItem whenever it returns.

team_drop		: Centerprinted to all members of the team that own this Item,
				  whenever this Item is dropped by a player.
non_team_drop	: Centerprinted to all members not in the team that own this 
				  Item, whenever this Item is dropped by a player.
netname_team_drop : Broadcast to all members of the team that own this item,
				    prepended by the name of the player who dropped the item.
netname_non_team_drop : Broadcast to all members not in the team that own this 
					item, prepended by the name of the player who dropped the 
					item.


--
See GOAL VARIABLES for any other variables. Remember that a GoalItem 
activation occurs when the GoalItem is succesfully picked-up by a player.
Also, anything altered on APA is effective until the Item is removed from
the player, in which case the alterations are immediately removed, unless
the "goal_activation" variable has bit 1024 set.


==========================================================================
TIMER GOAL VARIABLES
--------------------
classname			: "info_tfgoal_timer"
search_time			: Period between Timer activations.

[E] goal_effects		: Determines what players are affected. Bitfields.
						  Unlike Goals, Timer's have no AP, and hence:
							1  : Illegal for Timer Goals.
							2  : Illegal for Timer Goals.
							4  : Illegal for Timer Goals.
							8  : Illegal for Timer Goals.
							16 : Radius effect (see "t_length") does not go
								 through walls.

--
See GOAL VARIABLES for any other variables.

==========================================================================
VARIABLES USED BY ANY ENTITY    	(except Detection Entity)
-----------------------------------------------------------------------
target 				: Activate any Goal/Trigger with this targetname
killtarget 			: Remove any Goal/Trigger with this targetname

owned_by			: The Team that own this entity.

ex_skill_min		: This entity is removed when the map starts if the
					  game's "skill" variable is >= to this value.
ex_skill_max		: This entity is removed when the map starts if the
					  game's "skill" variable is <= to this value.

else_goal			: If the AP fails the Criteria of this entity, then
					  attempt to activate the Goal with this ID. 

[C] if_goal_is_active	: This Goal must be in ACTIVE state.
[C] if_goal_is_inactive	: This Goal must be in INACTIVE state.
[C] if_goal_is_removed	: This Goal must be in REMOVED state.
[C] if_group_is_active	: All Goals in this Group must be in ACTIVE state.
[C] if_group_is_inactive: All Goals in this Group must be in INACTIVE state.
[C] if_group_is_removed	: All Goals in this Group must be in REMOVED state.
[C] if_item_has_moved	: This GoalItem must not have moved from it's origin,
						  and must not be being carried.
[C] if_item_hasnt_moved	: This GoalItem must have moved from it's origin,
						  or be being carried.


[R] return_item_no		: Return this GoalItem, if it's not being carried.
[R] broadcast 			: Message centerprinted to everyone except the AP.
[R] message 			: Message centerprinted to AP.
[R] team_broadcast 	   	: Message centerprinted to players on the AP's team,
						  except the AP.
[R] non_team_broadcast  : Message centerprinted to players not on the AP's team.
						  If there is a "owners_team_broadcast" specified, this
						  message isn't centerprinted to the owners of the 
						  entity.
[R] "owners_team_broadcast" : Gets centerprinted to all the members of the
						      team that own the goal/item.
[R] netname_broadcast	: Broadcast to all players, prepended to the AP's name.
[R] netname_team_broadcast: Broadcast to all players on the AP's team, except 
						  the AP, prepended by the AP's name.
[R] netname_non_team_broadcast: Broadcast to all players on the AP's team, 
						  prepended by the AP's name.
						  If there is a "netname_owners_team_broadcast" 
						  specified, this message isn't broadcast to the owners 
						  of the entity.
[R] netname_owners_team_broadcast: Broadcast to all members of the team that 
						  own this entity (see "owned_by" above), prepended by
						  the AP's name.
[R] deathtype 			: Death message appended to the AP's name and 
						  broadcasted, if the AP is killed by the Goal.

[R] remove_spawnpoint	: Remove the spawnpoint with this "goal_no".
[R] restore_spawnpoint	: Restore the spawnpoint with this "goal_no", if it's
						  in the REMOVED state.
[R] remove_spawngroup	: Remove all spawnpoints with this "goal_no".
[R] restore_spawngroup	: Restore all spawnpoints with this "goal_no", if 
						  they're in the REMOVED state.

[R]	increase_team1		: Increase the score of Team 1 by this amount.
[R]	increase_team2		: Increase the score of Team 2 by this amount.
[R]	increase_team3		: Increase the score of Team 3 by this amount.
[R]	increase_team4		: Increase the score of Team 4 by this amount.

[R] display_item_status1 : Display the Item Status of this GoalItem.
[R] display_item_status2 : Display the Item Status of this GoalItem.
[R] display_item_status3 : Display the Item Status of this GoalItem.
[R] display_item_status4 : Display the Item Status of this GoalItem.
[R] team_str_home		 : String Displayed to the owners of an Item in an Item 
						   Status if the Item is at it's origin.
[R] team_str_moved		 : String Displayed to the owners of an Item in an Item 
						   Status if the Item is not at it's origin.
[R] team_str_carried	 : String Displayed to the owners of an Item in an Item 
						   Status if the Item is being carried by a player. The
						   player's name is appended to the String.
[R] non_team_str_home	 : String Displayed to everyone except the owners of an 
						   Item in an Item Status if the Item is at it's origin.
[R] non_team_str_moved	 : String Displayed to everyone except the owners of an 
						   Item in an Item Status if the Item is not at it's 
						   origin.
[R] non_team_str_carried : String Displayed to everyone except the owners of an 
						   Item in an Item Status if the Item is being carried 
						   by a player. The player's name is appended to the 
						   String.




