mirror of
https://github.com/neverlosecc/source2sdk.git
synced 2025-01-22 21:36:01 +00:00
07.11.2023
This commit is contained in:
parent
125d020806
commit
cef5650f51
@ -27,7 +27,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -46,45 +46,45 @@ namespace source2sdk::client
|
|||||||
class CDOTA_BaseNPC_AghsFort_Watch_Tower : public client::C_DOTA_BaseNPC_Building
|
class CDOTA_BaseNPC_AghsFort_Watch_Tower : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int32_t m_nOptionNumber; // 0x1870
|
int32_t m_nOptionNumber; // 0x1878
|
||||||
float m_flMovePlayersRadius; // 0x1874
|
float m_flMovePlayersRadius; // 0x187c
|
||||||
client::CDOTA_BaseNPC_AghsFort_Watch_Tower__ExitDirection_t m_nExitDirection; // 0x1878
|
client::CDOTA_BaseNPC_AghsFort_Watch_Tower__ExitDirection_t m_nExitDirection; // 0x1880
|
||||||
Vector m_vExitLocation; // 0x187c
|
Vector m_vExitLocation; // 0x1884
|
||||||
int32_t m_nPathSelectedID; // 0x1888
|
int32_t m_nPathSelectedID; // 0x1890
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_nEncounterType; // 0x188c
|
int32_t m_nEncounterType; // 0x1894
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsEliteEncounter; // 0x1890
|
bool m_bIsEliteEncounter; // 0x1898
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsAscensionLevelPicker; // 0x1891
|
bool m_bIsAscensionLevelPicker; // 0x1899
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1892[0x6]; // 0x1892
|
[[maybe_unused]] std::uint8_t pad_0x189a[0x6]; // 0x189a
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
CUtlSymbolLarge m_strEncounterName; // 0x1898
|
CUtlSymbolLarge m_strEncounterName; // 0x18a0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
CUtlSymbolLarge m_strAscensionAbilities; // 0x18a0
|
CUtlSymbolLarge m_strAscensionAbilities; // 0x18a8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hEffigy has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hEffigy has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hEffigy;
|
// CHandle<client::C_BaseEntity> m_hEffigy;
|
||||||
char m_hEffigy[0x4]; // 0x18a8
|
char m_hEffigy[0x4]; // 0x18b0
|
||||||
float m_flYaw; // 0x18ac
|
float m_flYaw; // 0x18b4
|
||||||
float m_flStartTime; // 0x18b0
|
float m_flStartTime; // 0x18b8
|
||||||
entity2::GameTime_t m_flCursorEnterTime; // 0x18b4
|
entity2::GameTime_t m_flCursorEnterTime; // 0x18bc
|
||||||
bool m_bShowingTooltip; // 0x18b8
|
bool m_bShowingTooltip; // 0x18c0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18b9[0x1b]; // 0x18b9
|
[[maybe_unused]] std::uint8_t pad_0x18c1[0x1b]; // 0x18c1
|
||||||
float m_flLastUpdateTime; // 0x18d4
|
float m_flLastUpdateTime; // 0x18dc
|
||||||
client::ParticleIndex_t m_nChannellingParticle; // 0x18d8
|
client::ParticleIndex_t m_nChannellingParticle; // 0x18e0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hRoomGate has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hRoomGate has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::CBaseAnimatingActivity> m_hRoomGate;
|
// CHandle<client::CBaseAnimatingActivity> m_hRoomGate;
|
||||||
char m_hRoomGate[0x4]; // 0x18dc
|
char m_hRoomGate[0x4]; // 0x18e4
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsBeingChanneled; // 0x18e0
|
bool m_bIsBeingChanneled; // 0x18e8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18e1[0x3]; // 0x18e1
|
[[maybe_unused]] std::uint8_t pad_0x18e9[0x3]; // 0x18e9
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flGoalCaptureProgress; // 0x18e4
|
float m_flGoalCaptureProgress; // 0x18ec
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_BaseNPC_AghsFort_Watch_Tower because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_BaseNPC_AghsFort_Watch_Tower because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_AghsFort_Watch_Tower) == 0x18e8);
|
static_assert(sizeof(CDOTA_BaseNPC_AghsFort_Watch_Tower) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1878
|
// Size: 0x1880
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -28,13 +28,13 @@ namespace source2sdk::client
|
|||||||
class CDOTA_BaseNPC_CustomEffigy : public client::C_DOTA_BaseNPC_Building
|
class CDOTA_BaseNPC_CustomEffigy : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
uint32_t m_unStatusEffectIndex; // 0x1870
|
uint32_t m_unStatusEffectIndex; // 0x1878
|
||||||
// m_hPedestal has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hPedestal has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hPedestal;
|
// CHandle<client::C_BaseEntity> m_hPedestal;
|
||||||
char m_hPedestal[0x4]; // 0x1874
|
char m_hPedestal[0x4]; // 0x187c
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_BaseNPC_CustomEffigy because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_BaseNPC_CustomEffigy because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_CustomEffigy) == 0x1878);
|
static_assert(sizeof(CDOTA_BaseNPC_CustomEffigy) == 0x1880);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1878
|
// Size: 0x1880
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -23,11 +23,11 @@ namespace source2sdk::client
|
|||||||
class CDOTA_BaseNPC_Effigy_AghsFort : public client::C_DOTA_BaseNPC_Building
|
class CDOTA_BaseNPC_Effigy_AghsFort : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
uint32_t m_unStatusEffectIndex; // 0x1870
|
uint32_t m_unStatusEffectIndex; // 0x1878
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1874[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x187c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_BaseNPC_Effigy_AghsFort because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_BaseNPC_Effigy_AghsFort because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Effigy_AghsFort) == 0x1878);
|
static_assert(sizeof(CDOTA_BaseNPC_Effigy_AghsFort) == 0x1880);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_JungleVarmint) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_JungleVarmint) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,8 +24,8 @@ namespace source2sdk::client
|
|||||||
class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public client::C_DOTA_BaseNPC_Additive
|
class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_nFXIndex; // 0x1800
|
client::ParticleIndex_t m_nFXIndex; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1804[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
||||||
|
|
||||||
// Static fields:
|
// Static fields:
|
||||||
static char* &Get_PARTICLE_SPAWN() {return *reinterpret_cast<char**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->GetStaticFields()[0]->m_pInstance);};
|
static char* &Get_PARTICLE_SPAWN() {return *reinterpret_cast<char**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->GetStaticFields()[0]->m_pInstance);};
|
||||||
@ -33,5 +33,5 @@ namespace source2sdk::client
|
|||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_BaseNPC_Phantom_Assassin_GroundDagger because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_BaseNPC_Phantom_Assassin_GroundDagger because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Phantom_Assassin_GroundDagger) == 0x1808);
|
static_assert(sizeof(CDOTA_BaseNPC_Phantom_Assassin_GroundDagger) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_CNY_Balloon) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_CNY_Balloon) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_Dragon) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_Dragon) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_Penguin) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_Penguin) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI11_Balloon) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI11_Balloon) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Balloon) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Balloon) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Drums) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Drums) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Monkey) == 0x1800);
|
static_assert(sizeof(CDOTA_BaseNPC_Seasonal_TI9_Monkey) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
int32_t bonus_strength; // 0x16e8
|
int32_t bonus_strength; // 0x16e8
|
||||||
int32_t bonus_agility; // 0x16ec
|
int32_t bonus_agility; // 0x16ec
|
||||||
int32_t bonus_intellect; // 0x16f0
|
int32_t bonus_intellect; // 0x16f0
|
||||||
int32_t clock_time; // 0x16f4
|
float bonus_health_regen; // 0x16f4
|
||||||
float bonus_health_regen; // 0x16f8
|
int32_t bonus_damage; // 0x16f8
|
||||||
int32_t bonus_damage; // 0x16fc
|
int32_t bonus_slow_resistance; // 0x16fc
|
||||||
int32_t bonus_slow_resistance; // 0x1700
|
int32_t bonus_health; // 0x1700
|
||||||
int32_t bonus_health; // 0x1704
|
[[maybe_unused]] std::uint8_t pad_0x1704[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: unknown
|
// Registered alignment: unknown
|
||||||
// Alignment: unknown
|
// Alignment: unknown
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x16f0
|
// Size: 0x16f8
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
@ -23,10 +23,12 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int32_t movement_speed_buff_rate; // 0x16e8
|
int32_t movement_speed_buff_rate; // 0x16e8
|
||||||
client::ParticleIndex_t m_nFXIndex; // 0x16ec
|
float slow_resist; // 0x16ec
|
||||||
|
client::ParticleIndex_t m_nFXIndex; // 0x16f0
|
||||||
|
[[maybe_unused]] std::uint8_t pad_0x16f4[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Modifier_Item_Disperser_Movespeed_Buff because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Modifier_Item_Disperser_Movespeed_Buff because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Modifier_Item_Disperser_Movespeed_Buff) == 0x16f0);
|
static_assert(sizeof(CDOTA_Modifier_Item_Disperser_Movespeed_Buff) == 0x16f8);
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,7 @@ namespace source2sdk::client
|
|||||||
int32_t bonus_intellect; // 0x16f0
|
int32_t bonus_intellect; // 0x16f0
|
||||||
float bonus_mana_regen; // 0x16f4
|
float bonus_mana_regen; // 0x16f4
|
||||||
int32_t bonus_max_mana_percentage; // 0x16f8
|
int32_t bonus_max_mana_percentage; // 0x16f8
|
||||||
int32_t clock_time; // 0x16fc
|
[[maybe_unused]] std::uint8_t pad_0x16fc[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ namespace source2sdk::client
|
|||||||
int32_t bonus_agility; // 0x16ec
|
int32_t bonus_agility; // 0x16ec
|
||||||
int32_t bonus_intellect; // 0x16f0
|
int32_t bonus_intellect; // 0x16f0
|
||||||
int32_t bonus_attack_speed; // 0x16f4
|
int32_t bonus_attack_speed; // 0x16f4
|
||||||
int32_t clock_time; // 0x16f8
|
float bonus_armor; // 0x16f8
|
||||||
float bonus_armor; // 0x16fc
|
[[maybe_unused]] std::uint8_t pad_0x16fc[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: unknown
|
// Registered alignment: unknown
|
||||||
// Alignment: unknown
|
// Alignment: unknown
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1710
|
// Size: 0x1708
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
@ -30,11 +30,9 @@ namespace source2sdk::client
|
|||||||
int32_t evasion; // 0x16fc
|
int32_t evasion; // 0x16fc
|
||||||
int32_t m_iTotalAmount; // 0x1700
|
int32_t m_iTotalAmount; // 0x1700
|
||||||
int32_t ally_pct; // 0x1704
|
int32_t ally_pct; // 0x1704
|
||||||
int32_t day_vision_multiplier; // 0x1708
|
|
||||||
[[maybe_unused]] std::uint8_t pad_0x170c[0x4];
|
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Modifier_Mirana_SolarFlare because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Modifier_Mirana_SolarFlare because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Modifier_Mirana_SolarFlare) == 0x1710);
|
static_assert(sizeof(CDOTA_Modifier_Mirana_SolarFlare) == 0x1708);
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "source2sdk/client/CDOTA_Buff.hpp"
|
||||||
|
#include "source2sdk/source2gen.hpp"
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
// /////////////////////////////////////////////////////////////
|
||||||
|
// Module: client
|
||||||
|
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||||
|
// /////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
namespace source2sdk::client
|
||||||
|
{
|
||||||
|
// Registered alignment: unknown
|
||||||
|
// Alignment: unknown
|
||||||
|
// Standard-layout class: false
|
||||||
|
// Size: 0x16e8
|
||||||
|
// Has VTable
|
||||||
|
// MNetworkAssumeNotNetworkable
|
||||||
|
#pragma pack(push, 1)
|
||||||
|
class CDOTA_Modifier_Mirana_Starfall_Protection : public client::CDOTA_Buff
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// No schema binary for binding
|
||||||
|
};
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
static_assert(sizeof(CDOTA_Modifier_Mirana_Starfall_Protection) == 0x16e8);
|
||||||
|
};
|
@ -9,30 +9,33 @@
|
|||||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||||
// /////////////////////////////////////////////////////////////
|
// /////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
namespace source2sdk::client
|
|
||||||
{
|
|
||||||
class C_DOTA_Ability_Lone_Druid_Bear_Necessities;
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace source2sdk::client
|
namespace source2sdk::client
|
||||||
{
|
{
|
||||||
// Registered alignment: unknown
|
// Registered alignment: unknown
|
||||||
// Alignment: unknown
|
// Alignment: unknown
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x16f0
|
// Size: 0x1718
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
class CDOTA_Modifier_Spirit_Bear_Necessities : public client::CDOTA_Buff
|
class CDOTA_Modifier_Spirit_Bear_Necessities : public client::CDOTA_Buff
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// m_hAbilityBearNecessities has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
float bonus_int; // 0x16e8
|
||||||
// CHandle<client::C_DOTA_Ability_Lone_Druid_Bear_Necessities> m_hAbilityBearNecessities;
|
float bonus_str; // 0x16ec
|
||||||
char m_hAbilityBearNecessities[0x4]; // 0x16e8
|
float bonus_agi; // 0x16f0
|
||||||
int32_t item_slots; // 0x16ec
|
int32_t bonus_attack_speed; // 0x16f4
|
||||||
|
int32_t bonus_attack_damage; // 0x16f8
|
||||||
|
float bonus_health_regen; // 0x16fc
|
||||||
|
float bonus_health_regen_percent; // 0x1700
|
||||||
|
float bonus_mana_regen; // 0x1704
|
||||||
|
int32_t bonus_health; // 0x1708
|
||||||
|
int32_t bonus_mana; // 0x170c
|
||||||
|
float bonus_evasion; // 0x1710
|
||||||
|
int32_t item_slots; // 0x1714
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Modifier_Spirit_Bear_Necessities because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Modifier_Spirit_Bear_Necessities because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Modifier_Spirit_Bear_Necessities) == 0x16f0);
|
static_assert(sizeof(CDOTA_Modifier_Spirit_Bear_Necessities) == 0x1718);
|
||||||
};
|
};
|
||||||
|
@ -23,8 +23,8 @@ namespace source2sdk::client
|
|||||||
public:
|
public:
|
||||||
float attack_slow; // 0x16e8
|
float attack_slow; // 0x16e8
|
||||||
float movement_slow_max; // 0x16ec
|
float movement_slow_max; // 0x16ec
|
||||||
float debuff_radius; // 0x16f0
|
float movement_slow_min; // 0x16f0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x16f4[0x4];
|
float debuff_radius; // 0x16f4
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
@ -14,16 +14,18 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: unknown
|
// Registered alignment: unknown
|
||||||
// Alignment: unknown
|
// Alignment: unknown
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x16f8
|
// Size: 0x1700
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
class CDOTA_Modifier_Windrunner_Windrun_Invis : public client::CDOTA_Modifier_Invisible
|
class CDOTA_Modifier_Windrunner_Windrun_Invis : public client::CDOTA_Modifier_Invisible
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// No schema binary for binding
|
bool m_bDispellable; // 0x16f8
|
||||||
|
[[maybe_unused]] std::uint8_t pad_0x16f9[0x7];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Modifier_Windrunner_Windrun_Invis) == 0x16f8);
|
// Cannot assert offsets of fields in CDOTA_Modifier_Windrunner_Windrun_Invis because it is not a standard-layout class
|
||||||
|
static_assert(sizeof(CDOTA_Modifier_Windrunner_Windrun_Invis) == 0x1700);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Muerta_Revenant) == 0x1800);
|
static_assert(sizeof(CDOTA_Muerta_Revenant) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1818
|
// Size: 0x1820
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -27,14 +27,14 @@ namespace source2sdk::client
|
|||||||
class CDOTA_NPC_Observer_Ward : public client::C_DOTA_BaseNPC_Additive
|
class CDOTA_NPC_Observer_Ward : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int32_t m_iDuration; // 0x1800
|
int32_t m_iDuration; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1804[0x4]; // 0x1804
|
[[maybe_unused]] std::uint8_t pad_0x180c[0x4]; // 0x180c
|
||||||
particleslib::CNewParticleEffect* m_pVisionRangeFX; // 0x1808
|
particleslib::CNewParticleEffect* m_pVisionRangeFX; // 0x1810
|
||||||
int32_t m_nPreviewViewer; // 0x1810
|
int32_t m_nPreviewViewer; // 0x1818
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1814[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x181c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_NPC_Observer_Ward because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_NPC_Observer_Ward because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_NPC_Observer_Ward) == 0x1818);
|
static_assert(sizeof(CDOTA_NPC_Observer_Ward) == 0x1820);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1820
|
// Size: 0x1828
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -22,11 +22,11 @@ namespace source2sdk::client
|
|||||||
class CDOTA_NPC_Observer_Ward_TrueSight : public client::CDOTA_NPC_Observer_Ward
|
class CDOTA_NPC_Observer_Ward_TrueSight : public client::CDOTA_NPC_Observer_Ward
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
float m_flTrueSight; // 0x1818
|
float m_flTrueSight; // 0x1820
|
||||||
CEntityHandle m_hAbilityEntity; // 0x181c
|
CEntityHandle m_hAbilityEntity; // 0x1824
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_NPC_Observer_Ward_TrueSight because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_NPC_Observer_Ward_TrueSight because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_NPC_Observer_Ward_TrueSight) == 0x1820);
|
static_assert(sizeof(CDOTA_NPC_Observer_Ward_TrueSight) == 0x1828);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_AghsFort_Creature_DragonKnight) == 0x1810);
|
static_assert(sizeof(CDOTA_Unit_AghsFort_Creature_DragonKnight) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_AghsFort_SpectralTusk_Tombstone) == 0x1800);
|
static_assert(sizeof(CDOTA_Unit_AghsFort_SpectralTusk_Tombstone) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1830
|
// Size: 0x1838
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class CDOTA_Unit_Announcer : public client::C_DOTA_BaseNPC
|
class CDOTA_Unit_Announcer : public client::C_DOTA_BaseNPC
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::CAnnouncerDescriptor m_currentAnnouncer; // 0x1800
|
client::CAnnouncerDescriptor m_currentAnnouncer; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1828[0x8];
|
[[maybe_unused]] std::uint8_t pad_0x1830[0x8];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Unit_Announcer because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Unit_Announcer because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Unit_Announcer) == 0x1830);
|
static_assert(sizeof(CDOTA_Unit_Announcer) == 0x1838);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1830
|
// Size: 0x1838
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Announcer_Killing_Spree) == 0x1830);
|
static_assert(sizeof(CDOTA_Unit_Announcer_Killing_Spree) == 0x1838);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_CustomGameAnnouncer) == 0x1800);
|
static_assert(sizeof(CDOTA_Unit_CustomGameAnnouncer) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_CustomGameAnnouncerAghanim) == 0x1800);
|
static_assert(sizeof(CDOTA_Unit_CustomGameAnnouncerAghanim) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Elder_Titan_AncestralSpirit) == 0x1800);
|
static_assert(sizeof(CDOTA_Unit_Elder_Titan_AncestralSpirit) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Grimstroke_InkCreature) == 0x1800);
|
static_assert(sizeof(CDOTA_Unit_Grimstroke_InkCreature) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Abaddon) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Abaddon) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b90
|
// Size: 0x1b98
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class CDOTA_Unit_Hero_AbyssalUnderlord : public client::C_DOTA_BaseNPC_Hero
|
class CDOTA_Unit_Hero_AbyssalUnderlord : public client::C_DOTA_BaseNPC_Hero
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_iRangeFX; // 0x1b88
|
client::ParticleIndex_t m_iRangeFX; // 0x1b90
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b8c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1b94[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Unit_Hero_AbyssalUnderlord because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Unit_Hero_AbyssalUnderlord because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_AbyssalUnderlord) == 0x1b90);
|
static_assert(sizeof(CDOTA_Unit_Hero_AbyssalUnderlord) == 0x1b98);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Alchemist) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Alchemist) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_AncientApparition) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_AncientApparition) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b98
|
// Size: 0x1ba0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,10 +24,10 @@ namespace source2sdk::client
|
|||||||
class CDOTA_Unit_Hero_ArcWarden : public client::C_DOTA_BaseNPC_Hero
|
class CDOTA_Unit_Hero_ArcWarden : public client::C_DOTA_BaseNPC_Hero
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_nTalkFXIndex; // 0x1b88
|
client::ParticleIndex_t m_nTalkFXIndex; // 0x1b90
|
||||||
client::ParticleIndex_t m_nFXDeath; // 0x1b8c
|
client::ParticleIndex_t m_nFXDeath; // 0x1b94
|
||||||
client::ParticleIndex_t m_nTempestFX; // 0x1b90
|
client::ParticleIndex_t m_nTempestFX; // 0x1b98
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b94[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1b9c[0x4];
|
||||||
|
|
||||||
// Static fields:
|
// Static fields:
|
||||||
static CUtlStringToken &Get_s_NormalFacet() {return *reinterpret_cast<CUtlStringToken*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Unit_Hero_ArcWarden")->GetStaticFields()[0]->m_pInstance);};
|
static CUtlStringToken &Get_s_NormalFacet() {return *reinterpret_cast<CUtlStringToken*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Unit_Hero_ArcWarden")->GetStaticFields()[0]->m_pInstance);};
|
||||||
@ -36,5 +36,5 @@ namespace source2sdk::client
|
|||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Unit_Hero_ArcWarden because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Unit_Hero_ArcWarden because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_ArcWarden) == 0x1b98);
|
static_assert(sizeof(CDOTA_Unit_Hero_ArcWarden) == 0x1ba0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Centaur) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Centaur) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b90
|
// Size: 0x1b98
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -26,11 +26,11 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_nAttackState; // 0x1b88
|
int32_t m_nAttackState; // 0x1b90
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b8c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1b94[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Unit_Hero_Dawnbreaker because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Unit_Hero_Dawnbreaker because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Dawnbreaker) == 0x1b90);
|
static_assert(sizeof(CDOTA_Unit_Hero_Dawnbreaker) == 0x1b98);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Elder_Titan) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Elder_Titan) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b90
|
// Size: 0x1b98
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class CDOTA_Unit_Hero_Grimstroke : public client::C_DOTA_BaseNPC_Hero
|
class CDOTA_Unit_Hero_Grimstroke : public client::C_DOTA_BaseNPC_Hero
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_nFXDeath; // 0x1b88
|
client::ParticleIndex_t m_nFXDeath; // 0x1b90
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b8c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1b94[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in CDOTA_Unit_Hero_Grimstroke because it is not a standard-layout class
|
// Cannot assert offsets of fields in CDOTA_Unit_Hero_Grimstroke because it is not a standard-layout class
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Grimstroke) == 0x1b90);
|
static_assert(sizeof(CDOTA_Unit_Hero_Grimstroke) == 0x1b98);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Gyrocopter) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Gyrocopter) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Marci) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Marci) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Mars) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Mars) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_PrimalBeast) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_PrimalBeast) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Ringmaster) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Ringmaster) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Snapfire) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Snapfire) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CDOTA_Unit_Hero_Void_Spirit) == 0x1b88);
|
static_assert(sizeof(CDOTA_Unit_Hero_Void_Spirit) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder) == 0x1800);
|
static_assert(sizeof(CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CODTA_Unit_Warlock_Imp) == 0x1808);
|
static_assert(sizeof(CODTA_Unit_Warlock_Imp) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,53 +14,18 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x608
|
// Size: 0x5d8
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
//
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_int"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_str"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_agi"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_attack_speed"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_attack_damage"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_health_regen"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_health_regen_percent"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_mana_regen"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_health"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_mana"
|
|
||||||
// static metadata: MNetworkVarNames "float bonus_evasion"
|
|
||||||
#pragma pack(push, 1)
|
#pragma pack(push, 1)
|
||||||
class C_DOTA_Ability_Lone_Druid_Bear_Necessities : public client::C_DOTABaseAbility
|
class C_DOTA_Ability_Lone_Druid_Bear_Necessities : public client::C_DOTABaseAbility
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// No schema binary for binding
|
||||||
float bonus_int; // 0x5d8
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_str; // 0x5dc
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_agi; // 0x5e0
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_attack_speed; // 0x5e4
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_attack_damage; // 0x5e8
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_health_regen; // 0x5ec
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_health_regen_percent; // 0x5f0
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_mana_regen; // 0x5f4
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_health; // 0x5f8
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_mana; // 0x5fc
|
|
||||||
// metadata: MNetworkEnable
|
|
||||||
float bonus_evasion; // 0x600
|
|
||||||
[[maybe_unused]] std::uint8_t pad_0x604[0x4];
|
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_Ability_Lone_Druid_Bear_Necessities because it is not a standard-layout class
|
static_assert(sizeof(C_DOTA_Ability_Lone_Druid_Bear_Necessities) == 0x5d8);
|
||||||
static_assert(sizeof(C_DOTA_Ability_Lone_Druid_Bear_Necessities) == 0x608);
|
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "source2sdk/client/C_DOTABaseAbility.hpp"
|
||||||
|
#include "source2sdk/source2gen.hpp"
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
// /////////////////////////////////////////////////////////////
|
||||||
|
// Module: client
|
||||||
|
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||||
|
// /////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
namespace source2sdk::client
|
||||||
|
{
|
||||||
|
// Registered alignment: 0x8
|
||||||
|
// Alignment: 0x8
|
||||||
|
// Standard-layout class: false
|
||||||
|
// Size: 0x5d8
|
||||||
|
// Has VTable
|
||||||
|
// Construct allowed
|
||||||
|
// MClassHasEntityLimitedDataDesc
|
||||||
|
// MNetworkAssumeNotNetworkable
|
||||||
|
#pragma pack(push, 1)
|
||||||
|
class C_DOTA_Ability_Special_Bonus_HP_Regen_3 : public client::C_DOTABaseAbility
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// No schema binary for binding
|
||||||
|
};
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
static_assert(sizeof(C_DOTA_Ability_Special_Bonus_HP_Regen_3) == 0x5d8);
|
||||||
|
};
|
@ -45,7 +45,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -120,6 +120,8 @@ namespace source2sdk::client
|
|||||||
// static metadata: MNetworkVarNames "int m_iDamageMin"
|
// static metadata: MNetworkVarNames "int m_iDamageMin"
|
||||||
// static metadata: MNetworkVarNames "int m_iDamageMax"
|
// static metadata: MNetworkVarNames "int m_iDamageMax"
|
||||||
// static metadata: MNetworkVarNames "int m_iDamageBonus"
|
// static metadata: MNetworkVarNames "int m_iDamageBonus"
|
||||||
|
// static metadata: MNetworkVarNames "int m_iBaseDamageMin"
|
||||||
|
// static metadata: MNetworkVarNames "int m_iBaseDamageMax"
|
||||||
// static metadata: MNetworkVarNames "int m_iTaggedAsVisibleByTeam"
|
// static metadata: MNetworkVarNames "int m_iTaggedAsVisibleByTeam"
|
||||||
// static metadata: MNetworkVarNames "CDOTA_ModifierManager m_ModifierManager"
|
// static metadata: MNetworkVarNames "CDOTA_ModifierManager m_ModifierManager"
|
||||||
// static metadata: MNetworkVarNames "CDOTA_UnitInventory m_Inventory"
|
// static metadata: MNetworkVarNames "CDOTA_UnitInventory m_Inventory"
|
||||||
@ -312,229 +314,233 @@ namespace source2sdk::client
|
|||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iDamageBonus; // 0xc28
|
int32_t m_iDamageBonus; // 0xc28
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
|
int32_t m_iBaseDamageMin; // 0xc2c
|
||||||
|
// metadata: MNetworkEnable
|
||||||
|
int32_t m_iBaseDamageMax; // 0xc30
|
||||||
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_iTaggedAsVisibleByTeam; // 0xc2c
|
int32_t m_iTaggedAsVisibleByTeam; // 0xc34
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::CDOTA_ModifierManager m_ModifierManager; // 0xc30
|
client::CDOTA_ModifierManager m_ModifierManager; // 0xc38
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::C_DOTA_UnitInventory m_Inventory; // 0xf50
|
client::C_DOTA_UnitInventory m_Inventory; // 0xf58
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1020[0x8]; // 0x1020
|
[[maybe_unused]] std::uint8_t pad_0x1028[0x8]; // 0x1028
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnUnitStateChanged"
|
// metadata: MNetworkChangeCallback "OnUnitStateChanged"
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
uint64_t m_nUnitState64; // 0x1028
|
uint64_t m_nUnitState64; // 0x1030
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1030[0x8]; // 0x1030
|
[[maybe_unused]] std::uint8_t pad_0x1038[0x8]; // 0x1038
|
||||||
uint64_t m_nUnitDebuffState; // 0x1038
|
uint64_t m_nUnitDebuffState; // 0x1040
|
||||||
bool m_bHasInventory; // 0x1040
|
bool m_bHasInventory; // 0x1048
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1041[0x3]; // 0x1041
|
[[maybe_unused]] std::uint8_t pad_0x1049[0x3]; // 0x1049
|
||||||
int32_t m_iAcquisitionRange; // 0x1044
|
int32_t m_iAcquisitionRange; // 0x104c
|
||||||
int32_t m_FoWViewID; // 0x1048
|
int32_t m_FoWViewID; // 0x1050
|
||||||
int32_t m_iPrevHealthPct; // 0x104c
|
int32_t m_iPrevHealthPct; // 0x1054
|
||||||
int32_t m_iPrevLifeState; // 0x1050
|
int32_t m_iPrevLifeState; // 0x1058
|
||||||
int32_t m_iPrevTeam; // 0x1054
|
int32_t m_iPrevTeam; // 0x105c
|
||||||
bool m_bPrevProvidesVision; // 0x1058
|
bool m_bPrevProvidesVision; // 0x1060
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1059[0x7]; // 0x1059
|
[[maybe_unused]] std::uint8_t pad_0x1061[0x7]; // 0x1061
|
||||||
uint64_t m_nPrevControllableMask; // 0x1060
|
uint64_t m_nPrevControllableMask; // 0x1068
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1068[0x8]; // 0x1068
|
[[maybe_unused]] std::uint8_t pad_0x1070[0x8]; // 0x1070
|
||||||
client::CountdownTimer m_TagTime; // 0x1070
|
client::CountdownTimer m_TagTime; // 0x1078
|
||||||
client::CountdownTimer m_ClickedTime; // 0x1088
|
client::CountdownTimer m_ClickedTime; // 0x1090
|
||||||
entity2::GameTime_t m_flIdleRunPoseStartTime[2]; // 0x10a0
|
entity2::GameTime_t m_flIdleRunPoseStartTime[2]; // 0x10a8
|
||||||
float m_flIdleRunPoseDuration[2]; // 0x10a8
|
float m_flIdleRunPoseDuration[2]; // 0x10b0
|
||||||
bool m_bAnimationTransitionActive; // 0x10b0
|
bool m_bAnimationTransitionActive; // 0x10b8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x10b1[0x3]; // 0x10b1
|
[[maybe_unused]] std::uint8_t pad_0x10b9[0x3]; // 0x10b9
|
||||||
int32_t m_nAnimationTransitionPoseParameters[2]; // 0x10b4
|
int32_t m_nAnimationTransitionPoseParameters[2]; // 0x10bc
|
||||||
int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0x10bc
|
int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0x10c4
|
||||||
int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0x10c4
|
int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0x10cc
|
||||||
[[maybe_unused]] std::uint8_t pad_0x10cc[0x5c]; // 0x10cc
|
[[maybe_unused]] std::uint8_t pad_0x10d4[0x5c]; // 0x10d4
|
||||||
entity2::GameTime_t m_flTimeSinceLastAbilityNag; // 0x1128
|
entity2::GameTime_t m_flTimeSinceLastAbilityNag; // 0x1130
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_iAttackCapabilities; // 0x112c
|
int32_t m_iAttackCapabilities; // 0x1134
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_iSpecialAbility; // 0x1130
|
int32_t m_iSpecialAbility; // 0x1138
|
||||||
int32_t m_iMoveCapabilities; // 0x1134
|
int32_t m_iMoveCapabilities; // 0x113c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::PlayerID_t m_nPlayerOwnerID; // 0x1138
|
client::PlayerID_t m_nPlayerOwnerID; // 0x1140
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
entity2::GameTime_t m_flLastDamageTime; // 0x113c
|
entity2::GameTime_t m_flLastDamageTime; // 0x1144
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
entity2::GameTime_t m_flLastAttackTime; // 0x1140
|
entity2::GameTime_t m_flLastAttackTime; // 0x1148
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1144[0x4]; // 0x1144
|
[[maybe_unused]] std::uint8_t pad_0x114c[0x4]; // 0x114c
|
||||||
CUtlSymbolLarge m_iszMinimapIcon; // 0x1148
|
CUtlSymbolLarge m_iszMinimapIcon; // 0x1150
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1150[0x8]; // 0x1150
|
[[maybe_unused]] std::uint8_t pad_0x1158[0x8]; // 0x1158
|
||||||
float m_flMinimapIconSize; // 0x1158
|
float m_flMinimapIconSize; // 0x1160
|
||||||
bool m_bMinimapDisableTint; // 0x115c
|
bool m_bMinimapDisableTint; // 0x1164
|
||||||
bool m_bMinimapDisableRotation; // 0x115d
|
bool m_bMinimapDisableRotation; // 0x1165
|
||||||
Color m_colorHeroGlow; // 0x115e
|
Color m_colorHeroGlow; // 0x1166
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1162[0x2]; // 0x1162
|
[[maybe_unused]] std::uint8_t pad_0x116a[0x2]; // 0x116a
|
||||||
int32_t m_iNearShopMask; // 0x1164
|
int32_t m_iNearShopMask; // 0x116c
|
||||||
int32_t m_nPoseParameterTurn; // 0x1168
|
int32_t m_nPoseParameterTurn; // 0x1170
|
||||||
int32_t m_nPoseParameterRun; // 0x116c
|
int32_t m_nPoseParameterRun; // 0x1174
|
||||||
float m_flLean; // 0x1170
|
float m_flLean; // 0x1178
|
||||||
float m_flRun; // 0x1174
|
float m_flRun; // 0x117c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_anglediff; // 0x1178
|
int32_t m_anglediff; // 0x1180
|
||||||
bool m_bInfoKeyActive; // 0x117c
|
bool m_bInfoKeyActive; // 0x1184
|
||||||
bool m_bNewUpdateAssetModifiersNetworked; // 0x117d
|
bool m_bNewUpdateAssetModifiersNetworked; // 0x1185
|
||||||
[[maybe_unused]] std::uint8_t pad_0x117e[0x2]; // 0x117e
|
|
||||||
entity2::GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1180
|
|
||||||
bool m_bSuppressGlow; // 0x1184
|
|
||||||
bool m_bWasSinking; // 0x1185
|
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1186[0x2]; // 0x1186
|
[[maybe_unused]] std::uint8_t pad_0x1186[0x2]; // 0x1186
|
||||||
float m_flRangeDisplayDist; // 0x1188
|
entity2::GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1188
|
||||||
[[maybe_unused]] std::uint8_t pad_0x118c[0x1e4]; // 0x118c
|
bool m_bSuppressGlow; // 0x118c
|
||||||
CUtlSymbolLarge m_szDefaultIdle; // 0x1370
|
bool m_bWasSinking; // 0x118d
|
||||||
CUtlSymbolLarge m_szDefaultRareIdle; // 0x1378
|
[[maybe_unused]] std::uint8_t pad_0x118e[0x2]; // 0x118e
|
||||||
client::CountdownTimer m_damagetimer; // 0x1380
|
float m_flRangeDisplayDist; // 0x1190
|
||||||
Vector m_vRenderOrigin; // 0x1398
|
[[maybe_unused]] std::uint8_t pad_0x1194[0x1e4]; // 0x1194
|
||||||
float m_fZDelta; // 0x13a4
|
CUtlSymbolLarge m_szDefaultIdle; // 0x1378
|
||||||
|
CUtlSymbolLarge m_szDefaultRareIdle; // 0x1380
|
||||||
|
client::CountdownTimer m_damagetimer; // 0x1388
|
||||||
|
Vector m_vRenderOrigin; // 0x13a0
|
||||||
|
float m_fZDelta; // 0x13ac
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
entity2::GameTime_t m_flDeathTime; // 0x13a8
|
entity2::GameTime_t m_flDeathTime; // 0x13b0
|
||||||
bool m_bBaseStatsChanged; // 0x13ac
|
bool m_bBaseStatsChanged; // 0x13b4
|
||||||
bool m_bNeedsSoundEmitterRefresh; // 0x13ad
|
bool m_bNeedsSoundEmitterRefresh; // 0x13b5
|
||||||
[[maybe_unused]] std::uint8_t pad_0x13ae[0x2]; // 0x13ae
|
[[maybe_unused]] std::uint8_t pad_0x13b6[0x2]; // 0x13b6
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flPhysicalArmorValue; // 0x13b0
|
float m_flPhysicalArmorValue; // 0x13b8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flMagicalResistanceValue; // 0x13b4
|
float m_flMagicalResistanceValue; // 0x13bc
|
||||||
int32_t m_nPrevSequenceParity; // 0x13b8
|
int32_t m_nPrevSequenceParity; // 0x13c0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x13bc[0xa4]; // 0x13bc
|
[[maybe_unused]] std::uint8_t pad_0x13c4[0xa4]; // 0x13c4
|
||||||
float m_flPrevInvisLevel; // 0x1460
|
float m_flPrevInvisLevel; // 0x1468
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1464[0x4]; // 0x1464
|
[[maybe_unused]] std::uint8_t pad_0x146c[0x4]; // 0x146c
|
||||||
// m_nOriginalModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_nOriginalModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nOriginalModelIndex;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nOriginalModelIndex;
|
||||||
char m_nOriginalModelIndex[0x8]; // 0x1468
|
char m_nOriginalModelIndex[0x8]; // 0x1470
|
||||||
// m_nClientOriginalModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_nClientOriginalModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nClientOriginalModelIndex;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nClientOriginalModelIndex;
|
||||||
char m_nClientOriginalModelIndex[0x8]; // 0x1470
|
char m_nClientOriginalModelIndex[0x8]; // 0x1478
|
||||||
// m_nClientReplacementModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_nClientReplacementModelIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nClientReplacementModelIndex;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_nClientReplacementModelIndex;
|
||||||
char m_nClientReplacementModelIndex[0x8]; // 0x1478
|
char m_nClientReplacementModelIndex[0x8]; // 0x1480
|
||||||
bool m_bClientReplacementModelNeedsRebuild; // 0x1480
|
bool m_bClientReplacementModelNeedsRebuild; // 0x1488
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1481[0x3]; // 0x1481
|
[[maybe_unused]] std::uint8_t pad_0x1489[0x3]; // 0x1489
|
||||||
int32_t m_nClientReplacementModelReloadCount; // 0x1484
|
int32_t m_nClientReplacementModelReloadCount; // 0x148c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnUnitModelVariantChanged"
|
// metadata: MNetworkChangeCallback "OnUnitModelVariantChanged"
|
||||||
int8_t m_nUnitModelVariant; // 0x1488
|
int8_t m_nUnitModelVariant; // 0x1490
|
||||||
int8_t m_nUnitModelVariantCount; // 0x1489
|
int8_t m_nUnitModelVariantCount; // 0x1491
|
||||||
[[maybe_unused]] std::uint8_t pad_0x148a[0x2]; // 0x148a
|
[[maybe_unused]] std::uint8_t pad_0x1492[0x2]; // 0x1492
|
||||||
int32_t m_iPrevSequence; // 0x148c
|
int32_t m_iPrevSequence; // 0x1494
|
||||||
char* m_pLastWeatherEffectName; // 0x1490
|
char* m_pLastWeatherEffectName; // 0x1498
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1498[0x8]; // 0x1498
|
[[maybe_unused]] std::uint8_t pad_0x14a0[0x8]; // 0x14a0
|
||||||
client::CountdownTimer m_VoiceBackgroundSoundTimer; // 0x14a0
|
client::CountdownTimer m_VoiceBackgroundSoundTimer; // 0x14a8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsWaitingToSpawn; // 0x14b8
|
bool m_bIsWaitingToSpawn; // 0x14c0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x14b9[0x7]; // 0x14b9
|
[[maybe_unused]] std::uint8_t pad_0x14c1[0x7]; // 0x14c1
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int64_t m_nTotalDamageTaken; // 0x14c0
|
int64_t m_nTotalDamageTaken; // 0x14c8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkBitCount "18"
|
// metadata: MNetworkBitCount "18"
|
||||||
// metadata: MNetworkMinValue "-100,000000"
|
// metadata: MNetworkMinValue "-100,000000"
|
||||||
// metadata: MNetworkMaxValue "1000,000000"
|
// metadata: MNetworkMaxValue "1000,000000"
|
||||||
// metadata: MNetworkChangeCallback "OnManaRegenChanged"
|
// metadata: MNetworkChangeCallback "OnManaRegenChanged"
|
||||||
float m_flManaRegen; // 0x14c8
|
float m_flManaRegen; // 0x14d0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkBitCount "18"
|
// metadata: MNetworkBitCount "18"
|
||||||
// metadata: MNetworkMinValue "-100,000000"
|
// metadata: MNetworkMinValue "-100,000000"
|
||||||
// metadata: MNetworkMaxValue "1000,000000"
|
// metadata: MNetworkMaxValue "1000,000000"
|
||||||
// metadata: MNetworkChangeCallback "OnHealthRegenChanged"
|
// metadata: MNetworkChangeCallback "OnHealthRegenChanged"
|
||||||
float m_flHealthRegen; // 0x14cc
|
float m_flHealthRegen; // 0x14d4
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsMoving; // 0x14d0
|
bool m_bIsMoving; // 0x14d8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x14d1[0x3]; // 0x14d1
|
[[maybe_unused]] std::uint8_t pad_0x14d9[0x3]; // 0x14d9
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_fRevealRadius; // 0x14d4
|
float m_fRevealRadius; // 0x14dc
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bCanUseWards; // 0x14d8
|
bool m_bCanUseWards; // 0x14e0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bCanUseAllItems; // 0x14d9
|
bool m_bCanUseAllItems; // 0x14e1
|
||||||
[[maybe_unused]] std::uint8_t pad_0x14da[0x2]; // 0x14da
|
[[maybe_unused]] std::uint8_t pad_0x14e2[0x2]; // 0x14e2
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iXPBounty; // 0x14dc
|
int32_t m_iXPBounty; // 0x14e4
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iXPBountyExtra; // 0x14e0
|
int32_t m_iXPBountyExtra; // 0x14e8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iGoldBountyMin; // 0x14e4
|
int32_t m_iGoldBountyMin; // 0x14ec
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iGoldBountyMax; // 0x14e8
|
int32_t m_iGoldBountyMax; // 0x14f0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hOwnerNPC has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hOwnerNPC has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hOwnerNPC;
|
// CHandle<client::C_BaseEntity> m_hOwnerNPC;
|
||||||
char m_hOwnerNPC[0x4]; // 0x14ec
|
char m_hOwnerNPC[0x4]; // 0x14f4
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hGoalEntity has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hGoalEntity has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hGoalEntity;
|
// CHandle<client::C_BaseEntity> m_hGoalEntity;
|
||||||
char m_hGoalEntity[0x4]; // 0x14f0
|
char m_hGoalEntity[0x4]; // 0x14f8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hNeutralSpawner has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hNeutralSpawner has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_DOTA_NeutralSpawner> m_hNeutralSpawner;
|
// CHandle<client::C_DOTA_NeutralSpawner> m_hNeutralSpawner;
|
||||||
char m_hNeutralSpawner[0x4]; // 0x14f4
|
char m_hNeutralSpawner[0x4]; // 0x14fc
|
||||||
// m_hClientOverrideMaterial has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hClientOverrideMaterial has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeIMaterial2> m_hClientOverrideMaterial;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeIMaterial2> m_hClientOverrideMaterial;
|
||||||
char m_hClientOverrideMaterial[0x8]; // 0x14f8
|
char m_hClientOverrideMaterial[0x8]; // 0x1500
|
||||||
bool m_bCombinerMaterialOverrideListChanged; // 0x1500
|
bool m_bCombinerMaterialOverrideListChanged; // 0x1508
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1501[0x3]; // 0x1501
|
[[maybe_unused]] std::uint8_t pad_0x1509[0x3]; // 0x1509
|
||||||
int32_t m_nBaseModelMeshCount; // 0x1504
|
int32_t m_nBaseModelMeshCount; // 0x150c
|
||||||
// m_combinerMaterialOverrideList has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_combinerMaterialOverrideList has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CStrongHandleCopyable<resourcesystem::InfoForResourceTypeIMaterial2>> m_combinerMaterialOverrideList;
|
// CUtlVector<CStrongHandleCopyable<resourcesystem::InfoForResourceTypeIMaterial2>> m_combinerMaterialOverrideList;
|
||||||
char m_combinerMaterialOverrideList[0x18]; // 0x1508
|
char m_combinerMaterialOverrideList[0x18]; // 0x1510
|
||||||
int8_t m_nArcanaLevel; // 0x1520
|
int8_t m_nArcanaLevel; // 0x1528
|
||||||
int8_t m_nDefaultArcanaLevel; // 0x1521
|
int8_t m_nDefaultArcanaLevel; // 0x1529
|
||||||
Color m_defaultColorGemColor; // 0x1522
|
Color m_defaultColorGemColor; // 0x152a
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1526[0x1a]; // 0x1526
|
[[maybe_unused]] std::uint8_t pad_0x152e[0x1a]; // 0x152e
|
||||||
bool m_bHasBuiltWearableSpawnList; // 0x1540
|
bool m_bHasBuiltWearableSpawnList; // 0x1548
|
||||||
bool m_bHasCostume; // 0x1541
|
bool m_bHasCostume; // 0x1549
|
||||||
bool m_bRecreateParticleSystemsOnModifiersChange; // 0x1542
|
bool m_bRecreateParticleSystemsOnModifiersChange; // 0x154a
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1543[0x19]; // 0x1543
|
[[maybe_unused]] std::uint8_t pad_0x154b[0x19]; // 0x154b
|
||||||
float m_flAdditionalSinkDelay; // 0x155c
|
float m_flAdditionalSinkDelay; // 0x1564
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1560[0xe0]; // 0x1560
|
[[maybe_unused]] std::uint8_t pad_0x1568[0xe0]; // 0x1568
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_NetworkActivity; // 0x1640
|
int32_t m_NetworkActivity; // 0x1648
|
||||||
int32_t m_PrevNetworkActivity; // 0x1644
|
int32_t m_PrevNetworkActivity; // 0x164c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_NetworkSequenceIndex; // 0x1648
|
int32_t m_NetworkSequenceIndex; // 0x1650
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bShouldDoFlyHeightVisual; // 0x164c
|
bool m_bShouldDoFlyHeightVisual; // 0x1654
|
||||||
[[maybe_unused]] std::uint8_t pad_0x164d[0x3]; // 0x164d
|
[[maybe_unused]] std::uint8_t pad_0x1655[0x3]; // 0x1655
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flStartSequenceCycle; // 0x1650
|
float m_flStartSequenceCycle; // 0x1658
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1654[0x4]; // 0x1654
|
[[maybe_unused]] std::uint8_t pad_0x165c[0x4]; // 0x165c
|
||||||
// m_ActivityModifiers has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_ActivityModifiers has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CUtlSymbol> m_ActivityModifiers;
|
// CUtlVector<CUtlSymbol> m_ActivityModifiers;
|
||||||
char m_ActivityModifiers[0x18]; // 0x1658
|
char m_ActivityModifiers[0x18]; // 0x1660
|
||||||
// m_hBackgroundSceneEnt has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hBackgroundSceneEnt has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_SceneEntity> m_hBackgroundSceneEnt;
|
// CHandle<client::C_SceneEntity> m_hBackgroundSceneEnt;
|
||||||
char m_hBackgroundSceneEnt[0x4]; // 0x1670
|
char m_hBackgroundSceneEnt[0x4]; // 0x1678
|
||||||
// m_hSpeakingSceneEnt has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hSpeakingSceneEnt has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_SceneEntity> m_hSpeakingSceneEnt;
|
// CHandle<client::C_SceneEntity> m_hSpeakingSceneEnt;
|
||||||
char m_hSpeakingSceneEnt[0x4]; // 0x1674
|
char m_hSpeakingSceneEnt[0x4]; // 0x167c
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1678[0x10]; // 0x1678
|
[[maybe_unused]] std::uint8_t pad_0x1680[0x10]; // 0x1680
|
||||||
// m_hOldWearables has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hOldWearables has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CHandle<client::C_EconWearable>> m_hOldWearables;
|
// CUtlVector<CHandle<client::C_EconWearable>> m_hOldWearables;
|
||||||
char m_hOldWearables[0x18]; // 0x1688
|
char m_hOldWearables[0x18]; // 0x1690
|
||||||
// m_hOldWearableSkins has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hOldWearableSkins has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CUtlStringToken> m_hOldWearableSkins;
|
// CUtlVector<CUtlStringToken> m_hOldWearableSkins;
|
||||||
char m_hOldWearableSkins[0x18]; // 0x16a0
|
char m_hOldWearableSkins[0x18]; // 0x16a8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
char m_CustomHealthLabel[256]; // 0x16b8
|
char m_CustomHealthLabel[256]; // 0x16c0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
Color m_CustomHealthLabelColor; // 0x17b8
|
Color m_CustomHealthLabelColor; // 0x17c0
|
||||||
client::item_definition_index_t m_nWearableDefIndex; // 0x17bc
|
client::item_definition_index_t m_nWearableDefIndex; // 0x17c4
|
||||||
[[maybe_unused]] std::uint8_t pad_0x17c0[0x1]; // 0x17c0
|
[[maybe_unused]] std::uint8_t pad_0x17c8[0x1]; // 0x17c8
|
||||||
Color m_gibTintColor; // 0x17c1
|
Color m_gibTintColor; // 0x17c9
|
||||||
bool m_bForceMaterialCombine; // 0x17c5
|
bool m_bForceMaterialCombine; // 0x17cd
|
||||||
bool m_bShouldDrawParticlesWhileHidden; // 0x17c6
|
bool m_bShouldDrawParticlesWhileHidden; // 0x17ce
|
||||||
bool m_bIsClientThinkPending; // 0x17c7
|
bool m_bIsClientThinkPending; // 0x17cf
|
||||||
bool m_bActivityModifiersDirty; // 0x17c8
|
bool m_bActivityModifiersDirty; // 0x17d0
|
||||||
bool m_bUnitModelVariantChanged; // 0x17c9
|
bool m_bUnitModelVariantChanged; // 0x17d1
|
||||||
bool m_bWearablesAreTaunting; // 0x17ca
|
bool m_bWearablesAreTaunting; // 0x17d2
|
||||||
[[maybe_unused]] std::uint8_t pad_0x17cb[0x15]; // 0x17cb
|
[[maybe_unused]] std::uint8_t pad_0x17d3[0x15]; // 0x17d3
|
||||||
bool m_bShowCannotBeDisabledIcon; // 0x17e0
|
bool m_bShowCannotBeDisabledIcon; // 0x17e8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x17e1[0x1f];
|
[[maybe_unused]] std::uint8_t pad_0x17e9[0x1f];
|
||||||
|
|
||||||
// Datamap fields:
|
// Datamap fields:
|
||||||
// int32_t InputSetStyleOverride; // 0x0
|
// int32_t InputSetStyleOverride; // 0x0
|
||||||
@ -548,5 +554,5 @@ namespace source2sdk::client
|
|||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC) == 0x1800);
|
static_assert(sizeof(C_DOTA_BaseNPC) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Additive) == 0x1800);
|
static_assert(sizeof(C_DOTA_BaseNPC_Additive) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Barracks) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Barracks) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -35,45 +35,45 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iDamageLevel; // 0x1800
|
int32_t m_iDamageLevel; // 0x1808
|
||||||
client::ParticleIndex_t m_nAmbientFXIndex; // 0x1804
|
client::ParticleIndex_t m_nAmbientFXIndex; // 0x180c
|
||||||
client::ParticleIndex_t m_nTPFXIndex; // 0x1808
|
client::ParticleIndex_t m_nTPFXIndex; // 0x1810
|
||||||
client::ParticleIndex_t m_nStatusFXIndex; // 0x180c
|
client::ParticleIndex_t m_nStatusFXIndex; // 0x1814
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_nFXIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_nFXIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition> m_nFXIndex;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition> m_nFXIndex;
|
||||||
char m_nFXIndex[0x8]; // 0x1810
|
char m_nFXIndex[0x8]; // 0x1818
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_nFXIndexDestruction has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_nFXIndexDestruction has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition> m_nFXIndexDestruction;
|
// CStrongHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition> m_nFXIndexDestruction;
|
||||||
char m_nFXIndexDestruction[0x8]; // 0x1818
|
char m_nFXIndexDestruction[0x8]; // 0x1820
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
QAngle m_angInitialAngles; // 0x1820
|
QAngle m_angInitialAngles; // 0x1828
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
animationsystem::HSequence m_hHeroStatueSequence; // 0x182c
|
animationsystem::HSequence m_hHeroStatueSequence; // 0x1834
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
animationsystem::HSequence m_hConstantLayerSequence; // 0x1830
|
animationsystem::HSequence m_hConstantLayerSequence; // 0x1838
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_fHeroStatueCycle; // 0x1834
|
float m_fHeroStatueCycle; // 0x183c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iHeroStatueStatusEffectIndex; // 0x1838
|
int32_t m_iHeroStatueStatusEffectIndex; // 0x1840
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bHeroStatue; // 0x183c
|
bool m_bHeroStatue; // 0x1844
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bBattleCup; // 0x183d
|
bool m_bBattleCup; // 0x1845
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
char m_HeroStatueInscription[32]; // 0x183e
|
char m_HeroStatueInscription[32]; // 0x1846
|
||||||
[[maybe_unused]] std::uint8_t pad_0x185e[0x2]; // 0x185e
|
[[maybe_unused]] std::uint8_t pad_0x1866[0x2]; // 0x1866
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1860
|
client::PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1868
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
Color m_ParticleTintColor; // 0x1864
|
Color m_ParticleTintColor; // 0x186c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::FowCustomTeams_t m_nFoWTeam; // 0x1868
|
client::FowCustomTeams_t m_nFoWTeam; // 0x1870
|
||||||
[[maybe_unused]] std::uint8_t pad_0x186c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1874[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Building because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Building because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Building) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Building) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Clinkz_Skeleton_Army) == 0x1800);
|
static_assert(sizeof(C_DOTA_BaseNPC_Clinkz_Skeleton_Army) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,13 +27,13 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bIsCurrentlyChanneling; // 0x1808
|
bool m_bIsCurrentlyChanneling; // 0x1810
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1809[0x3]; // 0x1809
|
[[maybe_unused]] std::uint8_t pad_0x1811[0x3]; // 0x1811
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flChannelCycle; // 0x180c
|
float m_flChannelCycle; // 0x1814
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creature because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creature because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creature) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creature) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -25,11 +25,11 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flAim; // 0x1800
|
float m_flAim; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1804[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creep) == 0x1808);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creep) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -53,11 +53,11 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::FowCustomTeams_t m_nFoWTeam; // 0x1808
|
client::FowCustomTeams_t m_nFoWTeam; // 0x1810
|
||||||
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1814[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep_Lane because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep_Lane because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Lane) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Lane) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -22,10 +22,10 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Creep_Neutral : public client::C_DOTA_BaseNPC_Creep
|
class C_DOTA_BaseNPC_Creep_Neutral : public client::C_DOTA_BaseNPC_Creep
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CUtlString m_sDisplayName; // 0x1808
|
CUtlString m_sDisplayName; // 0x1810
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep_Neutral because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Creep_Neutral because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Neutral) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Neutral) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Siege) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Siege) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Talking) == 0x1808);
|
static_assert(sizeof(C_DOTA_BaseNPC_Creep_Talking) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Effigy_BattleCup) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Effigy_BattleCup) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Effigy_Statue) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Effigy_Statue) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Filler) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Filler) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Fort) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Fort) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1878
|
// Size: 0x1880
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -23,11 +23,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_HallofFame : public client::C_DOTA_BaseNPC_Building
|
class C_DOTA_BaseNPC_HallofFame : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int32_t m_HallofFame; // 0x1870
|
int32_t m_HallofFame; // 0x1878
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1874[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x187c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_HallofFame because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_HallofFame because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_HallofFame) == 0x1878);
|
static_assert(sizeof(C_DOTA_BaseNPC_HallofFame) == 0x1880);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1878
|
// Size: 0x1880
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Healer : public client::C_DOTA_BaseNPC_Building
|
class C_DOTA_BaseNPC_Healer : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_iRangeFX; // 0x1870
|
client::ParticleIndex_t m_iRangeFX; // 0x1878
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1874[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x187c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Healer because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Healer because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Healer) == 0x1878);
|
static_assert(sizeof(C_DOTA_BaseNPC_Healer) == 0x1880);
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1b88
|
// Size: 0x1b90
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -58,103 +58,103 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Hero : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_BaseNPC_Hero : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1800[0x8]; // 0x1800
|
[[maybe_unused]] std::uint8_t pad_0x1808[0x8]; // 0x1808
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkPriority "32"
|
// metadata: MNetworkPriority "32"
|
||||||
int32_t m_iCurrentXP; // 0x1808
|
int32_t m_iCurrentXP; // 0x1810
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnAbilityPointsChanged"
|
// metadata: MNetworkChangeCallback "OnAbilityPointsChanged"
|
||||||
int32_t m_iAbilityPoints; // 0x180c
|
int32_t m_iAbilityPoints; // 0x1814
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iTotalAbilityPoints; // 0x1810
|
int32_t m_iTotalAbilityPoints; // 0x1818
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
entity2::GameTime_t m_flRespawnTime; // 0x1814
|
entity2::GameTime_t m_flRespawnTime; // 0x181c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
float m_flRespawnTimePenalty; // 0x1818
|
float m_flRespawnTimePenalty; // 0x1820
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flStrength; // 0x181c
|
float m_flStrength; // 0x1824
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flAgility; // 0x1820
|
float m_flAgility; // 0x1828
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flIntellect; // 0x1824
|
float m_flIntellect; // 0x182c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flStrengthTotal; // 0x1828
|
float m_flStrengthTotal; // 0x1830
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flAgilityTotal; // 0x182c
|
float m_flAgilityTotal; // 0x1834
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
// metadata: MNetworkChangeCallback "OnBaseStatChanged"
|
||||||
float m_flIntellectTotal; // 0x1830
|
float m_flIntellectTotal; // 0x1838
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1834[0x4]; // 0x1834
|
[[maybe_unused]] std::uint8_t pad_0x183c[0x4]; // 0x183c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hFacetAbilities has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hFacetAbilities has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// C_NetworkUtlVectorBase<CHandle<client::C_BaseEntity>> m_hFacetAbilities;
|
// C_NetworkUtlVectorBase<CHandle<client::C_BaseEntity>> m_hFacetAbilities;
|
||||||
char m_hFacetAbilities[0x18]; // 0x1838
|
char m_hFacetAbilities[0x18]; // 0x1840
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iRecentDamage; // 0x1850
|
int32_t m_iRecentDamage; // 0x1858
|
||||||
float m_fPainFactor; // 0x1854
|
float m_fPainFactor; // 0x185c
|
||||||
float m_fTargetPainFactor; // 0x1858
|
float m_fTargetPainFactor; // 0x1860
|
||||||
bool m_bLifeState; // 0x185c
|
bool m_bLifeState; // 0x1864
|
||||||
bool m_bFirstSpawn; // 0x185d
|
bool m_bFirstSpawn; // 0x1865
|
||||||
[[maybe_unused]] std::uint8_t pad_0x185e[0x2]; // 0x185e
|
[[maybe_unused]] std::uint8_t pad_0x1866[0x2]; // 0x1866
|
||||||
client::ParticleIndex_t m_nFXStunIndex; // 0x1860
|
client::ParticleIndex_t m_nFXStunIndex; // 0x1868
|
||||||
client::ParticleIndex_t m_nFXSilenceIndex; // 0x1864
|
client::ParticleIndex_t m_nFXSilenceIndex; // 0x186c
|
||||||
client::ParticleIndex_t m_nFXDeathIndex; // 0x1868
|
client::ParticleIndex_t m_nFXDeathIndex; // 0x1870
|
||||||
[[maybe_unused]] std::uint8_t pad_0x186c[0x24]; // 0x186c
|
[[maybe_unused]] std::uint8_t pad_0x1874[0x24]; // 0x1874
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::PlayerID_t m_iPlayerID; // 0x1890
|
client::PlayerID_t m_iPlayerID; // 0x1898
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::HeroFacetID_t m_iHeroFacetID; // 0x1894
|
client::HeroFacetID_t m_iHeroFacetID; // 0x189c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hReplicatingOtherHeroModel has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hReplicatingOtherHeroModel has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_DOTA_BaseNPC_Hero> m_hReplicatingOtherHeroModel;
|
// CHandle<client::C_DOTA_BaseNPC_Hero> m_hReplicatingOtherHeroModel;
|
||||||
char m_hReplicatingOtherHeroModel[0x4]; // 0x1898
|
char m_hReplicatingOtherHeroModel[0x4]; // 0x18a0
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bReincarnating; // 0x189c
|
bool m_bReincarnating; // 0x18a4
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bCustomKillEffect; // 0x189d
|
bool m_bCustomKillEffect; // 0x18a5
|
||||||
[[maybe_unused]] std::uint8_t pad_0x189e[0x2]; // 0x189e
|
[[maybe_unused]] std::uint8_t pad_0x18a6[0x2]; // 0x18a6
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
entity2::GameTime_t m_flSpawnedAt; // 0x18a0
|
entity2::GameTime_t m_flSpawnedAt; // 0x18a8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
bool m_bScriptDisableRespawns; // 0x18a4
|
bool m_bScriptDisableRespawns; // 0x18ac
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18a5[0x3]; // 0x18a5
|
[[maybe_unused]] std::uint8_t pad_0x18ad[0x3]; // 0x18ad
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_iPrimaryAttribute; // 0x18a8
|
int32_t m_iPrimaryAttribute; // 0x18b0
|
||||||
int32_t m_nLastDrawnHealth; // 0x18ac
|
int32_t m_nLastDrawnHealth; // 0x18b4
|
||||||
float m_flHurtAmount; // 0x18b0
|
float m_flHurtAmount; // 0x18b8
|
||||||
entity2::GameTime_t m_flLastHurtTime; // 0x18b4
|
entity2::GameTime_t m_flLastHurtTime; // 0x18bc
|
||||||
float m_flHurtDecayRate; // 0x18b8
|
float m_flHurtDecayRate; // 0x18c0
|
||||||
entity2::GameTime_t m_flLastHealTime; // 0x18bc
|
entity2::GameTime_t m_flLastHealTime; // 0x18c4
|
||||||
entity2::GameTime_t m_flLastTreeShakeTime; // 0x18c0
|
entity2::GameTime_t m_flLastTreeShakeTime; // 0x18c8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18c4[0x4]; // 0x18c4
|
[[maybe_unused]] std::uint8_t pad_0x18cc[0x4]; // 0x18cc
|
||||||
client::CountdownTimer m_CenterOnHeroCooldownTimer; // 0x18c8
|
client::CountdownTimer m_CenterOnHeroCooldownTimer; // 0x18d0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18e0[0x208]; // 0x18e0
|
[[maybe_unused]] std::uint8_t pad_0x18e8[0x208]; // 0x18e8
|
||||||
// m_CombinedModels has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_CombinedModels has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_CombinedModels[4];
|
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_CombinedModels[4];
|
||||||
char m_CombinedModels[0x20]; // 0x1ae8
|
char m_CombinedModels[0x20]; // 0x1af0
|
||||||
int32_t m_nCurrentCombinedModelIndex; // 0x1b08
|
int32_t m_nCurrentCombinedModelIndex; // 0x1b10
|
||||||
int32_t m_nPendingCombinedModelIndex; // 0x1b0c
|
int32_t m_nPendingCombinedModelIndex; // 0x1b14
|
||||||
client::HeroID_t m_iHeroID; // 0x1b10
|
client::HeroID_t m_iHeroID; // 0x1b18
|
||||||
float m_flCheckLegacyItemsAt; // 0x1b14
|
float m_flCheckLegacyItemsAt; // 0x1b1c
|
||||||
bool m_bDisplayAdditionalHeroes; // 0x1b18
|
bool m_bDisplayAdditionalHeroes; // 0x1b20
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b19[0xf]; // 0x1b19
|
[[maybe_unused]] std::uint8_t pad_0x1b21[0xf]; // 0x1b21
|
||||||
// m_CombinedParticleModels has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_CombinedParticleModels has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_CombinedParticleModels[4];
|
// CStrongHandle<resourcesystem::InfoForResourceTypeCModel> m_CombinedParticleModels[4];
|
||||||
char m_CombinedParticleModels[0x20]; // 0x1b28
|
char m_CombinedParticleModels[0x20]; // 0x1b30
|
||||||
// m_vecAttachedParticleIndeces has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_vecAttachedParticleIndeces has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<client::ParticleIndex_t> m_vecAttachedParticleIndeces;
|
// CUtlVector<client::ParticleIndex_t> m_vecAttachedParticleIndeces;
|
||||||
char m_vecAttachedParticleIndeces[0x18]; // 0x1b48
|
char m_vecAttachedParticleIndeces[0x18]; // 0x1b50
|
||||||
// m_hPets has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hPets has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CHandle<client::C_BaseEntity>> m_hPets;
|
// CUtlVector<CHandle<client::C_BaseEntity>> m_hPets;
|
||||||
char m_hPets[0x18]; // 0x1b60
|
char m_hPets[0x18]; // 0x1b68
|
||||||
client::ParticleIndex_t m_nKillStreakFX; // 0x1b78
|
client::ParticleIndex_t m_nKillStreakFX; // 0x1b80
|
||||||
int32_t m_nKillStreakFXTier; // 0x1b7c
|
int32_t m_nKillStreakFXTier; // 0x1b84
|
||||||
// start of bitfield block at 0x1b80
|
// start of bitfield block at 0x1b88
|
||||||
uint16_t m_bBuybackDisabled: 1;
|
uint16_t m_bBuybackDisabled: 1;
|
||||||
uint16_t m_bWasFrozen: 1;
|
uint16_t m_bWasFrozen: 1;
|
||||||
uint16_t m_bUpdateClientsideWearables: 1;
|
uint16_t m_bUpdateClientsideWearables: 1;
|
||||||
@ -166,10 +166,10 @@ namespace source2sdk::client
|
|||||||
uint16_t m_bResetVisibility: 1;
|
uint16_t m_bResetVisibility: 1;
|
||||||
uint16_t m_bStoredVisibility: 1;
|
uint16_t m_bStoredVisibility: 1;
|
||||||
// end of bitfield block // 10 bits
|
// end of bitfield block // 10 bits
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1b82[0x6];
|
[[maybe_unused]] std::uint8_t pad_0x1b8a[0x6];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Hero because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Hero because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Hero) == 0x1b88);
|
static_assert(sizeof(C_DOTA_BaseNPC_Hero) == 0x1b90);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_HoldoutTower : public client::C_DOTA_BaseNPC_Tower
|
class C_DOTA_BaseNPC_HoldoutTower : public client::C_DOTA_BaseNPC_Tower
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x18e0
|
client::DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x18e8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18e4[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x18ec[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_HoldoutTower because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_HoldoutTower because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower) == 0x18e8);
|
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_HeavySlow) == 0x18e8);
|
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_HeavySlow) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_LightFast) == 0x18e8);
|
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_LightFast) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -26,5 +26,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed) == 0x18e8);
|
static_assert(sizeof(C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Invoker_Forged_Spirit) == 0x1808);
|
static_assert(sizeof(C_DOTA_BaseNPC_Invoker_Forged_Spirit) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_MangoTree) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_MangoTree) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -20,7 +20,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18b8
|
// Size: 0x18c0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -29,19 +29,19 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_NeutralItemStash : public client::C_DOTA_BaseNPC_Building
|
class C_DOTA_BaseNPC_NeutralItemStash : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1870[0x10]; // 0x1870
|
[[maybe_unused]] std::uint8_t pad_0x1878[0x10]; // 0x1878
|
||||||
// m_vecNewItemFX has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_vecNewItemFX has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<client::ParticleIndex_t> m_vecNewItemFX;
|
// CUtlVector<client::ParticleIndex_t> m_vecNewItemFX;
|
||||||
char m_vecNewItemFX[0x18]; // 0x1880
|
char m_vecNewItemFX[0x18]; // 0x1888
|
||||||
bool m_bHasFoundProps; // 0x1898
|
bool m_bHasFoundProps; // 0x18a0
|
||||||
bool m_bDidHaveNewItems; // 0x1899
|
bool m_bDidHaveNewItems; // 0x18a1
|
||||||
[[maybe_unused]] std::uint8_t pad_0x189a[0x6]; // 0x189a
|
[[maybe_unused]] std::uint8_t pad_0x18a2[0x6]; // 0x18a2
|
||||||
// m_vecProps has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_vecProps has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CUtlVector<CHandle<client::C_DynamicPropClientside>> m_vecProps;
|
// CUtlVector<CHandle<client::C_DynamicPropClientside>> m_vecProps;
|
||||||
char m_vecProps[0x18]; // 0x18a0
|
char m_vecProps[0x18]; // 0x18a8
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_NeutralItemStash because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_NeutralItemStash because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_NeutralItemStash) == 0x18b8);
|
static_assert(sizeof(C_DOTA_BaseNPC_NeutralItemStash) == 0x18c0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1870
|
// Size: 0x1878
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Promo) == 0x1870);
|
static_assert(sizeof(C_DOTA_BaseNPC_Promo) == 0x1878);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -26,13 +26,13 @@ namespace source2sdk::client
|
|||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkAlias "m_hHeroStatueSequence"
|
// metadata: MNetworkAlias "m_hHeroStatueSequence"
|
||||||
animationsystem::HSequence m_hObsoleteHeroStatueSequence; // 0x1800
|
animationsystem::HSequence m_hObsoleteHeroStatueSequence; // 0x1808
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// metadata: MNetworkAlias "m_hConstantLayerSequence"
|
// metadata: MNetworkAlias "m_hConstantLayerSequence"
|
||||||
animationsystem::HSequence m_hObsoleteConstantLayerSequence; // 0x1804
|
animationsystem::HSequence m_hObsoleteConstantLayerSequence; // 0x180c
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_RotatableBuilding because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_RotatableBuilding because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_RotatableBuilding) == 0x1808);
|
static_assert(sizeof(C_DOTA_BaseNPC_RotatableBuilding) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e8
|
// Size: 0x18f0
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MNetworkAssumeNotNetworkable
|
// MNetworkAssumeNotNetworkable
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_SDKTower) == 0x18e8);
|
static_assert(sizeof(C_DOTA_BaseNPC_SDKTower) == 0x18f0);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Seasonal_Snowman) == 0x1800);
|
static_assert(sizeof(C_DOTA_BaseNPC_Seasonal_Snowman) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -23,11 +23,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QAngle m_angle; // 0x1800
|
QAngle m_angle; // 0x1808
|
||||||
int32_t m_iPoseParameterAim; // 0x180c
|
int32_t m_iPoseParameterAim; // 0x1814
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_ShadowShaman_SerpentWard because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_ShadowShaman_SerpentWard because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_ShadowShaman_SerpentWard) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_ShadowShaman_SerpentWard) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18b0
|
// Size: 0x18b8
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -28,15 +28,15 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
client::DOTA_SHOP_TYPE m_ShopType; // 0x1870
|
client::DOTA_SHOP_TYPE m_ShopType; // 0x1878
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1874[0x24]; // 0x1874
|
[[maybe_unused]] std::uint8_t pad_0x187c[0x24]; // 0x187c
|
||||||
client::ParticleIndex_t m_nShopFX; // 0x1898
|
client::ParticleIndex_t m_nShopFX; // 0x18a0
|
||||||
Vector m_vShopFXOrigin; // 0x189c
|
Vector m_vShopFXOrigin; // 0x18a4
|
||||||
float m_flLastSpeech; // 0x18a8
|
float m_flLastSpeech; // 0x18b0
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18ac[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x18b4[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Shop because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Shop because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Shop) == 0x18b0);
|
static_assert(sizeof(C_DOTA_BaseNPC_Shop) == 0x18b8);
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x18e0
|
// Size: 0x18e8
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -33,39 +33,39 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Tower : public client::C_DOTA_BaseNPC_Building
|
class C_DOTA_BaseNPC_Tower : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_nAltHeldRangeFX; // 0x1870
|
client::ParticleIndex_t m_nAltHeldRangeFX; // 0x1878
|
||||||
bool m_bWasInRange; // 0x1874
|
bool m_bWasInRange; // 0x187c
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1875[0x3]; // 0x1875
|
[[maybe_unused]] std::uint8_t pad_0x187d[0x3]; // 0x187d
|
||||||
client::ParticleIndex_t m_iRangeFX; // 0x1878
|
client::ParticleIndex_t m_iRangeFX; // 0x1880
|
||||||
client::ParticleIndex_t m_iPulseFX; // 0x187c
|
client::ParticleIndex_t m_iPulseFX; // 0x1884
|
||||||
uint8_t m_unTowerTier; // 0x1880
|
uint8_t m_unTowerTier; // 0x1888
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1881[0x3]; // 0x1881
|
[[maybe_unused]] std::uint8_t pad_0x1889[0x3]; // 0x1889
|
||||||
float m_fTowerAggroDangerAmount; // 0x1884
|
float m_fTowerAggroDangerAmount; // 0x188c
|
||||||
float m_flControlledUnitInRangeAmount; // 0x1888
|
float m_flControlledUnitInRangeAmount; // 0x1890
|
||||||
float m_flControlledUnitTargettedAmount; // 0x188c
|
float m_flControlledUnitTargettedAmount; // 0x1894
|
||||||
client::ParticleIndex_t m_iAnticipationFX; // 0x1890
|
client::ParticleIndex_t m_iAnticipationFX; // 0x1898
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1894[0x4]; // 0x1894
|
[[maybe_unused]] std::uint8_t pad_0x189c[0x4]; // 0x189c
|
||||||
CUtlSymbolLarge m_szAnticipationFXName; // 0x1898
|
CUtlSymbolLarge m_szAnticipationFXName; // 0x18a0
|
||||||
// m_hPrevTowerAttackTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hPrevTowerAttackTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hPrevTowerAttackTarget;
|
// CHandle<client::C_BaseEntity> m_hPrevTowerAttackTarget;
|
||||||
char m_hPrevTowerAttackTarget[0x4]; // 0x18a0
|
char m_hPrevTowerAttackTarget[0x4]; // 0x18a8
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hTowerAttackTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hTowerAttackTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hTowerAttackTarget;
|
// CHandle<client::C_BaseEntity> m_hTowerAttackTarget;
|
||||||
char m_hTowerAttackTarget[0x4]; // 0x18a4
|
char m_hTowerAttackTarget[0x4]; // 0x18ac
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
// m_hTowerHighFiveTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
// m_hTowerHighFiveTarget has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||||
// CHandle<client::C_BaseEntity> m_hTowerHighFiveTarget;
|
// CHandle<client::C_BaseEntity> m_hTowerHighFiveTarget;
|
||||||
char m_hTowerHighFiveTarget[0x4]; // 0x18a8
|
char m_hTowerHighFiveTarget[0x4]; // 0x18b0
|
||||||
int32_t m_iPoseParameterAim; // 0x18ac
|
int32_t m_iPoseParameterAim; // 0x18b4
|
||||||
QAngle m_angDefaultCustomTowerAngle; // 0x18b0
|
QAngle m_angDefaultCustomTowerAngle; // 0x18b8
|
||||||
float m_flLastAimYaw; // 0x18bc
|
float m_flLastAimYaw; // 0x18c4
|
||||||
bool m_bClientSideCustomTower; // 0x18c0
|
bool m_bClientSideCustomTower; // 0x18c8
|
||||||
[[maybe_unused]] std::uint8_t pad_0x18c1[0x7]; // 0x18c1
|
[[maybe_unused]] std::uint8_t pad_0x18c9[0x7]; // 0x18c9
|
||||||
client::CountdownTimer m_IdleRareAnimationTime; // 0x18c8
|
client::CountdownTimer m_IdleRareAnimationTime; // 0x18d0
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Tower because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Tower because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Tower) == 0x18e0);
|
static_assert(sizeof(C_DOTA_BaseNPC_Tower) == 0x18e8);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Trap_Ward) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Trap_Ward) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -23,11 +23,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Tusk_Sigil : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_BaseNPC_Tusk_Sigil : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QAngle m_angInitialAngles; // 0x1800
|
QAngle m_angInitialAngles; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1814[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Tusk_Sigil because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Tusk_Sigil because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Tusk_Sigil) == 0x1810);
|
static_assert(sizeof(C_DOTA_BaseNPC_Tusk_Sigil) == 0x1818);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1818
|
// Size: 0x1820
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -23,14 +23,14 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Venomancer_PlagueWard : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_BaseNPC_Venomancer_PlagueWard : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool m_bIsMovable; // 0x1800
|
bool m_bIsMovable; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1801[0x3]; // 0x1801
|
[[maybe_unused]] std::uint8_t pad_0x1809[0x3]; // 0x1809
|
||||||
QAngle m_angle; // 0x1804
|
QAngle m_angle; // 0x180c
|
||||||
int32_t m_iPoseParameterAim; // 0x1810
|
int32_t m_iPoseParameterAim; // 0x1818
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1814[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x181c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Venomancer_PlagueWard because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Venomancer_PlagueWard because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Venomancer_PlagueWard) == 0x1818);
|
static_assert(sizeof(C_DOTA_BaseNPC_Venomancer_PlagueWard) == 0x1820);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Warlock_Golem) == 0x1808);
|
static_assert(sizeof(C_DOTA_BaseNPC_Warlock_Golem) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1888
|
// Size: 0x1890
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,15 +27,15 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_BaseNPC_Watch_Tower : public client::C_DOTA_BaseNPC_Building
|
class C_DOTA_BaseNPC_Watch_Tower : public client::C_DOTA_BaseNPC_Building
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_iRangeFX; // 0x1870
|
client::ParticleIndex_t m_iRangeFX; // 0x1878
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1874[0x4]; // 0x1874
|
[[maybe_unused]] std::uint8_t pad_0x187c[0x4]; // 0x187c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
CUtlSymbolLarge m_szOutpostName; // 0x1878
|
CUtlSymbolLarge m_szOutpostName; // 0x1880
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
CUtlSymbolLarge m_szInteractAbilityName; // 0x1880
|
CUtlSymbolLarge m_szInteractAbilityName; // 0x1888
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Watch_Tower because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_BaseNPC_Watch_Tower because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_BaseNPC_Watch_Tower) == 0x1888);
|
static_assert(sizeof(C_DOTA_BaseNPC_Watch_Tower) == 0x1890);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_DarkWillow_Creature) == 0x1800);
|
static_assert(sizeof(C_DOTA_DarkWillow_Creature) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_BaseBlocker) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_BaseBlocker) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_BroodmotherStickyWeb) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_BroodmotherStickyWeb) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_DataDriven) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_DataDriven) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -20,7 +20,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1890
|
// Size: 0x1898
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -32,15 +32,15 @@ namespace source2sdk::client
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
CUtlSymbolLarge m_szInteractAbilityName; // 0x1870
|
CUtlSymbolLarge m_szInteractAbilityName; // 0x1878
|
||||||
particleslib::CNewParticleEffect* m_pVisionRangeFX; // 0x1878
|
particleslib::CNewParticleEffect* m_pVisionRangeFX; // 0x1880
|
||||||
client::ParticleIndex_t m_iFxIndex; // 0x1880
|
client::ParticleIndex_t m_iFxIndex; // 0x1888
|
||||||
int32_t m_nPreviewViewer; // 0x1884
|
int32_t m_nPreviewViewer; // 0x188c
|
||||||
int32_t m_nTeamNumberShown; // 0x1888
|
int32_t m_nTeamNumberShown; // 0x1890
|
||||||
[[maybe_unused]] std::uint8_t pad_0x188c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1894[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_NPC_Lantern because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_NPC_Lantern because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_NPC_Lantern) == 0x1890);
|
static_assert(sizeof(C_DOTA_NPC_Lantern) == 0x1898);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_Lich_Ice_Spire) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_Lich_Ice_Spire) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1808
|
// Size: 0x1810
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -24,11 +24,11 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_NPC_TechiesMines : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_NPC_TechiesMines : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_iRangeFX; // 0x1800
|
client::ParticleIndex_t m_iRangeFX; // 0x1808
|
||||||
[[maybe_unused]] std::uint8_t pad_0x1804[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_NPC_TechiesMines because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_NPC_TechiesMines because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_NPC_TechiesMines) == 0x1808);
|
static_assert(sizeof(C_DOTA_NPC_TechiesMines) == 0x1810);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_Techies_Minefield_Sign) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_Techies_Minefield_Sign) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1800
|
// Size: 0x1808
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,5 +27,5 @@ namespace source2sdk::client
|
|||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(C_DOTA_NPC_Treant_EyesInTheForest) == 0x1800);
|
static_assert(sizeof(C_DOTA_NPC_Treant_EyesInTheForest) == 0x1808);
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
|||||||
// Registered alignment: 0x8
|
// Registered alignment: 0x8
|
||||||
// Alignment: 0x8
|
// Alignment: 0x8
|
||||||
// Standard-layout class: false
|
// Standard-layout class: false
|
||||||
// Size: 0x1810
|
// Size: 0x1818
|
||||||
// Has VTable
|
// Has VTable
|
||||||
// Construct allowed
|
// Construct allowed
|
||||||
// MClassHasEntityLimitedDataDesc
|
// MClassHasEntityLimitedDataDesc
|
||||||
@ -27,15 +27,15 @@ namespace source2sdk::client
|
|||||||
class C_DOTA_NPC_WitchDoctor_Ward : public client::C_DOTA_BaseNPC_Additive
|
class C_DOTA_NPC_WitchDoctor_Ward : public client::C_DOTA_BaseNPC_Additive
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client::ParticleIndex_t m_nFXSkullIndex; // 0x1800
|
client::ParticleIndex_t m_nFXSkullIndex; // 0x1808
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_nTargetType; // 0x1804
|
int32_t m_nTargetType; // 0x180c
|
||||||
// metadata: MNetworkEnable
|
// metadata: MNetworkEnable
|
||||||
int32_t m_nTargetFlags; // 0x1808
|
int32_t m_nTargetFlags; // 0x1810
|
||||||
[[maybe_unused]] std::uint8_t pad_0x180c[0x4];
|
[[maybe_unused]] std::uint8_t pad_0x1814[0x4];
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
// Cannot assert offsets of fields in C_DOTA_NPC_WitchDoctor_Ward because it is not a standard-layout class
|
// Cannot assert offsets of fields in C_DOTA_NPC_WitchDoctor_Ward because it is not a standard-layout class
|
||||||
static_assert(sizeof(C_DOTA_NPC_WitchDoctor_Ward) == 0x1810);
|
static_assert(sizeof(C_DOTA_NPC_WitchDoctor_Ward) == 0x1818);
|
||||||
};
|
};
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user