Source Entities:Entity pages/AA

For a code class tied to multiple classnames, follow these instructions.

Title
The URL of the class should match the actual name as closely as possible, including capitalization.

Top area
Start off with Template:Class. This automatically inserts and formats the name of the class, as it was typed in the page title. Write an adequate description of the class. Do not include Template:Gamelistbox on this page. Instead just list the games in the text, if it's even needed.

You must remember to list all the classnames associated with this code class! Follow this format: Classnames: Each of these classnames should have a redirect page to this code class. Those redirects should be categorized under the category dedicated to the code class. Do note that sometimes there can be functional differences between two classnames, for instance.

Add Template:Classbox. Create the template for this specific class.

Template:Class will create a link to a category that lists inheritors of this class. Add Template:catrelatedto2 in the category description. Categorize that category under whatever class it inherits one level up. (CBaseProp would be categorized under CBaseAnimating, but do not include CBaseEntity! These categories are not flat.)

ConVars/Commands
List console variables and console commands with Template:Varcom. The easiest way to find these is to search for the macros (, , rarely  ) in the cpp file. The console command is also very helpful. Be aware that the default values for convars in a cpp may be overridden in one of the game's many config files, so definitely check the console directly if a default value seems odd.

Keyvalues, inputs, outputs, flags
Add keyvalues, inputs, and outputs with Template:KIO. Add flags with Template:Fl. They should all be in this order:
 * 1) Flags
 * 2) Keyvalues
 * 3) Inputs
 * 4) Outputs