Editing CBaseEntity

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 2: Line 2:
The class from which all entity types derive from. The only exceptions to this are [https://wiki.alliedmods.net/TempEnts_(SourceMod_SDKTools) TempEnts], which are temporary entities that are too simple to warrant the overhead of inheriting from CBaseEntity.
The class from which all entity types derive from. The only exceptions to this are [https://wiki.alliedmods.net/TempEnts_(SourceMod_SDKTools) TempEnts], which are temporary entities that are too simple to warrant the overhead of inheriting from CBaseEntity.


'''Source location [https://github.com/sreechar/TF2-Source-Code/blob/master/tf2_src/game/server/baseentity.h /game/server/baseentity.h]'''
'''Source Location :  /game/server/baseentity.h'''


'''VScript : [https://developer.valvesoftware.com/wiki/Team_Fortress_2/Scripting/Script_Functions#CBaseEntity Script_Functions#CBaseEntity]'''
== SendProps ==
 
===== '''CBaseEntity''' =====
   '''AnimTimeMustBeFirst''' (CBaseEntity)
 
       '''m_flAnimTime''' (AnimTimeMustBeFirst)
 
Type: float
 
           Description:
 
           ------------
 
               ..?
 
   '''m_flSimulationTime''' (CBaseEntity)
 
Type: float
 
       Description:
 
       ------------
 
           ..?
 
   '''m_vecOrigin''' (CBaseEntity)
 
       Type: vector
 
       Description:
 
       ------------
 
           The local origin of the entity, which is it's position relative to the entity's parent. If the entity has no parent, the relative position from the global origin (0, 0, 0) is used.
 
   '''m_ubInterpolationFrame''' (CBaseEntity)
 
       Type: integer
 
       Description:
 
       ------------
 
           ..?
 
   '''m_nModelIndex''' (CBaseEntity)
 
       Type: integer
 
       Description:
 
       ------------
 
           ..?
 
   '''m_Collision''' (CBaseEntity)
 
       m_vecMinsPreScaled (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecMaxsPreScaled''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecMins''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecMaxs''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_nSolidType''' (m_Collision)
 
           Type: integer
 
           Description:
 
           ------------
 
               ..?
 
       '''m_usSolidFlags''' (m_Collision)
 
           Type: integer
 
           Description:
 
           ------------
 
               ..?
 
       '''m_nSurroundType''' (m_Collision)
 
           Type: integer
 
           Description:
 
           ------------
 
               ..?
 
       '''m_triggerBloat''' (m_Collision)
 
           Type: integer
 
           Description:
 
           ------------
 
               ..?
 
       '''m_bUniformTriggerBloat''' (m_Collision)
 
           Type: boolean
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecSpecifiedSurroundingMinsPreScaled''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecSpecifiedSurroundingMaxsPreScaled''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecSpecifiedSurroundingMins''' (m_Collision)
 
           Type: vector
 
           Description:
 
           ------------
 
               ..?
 
       '''m_vecSpecifiedSurroundingMaxs''' (m_Collision)
 
           Type: vector
 
           Description:


'''Lua : [https://github.com/rafradek/sigsegv-mvm/blob/4b2b8e63ca8b3f09c16ed0dcceea955e5ee365b7/scripts/library.lua#L61 scripts/library.lua#L61]'''
           ------------


Go back to [[Classes]]
               ..?


== SendProps ==
   '''m_nRenderFX''' (CBaseEntity)
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
 
|+CBaseEntity
       Type: integer
! style="width: 50%; background-color: #303030; color: white" |Name
 
! style="width: 15%; background-color: #303030; color: white" |Type
       Description:
! style="width: 35%; background-color: #303030; color: white" |Description
 
|-
       ------------
| colspan="3" style="padding: 0; margin: 0;" |
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
           ..?
! colspan="3" |AnimTimeMustBeFirst
 
|-
   '''m_nRenderMode''' (CBaseEntity)
| style="width: 50%;" |'''m_flAnimTime'''
 
| style="width: 15%;" |Integer
       Type: integer
| style="width: 35%;" |TBD
 
|-
       Description:
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
 
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
       ------------
! colspan="3" style="background-color: rgb(45, 62, 97)" |
 
|}
           https://developer.valvesoftware.com/wiki/Render_Modes
|}
 
|-
   '''m_fEffects''' (CBaseEntity)
|'''m_flSimulationTime'''
 
|Integer
       Type: integer
|
 
|-
       Description:
|'''m_vecOrigin'''
 
|Vector
       ------------
|The local position of this entity relative to it's parent. If this entity has no parent, the position is relative to the world origin.
 
|-
           ..?
|'''m_ubInterpolationFrame'''
 
|Integer
   '''m_clrRender''' (CBaseEntity)
|
 
|-
       Type: integer
|'''m_nModelIndex'''
 
|Short
       Description:
|The index for this entity's precached model. Changing this does nothing in TF2.
 
|-
       ------------
| colspan="3" style="padding: 0; margin: 0;" |
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
           ..?
! colspan="3" |m_Collision
 
|-
   '''m_iTeamNum''' (CBaseEntity)
| style="width: 50%;" |'''m_vecMinsPreScaled'''
 
| style="width: 15%;" |Vector
       Type: integer
| style="width: 35%;" |The mins coordinate point for the Collision bounding box of this entity '''before''' any changes are made to it, such as through the modelscale keyvalue.
 
|-
       Description:
|'''m_vecMaxsPreScaled'''
 
|Vector
       ------------
|The maxs coordinate point for the Collision bounding box of this entity '''before''' any changes are made to it, such as through the modelscale keyvalue.
 
|-
           ..?
|'''m_vecMins'''
 
|Vector
   '''m_CollisionGroup''' (CBaseEntity)
|The mins coordinate point for the Collision bounding box of this entity '''after''' any changes are made to it, such as through the modelscale keyvalue.
 
|-
       Type: integer
|'''m_vecMaxs'''
 
|Vector
       Description:
|The maxs coordinate point for the Collision bounding box of this entity '''after''' any changes are made to it, such as through the modelscale keyvalue.
 
|-
       ------------
|'''m_nSolidType'''
 
|Unsigned Char
           ..?
|Determines the type of collision representation for the entity's bounding volume.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
   '''m_flElasticity''' (CBaseEntity)
! colspan="1" |Values
 
|-
       Type: float
|
 
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L235 /public/const.h#L235]
       Description:
* <span style="color: #66b1fa">0</span>  - Non-solid
 
* <span style="color: #66b1fa">1</span>  - A BSP tree (QPhysics)
       ------------
* <span style="color: #66b1fa">2</span>  - Bounding Box
 
* <span style="color: #66b1fa">3</span>  - Oriented Bounding Box
           ..?
* <span style="color: #66b1fa">4</span>  - Oriented Bounding Box constrained to only rotate along the yaw axis
 
* <span style="color: #66b1fa">5</span>  - Always call into the entity for tests
   '''m_flShadowCastDistance''' (CBaseEntity)
* <span style="color: #66b1fa">6</span>  - Solid [https://developer.valvesoftware.com/wiki/VPhysics VPhysics] object, get vcollide from the model and collide with that
 
|}
       Type: float
|-
 
|'''m_usSolidFlags'''
       Description:
|Unsigned Short
 
|Entity solidity bit flags.
       ------------
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
 
! colspan="1" |Values
           ..?
|-
 
|
   '''m_hOwnerEntity''' (CBaseEntity)
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L247 /public/const.h#L247]
 
* <span style="color: #66b1fa">0</span>    - None
       Type: integer
* <span style="color: #66b1fa">1</span>    - Ignore solid type + always call into this entity for ray tests
 
* <span style="color: #66b1fa">2</span>    - Ignore solid type + always call into this entity for swept box tests
       Description:
* <span style="color: #66b1fa">4</span>    - Are we currently not solid?
 
* <span style="color: #66b1fa">8</span>    - This is something may be collideable but fires touch functions even when it's not collideable (when the FSOLID_NOT_SOLID (4) flag is set)
       ------------
* <span style="color: #66b1fa">16</span>  - You can't stand on this
 
* <span style="color: #66b1fa">32</span>  - Contains volumetric contents (like water)
           ..?
* <span style="color: #66b1fa">64</span>  - Forces the collision rep to be world-aligned even if it's SOLID_BSP or SOLID_VPHYSICS
 
* <span style="color: #66b1fa">128</span>  - Uses a special trigger bounds separate from the normal OBB
   '''m_hEffectEntity''' (CBaseEntity)
* <span style="color: #66b1fa">256</span>  - Collisions are defined in root parent's local coordinate space
 
* <span style="color: #66b1fa">512</span>  - This trigger will touch debris objects
       Type: integer
|}
 
|-
       Description:
|'''m_nSurroundType'''
 
|Unsigned Char
       ------------
|
 
|-
           ..?
|'''m_triggerBloat'''
 
|Unsigned Char
   '''moveparent''' (CBaseEntity)
|
 
|-
       Type: integer
|'''m_bUniformTriggerBloat'''
 
|Boolean
       Description:
|Not in source?
 
|-
       ------------
|'''m_vecSpecifiedSurroundingMinsPreScaled'''
 
|Vector
           ..?
|
 
|-
   '''m_iParentAttachment''' (CBaseEntity)
|'''m_vecSpecifiedSurroundingMaxsPreScaled'''
 
|Vector
       Type: integer
|
 
|-
       Description:
|'''m_vecSpecifiedSurroundingMins'''
 
|Vector
       ------------
|
 
|-
           ..?
|'''m_vecSpecifiedSurroundingMaxs'''
 
|Vector
   '''movetype''' (CBaseEntity)
|
 
|-
       Type: integer
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
 
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
       Description:
! colspan="3" style="background-color: rgb(45, 62, 97)" |
 
|}
       ------------
|}
 
|-
           ..?
|'''[https://sigwiki.potato.tf/index.php/CBaseEntity.m_nRenderFX m_nRenderFX]'''
 
|Unsigned Char
   '''movecollide''' (CBaseEntity)
|Alpha render effects enum.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
       Type: integer
! colspan="1" |Values
 
|-
       Description:
|
 
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L367 /public/const.h#L367]
       ------------
* <span style="color: #66b1fa">0</span>  - None
 
* <span style="color: #66b1fa">1</span>  - Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
           ..?
* <span style="color: #66b1fa">2</span>  - Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
 
* <span style="color: #66b1fa">3</span>  - Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
   '''m_angRotation''' (CBaseEntity)
* <span style="color: #66b1fa">4</span>  - Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
 
* <span style="color: #66b1fa">5</span>  - Slow Fade Away (decreases alpha by -1 per frame, fades out over 4 s)
       Type: vector
* <span style="color: #66b1fa">6</span>  - Fast Fade Away (decreases alpha by -4 per frame, fades out over 1 s)
 
* <span style="color: #66b1fa">7</span>  - Slow Become Solid (increases alpha by +1 per frame, fades in over 4 s)
       Description:
* <span style="color: #66b1fa">8</span>  - Fast Become Solid (increases alpha by +4 per frame, fades in over 1 s)
 
* <span style="color: #66b1fa">9</span>  - Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
       ------------
* <span style="color: #66b1fa">10</span>  - Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
 
* <span style="color: #66b1fa">11</span>  - Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
           ..?
* <span style="color: #66b1fa">12</span>  - Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
 
* <span style="color: #66b1fa">13</span>  - Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
   '''m_iTextureFrameIndex''' (CBaseEntity)
* <span style="color: #66b1fa">14</span>  - Constant Glow ("NoDissipation;" purpose uncertain—for sprites?)
 
* <span style="color: #66b1fa">15</span>  - Distort (causes unnatural flickering and position shifting), Fade Out (instant; not very useful outside of code)
       Type: integer
* <span style="color: #66b1fa">16</span>  - Hologram (Distort + "distance fade"), Fade In (instant; not very useful outside of code)
 
* <span style="color: #66b1fa">17</span>  - Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts), Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s)
       Description:
* <span style="color: #66b1fa">18</span>  - Glow Shell (purpose unclear)
 
* <span style="color: #66b1fa">19</span>  - Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)")
       ------------
* <span style="color: #66b1fa">20</span>  - Environmental Rain ("for environmental rendermode, make rain")
 
* <span style="color: #66b1fa">21</span>  - Environmental Snow ("for environmental rendermode, make snow")
           ..?
* <span style="color: #66b1fa">22</span>  - Spotlight FX ("TEST CODE for experimental spotlight")
 
* <span style="color: #66b1fa">23</span>  - Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it)
   '''predictable_id''' (CBaseEntity)
* <span style="color: #66b1fa">24</span> - Fade Wider Pulse (varies alpha by ±255 over a period of 0.26 s)
 
|}
       m_PredictableID (predictable_id)
|-
 
|'''m_nRenderMode'''
           Type: integer
|Unsigned Char
 
|The mode in which this entity should attempt to be rendered.
           Description:
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
 
! colspan="1" |Values
           ------------
|-
 
|
               ..?
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L350 /public/const.h#L350]
 
* <span style="color: #66b1fa">0</span>  - Normal
       '''m_bIsPlayerSimulated''' (predictable_id)
* <span style="color: #66b1fa">1</span>  - Color
 
* <span style="color: #66b1fa">2</span>  - Texture
           Type: boolean
* <span style="color: #66b1fa">3</span>  - Glow
 
* <span style="color: #66b1fa">4</span>  - Solid/Alphatest
           Description:
* <span style="color: #66b1fa">5</span>  - Additive
 
* <span style="color: #66b1fa">6</span>  - Removed, does nothing
           ------------
* <span style="color: #66b1fa">7</span>  - Additive Fractional Frame
 
* <span style="color: #66b1fa">8</span>  - Alpha Add
               ..?
* <span style="color: #66b1fa">9</span>  - World Space Glow
 
* <span style="color: #66b1fa">10</span>  - Don't Render
   '''m_bSimulatedEveryTick''' (CBaseEntity)
|}
 
|-
       Type: boolean
|'''m_fEffects'''
 
|Integer
       Description:
|Entity effects bit flags.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
       ------------
! colspan="1" |Values
 
|-
           ..?
|
 
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L281 /public/const.h#L281]
   '''m_bAnimatedEveryTick''' (CBaseEntity)
* <span style="color: #66b1fa">1</span>    - Performs bone merge on client side
 
* <span style="color: #66b1fa">2</span>    - Dynamic Light centered at entity origin
       Type: boolean
* <span style="color: #66b1fa">4</span>    - Player flashlight
 
* <span style="color: #66b1fa">8</span>    - Don't interpolate the next frame
       Description:
* <span style="color: #66b1fa">16</span>    - Don't cast shadows
 
* <span style="color: #66b1fa">32</span>    - Don't draw entity
       ------------
* <span style="color: #66b1fa">64</span>    - Don't receive shadows
 
* <span style="color: #66b1fa">128</span>  - For use with EF_BONEMERGE. If this is set, then it places this ent's origin at its parent and uses the parent's bbox + the max extents of the aiment. Otherwise, it sets up the parent's bones every frame to figure out where to place the aiment, which is inefficient because it'll setup the parent's bones even if the parent is not in the PVS.
           ..?
* <span style="color: #66b1fa">256</span>  - Blink an item so that the user notices it
 
* <span style="color: #66b1fa">512</span>  - Always assume that the parent entity is animating
   '''m_bAlternateSorting''' (CBaseEntity)
|}
 
|-
       Type: boolean
|'''m_clrRender'''
 
|Integer
       Description:
|An integer representing the RGB render color of this entity.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
       ------------
! colspan="1" | Calculating The Value
 
|-
           ..?
|RGB values can range from 0 to 255 individually, meaning the highest value can be represented by 8 bits. The integer used by this property is simply constructed from the bits of these values side by side. Starting from the right the first 8 bits (0-7) are used for blue, then the next 8 bits (8-15) are used by green, and finally the last 8 (16-23) are used by red. To convert your RGB color to an integer using this system, open the developer console in your browser by pressing F12, go to the Console tab, and type this:
 
<pre>
   '''m_nModelIndexOverrides''' (CBaseEntity)
(red << 16) + (green << 8) + blue
 
</pre>
       '''000''' (m_nModelIndexOverrides)
Where red green and blue are your RGB values, if a value is zero, you can just omit it, for example:
 
(255 << 16) + 255 // = RGB(255, 0, 255)
           Type: integer
|}
 
|-
           Description:
|'''m_iTeamNum'''
 
|Integer
           ------------
|The team this entity is a part of.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
               ..?
! colspan="1" |Values
 
|-
       '''001''' (m_nModelIndexOverrides)
|
 
* <span style="color: #66b1fa">0</span>  - None
           Type: integer
* <span style="color: #66b1fa">1</span>  - Spectator
 
* <span style="color: #66b1fa">2</span>  - RED
           Description:
* <span style="color: #66b1fa">3</span>  - BLU
 
* <span style="color: #66b1fa">5</span>  - Boss / Neutral
           ------------
|}
 
|-
               ..?
|'''m_CollisionGroup'''
 
|Integer
       '''002''' (m_nModelIndexOverrides)
|Modifies what this entity collides with.
 
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
           Type: integer
! colspan="1" |Values
 
|-
           Description:
|
 
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L397 /public/const.h#L397]
           ------------
* <span style="color: #66b1fa">0</span>  - None
 
* <span style="color: #66b1fa">1</span>  - Collides with nothing but world and static stuff
               ..?
* <span style="color: #66b1fa">2</span>  - Same as debris, but hits triggers
 
* <span style="color: #66b1fa">3</span>  - Collides with everything except other interactive debris or debris
       '''003''' (m_nModelIndexOverrides)
* <span style="color: #66b1fa">4</span>  - Collides with everything except interactive debris or debris
 
* <span style="color: #66b1fa">5</span>  - COLLISION_GROUP_PLAYER,
           Type: integer
* <span style="color: #66b1fa">6</span>  - COLLISION_GROUP_BREAKABLE_GLASS,
* <span style="color: #66b1fa">7</span>  - COLLISION_GROUP_VEHICLE,
* <span style="color: #66b1fa">8</span>  - For HL2, same as Collision_Group_Player, for TF2, this filters out other players and CBaseObjects
* <span style="color: #66b1fa">9</span>  - Generic NPC group
* <span style="color: #66b1fa">10</span>  - For any entity inside a vehicle
* <span style="color: #66b1fa">11</span>  - For any weapons that need collision detection
* <span style="color: #66b1fa">12</span>  - Vehicle clip brush to restrict vehicle movement
* <span style="color: #66b1fa">13</span>  - Projectiles!
* <span style="color: #66b1fa">14</span>  - Blocks entities not permitted to get near moving doors
* <span style="color: #66b1fa">15</span>  - Doors that the player shouldn't collide with
* <span style="color: #66b1fa">16</span>  - Things that are dissolving are in this group
* <span style="color: #66b1fa">17</span>  - Nonsolid on client and server, pushaway in player code
* <span style="color: #66b1fa">18</span>  - Used so NPCs in scripts ignore the player.
* <span style="color: #66b1fa">19</span>  - Used for NPCs in scripts that should not collide with each other


* <span style="color: #66b1fa">20</span>  - TFCOLLISION_GROUP_SHIELD
           Description:
* <span style="color: #66b1fa">21</span>  - TFCOLLISION_GROUP_WEAPON
* <span style="color: #66b1fa">22</span>  - TFCOLLISION_GROUP_GRENADE
* <span style="color: #66b1fa">23</span>  - TFCOLLISION_GROUP_RESOURCE_CHUNK
* <span style="color: #66b1fa">24</span>  - Combat objects (override for above)
* <span style="color: #66b1fa">25</span>  - TFCOLLISION_GROUP_OBJECT
* <span style="color: #66b1fa">26</span>  - TFCOLLISION_GROUP_OBJECT_SOLIDTOPLAYERMOVEMENT
|}
|-
|'''m_flElasticity'''
|Float
|
|-
|'''m_flShadowCastDistance'''
|Float
|
|-
|'''m_hOwnerEntity'''
|Handle
|The owner of this entity, not to be confused with the parent (moveparent). A common example of ownership is players owning the projectiles that they fire. Some entities may not work properly if you create them without giving them an owner.
|-
|'''m_hEffectEntity'''
|Handle
|The entity which is used to affect this one. (Ignite/Dissolve)
|-
|'''moveparent'''
|String
|The immediate parent of this entity in the movement hierarchy. The targetname of the parent is used, rather than a Handle to the parent entity itsself.
|-
|'''m_iParentAttachment'''
|Unsigned Char
|The attachment point on the parent entity which this entity is held to.
|-
|'''movetype'''
|Unsigned Char
|Determines the movement behavior for this entity.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L191 /public/const.h#L191]
* <span style="color: #66b1fa">0</span>  - None, don't move
* <span style="color: #66b1fa">1</span>  - Isometric
* <span style="color: #66b1fa">2</span>  - Walk, player only, moving on ground
* <span style="color: #66b1fa">3</span>  - NPC, movement
* <span style="color: #66b1fa">4</span>  - Fly, no gravity
* <span style="color: #66b1fa">5</span>  - Fly, with gravity
* <span style="color: #66b1fa">6</span>  - VPhysics
* <span style="color: #66b1fa">7</span>  - Push
* <span style="color: #66b1fa">8</span>  - Noclip
* <span style="color: #66b1fa">9</span>  - Ladder, for players on ladders
* <span style="color: #66b1fa">10</span>  - Spectator
* <span style="color: #66b1fa">11</span>  - Custom
|}
|-
|'''movecollide'''
|Unsigned Char
|Determines the collision behavior for this entity.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L213 /public/const.h#L213]
* <span style="color: #66b1fa">0</span>  - Default
// These ones only work for MOVETYPE_FLY + MOVETYPE_FLYGRAVITY
* <span style="color: #66b1fa">1</span>  - Fly/Bounce (Bounces, reflects, based on elasticity of surface and object - applies friction (adjust velocity))
* <span style="color: #66b1fa">2</span>  - Fly/Custom (Touch() will modify the velocity however it likes)
* <span style="color: #66b1fa">3</span>  - Fly/Slide (Slides along surfaces (no bounce) - applies friction (adjusts velocity))
|}
|-
|'''m_angRotation'''
|Vector
|The rotation vector of this entity relative to it's parent. If this entity has no parent the vector is relative to the world. For players only Yaw is non zero.
|-
|'''m_iTextureFrameIndex'''
|Unsigned Char
|
|-
| colspan="3" style="padding: 0; margin: 0;" |
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" |predictable_id
|-
| style="width: 50%;" |'''m_PredictableID'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
|'''m_bIsPlayerSimulated'''
|Boolean
|
|-
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" style="background-color: rgb(45, 62, 97)" |
|}
|}
|-
|'''m_bSimulatedEveryTick'''
|Boolean
|
|-
|'''m_bAnimatedEveryTick'''
|Boolean
|
|-
|'''m_bAlternateSorting'''
|Boolean
|
|-
| colspan="3" style="padding: 0; margin: 0;" |
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" |m_nModelIndexOverrides
|-
| style="width: 50%;" |'''000'''
| style="width: 15%;" |Integer
| style="width: 35%;" |For <code>VISION_MODE_NONE</code>
|-
|'''001'''
|Integer
|For <code>VISION_MODE_PYRO</code>
|-
|'''002'''
|Integer
|For <code>VISION_MODE_HALLOWEEN</code>
|-
|'''003'''
|Integer
|For <code>VISION_MODE_ROME</code>
|-
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" style="background-color: rgb(45, 62, 97)" |
|}
|}
|}


== Entity DataMaps ==
           ------------
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;
|+CBaseEntity
! style="width: 50%; background-color: #303030; color: white" |Name
! style="width: 15%; background-color: #303030; color: white" |Type
! style="width: 35%; background-color: #303030; color: white" |Description
|-
| style="width: 50%;" |'''CBaseEntitySUB_CallUseToggle'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_DoNothing'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_FadeOut'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_Remove'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_StartFadeOut'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_StartFadeOutInstant'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntitySUB_Vanish'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntityShadowCastDistThink'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''CBaseEntityScriptThink'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputAddContext'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputAddOutput'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputAlpha'''
| style="width: 15%;" |Input (Integer)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputAlternativeSorting'''
| style="width: 15%;" |Input (Boolean)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputClearContext'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputClearParent'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputColor'''
| style="width: 15%;" |Input (Color32)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputDisableDamageForces'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputDisableShadow'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputDispatchEffect'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputDispatchResponse'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputEnableDamageForces'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputEnableShadow'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputFireUser1'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputFireUser2'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputFireUser3'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputFireUser4'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputKill'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputKillHierarchy'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputRemoveContext'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputSetDamageFilter'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputSetParent'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputSetParentAttachment'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputSetParentAttachmentMaintainOffset'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputSetTeam'''
| style="width: 15%;" |Input (Integer)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputUse'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputRunScriptFile'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputRunScript'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputCallScriptFunction'''
| style="width: 15%;" |Input (String)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''InputTerminateScriptScope'''
| style="width: 15%;" |Input (Void)
| style="width: 35%;" |
|-
| colspan="3" style="padding: 0; margin: 0;" |
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" |m_Collision
|-
| style="width: 50%;" |'''m_bUniformTriggerBloat'''
| style="width: 15%;" |Boolean
| style="width: 35%;" |Not in source?
|-
| style="width: 50%;" |'''m_flRadius'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nSolidType'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nSurroundType'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_triggerBloat'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_usSolidFlags'''
| style="width: 15%;" |Short
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecMaxs'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The maxs coordinate point for the Collision bounding box of this entity '''after''' any changes are made to it, such as through the modelscale keyvalue.
|-
| style="width: 50%;" |'''m_vecMaxsPreScaled'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The maxs coordinate point for the Collision bounding box of this entity '''before''' any changes are made to it, such as through the modelscale keyvalue.
|-
| style="width: 50%;" |'''m_vecMins'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The mins coordinate point for the Collision bounding box of this entity '''after''' any changes are made to it, such as through the modelscale keyvalue.
|-
| style="width: 50%;" |'''m_vecMinsPreScaled'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The mins coordinate point for the Collision bounding box of this entity '''before''' any changes are made to it, such as through the modelscale keyvalue.
|-
| style="width: 50%;" |'''m_vecSpecifiedSurroundingMaxs'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecSpecifiedSurroundingMaxsPreScaled'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecSpecifiedSurroundingMins'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecSpecifiedSurroundingMinsPreScaled'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecSurroundingMaxs'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecSurroundingMins'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" style="background-color: rgb(45, 62, 97)" |
|}
|}
|-
| style="width: 50%;" |'''m_CollisionGroup'''
| style="width: 15%;" |Integer
| style="width: 35%;" |Modifies what this entity collides with.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L397 /public/const.h#L397]
* <span style="color: #66b1fa">0</span>  - None
* <span style="color: #66b1fa">1</span>  - Collides with nothing but world and static stuff
* <span style="color: #66b1fa">2</span>  - Same as debris, but hits triggers
* <span style="color: #66b1fa">3</span>  - Collides with everything except other interactive debris or debris
* <span style="color: #66b1fa">4</span>  - Collides with everything except interactive debris or debris
* <span style="color: #66b1fa">5</span>  - COLLISION_GROUP_PLAYER,
* <span style="color: #66b1fa">6</span>  - COLLISION_GROUP_BREAKABLE_GLASS,
* <span style="color: #66b1fa">7</span>  - COLLISION_GROUP_VEHICLE,
* <span style="color: #66b1fa">8</span>  - For HL2, same as Collision_Group_Player, for TF2, this filters out other players and CBaseObjects
* <span style="color: #66b1fa">9</span>  - Generic NPC group
* <span style="color: #66b1fa">10</span>  - for any entity inside a vehicle
* <span style="color: #66b1fa">11</span>  - for any weapons that need collision detection
* <span style="color: #66b1fa">12</span>  - vehicle clip brush to restrict vehicle movement
* <span style="color: #66b1fa">13</span>  - Projectiles!
* <span style="color: #66b1fa">14</span>  - Blocks entities not permitted to get near moving doors
* <span style="color: #66b1fa">15</span>  - Doors that the player shouldn't collide with
* <span style="color: #66b1fa">16</span>  - Things that are dissolving are in this group
* <span style="color: #66b1fa">17</span>  - Nonsolid on client and server, pushaway in player code
* <span style="color: #66b1fa">18</span>  - Used so NPCs in scripts ignore the player.
* <span style="color: #66b1fa">19</span>  - Used for NPCs in scripts that should not collide with each other


[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/game/shared/tf2/tf_shareddefs.h#L104 /game/shared/tf2/tf_shareddefs.h#L104]
               ..?
* <span style="color: #66b1fa">20</span>  - TFCOLLISION_GROUP_SHIELD
* <span style="color: #66b1fa">21</span>  - TFCOLLISION_GROUP_WEAPON
* <span style="color: #66b1fa">22</span>  - TFCOLLISION_GROUP_GRENADE
* <span style="color: #66b1fa">23</span>  - TFCOLLISION_GROUP_RESOURCE_CHUNK
* <span style="color: #66b1fa">24</span>  - Combat objects (override for above)
* <span style="color: #66b1fa">25</span>  - TFCOLLISION_GROUP_OBJECT
* <span style="color: #66b1fa">26</span>  - TFCOLLISION_GROUP_OBJECT_SOLIDTOPLAYERMOVEMENT
|}
|-
| style="width: 50%;" |'''m_ModelName'''
| style="width: 15%;" |String
| style="width: 35%;" |The model path and name for this entity
|-
| style="width: 50%;" |'''m_MoveCollide'''
| style="width: 15%;" |Char
| style="width: 35%;" |Determines the collision behavior for this entity.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L213 /public/const.h#L213]
* <span style="color: #66b1fa">0</span>  - Default
// These ones only work for MOVETYPE_FLY + MOVETYPE_FLYGRAVITY
* <span style="color: #66b1fa">1</span>  - Fly/Bounce (Bounces, reflects, based on elasticity of surface and object - applies friction (adjust velocity))
* <span style="color: #66b1fa">2</span>  - Fly/Custom (Touch() will modify the velocity however it likes)
* <span style="color: #66b1fa">3</span>  - Fly/Slide (Slides along surfaces (no bounce) - applies friction (adjusts velocity))
|}
|-
| style="width: 50%;" |'''m_MoveType'''
| style="width: 15%;" |Char
| style="width: 35%;" |Determines the movement behavior for this entity.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L191 /public/const.h#L191]
* <span style="color: #66b1fa">0</span>  - None, don't move
* <span style="color: #66b1fa">1</span>  - Isometric
* <span style="color: #66b1fa">2</span>  - Walk, player only, moving on ground
* <span style="color: #66b1fa">3</span>  - NPC, movement
* <span style="color: #66b1fa">4</span>  - Fly, no gravity
* <span style="color: #66b1fa">5</span>  - Fly, with gravity
* <span style="color: #66b1fa">6</span>  - VPhysics
* <span style="color: #66b1fa">7</span>  - Push
* <span style="color: #66b1fa">8</span>  - Noclip
* <span style="color: #66b1fa">9</span>  - Ladder, for players on ladders
* <span style="color: #66b1fa">10</span>  - Spectator
* <span style="color: #66b1fa">11</span>  - Custom
|}
|-
| colspan="3" style="padding: 0; margin: 0;" |
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" |m_Network
|-
| style="width: 50%;" |'''m_hParent'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The parent entity to which this entity is attached.
|-
| colspan="3" style="padding: 0 auto; margin: 0 auto;" |
{| class="wikitable" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="3" style="background-color: rgb(45, 62, 97)" |
|}
|}
|-
| style="width: 50%;" |'''m_OnUser1'''
| style="width: 15%;" |Output
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_OnUser2'''
| style="width: 15%;" |Output
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_OnUser3'''
| style="width: 15%;" |Output
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_OnUser4'''
| style="width: 15%;" |Output
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_ResponseContexts'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_aThinkFunctions'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_angAbsRotation'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The rotation vector of this entity relative to the world.
|-
| style="width: 50%;" |'''m_angRotation'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The rotation vector of this entity relative to it's parent. If it has no parent the vector will be relative to the world.
|-
| style="width: 50%;" |'''m_bAlternateSorting'''
| style="width: 15%;" |Boolean
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_bAnimatedEveryTick'''
| style="width: 15%;" |Boolean
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_bSimulatedEveryTick'''
| style="width: 15%;" |Boolean
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_clrRender'''
| style="width: 15%;" |Integer
| style="width: 35%;" |An integer representing the RGB render color of this entity.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" | Calculating The Value
|-
|RGB values can range from 0 to 255 individually, meaning the highest value can be represented by 8 bits. The integer used by this property is simply constructed from the bits of these values side by side. Starting from the right the first 8 bits (0-7) are used for blue, then the next 8 bits (8-15) are used by green, and finally the last 8 (16-23) are used by red. To convert your RGB color to an integer using this system, open the developer console in your browser by pressing F12, go to the Console tab, and type this:
<pre>
(red << 16) + (green << 8) + blue
</pre>
Where red green and blue are your RGB values, if a value is zero, you can just omit it, for example:
(255 << 16) + 255 // = RGB(255, 0, 255)
|}
|-
| style="width: 50%;" |'''m_debugOverlays'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_fEffects'''
| style="width: 15%;" |Integer
| style="width: 35%;" |Entity effects bit flags.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L281 /public/const.h#L281]
* <span style="color: #66b1fa">1</span>    - Performs bone merge on client side
* <span style="color: #66b1fa">2</span>    - Dynamic Light centered at entity origin
* <span style="color: #66b1fa">4</span>    - Player flashlight
* <span style="color: #66b1fa">8</span>    - Don't interpolate the next frame
* <span style="color: #66b1fa">16</span>    - Don't cast shadows
* <span style="color: #66b1fa">32</span>    - Don't draw entity
* <span style="color: #66b1fa">64</span>    - Don't receive shadows
* <span style="color: #66b1fa">128</span>  - For use with EF_BONEMERGE. If this is set, then it places this ent's origin at its parent and uses the parent's bbox + the max extents of the aiment. Otherwise, it sets up the parent's bones every frame to figure out where to place the aiment, which is inefficient because it'll setup the parent's bones even if the parent is not in the PVS.
* <span style="color: #66b1fa">256</span>  - Blink an item so that the user notices it
* <span style="color: #66b1fa">512</span>  - Always assume that the parent entity is animating
|}
|-
| style="width: 50%;" |'''m_fFlags'''
| style="width: 15%;" |Integer
| style="width: 35%;" |Entity bit flags (Different from m_iEFlags)
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L147 /public/const.h#L147]
* <span style="color: #66b1fa">1</span>          - At rest / on the ground
* <span style="color: #66b1fa">2</span>     - Player flag -- Player is fully crouched
* <span style="color: #66b1fa">4</span>     - Player flag -- Player is in the process of crouching or uncrouching but could be in transition
// examples:
// Fully ducked:  FL_DUCKING &  FL_ANIMDUCKING
// Previously fully ducked, unducking in progress:  FL_DUCKING & !FL_ANIMDUCKING
// Fully unducked: !FL_DUCKING & !FL_ANIMDUCKING
// Previously fully unducked, ducking in progress: !FL_DUCKING &  FL_ANIMDUCKING
* <span style="color: #66b1fa">8</span>         - Player jumping out of water
* <span style="color: #66b1fa">16</span>        - Player is _controlling_ a train, so movement commands should be ignored on client during prediction.
* <span style="color: #66b1fa">32</span>        - Indicates the entity is standing in rain
* <span style="color: #66b1fa">64</span>        - Player is frozen for 3rd person camera
* <span style="color: #66b1fa">128</span>        - Player can't move, but keeps key inputs for controlling another entity
* <span style="color: #66b1fa">256</span>        - Is a player
* <span style="color: #66b1fa">512</span>        - Fake client, simulated server side; don't send network messages to them
* <span style="color: #66b1fa">1024</span>      - In water
* <span style="color: #66b1fa">2048</span>      - Changes the SV_Movestep() behavior to not need to be on ground
* <span style="color: #66b1fa">4096</span>      - Changes the SV_Movestep() behavior to not need to be on ground (but stay in water)
* <span style="color: #66b1fa">8192</span>      - FL_CONVEYOR
* <span style="color: #66b1fa">16384</span>      - FL_NPC
* <span style="color: #66b1fa">32768</span>      - FL_GODMODE
* <span style="color: #66b1fa">65536</span>      - FL_NOTARGET
* <span style="color: #66b1fa">131072</span>    - Set if the crosshair needs to aim onto the entity
* <span style="color: #66b1fa">262144</span>    - Not all corners are valid
* <span style="color: #66b1fa">524288</span>    - Eetsa static prop!
* <span style="color: #66b1fa">1048576</span>    - Worldgraph has this ent listed as something that blocks a connection
* <span style="color: #66b1fa">2097152</span>    - FL_GRENADE
* <span style="color: #66b1fa">4194304</span>    - Changes the SV_Movestep() behavior to not do any processing
* <span style="color: #66b1fa">8388608</span>    - Doesn't generate touch functions, generates Untouch() for anything it was touching when this flag was set
* <span style="color: #66b1fa">16777216</span>  - Base velocity has been applied this frame (used to convert base velocity into momentum)
* <span style="color: #66b1fa">33554432</span>  - Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something)
* <span style="color: #66b1fa">67108864</span>  - Terrible name. This is an object that NPCs should see. Missiles, for example.
* <span style="color: #66b1fa">134217728</span>  - This entity is marked for death -- will be freed by game DLL
* <span style="color: #66b1fa">268435456</span> - You know... On fire!
* <span style="color: #66b1fa">536870912</span>  - We're dissolving!
* <span style="color: #66b1fa">1073741824</span> - In the process of turning into a client side ragdoll.
* <span style="color: #66b1fa">2147483648</span> - Pusher that can't be blocked by the player
|}
|-
| style="width: 50%;" |'''m_flAnimTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flDesiredShadowCastDistance'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flElasticity'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flFriction'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flGravity'''
| style="width: 15%;" |Float
| style="width: 35%;" |A modifier for the gravity of this entity. 0 does not mean "zero gravity", but rather it means this datamap does not modify anything. 1 is normal gravity.
|-
| style="width: 50%;" |'''m_flGroundChangeTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flLocalTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flMoveDoneTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flNavIgnoreUntilTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flPrevAnimTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flShadowCastDistance'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flSimulationTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flSpeed'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_flVPhysicsUpdateLocalTime'''
| style="width: 15%;" |Float
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_hDamageFilter'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The entity used as a damage filter for this entity.
|-
| style="width: 50%;" |'''m_hEffectEntity'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The entity which is used to affect this one. (Ignite/Dissolve)
|-
| style="width: 50%;" |'''m_hGroundEntity'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The entity this entity is standing / laying on.
|-
| style="width: 50%;" |'''m_hMoveChild'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The first immediate child of this entity in the movement hierarchy.
|-
| style="width: 50%;" |'''m_hMoveParent'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The immediate parent of this entity in the movement hierarchy.
|-
| style="width: 50%;" |'''m_hMovePeer'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The next immediate sibling (entity with the same parent) of this entity in the movement hierarchy.
|-
| style="width: 50%;" |'''m_hOwnerEntity'''
| style="width: 15%;" |Handle
| style="width: 35%;" |The owner of this entity, not to be confused with the parent (moveparent). A common example of ownership is players owning the projectiles that they fire. Some entities may not work properly if you create them without giving them an owner.
|-
| style="width: 50%;" |'''m_iClassname'''
| style="width: 15%;" |String
| style="width: 35%;" |The class name of this entity (not the C++ Class name).
|-
| style="width: 50%;" |'''m_iEFlags'''
| style="width: 15%;" |Integer
| style="width: 35%;" |Entity bit flags (Different from m_fFlags)
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/game/shared/shareddefs.h#L579 /game/shared/shareddefs.h#L579]
* <span style="color: #66b1fa">1</span>          - This entity is marked for death -- This allows the game to actually delete ents at a safe time
* <span style="color: #66b1fa">2</span>     - Entity is dormant, no updates to client
* <span style="color: #66b1fa">4</span>     - Lets us know when the noclip command is active.
* <span style="color: #66b1fa">8</span>         - Set while a model is setting up its bones.
* <span style="color: #66b1fa">16</span>        - This is a special entity that should not be deleted when we restart entities only
* <span style="color: #66b1fa">16</span>        - One of the child entities is a player.
* <span style="color: #66b1fa">32</span>        - Client only- need shadow manager to update the shadow...
* <span style="color: #66b1fa">64</span>        - Another entity is watching events on this entity (used by teleport)
* <span style="color: #66b1fa">128</span>        - Force the engine to transmit this entity even if it doesn't have a model
* <span style="color: #66b1fa">256</span>        - This is set on bots that are frozen.
* <span style="color: #66b1fa">512</span>        - Non-networked entity.
* <span style="color: #66b1fa">1024</span>      - Don't attach the edict; we're doing it explicitly
* <span style="color: #66b1fa">2048</span>      - EFL_DIRTY_ABSTRANSFORM
* <span style="color: #66b1fa">4096</span>      - EFL_DIRTY_ABSVELOCITY
* <span style="color: #66b1fa">8192</span>      - EFL_DIRTY_ABSANGVELOCITY
* <span style="color: #66b1fa">16384</span>      - EFL_DIRTY_SURROUNDING_COLLISION_BOUNDS
* <span style="color: #66b1fa">32768</span>      - EFL_DIRTY_SPATIAL_PARTITION
* <span style="color: #66b1fa">65536</span>      - UNUSED
* <span style="color: #66b1fa">131072</span>    - This is set if the entity detects that it's in the skybox and forces it to pass the "in PVS" for transmission.
* <span style="color: #66b1fa">262144</span>    - Entities with this flag set show up in the partition even when not solid
* <span style="color: #66b1fa">524288</span>    - Used to determine if an entity is floating
* <span style="color: #66b1fa">1048576</span>    - EFL_IS_BEING_LIFTED_BY_BARNACLE
* <span style="color: #66b1fa">2097152</span>    - I shouldn't be pushed by the rotorwash
* <span style="color: #66b1fa">4194304</span>    - EFL_NO_THINK_FUNCTION
* <span style="color: #66b1fa">8388608</span>    - EFL_NO_GAME_PHYSICS_SIMULATION
* <span style="color: #66b1fa">16777216</span>  - EFL_CHECK_UNTOUCH
* <span style="color: #66b1fa">33554432</span>  - I shouldn't block NPC line-of-sight
* <span style="color: #66b1fa">67108864</span>  - NPC's should not walk on this entity
* <span style="color: #66b1fa">134217728</span>  - These guys shouldn't dissolve
* <span style="color: #66b1fa">268435456</span> - Mega physcannon can't ragdoll these guys.
* <span style="color: #66b1fa">536870912</span>  - Don't adjust this entity's velocity when transitioning into water
* <span style="color: #66b1fa">1073741824</span> - Physcannon can't pick these up or punt them
* <span style="color: #66b1fa">2147483648</span> - Doesn't accept forces from physics damage
|}
|-
| style="width: 50%;" |'''m_iGlobalname'''
| style="width: 15%;" |String
| style="width: 35%;" |A string used to preserve entity state between map changes. When a map change is initiated, this entity will have it's entity state transferred over to entities in the new map with global names matching this one.
|-
| style="width: 50%;" |'''m_iHammerID'''
| style="width: 15%;" |Integer
| style="width: 35%;" |An ID unique to the entity type (if it's a brush it'll be unique between all brushes). An entity will only have a Hammer ID if it was compiled with the map (if it's not dynamically spawned).
|-
| style="width: 50%;" |'''m_iHealth'''
| style="width: 15%;" |Integer
| style="width: 35%;" |The current health of this entity.
|-
| style="width: 50%;" |'''m_iInitialTeamNum'''
| style="width: 15%;" |Integer
| style="width: 35%;" |The initial team this entity is a part of when it spawns. For players this is just 0.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
* <span style="color: #66b1fa">0</span>  - None
* <span style="color: #66b1fa">1</span>  - Spectator
* <span style="color: #66b1fa">2</span>  - RED
* <span style="color: #66b1fa">3</span>  - BLU
* <span style="color: #66b1fa">5</span>  - Boss / Neutral
|}
|-
| style="width: 50%;" |'''m_iMaxHealth'''
| style="width: 15%;" |Integer
| style="width: 35%;" |The max health of this entity.
|-
| style="width: 50%;" |'''m_iName'''
| style="width: 15%;" |String
| style="width: 35%;" |The targetname of this entity.
|-
| style="width: 50%;" |'''m_iParent'''
| style="width: 15%;" |String
| style="width: 35%;" |The targetname of the parent of this entity.
|-
| style="width: 50%;" |'''m_iParentAttachment'''
| style="width: 15%;" |Char
| style="width: 35%;" |The attachment point on the parent entity which this entity is held to.
|-
| style="width: 50%;" |'''m_iTeamNum'''
| style="width: 15%;" |Integer
| style="width: 35%;" |The team this entity is a part of.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
* <span style="color: #66b1fa">0</span>  - None
* <span style="color: #66b1fa">1</span>  - Spectator
* <span style="color: #66b1fa">2</span>  - RED
* <span style="color: #66b1fa">3</span>  - BLU
* <span style="color: #66b1fa">5</span>  - Boss / Neutral
|}
|-
| style="width: 50%;" |'''m_iTextureFrameIndex'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_iszDamageFilterName'''
| style="width: 15%;" |String
| style="width: 35%;" |The targetname of the damage filter for this entity.
|-
| style="width: 50%;" |'''m_iszResponseContext'''
| style="width: 15%;" |String
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_lifeState'''
| style="width: 15%;" |Char
| style="width: 35%;" |Am I alive?
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L273 /public/const.h#L273]
* <span style="color: #66b1fa">0</span>  - Alive
* <span style="color: #66b1fa">1</span>  - Playing death animation or still falling off of a ledge waiting to hit ground. (Does not apply to players.)
* <span style="color: #66b1fa">2</span>  - Dead, lying still. (Players will instantly have this set upon dying.)
* <span style="color: #66b1fa">3</span>  - LIFE_RESPAWNABLE
* <span style="color: #66b1fa">4</span>  - LIFE_DISCARDBODY
|}
|-
| style="width: 50%;" |'''m_nLastThinkTick'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nModelIndex'''
| style="width: 15%;" |Short
| style="width: 35%;" |The index for this entity's precached model. Changing this does nothing in TF2.
|-
| style="width: 50%;" |'''m_nModelIndexOverrides'''
| style="width: 15%;" |Array (Integer)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nNextThinkTick'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nRenderFX'''
| style="width: 15%;" |Char
| style="width: 35%;" |Alpha render effects enum.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L367 /public/const.h#L367]
* <span style="color: #66b1fa">0</span>  - None
* <span style="color: #66b1fa">1</span>  - Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
* <span style="color: #66b1fa">2</span>  - Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
* <span style="color: #66b1fa">3</span>  - Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
* <span style="color: #66b1fa">4</span>  - Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
* <span style="color: #66b1fa">5</span>  - Slow Fade Away (decreases alpha by -1 per frame, fades out over 4 s)
* <span style="color: #66b1fa">6</span>  - Fast Fade Away (decreases alpha by -4 per frame, fades out over 1 s)
* <span style="color: #66b1fa">7</span>  - Slow Become Solid (increases alpha by +1 per frame, fades in over 4 s)
* <span style="color: #66b1fa">8</span>  - Fast Become Solid (increases alpha by +4 per frame, fades in over 1 s)
* <span style="color: #66b1fa">9</span>  - Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
* <span style="color: #66b1fa">10</span>  - Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
* <span style="color: #66b1fa">11</span>  - Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
* <span style="color: #66b1fa">12</span>  - Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
* <span style="color: #66b1fa">13</span>  - Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
* <span style="color: #66b1fa">14</span>  - Constant Glow ("NoDissipation;" purpose uncertain—for sprites?)
* <span style="color: #66b1fa">15</span>  - Distort (causes unnatural flickering and position shifting), Fade Out (instant; not very useful outside of code)
* <span style="color: #66b1fa">16</span>  - Hologram (Distort + "distance fade"), Fade In (instant; not very useful outside of code)
* <span style="color: #66b1fa">17</span>  - Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts), Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s)
* <span style="color: #66b1fa">18</span>  - Glow Shell (purpose unclear)
* <span style="color: #66b1fa">19</span>  - Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)")
* <span style="color: #66b1fa">20</span>  - Environmental Rain ("for environmental rendermode, make rain")
* <span style="color: #66b1fa">21</span>  - Environmental Snow ("for environmental rendermode, make snow")
* <span style="color: #66b1fa">22</span>  - Spotlight FX ("TEST CODE for experimental spotlight")
* <span style="color: #66b1fa">23</span>  - Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it)
* <span style="color: #66b1fa">24</span> - Fade Wider Pulse (varies alpha by ±255 over a period of 0.26 s)
|}
|-
| style="width: 50%;" |'''m_nRenderMode'''
| style="width: 15%;" |Char
| style="width: 35%;" |The mode in which this entity should attempt to be rendered.
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
[https://github.com/sr2echa/TF2-Source-Code/blob/master/tf2_src/public/const.h#L350 /public/const.h#L350]
* <span style="color: #66b1fa">0</span>  - Normal
* <span style="color: #66b1fa">1</span>  - Color
* <span style="color: #66b1fa">2</span>  - Texture
* <span style="color: #66b1fa">3</span>  - Glow
* <span style="color: #66b1fa">4</span>  - Solid/Alphatest
* <span style="color: #66b1fa">5</span>  - Additive
* <span style="color: #66b1fa">6</span>  - Removed, does nothing
* <span style="color: #66b1fa">7</span>  - Additive Fractional Frame
* <span style="color: #66b1fa">8</span>  - Alpha Add
* <span style="color: #66b1fa">9</span>  - World Space Glow
* <span style="color: #66b1fa">10</span>  - Don't Render
|}
|-
| style="width: 50%;" |'''m_nSimulationTick'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nTransmitStateOwnedCounter'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_nWaterLevel'''
| style="width: 15%;" |Char
| style="width: 35%;" |How far this entity is submerged in water. For players, the values are like so:
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"
! colspan="1" |Values
|-
|
* <span style="color: #66b1fa">0</span>  - Not touching water.
* <span style="color: #66b1fa">1</span>  - Touching water, but our movement is unaffected. (Water at our feet)
* <span style="color: #66b1fa">2</span>  - Swimming, but our head isn't below the surface. (We can still breath)
* <span style="color: #66b1fa">3</span>  - Completely submerged in water.
|}
|-
| style="width: 50%;" |'''m_nWaterType'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pBlocker'''
| style="width: 15%;" |Handle
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pParent'''
| style="width: 15%;" |Handle
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pPhysicsObject'''
| style="width: 15%;" |Handle
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pfnBlocked'''
| style="width: 15%;" |Function
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pfnMoveDone'''
| style="width: 15%;" |Function
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pfnThink'''
| style="width: 15%;" |Function
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pfnTouch'''
| style="width: 15%;" |Function
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_pfnUse'''
| style="width: 15%;" |Function
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_rgflCoordinateFrame'''
| style="width: 15%;" |Array (Float)
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_spawnflags'''
| style="width: 15%;" |Integer
| style="width: 35%;" |The spawnflags for this entity.
|-
| style="width: 50%;" |'''m_takedamage'''
| style="width: 15%;" |Char
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_target'''
| style="width: 15%;" |String
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecAbsOrigin'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The absolute position of this entity relative to the world.
|-
| style="width: 50%;" |'''m_vecAbsVelocity'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The absolute velocity of this entity relative to the world.
|-
| style="width: 50%;" |'''m_vecAngVelocity'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecBaseVelocity'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_vecOrigin'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The local position of this entity relative to it's parent. If this entity has no parent, the position is relative to the world
|-
| style="width: 50%;" |'''m_vecVelocity'''
| style="width: 15%;" |Vector
| style="width: 35%;" |The local velocity of this entity relative to it's parent. If this entity has no parent, the velocity is relative to the world.
|-
| style="width: 50%;" |'''m_vecViewOffset'''
| style="width: 15%;" |Vector
| style="width: 35%;" |
|-
| style="width: 50%;" |'''touchStamp'''
| style="width: 15%;" |Integer
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_iszScriptId'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_iszVScripts'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_iszScriptThinkFunction'''
| style="width: 15%;" |
| style="width: 35%;" |
|-
| style="width: 50%;" |'''m_bForcePurgeFixedupStrings'''
| style="width: 15%;" |
| style="width: 35%;" |
|}
Please note that all contributions to SigMod are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see SigMod:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)