CBaseObject: Difference between revisions
No edit summary  | 
				m (→SendProps:  Formatting error!)  | 
				||
| (8 intermediate revisions by 2 users not shown) | |||
| Line 50: | Line 50: | ||
|'''m_bPlacing'''  | |'''m_bPlacing'''  | ||
|Boolean  | |Boolean  | ||
|Whether or not this object is staged to be constructed / placed  | |Whether or not this object is staged to be constructed / placed  | ||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | {| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | ||
! colspan="1" |Usage  | ! colspan="1" |Usage  | ||
| Line 68: | Line 68: | ||
|'''m_bMiniBuilding'''  | |'''m_bMiniBuilding'''  | ||
|Boolean  | |Boolean  | ||
|Whether or not this object is a mini building  | |Whether or not this object is a mini building  | ||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | {| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | ||
! colspan="1" |Usage  | ! colspan="1" |Usage  | ||
|-  | |-  | ||
|  | |  | ||
Changing this value to 1 will add '''Mini-''' to the beginning of the building's name, regardless of the building type.   | Changing this value to 1 will add '''Mini-''' to the beginning of the building's name, regardless of the building type. It's advised to only change this value while the engineer is placing the building (m_bPlacing = 1), as changing it during other periods of time lead to different unintended consequences. (For example you cannot pick up a building that was above level 1 if you make it a mini building, 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'''  | |'''m_flPercentageConstructed'''  | ||
|Float  | |Float  | ||
|  | |The percentage value denoting how close this object is to finishing construction. (0 - 1, 1 being completely constructed)  | ||
|-  | |-  | ||
|'''m_fObjectFlags'''  | |'''m_fObjectFlags'''  | ||
|Integer  | |Integer  | ||
|Bit flags for this object  | |||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | |||
! colspan="1" |Values  | |||
|-  | |||
|  | |  | ||
* 1 - OF_ALLOW_REPEAT_PLACEMENT  | |||
* 2 - OF_MUST_BE_BUILT_ON_ATTACHMENT  | |||
* 4 - OF_DOESNT_HAVE_A_MODEL  | |||
* 8 - OF_PLAYER_DESTRUCTION  | |||
|}  | |||
|-  | |-  | ||
|'''m_hBuiltOnEntity'''  | |'''m_hBuiltOnEntity'''  | ||
|Integer  | |Integer  | ||
|  | |The building which this sapper object is sapping / targeting  | ||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | |||
! colspan="1" |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 and destroying the building, this SendProp will also be populated with a value when a spy hovers over the building with their sapper and the sapper outline appears on the building indicating it is ready for placement  | |||
|}  | |||
|-  | |-  | ||
|'''m_bDisabled'''  | |'''m_bDisabled'''  | ||
|Boolean  | |Boolean  | ||
|  | |Whether or not this building object is being sapped  | ||
|-  | |-  | ||
|'''m_hBuilder'''  | |'''m_hBuilder'''  | ||
|Integer  | |Integer  | ||
|  | |The owner of the object. The object does not have to be constructed or placed for this value to be populated  | ||
|-  | |-  | ||
|'''m_vecBuildMaxs'''  | |'''m_vecBuildMaxs'''  | ||
|Vector  | |Vector  | ||
|  | |The positive point to determine the object size  | ||
|-  | |-  | ||
|'''m_vecBuildMins'''  | |'''m_vecBuildMins'''  | ||
|Vector  | |Vector  | ||
|  | |The negative point to determine the object size  | ||
|-  | |-  | ||
|'''m_iDesiredBuildRotations'''  | |'''m_iDesiredBuildRotations'''  | ||
| Line 114: | Line 129: | ||
|'''m_iUpgradeLevel'''  | |'''m_iUpgradeLevel'''  | ||
|Integer  | |Integer  | ||
|  | |The upgrade level of this building object (1 - 3). Changing this value does nothing  | ||
|-  | |-  | ||
|'''m_iUpgradeMetal'''  | |'''m_iUpgradeMetal'''  | ||
|Integer  | |Integer  | ||
|  | |The amount of metal put towards upgrading the building object to the next level. Setting this at or above m_iUpgradeMetalRequired will require a swing of a wrench to upgrade the building  | ||
|-  | |-  | ||
|'''m_iUpgradeMetalRequired'''  | |'''m_iUpgradeMetalRequired'''  | ||
|Integer  | |Integer  | ||
|  | |The amount of metal required to upgrade the building object to the next level  | ||
|-  | |-  | ||
|'''m_iHighestUpgradeLevel'''  | |'''m_iHighestUpgradeLevel'''  | ||
|Integer  | |Integer  | ||
|  | |Despite the name, this is the current upgrade level of this building object. Unlike m_iUpgradeLevel however, changing this value does change the building's level  | ||
|-  | |-  | ||
|'''m_iObjectMode'''  | |'''m_iObjectMode'''  | ||
|Integer  | |Integer  | ||
|This object's mode  | |||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;"  | |||
! colspan="1" |Values  | |||
|-  | |||
|  | |  | ||
* 0 - MODE_TELEPORTER_ENTRANCE  | |||
* 1 - MODE_TELEPORTER_EXIT  | |||
* 0 - MODE_SENTRYGUN_NORMAL  | |||
* 1 - MODE_SENTRYGUN_DISPOSABLE // The MvM upgrade sentries  | |||
* 0 - MODE_SAPPER_NORMAL  | |||
* 1 - MODE_SAPPER_ANTI_ROBOT  | |||
* 2 - MODE_SAPPER_ANTI_ROBOT_RADIUS  | |||
|}  | |||
|-  | |-  | ||
|'''m_bDisposableBuilding'''  | |'''m_bDisposableBuilding'''  | ||
|Boolean  | |Boolean  | ||
|  | |Whether or not this object is a disposable building (from the MvM upgrade)  | ||
|-  | |-  | ||
|'''m_bWasMapPlaced'''  | |'''m_bWasMapPlaced'''  | ||
|Boolean  | |Boolean  | ||
|  | |Whether or not this object was spawned by the map (it was in the .vmf)  | ||
Setting this disables the map-wide team glow from players respawning with addcond 114 (TF_COND_TEAM_GLOWS)  | |||
|-  | |-  | ||
|'''m_bPlasmaDisable'''  | |'''m_bPlasmaDisable'''  | ||
|Boolean  | |Boolean  | ||
|  | |Whether or not this building object has been temporarily disabled by the Cow Mangler 5000  | ||
|}  | |}  | ||
== Entity DataMaps ==  | == Entity DataMaps ==  | ||
{| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;  | {| class="wikitable sortable mw-collapsible mw-collapsed" style="margin: 0 auto; width: 100%; padding: 0;  | ||
Latest revision as of 14:20, 27 August 2025
Overview
The base class for place-able objects.
Source location : /game/shared/tf/baseobject_shared.h
Class Structure
SendProps
| 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
  | ||
| 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
  | ||
| 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
  | ||
| 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
  | ||
| m_hBuiltOnEntity | Integer | The building which this sapper object is sapping / targeting
  | ||
| m_bDisabled | Boolean | Whether or not this building object is being sapped | ||
| m_hBuilder | Integer | The owner of the object. The object does not have to be constructed or placed for this value to be populated | ||
| m_vecBuildMaxs | Vector | The positive point to determine the object size | ||
| m_vecBuildMins | Vector | The negative point to determine the object size | ||
| m_iDesiredBuildRotations | Integer | |||
| m_bServerOverridePlacement | Boolean | |||
| m_iUpgradeLevel | Integer | The upgrade level of this building object (1 - 3). Changing this value does nothing | ||
| m_iUpgradeMetal | Integer | The amount of metal put towards upgrading the building object to the next level. Setting this at or above m_iUpgradeMetalRequired will require a swing of a wrench to upgrade the building | ||
| m_iUpgradeMetalRequired | Integer | The amount of metal required to upgrade the building object to the next level | ||
| m_iHighestUpgradeLevel | Integer | Despite the name, this is the current upgrade level of this building object. Unlike m_iUpgradeLevel however, changing this value does change the building's level | ||
| m_iObjectMode | Integer | This object's mode
  | ||
| m_bDisposableBuilding | Boolean | Whether or not this object is a disposable building (from the MvM upgrade) | ||
| m_bWasMapPlaced | Boolean | Whether or not this object was spawned by the map (it was in the .vmf)
 Setting this disables the map-wide team glow from players respawning with addcond 114 (TF_COND_TEAM_GLOWS)  | ||
| m_bPlasmaDisable | Boolean | Whether or not this building object has been temporarily disabled by the Cow Mangler 5000 | 
Entity DataMaps
| 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 |