CBaseObject

From SigMod
Revision as of 23:33, 12 November 2022 by Mince (talk | contribs)
Jump to navigation Jump to search

Overview

The base class for place-able objects.

Source location : /game/shared/tf/baseobject_shared.h

Class Structure

SendProps

CBaseObject
Name Type Description
m_iHealth Integer The current health of this object
m_iMaxHealth Integer The maximum health this object can have in it's current state
m_bHasSapper Boolean Whether or not this object has a sapper on it
m_iObjectType Integer What type of object this entity is
Values
  • 0 - OBJ_DISPENSER
  • 1 - OBJ_TELEPORTER
  • 2 - OBJ_SENTRYGUN
  • 3 - OBJ_ATTACHMENT_SAPPER
m_bBuilding Boolean Whether or not this object is currently under construction
m_bPlacing Boolean Whether or not this object is staged to be constructed / placed.
Usage

For engineers, this means they have selected the building on their construction PDA, it is irrelevant as to whether or not they are actually allowed to place the building in the spot they are looking at. For spies, this simply means they have their sapper out, it doesn't need to be ready to place on a building

m_bCarried Boolean Whether or not an engineer is carrying this building after placing it
m_bCarryDeploy Boolean
m_bMiniBuilding Boolean Whether or not this object is a mini building.
Usage

Changing this value to 1 will add Mini- to the beginning of the building's name, regardless of the building type. For sentries, it's advised to only change this value while the engineer is placing the sentry (m_bPlacing = 1), as changing it during other periods of time lead to different unintended consequences. (For example you cannot pick up a sentrygun that was above level 1 if you make it a mini sentry, it's model will also not update.) Sentries which have been changed from normal to mini sentries will not automatically update their size to that of a mini sentry, however every other difference between them does change properly (Damage, firing speed, health, sound).

m_flPercentageConstructed Float The percentage value denoting how close this object is to finishing construction. (0 - 1, 1 being completely constructed)
m_fObjectFlags Integer Bit flags for this object
Values
  • 1 - OF_SUPPRESS_APPEAR_ON_MINIMAP
  • 2 - OF_SUPPRESS_NOTIFY_UNDER_ATTACK
  • 4 - OF_SUPPRESS_VISIBLE_TO_TACTICAL
  • 8 - OF_ALLOW_REPEAT_PLACEMENT
  • 16 - OF_SUPPRESS_TECH_ANALYZER
  • 32 - OF_DONT_AUTO_REPAIR
  • 64 - OF_ALIGN_TO_GROUND // Align my angles to match the ground underneath me
  • 128 - OF_DONT_PREVENT_BUILD_NEAR_OBJ // Don't prevent building if there's another object nearby
  • 256 - OF_CAN_BE_PICKED_UP
  • 512 - OF_DOESNT_NEED_POWER // Doesn't need power, even on the human team
  • 1024 - OF_DOESNT_HAVE_A_MODEL // It's built from map placed geometry
  • 2048 - OF_MUST_BE_BUILT_IN_CONSTRUCTION_YARD
  • 4096 - OF_MUST_BE_BUILT_IN_RESOURCE_ZONE
  • 8192 - OF_MUST_BE_BUILT_ON_ATTACHMENT
  • 16384 - OF_CANNOT_BE_DISMANTLED
m_hBuiltOnEntity Integer The building which this sapper object is sapping / targeting.
Usage

The sapper does not have to actually be applied to a building for this to have a value, along with the sapper being applied, a spy can hover over a building with their sapper and this value will fill with the handle for that building.

m_bDisabled Boolean
m_hBuilder Integer Building owner player, take credits for actions performed by building such as sentry kills
m_vecBuildMaxs Vector
m_vecBuildMins Vector
m_iDesiredBuildRotations Integer
m_bServerOverridePlacement Boolean
m_iUpgradeLevel Integer
m_iUpgradeMetal Integer
m_iUpgradeMetalRequired Integer
m_iHighestUpgradeLevel Integer Current level, can be set to change sentry level with animation
m_iObjectMode Integer
m_bDisposableBuilding Boolean
m_bWasMapPlaced Boolean
m_bPlasmaDisable Boolean

Entity DataMaps

CBaseObject
Name Type Description
CBaseObjectUpgradeThink
InputAddHealth
InputDisable
InputEnable
InputHide
InputRemoveHealth
InputSetBuilder
InputSetHealth
InputSetSolidToPlayer
InputShow
m_OnBecomingDisabled
m_OnBecomingReenabled
m_OnDamaged
m_OnDestroyed
m_OnObjectHealthChanged
m_OnRepaired
m_SolidToPlayers
m_nDefaultUpgradeLevel