diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index c11a9017..b7477e88 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes -// Classes count: 1412 -// Enums count: 552 +// Classes count: 1474 +// Enums count: 555 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -813,7 +813,7 @@ enum class RagdollPoseControl : uint32_t }; // Alignment: 4 -// Size: 0x24 +// Size: 0x25 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -824,34 +824,35 @@ enum class AnimValueSource : uint32_t ManualFacingHeading = 0x5, LookHeading = 0x6, LookPitch = 0x7, - Parameter = 0x8, - WayPointHeading = 0x9, - WayPointDistance = 0xa, - BoundaryRadius = 0xb, - TargetMoveHeading = 0xc, - TargetMoveSpeed = 0xd, - AccelerationHeading = 0xe, - AccelerationSpeed = 0xf, - SlopeHeading = 0x10, - SlopeAngle = 0x11, - SlopePitch = 0x12, - SlopeYaw = 0x13, - GoalDistance = 0x14, - AccelerationLeftRight = 0x15, - AccelerationFrontBack = 0x16, - RootMotionSpeed = 0x17, - RootMotionTurnSpeed = 0x18, - MoveHeadingRelativeToLookHeading = 0x19, - MaxMoveSpeed = 0x1a, - FingerCurl_Thumb = 0x1b, - FingerCurl_Index = 0x1c, - FingerCurl_Middle = 0x1d, - FingerCurl_Ring = 0x1e, - FingerCurl_Pinky = 0x1f, - FingerSplay_Thumb_Index = 0x20, - FingerSplay_Index_Middle = 0x21, - FingerSplay_Middle_Ring = 0x22, - FingerSplay_Ring_Pinky = 0x23, + LookDistance = 0x8, + Parameter = 0x9, + WayPointHeading = 0xa, + WayPointDistance = 0xb, + BoundaryRadius = 0xc, + TargetMoveHeading = 0xd, + TargetMoveSpeed = 0xe, + AccelerationHeading = 0xf, + AccelerationSpeed = 0x10, + SlopeHeading = 0x11, + SlopeAngle = 0x12, + SlopePitch = 0x13, + SlopeYaw = 0x14, + GoalDistance = 0x15, + AccelerationLeftRight = 0x16, + AccelerationFrontBack = 0x17, + RootMotionSpeed = 0x18, + RootMotionTurnSpeed = 0x19, + MoveHeadingRelativeToLookHeading = 0x1a, + MaxMoveSpeed = 0x1b, + FingerCurl_Thumb = 0x1c, + FingerCurl_Index = 0x1d, + FingerCurl_Middle = 0x1e, + FingerCurl_Ring = 0x1f, + FingerCurl_Pinky = 0x20, + FingerSplay_Thumb_Index = 0x21, + FingerSplay_Index_Middle = 0x22, + FingerSplay_Middle_Ring = 0x23, + FingerSplay_Ring_Pinky = 0x24, }; // Alignment: 4 @@ -872,7 +873,7 @@ enum class PoseType_t : uint8_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -880,40 +881,41 @@ enum class ControlValue : uint32_t ControlValue_FacingHeading = 0x2, ControlValue_LookHeading = 0x3, ControlValue_LookPitch = 0x4, - ControlValue_WayPointHeading = 0x5, - ControlValue_WayPointDistance = 0x6, - ControlValue_BoundaryRadius = 0x7, - ControlValue_TotalTranslation_SourceState = 0x8, - ControlValue_TotalTranslation_TargetState = 0x9, - ControlValue_RemainingTranslation_SourceState = 0xa, - ControlValue_RemainingTranslation_TargetState = 0xb, - ControlValue_MoveVsFacingDelta = 0xc, - ControlValue_SourceStateBlendWeight = 0xd, - ControlValue_TargetStateBlendWeight = 0xe, - ControlValue_TargetMoveHeading = 0xf, - ControlValue_TargetMoveSpeed = 0x10, - ControlValue_AccelerationHeading = 0x11, - ControlValue_AccelerationSpeed = 0x12, - ControlValue_SlopeHeading = 0x13, - ControlValue_SlopeAngle = 0x14, - ControlValue_SlopeYaw = 0x15, - ControlValue_SlopePitch = 0x16, - ControlValue_GoalDistance = 0x17, - ControlValue_AccelerationLeftRight = 0x18, - ControlValue_AccelerationFrontBack = 0x19, - ControlValue_RootMotionSpeed = 0x1a, - ControlValue_RootMotionTurnSpeed = 0x1b, - ControlValue_MoveHeadingRelativeToLookHeading = 0x1c, - ControlValue_FingerCurl_Thumb = 0x1d, - ControlValue_FingerCurl_Index = 0x1e, - ControlValue_FingerCurl_Middle = 0x1f, - ControlValue_FingerCurl_Ring = 0x20, - ControlValue_FingerCurl_Pinky = 0x21, - ControlValue_FingerSplay_Thumb_Index = 0x22, - ControlValue_FingerSplay_Index_Middle = 0x23, - ControlValue_FingerSplay_Middle_Ring = 0x24, - ControlValue_FingerSplay_Ring_Pinky = 0x25, - ControlValue_Count = 0x26, + ControlValue_LookDistance = 0x5, + ControlValue_WayPointHeading = 0x6, + ControlValue_WayPointDistance = 0x7, + ControlValue_BoundaryRadius = 0x8, + ControlValue_TotalTranslation_SourceState = 0x9, + ControlValue_TotalTranslation_TargetState = 0xa, + ControlValue_RemainingTranslation_SourceState = 0xb, + ControlValue_RemainingTranslation_TargetState = 0xc, + ControlValue_MoveVsFacingDelta = 0xd, + ControlValue_SourceStateBlendWeight = 0xe, + ControlValue_TargetStateBlendWeight = 0xf, + ControlValue_TargetMoveHeading = 0x10, + ControlValue_TargetMoveSpeed = 0x11, + ControlValue_AccelerationHeading = 0x12, + ControlValue_AccelerationSpeed = 0x13, + ControlValue_SlopeHeading = 0x14, + ControlValue_SlopeAngle = 0x15, + ControlValue_SlopeYaw = 0x16, + ControlValue_SlopePitch = 0x17, + ControlValue_GoalDistance = 0x18, + ControlValue_AccelerationLeftRight = 0x19, + ControlValue_AccelerationFrontBack = 0x1a, + ControlValue_RootMotionSpeed = 0x1b, + ControlValue_RootMotionTurnSpeed = 0x1c, + ControlValue_MoveHeadingRelativeToLookHeading = 0x1d, + ControlValue_FingerCurl_Thumb = 0x1e, + ControlValue_FingerCurl_Index = 0x1f, + ControlValue_FingerCurl_Middle = 0x20, + ControlValue_FingerCurl_Ring = 0x21, + ControlValue_FingerCurl_Pinky = 0x22, + ControlValue_FingerSplay_Thumb_Index = 0x23, + ControlValue_FingerSplay_Index_Middle = 0x24, + ControlValue_FingerSplay_Middle_Ring = 0x25, + ControlValue_FingerSplay_Ring_Pinky = 0x26, + ControlValue_Count = 0x27, ControlValue_Invalid = 0xff, }; @@ -1599,6 +1601,48 @@ enum class SpriteCardTextureChannel_t : uint32_t SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xe, }; +// Alignment: 2 +// Size: 0x24 +enum class PulseInstructionCode_t : uint16_t +{ + INVALID = 0x0, + IMMEDIATE_HALT = 0x1, + RETURN_VOID = 0x2, + RETURN_VALUE = 0x3, + NOP = 0x4, + JUMP = 0x5, + JUMP_COND = 0x6, + CHUNK_LEAP = 0x7, + CHUNK_LEAP_COND = 0x8, + PULSE_CALL_SYNC = 0x9, + PULSE_CALL_ASYNC_FIRE = 0xa, + CELL_INVOKE = 0xb, + LIBRARY_INVOKE = 0xc, + SET_VAR_REG_BOOL = 0xd, + SET_VAR_REG_INT = 0xe, + SET_VAR_REG_FLOAT = 0xf, + SET_VAR_REG_STR = 0x10, + SET_VAR_REG_EHANDLE = 0x11, + SET_VAR_REG_SNDEVT_GUID = 0x12, + SET_VAR_REG_VEC3 = 0x13, + GET_VAR_REG_BOOL = 0x14, + GET_VAR_REG_INT = 0x15, + GET_VAR_REG_FLOAT = 0x16, + GET_VAR_REG_STR = 0x17, + GET_VAR_REG_EHANDLE = 0x18, + GET_VAR_REG_SNDEVT_GUID = 0x19, + GET_VAR_REG_VEC3 = 0x1a, + SET_REGISTER_LIT_BOOL = 0x1b, + SET_REGISTER_LIT_INT = 0x1c, + SET_REGISTER_LIT_FLOAT = 0x1d, + SET_REGISTER_LIT_STR = 0x1e, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x1f, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x20, + SET_REGISTER_LIT_VEC3 = 0x21, + SET_REGISTER_DOMAIN_VALUE = 0x22, + COUNT = 0x23, +}; + // Alignment: 4 // Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t @@ -1694,6 +1738,25 @@ enum class PFNoiseModifier_t : uint32_t PF_NOISE_MODIFIER_RINGS = 0x3, }; +// Alignment: 4 +// Size: 0xd +enum class PulseValueType_t : uint32_t +{ + PVAL_INVALID = 0xffffffffffffffff, + PVAL_BOOL = 0x0, + PVAL_INT = 0x1, + PVAL_FLOAT = 0x2, + PVAL_STRING = 0x3, + PVAL_VEC3 = 0x4, + PVAL_TRANSFORM = 0x5, + PVAL_EHANDLE = 0x6, + PVAL_RESOURCE = 0x7, + PVAL_SNDEVT_GUID = 0x8, + PVAL_CURSOR_FLOW = 0x9, + PVAL_ANY = 0xa, + PVAL_COUNT = 0xb, +}; + // Alignment: 4 // Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t @@ -1826,6 +1889,14 @@ enum class AnimationType_t : uint32_t ANIMATION_TYPE_MANUAL_FRAMES = 0x2, }; +// Alignment: 4 +// Size: 0x2 +enum class PulseMethodCallMode_t : uint32_t +{ + SYNC_WAIT_FOR_COMPLETION = 0x0, + ASYNC_FIRE_AND_FORGET = 0x1, +}; + // Alignment: 4 // Size: 0x2 enum class HitboxLerpType_t : uint32_t @@ -1945,6 +2016,17 @@ enum class ParticleLightingQuality_t : uint32_t PARTICLE_LIGHTING_PER_PIXEL = 0xffffffffffffffff, }; +// Alignment: 4 +// Size: 0x5 +enum class ParticleModelType_t : uint32_t +{ + PM_TYPE_INVALID = 0x0, + PM_TYPE_NAMED_VALUE_MODEL = 0x1, + PM_TYPE_NAMED_VALUE_EHANDLE = 0x2, + PM_TYPE_CONTROL_POINT = 0x3, + PM_TYPE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x3 enum class ParticleParentSetMode_t : uint32_t @@ -2070,7 +2152,7 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t }; // Alignment: 4 -// Size: 0x14 +// Size: 0x16 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -2084,15 +2166,17 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7, PF_TYPE_CONTROL_POINT_SPEED = 0x8, PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9, - PF_TYPE_PARTICLE_NOISE = 0xa, - PF_TYPE_PARTICLE_AGE = 0xb, - PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xc, - PF_TYPE_PARTICLE_FLOAT = 0xd, - PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0xe, - PF_TYPE_PARTICLE_SPEED = 0xf, - PF_TYPE_PARTICLE_NUMBER = 0x10, - PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x11, - PF_TYPE_COUNT = 0x12, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xa, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xb, + PF_TYPE_PARTICLE_NOISE = 0xc, + PF_TYPE_PARTICLE_AGE = 0xd, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xe, + PF_TYPE_PARTICLE_FLOAT = 0xf, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x10, + PF_TYPE_PARTICLE_SPEED = 0x11, + PF_TYPE_PARTICLE_NUMBER = 0x12, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x13, + PF_TYPE_COUNT = 0x14, }; // Alignment: 4 @@ -2428,15 +2512,6 @@ enum class MatchType : uint32_t MATCH_TYPE_NEW_PLAYER_POOL = 0xe, }; -// Alignment: 4 -// Size: 0x3 -enum class IBody__ArousalType : uint32_t -{ - NEUTRAL = 0x0, - ALERT = 0x1, - INTENSE = 0x2, -}; - // Alignment: 4 // Size: 0x3 enum class CanPlaySequence_t : uint32_t @@ -2625,7 +2700,7 @@ enum class ValueRemapperInputType_t : uint32_t }; // Alignment: 4 -// Size: 0xa +// Size: 0xc enum class DOTA_RUNES : uint32_t { DOTA_RUNE_INVALID = 0xffffffffffffffff, @@ -2637,7 +2712,9 @@ enum class DOTA_RUNES : uint32_t DOTA_RUNE_BOUNTY = 0x5, DOTA_RUNE_ARCANE = 0x6, DOTA_RUNE_WATER = 0x7, - DOTA_RUNE_COUNT = 0x8, + DOTA_RUNE_XP = 0x8, + DOTA_RUNE_SHIELD = 0x9, + DOTA_RUNE_COUNT = 0xa, }; // Alignment: 4 @@ -2979,17 +3056,6 @@ enum class PointWorldTextJustifyHorizontal_t : uint32_t POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, }; -// Alignment: 4 -// Size: 0x5 -enum class IBody__ActivityType : uint32_t -{ - MOTION_CONTROLLED_XY = 0x1, - MOTION_CONTROLLED_Z = 0x2, - ACTIVITY_UNINTERRUPTIBLE = 0x4, - ACTIVITY_TRANSITORY = 0x8, - ENTINDEX_PLAYBACK_RATE = 0x10, -}; - // Alignment: 4 // Size: 0x6 enum class EGCPlatform : uint32_t @@ -3155,7 +3221,7 @@ enum class EReadyCheckRequestResult : uint32_t }; // Alignment: 4 -// Size: 0x11 +// Size: 0x12 enum class DOTATeam_t : uint32_t { DOTA_TEAM_FIRST = 0x2, @@ -3171,7 +3237,8 @@ enum class DOTATeam_t : uint32_t DOTA_TEAM_CUSTOM_6 = 0xb, DOTA_TEAM_CUSTOM_7 = 0xc, DOTA_TEAM_CUSTOM_8 = 0xd, - DOTA_TEAM_COUNT = 0xe, + DOTA_TEAM_DRAFT_POOL = 0xe, + DOTA_TEAM_COUNT = 0xf, DOTA_TEAM_CUSTOM_MIN = 0x6, DOTA_TEAM_CUSTOM_MAX = 0xd, DOTA_TEAM_CUSTOM_COUNT = 0x8, @@ -3323,7 +3390,7 @@ enum class DOTAPostGameColumn_t : uint32_t }; // Alignment: 4 -// Size: 0x7 +// Size: 0x8 enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -3332,7 +3399,8 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_CARD = 0x2, DOTA_PORTRAIT_ENVIRONMENT_WEBPAGE = 0x3, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x5, + DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x6, }; // Alignment: 4 @@ -3448,15 +3516,6 @@ enum class DOTA_UNIT_TARGET_FLAGS : uint32_t DOTA_UNIT_TARGET_FLAG_RESPECT_OBSTRUCTIONS = 0x200000, }; -// Alignment: 4 -// Size: 0x3 -enum class WheeledPhysicsVehicleChassisFrame_t : uint32_t -{ - WHEELED_VEHICLE_CHASSIS_FRAME_XFORWARD_YLEFT = 0x0, - WHEELED_VEHICLE_CHASSIS_FRAME_ZFORWARD_XLEFT = 0x1, - WHEELED_VEHICLE_CHASSIS_FRAME_YBACKWARD_XLEFT = 0x2, -}; - // Alignment: 4 // Size: 0x8 enum class attackfail : uint32_t @@ -3472,7 +3531,7 @@ enum class attackfail : uint32_t }; // Alignment: 4 -// Size: 0xd +// Size: 0xe enum class DOTA_GameState : uint32_t { DOTA_GAMERULES_STATE_INIT = 0x0, @@ -3487,7 +3546,8 @@ enum class DOTA_GameState : uint32_t DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 0x9, DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 0xa, DOTA_GAMERULES_STATE_SCENARIO_SETUP = 0xb, - DOTA_GAMERULES_STATE_LAST = 0xc, + DOTA_GAMERULES_STATE_PLAYER_DRAFT = 0xc, + DOTA_GAMERULES_STATE_LAST = 0xd, }; // Alignment: 4 @@ -3740,7 +3800,7 @@ enum class ECustomGameWhitelistState : uint32_t }; // Alignment: 4 -// Size: 0x5 +// Size: 0xa enum class ERankType : uint32_t { k_ERankType_Invalid = 0x0, @@ -3748,10 +3808,15 @@ enum class ERankType : uint32_t k_ERankType_Ranked = 0x2, k_ERankType_CasualLegacy = 0x3, k_ERankType_RankedLegacy = 0x4, + k_ERankType_CasualGlicko = 0x5, + k_ERankType_RankedGlicko = 0x6, + k_ERankType_CasualRemapped = 0x7, + k_ERankType_CasualRemappedGlicko = 0x8, + k_ERankType_CasualShiftedGlicko = 0x9, }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class AttributeDerivedStats : uint32_t { DOTA_ATTRIBUTE_STRENGTH_DAMAGE = 0x0, @@ -3763,6 +3828,7 @@ enum class AttributeDerivedStats : uint32_t DOTA_ATTRIBUTE_INTELLIGENCE_DAMAGE = 0x6, DOTA_ATTRIBUTE_INTELLIGENCE_MANA = 0x7, DOTA_ATTRIBUTE_INTELLIGENCE_MANA_REGEN = 0x8, + DOTA_ATTRIBUTE_INTELLIGENCE_MAGIC_RESIST = 0x9, }; // Alignment: 4 @@ -3855,7 +3921,7 @@ enum class EGCBaseMsg : uint32_t }; // Alignment: 4 -// Size: 0x108 +// Size: 0x110 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -3893,234 +3959,242 @@ enum class modifierfunction : uint32_t MODIFIER_PROPERTY_IGNORE_ATTACKSPEED_LIMIT = 0x20, MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT = 0x21, MODIFIER_PROPERTY_MANACOST_REDUCTION_CONSTANT = 0x22, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT = 0x23, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST = 0x24, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE = 0x25, - MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT = 0x26, - MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE = 0x27, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE = 0x28, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION = 0x29, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY = 0x2a, - MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE = 0x2b, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP = 0x2c, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE = 0x2d, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE = 0x2e, - MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE = 0x2f, - MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET = 0x30, - MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE = 0x31, - MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE = 0x32, - MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x33, - MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x34, - MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE = 0x35, - MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE = 0x36, - MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE = 0x37, - MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE = 0x38, - MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE = 0x39, - MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE = 0x3a, - MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE = 0x3b, - MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT = 0x3c, - MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT = 0x3d, - MODIFIER_PROPERTY_EVASION_CONSTANT = 0x3e, - MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT = 0x3f, - MODIFIER_PROPERTY_STATUS_RESISTANCE = 0x40, - MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING = 0x41, - MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER = 0x42, - MODIFIER_PROPERTY_AVOID_DAMAGE = 0x43, - MODIFIER_PROPERTY_AVOID_SPELL = 0x44, - MODIFIER_PROPERTY_MISS_PERCENTAGE = 0x45, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE = 0x46, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE = 0x47, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS = 0x48, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE = 0x49, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE = 0x4a, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST = 0x4b, - MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR = 0x4c, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION = 0x4d, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION = 0x4e, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS = 0x4f, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS = 0x50, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE = 0x51, - MODIFIER_PROPERTY_BASE_MANA_REGEN = 0x52, - MODIFIER_PROPERTY_MANA_REGEN_CONSTANT = 0x53, - MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE = 0x54, - MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE = 0x55, - MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT = 0x56, - MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE = 0x57, - MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE = 0x58, - MODIFIER_PROPERTY_HEALTH_BONUS = 0x59, - MODIFIER_PROPERTY_MANA_BONUS = 0x5a, - MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS = 0x5b, - MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS = 0x5c, - MODIFIER_PROPERTY_EXTRA_MANA_BONUS = 0x5d, - MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE = 0x5e, - MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE = 0x5f, - MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE = 0x60, - MODIFIER_PROPERTY_STATS_STRENGTH_BONUS = 0x61, - MODIFIER_PROPERTY_STATS_AGILITY_BONUS = 0x62, - MODIFIER_PROPERTY_STATS_INTELLECT_BONUS = 0x63, - MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE = 0x64, - MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE = 0x65, - MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE = 0x66, - MODIFIER_PROPERTY_CAST_RANGE_BONUS = 0x67, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE = 0x68, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET = 0x69, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING = 0x6a, - MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE = 0x6b, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS = 0x6c, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE = 0x6d, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE = 0x6e, - MODIFIER_PROPERTY_MAX_ATTACK_RANGE = 0x6f, - MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS = 0x70, - MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE = 0x71, - MODIFIER_PROPERTY_PROJECTILE_NAME = 0x72, - MODIFIER_PROPERTY_REINCARNATION = 0x73, - MODIFIER_PROPERTY_RESPAWNTIME = 0x74, - MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x75, - MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x76, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x77, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x78, - MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x79, - MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7a, - MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7b, - MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7c, - MODIFIER_PROPERTY_DEATHGOLDCOST = 0x7d, - MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x7e, - MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x7f, - MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x80, - MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x81, - MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x82, - MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x83, - MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x84, - MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x85, - MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x86, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x87, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x88, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x89, - MODIFIER_PROPERTY_ABSORB_SPELL = 0x8a, - MODIFIER_PROPERTY_REFLECT_SPELL = 0x8b, - MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x8c, - MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x8d, - MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x8e, - MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x8f, - MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x90, - MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x91, - MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x92, - MODIFIER_PROPERTY_MIN_HEALTH = 0x93, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x94, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x95, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x96, - MODIFIER_PROPERTY_IS_ILLUSION = 0x97, - MODIFIER_PROPERTY_ILLUSION_LABEL = 0x98, - MODIFIER_PROPERTY_STRONG_ILLUSION = 0x99, - MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9a, - MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0x9b, - MODIFIER_PROPERTY_XP_DURING_DEATH = 0x9c, - MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0x9d, - MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0x9e, - MODIFIER_PROPERTY_DISABLE_HEALING = 0x9f, - MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa0, - MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa1, - MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa2, - MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa3, - MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa4, - MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xa5, - MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xa6, - MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xa7, - MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xa8, - MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xa9, - MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xaa, - MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xab, - MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xac, - MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xad, - MODIFIER_EVENT_ON_ATTACK_RECORD = 0xae, - MODIFIER_EVENT_ON_ATTACK_START = 0xaf, - MODIFIER_EVENT_ON_ATTACK = 0xb0, - MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb1, - MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb2, - MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb3, - MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb4, - MODIFIER_EVENT_ON_ORDER = 0xb5, - MODIFIER_EVENT_ON_UNIT_MOVED = 0xb6, - MODIFIER_EVENT_ON_ABILITY_START = 0xb7, - MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xb8, - MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xb9, - MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xba, - MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xbb, - MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xbc, - MODIFIER_EVENT_ON_REFRESH = 0xbd, - MODIFIER_EVENT_ON_TAKEDAMAGE = 0xbe, - MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xbf, - MODIFIER_EVENT_ON_STATE_CHANGED = 0xc0, - MODIFIER_EVENT_ON_ORB_EFFECT = 0xc1, - MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc2, - MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc3, - MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc4, - MODIFIER_EVENT_ON_ATTACKED = 0xc5, - MODIFIER_EVENT_ON_DEATH = 0xc6, - MODIFIER_EVENT_ON_RESPAWN = 0xc7, - MODIFIER_EVENT_ON_SPENT_MANA = 0xc8, - MODIFIER_EVENT_ON_TELEPORTING = 0xc9, - MODIFIER_EVENT_ON_TELEPORTED = 0xca, - MODIFIER_EVENT_ON_SET_LOCATION = 0xcb, - MODIFIER_EVENT_ON_HEALTH_GAINED = 0xcc, - MODIFIER_EVENT_ON_MANA_GAINED = 0xcd, - MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xce, - MODIFIER_EVENT_ON_HERO_KILLED = 0xcf, - MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd0, - MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd1, - MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd2, - MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xd3, - MODIFIER_PROPERTY_TOOLTIP = 0xd4, - MODIFIER_PROPERTY_MODEL_CHANGE = 0xd5, - MODIFIER_PROPERTY_MODEL_SCALE = 0xd6, - MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xd7, - MODIFIER_PROPERTY_IS_SCEPTER = 0xd8, - MODIFIER_PROPERTY_IS_SHARD = 0xd9, - MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xda, - MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xdb, - MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xdc, - MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xdd, - MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xde, - MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xdf, - MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe0, - MODIFIER_PROPERTY_DISABLE_TURNING = 0xe1, - MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xe2, - MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xe3, - MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xe4, - MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xe5, - MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xe6, - MODIFIER_EVENT_ON_DOMINATED = 0xe7, - MODIFIER_EVENT_ON_KILL = 0xe8, - MODIFIER_EVENT_ON_ASSIST = 0xe9, - MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xea, - MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xeb, - MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xec, - MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xed, - MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xee, - MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xef, - MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf0, - MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xf1, - MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xf2, - MODIFIER_PROPERTY_TOOLTIP2 = 0xf3, - MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xf4, - MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xf5, - MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xf6, - MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0xf7, - MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0xf8, - MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0xf9, - MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0xfa, - MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0xfb, - MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0xfc, - MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0xfd, - MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0xfe, - MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0xff, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x100, - MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x101, - MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x102, - MODIFIER_PROPERTY_RAT_PACK = 0x103, - MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x104, - MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x105, - MODIFIER_FUNCTION_LAST = 0x106, + MODIFIER_PROPERTY_HEALTHCOST_REDUCTION_CONSTANT = 0x23, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT = 0x24, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST = 0x25, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE = 0x26, + MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT = 0x27, + MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE = 0x28, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE = 0x29, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION = 0x2a, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY = 0x2b, + MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE = 0x2c, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP = 0x2d, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE = 0x2e, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE = 0x2f, + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE = 0x30, + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET = 0x31, + MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE = 0x32, + MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE = 0x33, + MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x34, + MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x35, + MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE = 0x36, + MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE = 0x37, + MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE = 0x38, + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE = 0x39, + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE = 0x3a, + MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE = 0x3b, + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE = 0x3c, + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT = 0x3d, + MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT = 0x3e, + MODIFIER_PROPERTY_EVASION_CONSTANT = 0x3f, + MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT = 0x40, + MODIFIER_PROPERTY_STATUS_RESISTANCE = 0x41, + MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING = 0x42, + MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER = 0x43, + MODIFIER_PROPERTY_AVOID_DAMAGE = 0x44, + MODIFIER_PROPERTY_AVOID_SPELL = 0x45, + MODIFIER_PROPERTY_MISS_PERCENTAGE = 0x46, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE = 0x47, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE = 0x48, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS = 0x49, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE = 0x4a, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE = 0x4b, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST = 0x4c, + MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR = 0x4d, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION = 0x4e, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION = 0x4f, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS = 0x50, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS = 0x51, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_UNIQUE = 0x52, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE = 0x53, + MODIFIER_PROPERTY_BASE_MANA_REGEN = 0x54, + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT = 0x55, + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE = 0x56, + MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE = 0x57, + MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT = 0x58, + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE = 0x59, + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE = 0x5a, + MODIFIER_PROPERTY_HEALTH_BONUS = 0x5b, + MODIFIER_PROPERTY_MANA_BONUS = 0x5c, + MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS = 0x5d, + MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS = 0x5e, + MODIFIER_PROPERTY_EXTRA_MANA_BONUS = 0x5f, + MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE = 0x60, + MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE = 0x61, + MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE = 0x62, + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS = 0x63, + MODIFIER_PROPERTY_STATS_AGILITY_BONUS = 0x64, + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS = 0x65, + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE = 0x66, + MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE = 0x67, + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE = 0x68, + MODIFIER_PROPERTY_CAST_RANGE_BONUS = 0x69, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE = 0x6a, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET = 0x6b, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING = 0x6c, + MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE = 0x6d, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS = 0x6e, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE = 0x6f, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE = 0x70, + MODIFIER_PROPERTY_MAX_ATTACK_RANGE = 0x71, + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS = 0x72, + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE = 0x73, + MODIFIER_PROPERTY_PROJECTILE_NAME = 0x74, + MODIFIER_PROPERTY_REINCARNATION = 0x75, + MODIFIER_PROPERTY_RESPAWNTIME = 0x76, + MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x77, + MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x78, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x79, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x7a, + MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x7b, + MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7c, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7d, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7e, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE = 0x7f, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING = 0x80, + MODIFIER_PROPERTY_DEATHGOLDCOST = 0x81, + MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x82, + MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x83, + MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x84, + MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x85, + MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x86, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x87, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x88, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x89, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x8a, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x8b, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x8c, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x8d, + MODIFIER_PROPERTY_ABSORB_SPELL = 0x8e, + MODIFIER_PROPERTY_REFLECT_SPELL = 0x8f, + MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x90, + MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x91, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x92, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x93, + MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x94, + MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x95, + MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x96, + MODIFIER_PROPERTY_MIN_HEALTH = 0x97, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x98, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x99, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x9a, + MODIFIER_PROPERTY_IS_ILLUSION = 0x9b, + MODIFIER_PROPERTY_ILLUSION_LABEL = 0x9c, + MODIFIER_PROPERTY_STRONG_ILLUSION = 0x9d, + MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9e, + MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0x9f, + MODIFIER_PROPERTY_XP_DURING_DEATH = 0xa0, + MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0xa1, + MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0xa2, + MODIFIER_PROPERTY_DISABLE_HEALING = 0xa3, + MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa4, + MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa5, + MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa6, + MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa7, + MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa8, + MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xa9, + MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xaa, + MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xab, + MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xac, + MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xad, + MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xae, + MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xaf, + MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xb0, + MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xb1, + MODIFIER_EVENT_ON_ATTACK_RECORD = 0xb2, + MODIFIER_EVENT_ON_ATTACK_START = 0xb3, + MODIFIER_EVENT_ON_ATTACK = 0xb4, + MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb5, + MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb6, + MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb7, + MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb8, + MODIFIER_EVENT_ON_ORDER = 0xb9, + MODIFIER_EVENT_ON_UNIT_MOVED = 0xba, + MODIFIER_EVENT_ON_ABILITY_START = 0xbb, + MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xbc, + MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xbd, + MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xbe, + MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xbf, + MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xc0, + MODIFIER_EVENT_ON_REFRESH = 0xc1, + MODIFIER_EVENT_ON_TAKEDAMAGE = 0xc2, + MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xc3, + MODIFIER_EVENT_ON_STATE_CHANGED = 0xc4, + MODIFIER_EVENT_ON_ORB_EFFECT = 0xc5, + MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc6, + MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc7, + MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc8, + MODIFIER_EVENT_ON_ATTACKED = 0xc9, + MODIFIER_EVENT_ON_DEATH = 0xca, + MODIFIER_EVENT_ON_DEATH_COMPLETED = 0xcb, + MODIFIER_EVENT_ON_RESPAWN = 0xcc, + MODIFIER_EVENT_ON_SPENT_MANA = 0xcd, + MODIFIER_EVENT_ON_SPENT_HEALTH = 0xce, + MODIFIER_EVENT_ON_TELEPORTING = 0xcf, + MODIFIER_EVENT_ON_TELEPORTED = 0xd0, + MODIFIER_EVENT_ON_SET_LOCATION = 0xd1, + MODIFIER_EVENT_ON_HEALTH_GAINED = 0xd2, + MODIFIER_EVENT_ON_MANA_GAINED = 0xd3, + MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xd4, + MODIFIER_EVENT_ON_HERO_KILLED = 0xd5, + MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd6, + MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd7, + MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd8, + MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xd9, + MODIFIER_PROPERTY_TOOLTIP = 0xda, + MODIFIER_PROPERTY_MODEL_CHANGE = 0xdb, + MODIFIER_PROPERTY_MODEL_SCALE = 0xdc, + MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xdd, + MODIFIER_PROPERTY_IS_SCEPTER = 0xde, + MODIFIER_PROPERTY_IS_SHARD = 0xdf, + MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xe0, + MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xe1, + MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xe2, + MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xe3, + MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xe4, + MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xe5, + MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe6, + MODIFIER_PROPERTY_DISABLE_TURNING = 0xe7, + MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xe8, + MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xe9, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xea, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xeb, + MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xec, + MODIFIER_EVENT_ON_DOMINATED = 0xed, + MODIFIER_EVENT_ON_KILL = 0xee, + MODIFIER_EVENT_ON_ASSIST = 0xef, + MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xf0, + MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xf1, + MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xf2, + MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xf3, + MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xf4, + MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xf5, + MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf6, + MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xf7, + MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xf8, + MODIFIER_PROPERTY_TOOLTIP2 = 0xf9, + MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xfa, + MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xfb, + MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xfc, + MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0xfd, + MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0xfe, + MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0xff, + MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0x100, + MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0x101, + MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0x102, + MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0x103, + MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0x104, + MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0x105, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x106, + MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x107, + MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x108, + MODIFIER_PROPERTY_RAT_PACK = 0x109, + MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x10a, + MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x10b, + MODIFIER_PROPERTY_HEALTHBAR_PIPS = 0x10c, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT = 0x10d, + MODIFIER_FUNCTION_LAST = 0x10e, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -4274,13 +4348,12 @@ enum class DOTASelectionPriorityRules : uint32_t }; // Alignment: 4 -// Size: 0x4 +// Size: 0x3 enum class EntitySubclassScope_t : uint32_t { SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, SUBCLASS_SCOPE_PLAYER = 0x0, - SUBCLASS_SCOPE_VEHICLES = 0x1, - SUBCLASS_SCOPE_COUNT = 0x2, + SUBCLASS_SCOPE_COUNT = 0x1, }; // Alignment: 4 @@ -4508,6 +4581,18 @@ enum class DOTA_ThreatLevel : uint32_t DOTA_THREATLEVEL_None = 0x4, }; +// Alignment: 4 +// Size: 0x6 +enum class ScoutState_t : uint32_t +{ + SCOUT_STATE_INIT = 0xffffffffffffffff, + SCOUT_STATE_IDLE = 0x0, + SCOUT_STATE_AT_BASE = 0x1, + SCOUT_STATE_MOVING = 0x2, + SCOUT_STATE_DEAD = 0x3, + SCOUT_NUM_STATES = 0x4, +}; + // Alignment: 4 // Size: 0x14 enum class EPlayerVoiceListenState : uint32_t @@ -4849,7 +4934,7 @@ enum class DOTAConnectionState_t : uint32_t }; // Alignment: 4 -// Size: 0x9a +// Size: 0x9c enum class EDotaUserMessages : uint32_t { DOTA_UM_AddUnitToSelection = 0x1d0, @@ -5006,6 +5091,8 @@ enum class EDotaUserMessages : uint32_t DOTA_UM_DuelAccepted = 0x269, DOTA_UM_DuelRequested = 0x26a, DOTA_UM_MuertaReleaseEvent_AssignedTargetKilled = 0x26b, + DOTA_UM_PlayerDraftSuggestPick = 0x26c, + DOTA_UM_PlayerDraftPick = 0x26d, }; // Alignment: 1 @@ -5283,13 +5370,14 @@ enum class SVC_Messages_LowFrequency : uint32_t }; // Alignment: 4 -// Size: 0x5 +// Size: 0x6 enum class Attributes : uint32_t { DOTA_ATTRIBUTE_STRENGTH = 0x0, DOTA_ATTRIBUTE_AGILITY = 0x1, DOTA_ATTRIBUTE_INTELLECT = 0x2, - DOTA_ATTRIBUTE_MAX = 0x3, + DOTA_ATTRIBUTE_ALL = 0x3, + DOTA_ATTRIBUTE_MAX = 0x4, DOTA_ATTRIBUTE_INVALID = 0xffffffffffffffff, }; @@ -5351,7 +5439,7 @@ enum class ECustomGameInstallStatus : uint32_t }; // Alignment: 4 -// Size: 0x32e +// Size: 0x335 enum class EDOTAGCMsg : uint32_t { k_EMsgGCDOTABase = 0x1b58, @@ -6168,6 +6256,13 @@ enum class EDOTAGCMsg : uint32_t k_EMsgGCToServerSetSteamLearnKeysChanged = 0x22ac, k_EMsgSignOutMuertaMinigame = 0x22ad, k_EMsgGCToServerLobbyHeroRoleStats = 0x22ae, + k_EMsgClientToGCRankRequest = 0x22af, + k_EMsgGCToClientRankResponse = 0x22b0, + k_EMsgGCToClientRankUpdate = 0x22b1, + k_EMsgSignOutMapStats = 0x22b2, + k_EMsgClientToGCMapStatsRequest = 0x22b3, + k_EMsgGCToClientMapStatsResponse = 0x22b4, + k_EMsgGCToServerSetSteamLearnInferencing = 0x22b5, }; // Alignment: 4 @@ -6215,17 +6310,6 @@ enum class BeamClipStyle_t : uint32_t kBEAMCLIPSTYLE_NUMBITS = 0x2, }; -// Alignment: 1 -// Size: 0x5 -enum class VehiclePassengerState_t : uint8_t -{ - PASSENGER_NOT_THERE = 0x0, - PASSENGER_FLIPPING_VEHICLE = 0x1, - PASSENGER_ENTERING_VEHICLE = 0x2, - PASSENGER_IN_VEHICLE = 0x3, - PASSENGER_EXITING_VEHICLE = 0x4, -}; - // Alignment: 4 // Size: 0x9 enum class EInButtonState : uint32_t @@ -6333,7 +6417,7 @@ enum class EMatchOutcome : uint32_t }; // Alignment: 4 -// Size: 0xb +// Size: 0xc enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, @@ -6345,8 +6429,9 @@ enum class Hull_t : uint32_t HULL_LARGE = 0x6, HULL_LARGE_CENTERED = 0x7, HULL_MEDIUM_TALL = 0x8, - NUM_HULLS = 0x9, - HULL_NONE = 0xa, + HULL_SMALL = 0x9, + NUM_HULLS = 0xa, + HULL_NONE = 0xb, }; // Alignment: 4 @@ -6470,6 +6555,15 @@ enum class dotaunitorder_t : uint32_t DOTA_UNIT_ORDER_MOVE_RELATIVE = 0x27, }; +// Alignment: 4 +// Size: 0x3 +enum class EDOTAMatchPlayerTimeCustomStat : uint32_t +{ + k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers = 0x1, + k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_Absolute = 0x2, + k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_PercentOfTotalHP = 0x3, +}; + // Alignment: 4 // Size: 0x3 enum class MoveLinearAuthoredPos_t : uint32_t @@ -6611,7 +6705,7 @@ enum class ForcedCrouchState_t : uint32_t }; // Alignment: 4 -// Size: 0x5 +// Size: 0x6 enum class DOTA_MOTION_CONTROLLER_PRIORITY : uint32_t { DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST = 0x0, @@ -6619,6 +6713,7 @@ enum class DOTA_MOTION_CONTROLLER_PRIORITY : uint32_t DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM = 0x2, DOTA_MOTION_CONTROLLER_PRIORITY_HIGH = 0x3, DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST = 0x4, + DOTA_MOTION_CONTROLLER_PRIORITY_ULTRA = 0x5, }; // Alignment: 4 @@ -7655,7 +7750,7 @@ enum class EDPCPushNotification : uint32_t }; // Alignment: 4 -// Size: 0x5c +// Size: 0x61 enum class EDotaClientMessages : uint32_t { DOTA_CM_MapLine = 0x12d, @@ -7750,6 +7845,11 @@ enum class EDotaClientMessages : uint32_t DOTA_CM_AddCommunicationsBlockMarker = 0x18c, DOTA_CM_NeutralCampAlert = 0x18d, DOTA_CM_DuelAccepted = 0x18e, + DOTA_CM_ChooseNeutralItem = 0x18f, + DOTA_CM_PlayerDraftPick = 0x320, + DOTA_CM_PlayerDraftSuggest = 0x321, + DOTA_CM_PlayerDraftPreferRole = 0x322, + DOTA_CM_PlayerDraftPreferTeam = 0x323, }; // Alignment: 4 @@ -9111,7 +9211,7 @@ enum class DOTA_SHOP_TYPE : uint32_t }; // Alignment: 4 -// Size: 0x35 +// Size: 0x3c enum class modifierstate : uint32_t { MODIFIER_STATE_ROOTED = 0x0, @@ -9139,34 +9239,41 @@ enum class modifierstate : uint32_t MODIFIER_STATE_LOW_ATTACK_PRIORITY = 0x16, MODIFIER_STATE_NO_HEALTH_BAR = 0x17, MODIFIER_STATE_NO_HEALTH_BAR_FOR_ENEMIES = 0x18, - MODIFIER_STATE_FLYING = 0x19, - MODIFIER_STATE_NO_UNIT_COLLISION = 0x1a, - MODIFIER_STATE_NO_TEAM_MOVE_TO = 0x1b, - MODIFIER_STATE_NO_TEAM_SELECT = 0x1c, - MODIFIER_STATE_PASSIVES_DISABLED = 0x1d, - MODIFIER_STATE_DOMINATED = 0x1e, - MODIFIER_STATE_BLIND = 0x1f, - MODIFIER_STATE_OUT_OF_GAME = 0x20, - MODIFIER_STATE_FAKE_ALLY = 0x21, - MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY = 0x22, - MODIFIER_STATE_TRUESIGHT_IMMUNE = 0x23, - MODIFIER_STATE_UNTARGETABLE = 0x24, - MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS = 0x25, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES = 0x26, - MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES = 0x27, - MODIFIER_STATE_UNSLOWABLE = 0x28, - MODIFIER_STATE_TETHERED = 0x29, - MODIFIER_STATE_IGNORING_STOP_ORDERS = 0x2a, - MODIFIER_STATE_FEARED = 0x2b, - MODIFIER_STATE_TAUNTED = 0x2c, - MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED = 0x2d, - MODIFIER_STATE_FORCED_FLYING_VISION = 0x2e, - MODIFIER_STATE_ATTACK_ALLIES = 0x2f, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS = 0x30, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE = 0x31, - MODIFIER_STATE_SPECIALLY_UNDENIABLE = 0x32, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS = 0x33, - MODIFIER_STATE_LAST = 0x34, + MODIFIER_STATE_NO_HEALTH_BAR_FOR_OTHER_PLAYERS = 0x19, + MODIFIER_STATE_FLYING = 0x1a, + MODIFIER_STATE_NO_UNIT_COLLISION = 0x1b, + MODIFIER_STATE_NO_TEAM_MOVE_TO = 0x1c, + MODIFIER_STATE_NO_TEAM_SELECT = 0x1d, + MODIFIER_STATE_PASSIVES_DISABLED = 0x1e, + MODIFIER_STATE_DOMINATED = 0x1f, + MODIFIER_STATE_BLIND = 0x20, + MODIFIER_STATE_OUT_OF_GAME = 0x21, + MODIFIER_STATE_FAKE_ALLY = 0x22, + MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY = 0x23, + MODIFIER_STATE_TRUESIGHT_IMMUNE = 0x24, + MODIFIER_STATE_UNTARGETABLE = 0x25, + MODIFIER_STATE_UNTARGETABLE_ALLIED = 0x26, + MODIFIER_STATE_UNTARGETABLE_ENEMY = 0x27, + MODIFIER_STATE_UNTARGETABLE_SELF = 0x28, + MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS = 0x29, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES = 0x2a, + MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES = 0x2b, + MODIFIER_STATE_UNSLOWABLE = 0x2c, + MODIFIER_STATE_TETHERED = 0x2d, + MODIFIER_STATE_IGNORING_STOP_ORDERS = 0x2e, + MODIFIER_STATE_FEARED = 0x2f, + MODIFIER_STATE_TAUNTED = 0x30, + MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED = 0x31, + MODIFIER_STATE_FORCED_FLYING_VISION = 0x32, + MODIFIER_STATE_ATTACK_ALLIES = 0x33, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS = 0x34, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE = 0x35, + MODIFIER_STATE_SPECIALLY_UNDENIABLE = 0x36, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS = 0x37, + MODIFIER_STATE_DEBUFF_IMMUNE = 0x38, + MODIFIER_STATE_NO_INVISIBILITY_VISUALS = 0x39, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER = 0x3a, + MODIFIER_STATE_LAST = 0x3b, }; // Alignment: 4 @@ -9216,7 +9323,6 @@ enum class DOTADamageFlag_t : uint32_t DOTA_DAMAGE_FLAG_HPLOSS = 0x20, DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT = 0x40, DOTA_DAMAGE_FLAG_NON_LETHAL = 0x80, - DOTA_DAMAGE_FLAG_USE_COMBAT_PROFICIENCY = 0x100, DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS = 0x200, DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION = 0x400, DOTA_DAMAGE_FLAG_DONT_DISPLAY_DAMAGE_IF_SOURCE_HIDDEN = 0x800, @@ -9226,6 +9332,7 @@ enum class DOTADamageFlag_t : uint32_t DOTA_DAMAGE_FLAG_SECONDARY_PROJECTILE_ATTACK = 0x8000, DOTA_DAMAGE_FLAG_FORCE_SPELL_AMPLIFICATION = 0x10000, DOTA_DAMAGE_FLAG_MAGIC_AUTO_ATTACK = 0x20000, + DOTA_DAMAGE_FLAG_ATTACK_MODIFIER = 0x40000, }; // Alignment: 4 @@ -9603,6 +9710,17 @@ enum class EShareAbility : uint32_t ITEM_NOT_SHAREABLE = 0x2, }; +// Alignment: 4 +// Size: 0x5 +enum class DOTA_PlayerDraftState : uint32_t +{ + DOTA_PLAYERDRAFT_STATE_INACTIVE = 0x0, + DOTA_PLAYERDRAFT_STATE_INTRO = 0x1, + DOTA_PLAYERDRAFT_STATE_DRAFT = 0x2, + DOTA_PLAYERDRAFT_STATE_OUTRO = 0x3, + DOTA_PLAYERDRAFT_STATE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t @@ -11332,12 +11450,23 @@ struct CParticleCollectionVecInput; struct CPerParticleFloatInput; struct CParticleCollectionFloatInput; struct CParticleTransformInput; +struct CParticleCollectionRendererFloatInput; struct CPerParticleVecInput; +struct CPulse_OutflowConnection; +struct CParticleModelInput; +struct PulseRuntimeChunkIndex_t; +struct PulseRegisterMap_t; struct ParticlePreviewState_t; struct TextureControls_t; +struct PulseRuntimeRegisterIndex_t; +struct PulseDocNodeID_t; struct CPathParameters; struct CParticleRemapFloatInput; struct CRandomNumberGeneratorParameters; +struct PulseRuntimeCellIndex_t; +struct PulseRuntimeVarIndex_t; +struct PulseRuntimeInvokeIndex_t; +struct PulseRuntimeCallInfoIndex_t; struct ControlPointReference_t; struct CParticleVisibilityInputs; struct CNewParticleEffect; @@ -11345,13 +11474,15 @@ struct IParticleCollection; struct PARTICLE_EHANDLE__; struct CParticleProperty; struct CParticleFloatInput; +struct CPulse_ResumePoint; +struct CParticleCollectionRendererVecInput; +struct PulseRuntimeOutputIndex_t; struct CDOTA_BaseNPC; struct ParticleIndex_t; struct CavernCrawlRoomID_t; struct CResponseCriteriaSet; struct CRR_Response; struct GameTick_t; -struct WheeledPhysicsVehicleLookSteeringData_t; struct PingWheelMessageID_t; struct CDOTA_Orb; struct ResponseFollowup; @@ -11362,8 +11493,6 @@ struct AmmoIndex_t; struct ResponseParams; struct CTakeDamageInfo; struct CTakeDamageResult; -struct WheeledPhysicsVehicleDrivetrainData_t; -struct WheeledPhysicsVehicleAeroData_t; struct GameTime_t; struct CDOTABaseAbility; struct CavernCrawlPathID_t; @@ -11377,7 +11506,6 @@ struct DOTALevelingAbilityBonus_t; struct BlessingID_t; struct PlayerID_t; struct CRangeInt; -struct WheeledPhysicsVehicleTireModelData_t; struct INextBotReply; struct BlessingTypeID_t; struct VelocitySampler; @@ -11385,7 +11513,6 @@ struct SimpleConstraintSoundProfile; struct CBaseFlex; struct CSkeletonInstance; struct CDOTA_Buff; -struct AttachmentHandle_t; struct CSkillFloat; struct ragdoll_t; struct CandyShopRewardOptionID_t; @@ -11582,6 +11709,16 @@ public: uint16_t m_Value; // 0x0 }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeIPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCPanoramaDynamicImages @@ -11663,6 +11800,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeCCSGOEconItem +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCWorldNode @@ -11990,16 +12137,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x1 -class InfoForResourceTypeCCSGOItem -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 -public: - // No members available -}; - // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCResponseRulesList @@ -12083,22 +12220,21 @@ public: float m_flRealTime; // 0x28 }; -// Alignment: 8 -// Size: 0x78 +// Alignment: 7 +// Size: 0x68 struct EntComponentInfo_t { public: - V_uuid_t m_id; // 0x0 - char* m_pName; // 0x10 - char* m_pCPPClassname; // 0x18 - char* m_pNetworkDataReferencedDescription; // 0x20 - char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 - int32_t m_nRuntimeIndex; // 0x30 - uint32_t m_nFlags; // 0x34 + char* m_pName; // 0x0 + char* m_pCPPClassname; // 0x8 + char* m_pNetworkDataReferencedDescription; // 0x10 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x18 + int32_t m_nRuntimeIndex; // 0x20 + uint32_t m_nFlags; // 0x24 private: - [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 public: - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x60 }; // Alignment: 0 @@ -12734,6 +12870,14 @@ public: int32_t m_nCount; // 0x2c }; +// Alignment: 1 +// Size: 0x4 +class AnimComponentID +{ +public: + uint32_t m_id; // 0x0 +}; + // Alignment: 1 // Size: 0x10 class CAnimUpdateNodeRef @@ -12868,6 +13012,31 @@ public: uint32_t m_id; // 0x0 }; +// Alignment: 5 +// Size: 0x38 +class CAnimComponentBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // MPropertyHideField + CUtlString m_group; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: + // MPropertyHideField + AnimComponentID m_id; // 0x28 + // MPropertyFriendlyName "Start Enabled" + bool m_bStartEnabled; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: + // MPropertyFriendlyName "Priority" + int32_t m_nPriority; // 0x30 + // MPropertyFriendlyName "Network Mode" + AnimNodeNetworkMode m_networkMode; // 0x34 +}; + // Alignment: 1 // Size: 0x4 class AnimParamID @@ -13141,7 +13310,7 @@ public: private: [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: - VectorAligned m_vFallbackHingeAxis; // 0x130 + VectorAligned m_vLsFallbackHingeAxis; // 0x130 int32_t m_nFixedBoneIndex; // 0x140 int32_t m_nMiddleBoneIndex; // 0x144 int32_t m_nEndBoneIndex; // 0x148 @@ -13429,14 +13598,19 @@ public: bool m_bResetChild; // 0x6c }; -// Alignment: 3 -// Size: 0x40 +// Alignment: 5 +// Size: 0x50 class CSeqScaleSet { public: CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + bool m_bRootOffset; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + Vector m_vRootOffset; // 0x14 + CUtlVector< int16 > m_nLocalBoneArray; // 0x20 + CUtlVector< float32 > m_flBoneScaleArray; // 0x38 }; // Alignment: 2 @@ -13593,12 +13767,15 @@ public: CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 }; -// Alignment: 1 -// Size: 0x4 -class AnimComponentID +// Alignment: 2 +// Size: 0x58 +class CActionComponent : public CAnimComponentBase { public: - uint32_t m_id; // 0x0 + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_sName; // 0x50 }; // Alignment: 2 @@ -14104,14 +14281,16 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x10 +// Alignment: 3 +// Size: 0x40 class CAnimationGraphVisualizerPrimitiveBase { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + AnimNodeID m_OwningAnimNodePaths[11]; // 0xc + int32_t m_nOwningAnimNodePathCount; // 0x38 }; // Alignment: 7 @@ -14553,12 +14732,12 @@ public: }; // Alignment: 2 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase { public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x40 + float m_flAxisSize; // 0x60 }; // Alignment: 10 @@ -14611,29 +14790,29 @@ public: Vector m_vMassCenterOverride; // 0x94 }; -// Alignment: 5 -// Size: 0x38 -class CAnimComponentBase +// Alignment: 9 +// Size: 0x60 +class CVRInputComponent : public CAnimComponentBase { -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: // MPropertyHideField - CUtlString m_group; // 0x18 -private: - [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 -public: + AnimParamID m_FingerCurl_Thumb; // 0x38 // MPropertyHideField - AnimComponentID m_id; // 0x28 - // MPropertyFriendlyName "Start Enabled" - bool m_bStartEnabled; // 0x2c -private: - [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d -public: - // MPropertyFriendlyName "Priority" - int32_t m_nPriority; // 0x30 - // MPropertyFriendlyName "Network Mode" - AnimNodeNetworkMode m_networkMode; // 0x34 + AnimParamID m_FingerCurl_Index; // 0x3c + // MPropertyHideField + AnimParamID m_FingerCurl_Middle; // 0x40 + // MPropertyHideField + AnimParamID m_FingerCurl_Ring; // 0x44 + // MPropertyHideField + AnimParamID m_FingerCurl_Pinky; // 0x48 + // MPropertyHideField + AnimParamID m_FingerSplay_Thumb_Index; // 0x4c + // MPropertyHideField + AnimParamID m_FingerSplay_Index_Middle; // 0x50 + // MPropertyHideField + AnimParamID m_FingerSplay_Middle_Ring; // 0x54 + // MPropertyHideField + AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 }; // Alignment: 0 @@ -14676,7 +14855,7 @@ public: }; // Alignment: 3 -// Size: 0x1d8 +// Size: 0x1e0 class CRenderMesh { private: @@ -14815,16 +14994,16 @@ public: }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 + VectorAligned m_vWsPosition; // 0x40 + Color m_Color; // 0x50 private: - [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: - CUtlString m_Text; // 0x28 + CUtlString m_Text; // 0x58 }; // Alignment: 3 @@ -14849,14 +15028,14 @@ public: }; // Alignment: 4 -// Size: 0x50 +// Size: 0x80 class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + VectorAligned m_vWsCenter; // 0x40 + VectorAligned m_vWsStart; // 0x50 + VectorAligned m_vWsEnd; // 0x60 + Color m_Color; // 0x70 }; // Alignment: 13 @@ -15193,13 +15372,13 @@ public: }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 + VectorAligned m_vWsPosition; // 0x40 + float m_flRadius; // 0x50 + Color m_Color; // 0x54 }; // Alignment: 2 @@ -15429,29 +15608,16 @@ public: bool m_bResetOnFinish; // 0x41 }; -// Alignment: 9 -// Size: 0x60 -class CVRInputComponent : public CAnimComponentBase +// Alignment: 2 +// Size: 0x30 +class CToggleComponentAction : public CAnimActionBase { public: - // MPropertyHideField - AnimParamID m_FingerCurl_Thumb; // 0x38 - // MPropertyHideField - AnimParamID m_FingerCurl_Index; // 0x3c - // MPropertyHideField - AnimParamID m_FingerCurl_Middle; // 0x40 - // MPropertyHideField - AnimParamID m_FingerCurl_Ring; // 0x44 - // MPropertyHideField - AnimParamID m_FingerCurl_Pinky; // 0x48 - // MPropertyHideField - AnimParamID m_FingerSplay_Thumb_Index; // 0x4c - // MPropertyHideField - AnimParamID m_FingerSplay_Index_Middle; // 0x50 - // MPropertyHideField - AnimParamID m_FingerSplay_Middle_Ring; // 0x54 - // MPropertyHideField - AnimParamID m_FingerSplay_Ring_Pinky; // 0x58 + // MPropertyFriendlyName "Component" + // MPropertyAttributeChoiceName "Component" + AnimComponentID m_componentID; // 0x28 + // MPropertyFriendlyName "Set Enabled" + bool m_bSetEnabled; // 0x2c }; // Alignment: 1 @@ -17349,20 +17515,13 @@ public: bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb }; -// Alignment: 7 -// Size: 0x48 -class CSlopeComponentUpdater : public CAnimComponentUpdater +// Alignment: 1 +// Size: 0xb8 +class CCPPScriptComponentUpdater : public CAnimComponentUpdater { -private: - [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 public: - float m_flTraceDistance; // 0x34 - CAnimParamHandle m_hSlopeAngle; // 0x38 - CAnimParamHandle m_hSlopeAngleFront; // 0x3a - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x3e - CAnimParamHandle m_hSlopeNormal; // 0x40 - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x30 }; // Alignment: 11 @@ -17577,13 +17736,13 @@ public: }; // Alignment: 3 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x40 + VectorAligned m_vWsPositionEnd; // 0x50 + Color m_Color; // 0x60 }; // Alignment: 3 @@ -18115,7 +18274,7 @@ public: bool m_bAnimationDriven; // 0xa1 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x60 class CLookComponent : public CAnimComponentBase { @@ -18134,11 +18293,13 @@ public: // MPropertyHideField AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDistanceID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookDirectionID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetID; // 0x58 + // MPropertyHideField + AnimParamID m_lookTargetWorldSpaceID; // 0x5c }; // Alignment: 1 @@ -18379,16 +18540,20 @@ public: CUtlString m_embeddedKeyvalues; // 0x130 }; -// Alignment: 2 -// Size: 0x30 -class CToggleComponentAction : public CAnimActionBase +// Alignment: 7 +// Size: 0x48 +class CSlopeComponentUpdater : public CAnimComponentUpdater { +private: + [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 public: - // MPropertyFriendlyName "Component" - // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 - // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c + float m_flTraceDistance; // 0x34 + CAnimParamHandle m_hSlopeAngle; // 0x38 + CAnimParamHandle m_hSlopeAngleFront; // 0x3a + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x3e + CAnimParamHandle m_hSlopeNormal; // 0x40 + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 }; // Alignment: 3 @@ -19158,7 +19323,7 @@ public: // No members available }; -// Alignment: 7 +// Alignment: 8 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater { @@ -19168,10 +19333,11 @@ public: CAnimParamHandle m_hLookHeading; // 0x34 CAnimParamHandle m_hLookHeadingVelocity; // 0x36 CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookDistance; // 0x3a + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x3e + CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 + bool m_bNetworkLookTarget; // 0x42 }; // Alignment: 2 @@ -19438,15 +19604,15 @@ public: Color m_Color; // 0x50 }; -// Alignment: 2 +// Alignment: 1 // Size: 0x58 -class CActionComponent : public CAnimComponentBase +class CCPPScriptComponent : public CAnimComponentBase { +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x50 + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x40 }; // Alignment: 8 @@ -21897,7 +22063,7 @@ public: CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 }; -// Alignment: 12 +// Alignment: 13 // Size: 0x30 struct AggregateMeshInfo_t { @@ -21906,17 +22072,18 @@ public: uint8_t m_nVisClusterMemberCount; // 0x4 bool m_bHasTransform; // 0x5 int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc + int16_t m_nLODSetupIndex; // 0x8 + uint8_t m_nLODGroupMask; // 0xa + Color m_vTintColor; // 0xb private: - [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd + [[maybe_unused]] uint8_t __pad000f[0x1]; // 0xf public: ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 + Vector m_vLODOrigin; // 0x18 + float m_fLODStartDrawDistance; // 0x24 + float m_fLODEndDrawDistance; // 0x28 + float m_fMaxObjectScale; // 0x2c }; // Alignment: 4 @@ -22075,8 +22242,8 @@ public: CUtlString m_worldNodePrefix; // 0x48 }; -// Alignment: 7 -// Size: 0x60 +// Alignment: 8 +// Size: 0x78 struct AggregateSceneObject_t { public: @@ -22087,9 +22254,10 @@ private: [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa public: CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + CUtlVector< AggregateLODSetup_t > m_lodSetups; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x58 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; // Alignment: 4 @@ -22103,6 +22271,20 @@ public: CRenderBufferBinding m_extraBufferBinding; // 0x10 }; +// Alignment: 4 +// Size: 0x40 +struct AggregateLODSetup_t +{ +public: + Vector m_vLODOrigin; // 0x0 + float m_fMaxObjectScale; // 0xc + uint8_t m_nLODMask; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 +}; + // Alignment: 15 // Size: 0x90 struct SceneObject_t @@ -22149,8 +22331,8 @@ public: int32_t m_Value; // 0x0 }; -// Alignment: 43 -// Size: 0x138 +// Alignment: 44 +// Size: 0x140 class CParticleFloatInput { public: @@ -22194,25 +22376,32 @@ public: float m_flNoiseImgPreviewScale; // 0xb4 bool m_bNoiseImgPreviewLive; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 + [[maybe_unused]] uint8_t __pad00b9[0x8]; // 0xb9 public: - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 + bool m_bUseBoundsCenter; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad00c2[0x2]; // 0xc2 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc4 + float m_flMultFactor; // 0xc8 + float m_flInput0; // 0xcc + float m_flInput1; // 0xd0 + float m_flOutput0; // 0xd4 + float m_flOutput1; // 0xd8 + float m_flNotchedRangeMin; // 0xdc + float m_flNotchedRangeMax; // 0xe0 + float m_flNotchedOutputOutside; // 0xe4 + float m_flNotchedOutputInside; // 0xe8 + ParticleFloatBiasType_t m_nBiasType; // 0xec + float m_flBiasParameter; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x4]; // 0xf4 +public: + CPiecewiseCurve m_Curve; // 0xf8 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -22220,7 +22409,7 @@ public: }; // Alignment: 16 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunction { private: @@ -22231,88 +22420,88 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + ParticleEndcapMode_t m_nOpEndCapState; // 0x148 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 + float m_flOpStartFadeInTime; // 0x14c // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 + float m_flOpEndFadeInTime; // 0x150 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c + float m_flOpStartFadeOutTime; // 0x154 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 + float m_flOpEndFadeOutTime; // 0x158 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 + float m_flOpFadeOscillatePeriod; // 0x15c // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 + bool m_bNormalizeToStopTime; // 0x160 private: - [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 + [[maybe_unused]] uint8_t __pad0161[0x3]; // 0x161 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c + float m_flOpTimeOffsetMin; // 0x164 // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 + float m_flOpTimeOffsetMax; // 0x168 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 + int32_t m_nOpTimeOffsetSeed; // 0x16c // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 + int32_t m_nOpTimeScaleSeed; // 0x170 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c + float m_flOpTimeScaleMin; // 0x174 // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 + float m_flOpTimeScaleMax; // 0x178 private: - [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 + [[maybe_unused]] uint8_t __pad017c[0x1]; // 0x17c public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x175 + bool m_bDisableOperator; // 0x17d private: - [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 + [[maybe_unused]] uint8_t __pad017e[0x2]; // 0x17e public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 + CUtlString m_Notes; // 0x180 }; // Alignment: 1 -// Size: 0x1f0 +// Size: 0x220 class CParticleFunctionInitializer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "m_nAssociatedEmitterIndex" @ 0x1e8 because of the struct collision + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x210 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CPerParticleFloatInput : public CParticleFloatInput { public: @@ -22320,43 +22509,89 @@ public: }; // Alignment: 12 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x224 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x228 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 + bool m_bActiveRange; // 0x240 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 + bool m_bInvert; // 0x241 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 + bool m_bWrap; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + float m_flRemapBias; // 0x244 +}; + +// Alignment: 22 +// Size: 0x5e8 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1d0 + CParticleFloatInput m_FloatComponentZ; // 0x310 + CParticleFloatInput m_FloatInterp; // 0x450 + float m_flInterpInput0; // 0x590 + float m_flInterpInput1; // 0x594 + Vector m_vInterpOutput0; // 0x598 + Vector m_vInterpOutput1; // 0x5a4 + CColorGradient m_Gradient; // 0x5b0 + Vector m_vRandomMin; // 0x5c8 + Vector m_vRandomMax; // 0x5d4 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionOperator : public CParticleFunction { public: @@ -22425,62 +22660,73 @@ public: bool m_bRightEye; // 0x40 }; +// Alignment: 1 +// Size: 0x48 +class CPulseCell_Base +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MFgdFromSchemaCompletelySkipField + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +}; + // Alignment: 10 -// Size: 0x220 +// Size: 0x240 class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x210 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x214 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x218 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x21c // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x220 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x224 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x228 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x22c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 }; // Alignment: 5 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x358 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x498 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c + ParticleSetMethod_t m_nSetMethod; // 0x49c }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionConstraint : public CParticleFunction { public: @@ -22488,49 +22734,49 @@ public: }; // Alignment: 3 -// Size: 0x230 +// Size: 0x260 class CParticleFunctionRenderer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "VisibilityInputs" @ 0x1e8 because of the struct collision + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x210 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c + bool m_bCannotBeRefracted; // 0x254 // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + bool m_bSkipRenderingOnMobile; // 0x255 }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4b0 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x220 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x360 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 + bool m_bSetOrientation; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 + ParticleAttributeIndex_t m_nOrientationField; // 0x4a4 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 + bool m_bNumBasedOnParticleCount; // 0x4a8 }; // Alignment: 8 @@ -22553,69 +22799,55 @@ public: float m_flEndCPGrowthTime; // 0x4c }; -// Alignment: 22 -// Size: 0x5c8 -class CParticleVecInput +// Alignment: 0 +// Size: 0x140 +class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput { public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 + // No members available +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ public: - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 -private: - [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c -public: - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 + uint16_t m_Value; // 0x0 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_ModelCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x224 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x225 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x226 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x227 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionForce : public CParticleFunction { public: // No members available }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseFlow : public CPulseCell_Base +{ +public: + // No members available +}; + // Alignment: 3 // Size: 0x14 struct PointDefinition_t @@ -22633,41 +22865,42 @@ public: }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 + int32_t m_nSpinRateDegrees; // 0x210 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 + int32_t m_nSpinRateMinDegrees; // 0x214 private: - [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 + [[maybe_unused]] uint8_t __pad0218[0x4]; // 0x218 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + float m_fSpinRateStopTime; // 0x21c }; -// Alignment: 0 -// Size: 0x5c8 -class CParticleCollectionVecInput : public CParticleVecInput +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: - // No members available + // MPropertyFriendlyName "Run Only Once" + bool m_bRunOnce; // 0x210 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 + float m_flForceScale; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 + Vector m_vecTwistAxis; // 0x214 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 + bool m_bFlipBasedOnYaw; // 0x220 }; // Alignment: 6 @@ -22684,65 +22917,94 @@ public: }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 + Vector m_vecOffset; // 0x214 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 + bool m_bOffsetLocal; // 0x220 }; -// Alignment: 1 -// Size: 0x200 -class CParticleFunctionPreEmission : public CParticleFunctionOperator +// Alignment: 7 +// Size: 0x240 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: - // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x220 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x224 + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x228 + // MPropertyFriendlyName "input volume minimum in cubic units" + float m_flInputMin; // 0x22c + // MPropertyFriendlyName "input volume maximum in cubic units" + float m_flInputMax; // 0x230 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x234 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x238 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_QuantizeFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 7 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + CParticleCollectionFloatInput m_nInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 + CParticleCollectionFloatInput m_nInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 + CParticleCollectionFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 + bool m_bActiveRange; // 0x718 private: - [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 + [[maybe_unused]] uint8_t __pad0719[0x3]; // 0x719 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc + ParticleSetMethod_t m_nSetMethod; // 0x71c +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeChunkIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_DebugLog : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 0 @@ -22756,156 +23018,174 @@ public: }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 + Vector m_vecOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 + Vector m_vecOutputMax; // 0x220 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c + float m_fl4NoiseScale; // 0x22c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 + bool m_bAdditive; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 + bool m_bOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 + float m_flNoiseAnimationTimeScale; // 0x234 +}; + +// Alignment: 3 +// Size: 0x10 +class CPulse_OutflowConnection +{ +public: + CUtlSymbolLarge m_SourceOutflowName; // 0x0 + PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 + int32_t m_nInstruction; // 0xc }; // Alignment: 1 -// Size: 0x210 +// Size: 0x230 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 + int32_t m_ControlPoint; // 0x220 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x390 class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 + Vector m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc + Vector m_vecWarpMax; // 0x22c // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 + CPerParticleFloatInput m_InputValue; // 0x238 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 + float m_flPrevPosScale; // 0x378 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 + int32_t m_nScaleControlPointNumber; // 0x37c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 + int32_t m_nControlPointNumber; // 0x380 }; // Alignment: 5 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + CParticleCollectionFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 + CParticleCollectionFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + CParticleCollectionFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 + float m_flAdjustmentScale; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d8 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 7 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 + CUtlVector< float32 > m_values; // 0x240 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 + ParticleAttributeIndex_t m_nFieldInput; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 + ParticleSetMethod_t m_nSetMethod; // 0x260 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + bool m_bModelFromRenderer; // 0x264 }; // Alignment: 1 -// Size: 0x1f0 +// Size: 0x220 class CParticleFunctionEmitter : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "m_nEmitterIndex" @ 0x1e8 because of the struct collision + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x210 }; // Alignment: 0 -// Size: 0x5c8 +// Size: 0x5e8 class CPerParticleVecInput : public CParticleVecInput { public: // No members available }; +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCallInfoIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 + ParticleSetMethod_t m_nSetMethod; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + bool m_bIgnoreDelta; // 0x228 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: @@ -22926,21 +23206,30 @@ public: float m_flScale; // 0xc }; +// Alignment: 2 +// Size: 0x20 +struct PulseRegisterMap_t +{ +public: + KeyValues3 m_Inparams; // 0x0 + KeyValues3 m_Outparams; // 0x10 +}; + // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x224 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x22c }; // Alignment: 15 @@ -22969,51 +23258,51 @@ public: }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDensityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x218 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x21c // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x220 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x22c }; // Alignment: 7 -// Size: 0x230 +// Size: 0x250 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x210 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x214 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x220 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x224 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x230 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x23c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x240 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -23021,656 +23310,489 @@ public: }; // Alignment: 15 -// Size: 0x8c0 +// Size: 0x920 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x228 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x368 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x4a8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x6dd + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8fc // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x900 private: - [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x904 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x910 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x224 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x228 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // No members available }; // Alignment: 3 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x260 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x268 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x214 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x218 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x21c // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x224 }; // Alignment: 9 -// Size: 0x220 +// Size: 0x250 class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x220 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x224 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x228 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x22c // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x230 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x234 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x238 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x23c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x240 }; // Alignment: 4 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x228 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x230 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x250 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 + CUtlString m_outputMinName; // 0x258 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + CUtlString m_outputMaxName; // 0x260 + bool m_bModelFromRenderer; // 0x268 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x270 class C_INIT_RandomColor : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x1c]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x1c]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x23c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x240 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x244 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x248 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x24c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x250 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x254 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x258 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x25c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x260 }; // Alignment: 4 -// Size: 0x360 +// Size: 0x380 class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x210 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x350 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x354 // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x358 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_PointList : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x228 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x240 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x241 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x244 }; -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer +// Alignment: 7 +// Size: 0xd60 +class C_OP_RenderLightBeam : public CParticleFunctionRenderer { public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" + // MPropertyFriendlyName "Color Blend" + CParticleCollectionVecInput m_vColorBlend; // 0x260 + // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 + ParticleColorBlendType_t m_nColorBlendType; // 0x848 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 + // MPropertyFriendlyName "Lumens Per Meter" + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x850 + // MPropertyFriendlyName "Shadows" + // MPropertySuppressExpr "mod == csgo" + bool m_bCastShadows; // 0x990 private: - [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 + [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 public: - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" - // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 -private: - [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 -public: - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 -private: - [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a -public: - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 -private: - [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 -public: - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 -private: - [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 -public: - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 + // MPropertyFriendlyName "Skirt" + CParticleCollectionFloatInput m_flSkirt; // 0x998 + // MPropertyFriendlyName "Range" + CParticleCollectionFloatInput m_flRange; // 0xad8 + // MPropertyFriendlyName "Thickness" + CParticleCollectionFloatInput m_flThickness; // 0xc18 }; // Alignment: 8 -// Size: 0x3d0 +// Size: 0x3f0 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x218 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x2a4 private: - [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 + [[maybe_unused]] uint8_t __pad02a5[0x3]; // 0x2a5 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x2b0 }; // Alignment: 1 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x220 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0261[0x3]; // 0x261 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x218 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x224 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x228 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x22c // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x230 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x234 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x238 +}; + +// Alignment: 9 +// Size: 0xf8 +class CPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlSymbolLarge m_DomainIdentifier; // 0x8 + CUtlSymbolLarge m_ParentMapName; // 0x10 + CUtlVector< CPulse_Chunk* > m_Chunks; // 0x18 + CUtlVector< CPulseCell_Base* > m_Cells; // 0x30 + CUtlVector< CPulse_Variable > m_Vars; // 0x48 + CUtlVector< CPulse_PublicOutput > m_PublicOutputs; // 0x60 + CUtlVector< CPulse_InvokeBinding* > m_InvokeBindings; // 0x78 + CUtlVector< CPulse_CallInfo* > m_CallInfos; // 0x90 + CUtlVector< CPulse_OutputConnection* > m_OutputConnections; // 0xa8 +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Outflow_IntSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x58 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x210 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x214 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x218 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x21c // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x224 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x370 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x220 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x224 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x230 }; // Alignment: 7 -// Size: 0x480 +// Size: 0x4b0 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x210 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x21c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x22c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x22d private: - [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x230 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x370 }; // Alignment: 2 @@ -23685,149 +23807,149 @@ public: }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x360 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x4a0 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5e0 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5e1 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_SequenceFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 + bool m_bKillUnused; // 0x220 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 + bool m_bRadiusScale; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + Vector m_vecOffset; // 0x228 }; // Alignment: 15 -// Size: 0x230 +// Size: 0x260 class C_OP_NoiseEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x228 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x234 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x238 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x239 private: - [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a + [[maybe_unused]] uint8_t __pad023a[0x2]; // 0x23a public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x23c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x240 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x244 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x248 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x24c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x250 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x25c }; // Alignment: 8 -// Size: 0x210 +// Size: 0x240 class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c }; // Alignment: 12 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x23c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x248 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x24c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x250 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x254 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x258 private: - [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 + [[maybe_unused]] uint8_t __pad0259[0x3]; // 0x259 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x25c }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -23835,375 +23957,399 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x210 }; // Alignment: 14 -// Size: 0x18a0 +// Size: 0x1950 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x220 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x360 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x4a0 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa88 private: - [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 + [[maybe_unused]] uint8_t __pad0a94[0x4]; // 0xa94 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa98 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xae8 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xc28 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xd68 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xd6c private: - [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd + [[maybe_unused]] uint8_t __pad0d6d[0x3]; // 0xd6d public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd70 private: - [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd78 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1360 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1948 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x194c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x218 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x21c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x220 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x224 }; // Alignment: 9 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x214 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x218 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x21c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x200 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x2a4 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0xc]; // 0x2ac public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x2b8 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x210 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x214 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x220 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x224 }; // Alignment: 16 -// Size: 0x8a8 +// Size: 0x8e0 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x140 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x280 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3c0 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x500 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x640 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x780 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 + bool m_bRandomizeOffsets; // 0x8c0 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 + bool m_bClampUVs; // 0x8c1 private: - [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a + [[maybe_unused]] uint8_t __pad08c2[0x2]; // 0x8c2 public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x8c4 // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x8c8 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x8cc // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x8d0 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x8d4 // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8d8 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8dc }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x228 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x220 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x220 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1fc + char m_HitboxSetName[128]; // 0x22c // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x2ac }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 }; // Alignment: 6 -// Size: 0x200 +// Size: 0x230 class C_INIT_GlobalScale : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x22c // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x22d // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x22e }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x220 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x224 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x224 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x230 }; // Alignment: 9 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderScreenShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x268 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x26c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x278 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x27c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x280 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x210 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x214 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x218 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x21c }; // Alignment: 1 -// Size: 0x340 +// Size: 0x360 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x220 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x228 }; // Alignment: 6 -// Size: 0x15c0 +// Size: 0x1650 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x218 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x800 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xde8 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x13d0 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1510 +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseValue : public CPulseCell_Base +{ +public: + // No members available }; // Alignment: 0 @@ -24217,306 +24363,314 @@ public: }; // Alignment: 4 -// Size: 0x910 +// Size: 0x950 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x220 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x808 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x948 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x94c }; // Alignment: 10 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x224 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x240 private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x244 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x210 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x234 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x235 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x224 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x218 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x21c }; // Alignment: 15 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x768 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x729 + char m_CollisionGroupName[128]; // 0x769 private: - [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ec // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7f0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7f4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7b8 + ParticleSetMethod_t m_nSetMethod; // 0x7f8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7bc + bool m_bActiveRange; // 0x7fc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7bd + bool m_bAdditive; // 0x7fd private: - [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be + [[maybe_unused]] uint8_t __pad07fe[0x2]; // 0x7fe public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 + CPerParticleVecInput m_vecComponentScale; // 0x800 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue +{ +public: + // No members available }; // Alignment: 29 -// Size: 0x1220 +// Size: 0x12b0 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x268 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 private: - [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x858 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x998 private: - [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 + [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x9a0 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xae0 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc20 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd60 private: - [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 + [[maybe_unused]] uint8_t __pad0d64[0x4]; // 0xd64 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd68 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xea8 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xfe8 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x1128 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x1129 private: - [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 + [[maybe_unused]] uint8_t __pad112a[0x6]; // 0x112a public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x1130 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x1138 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x113c // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x1140 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1280 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x1284 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x1288 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x1289 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad128a[0x2]; // 0x128a public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x128c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1290 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1294 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x129c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x12a0 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x12a4 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x210 }; // Alignment: 2 -// Size: 0x140 +// Size: 0x148 struct FloatInputMaterialVariable_t { public: @@ -24526,6 +24680,22 @@ public: CParticleCollectionFloatInput m_flInput; // 0x8 }; +// Alignment: 6 +// Size: 0x40 +class CPulse_CallInfo +{ +public: + CUtlSymbolLarge m_PortName; // 0x0 + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + PulseRegisterMap_t m_RegisterMap; // 0x10 + PulseDocNodeID_t m_CallMethodID; // 0x30 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x34 + int32_t m_nSrcInstruction; // 0x38 +}; + // Alignment: 0 // Size: 0x8 class IParticleSystemDefinition @@ -24536,83 +24706,91 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x23c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x240 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x244 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x268 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x270 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x278 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x280 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x288 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x800 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -24646,7 +24824,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -24654,20 +24832,20 @@ public: }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x220 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x360 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x361 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -24675,144 +24853,166 @@ public: }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x210 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x214 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x218 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x21c // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x220 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 + bool m_bUseParticleCount; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0xe]; // 0x222 public: - CPathParameters m_PathParams; // 0x210 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x70 +class CPulseCell_Inflow_BaseEntrypoint : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeChunkIndex_t m_EntryChunk; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + PulseRegisterMap_t m_RegisterMap; // 0x50 +}; + +// Alignment: 2 +// Size: 0x230 class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 +}; + +// Alignment: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ExternalGenericForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x210 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x214 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x218 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x21c // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x220 }; // Alignment: 9 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 + bool m_bProportional; // 0x261 private: - [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + float m_flRemapTime; // 0x26c }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce { public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x210 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x24]; // 0x22c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x255 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0xc]; // 0x214 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x220 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x22c }; // Alignment: 1 @@ -24824,269 +25024,269 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x228 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x274 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x278 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x220 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x224 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x228 }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4c0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x228 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x368 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x36c // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x370 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x371 private: - [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a + [[maybe_unused]] uint8_t __pad0372[0x6]; // 0x372 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x378 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x220 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x210 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x214 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x218 }; // Alignment: 11 -// Size: 0x280 +// Size: 0x2b0 class C_OP_RenderProjected : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x260 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x261 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x262 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x263 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x264 private: - [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 + [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x268 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x26c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x270 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x278 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x27c private: - [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x280 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 + bool m_bShuffle; // 0x240 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 + bool m_bLinear; // 0x241 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 + bool m_bModelFromRenderer; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 }; // Alignment: 3 -// Size: 0x900 +// Size: 0x940 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x350 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x938 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x21c }; // Alignment: 12 -// Size: 0xf60 +// Size: 0xfd0 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x22c // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x818 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x81c // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x820 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd98 + char m_HitboxSetName[128]; // 0xe08 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe88 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe89 private: - [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a + [[maybe_unused]] uint8_t __pad0e8a[0x6]; // 0xe8a public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe90 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x4b0 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x364 // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x368 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x210 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7f8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x938 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 + bool m_bLocalSpace; // 0x988 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleRemapFloatInput : public CParticleFloatInput { public: @@ -25094,344 +25294,341 @@ public: }; // Alignment: 12 -// Size: 0x250 +// Size: 0x270 class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 + bool m_bSetOnce; // 0x222 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 + int32_t m_nCP2; // 0x228 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c + int32_t m_nCP3; // 0x22c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 + int32_t m_nCP4; // 0x230 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 + Vector m_vecCP1Pos; // 0x234 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 + Vector m_vecCP2Pos; // 0x240 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c + Vector m_vecCP3Pos; // 0x24c // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 + Vector m_vecCP4Pos; // 0x258 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 + int32_t m_nHeadLocation; // 0x264 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 + float m_flTimeScale; // 0x218 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc + bool m_bLoopedPath; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x220 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x780 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 + int32_t m_nComponent1; // 0x220 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 -private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc -public: + int32_t m_nComponent2; // 0x224 + // MPropertyFriendlyName "input transform" + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 + CPerParticleFloatInput m_flParticleDensity; // 0x278 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 + CPerParticleFloatInput m_flOffset; // 0x3b8 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 + CPerParticleFloatInput m_flRadius1; // 0x4f8 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 + bool m_bUseCount; // 0x778 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 + bool m_bUseLocalCoords; // 0x779 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 + bool m_bOffsetExistingPos; // 0x77a }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 + float m_flForceScale; // 0x214 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 + CPerParticleFloatInput m_InputRadius; // 0x220 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 + CPerParticleFloatInput m_InputMagnitude; // 0x360 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x4a8 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 + ParticleImpulseType_t m_nImpulseType; // 0x5e8 }; // Alignment: 13 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc + Vector m_vInputMin; // 0x21c // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 + Vector m_vInputMax; // 0x228 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 + Vector m_vOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 + Vector m_vOutputMax; // 0x240 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x22c + float m_flStartTime; // 0x24c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x230 + float m_flEndTime; // 0x250 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x234 + float m_flInterpRate; // 0x254 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x238 + ParticleSetMethod_t m_nSetMethod; // 0x258 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c + bool m_bOffset; // 0x25c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d + bool m_bAccelerate; // 0x25d }; // Alignment: 12 -// Size: 0xdf0 +// Size: 0xe60 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 + CParticleCollectionVecInput m_vecOffset; // 0x218 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 + bool m_bOffsetLocal; // 0x800 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 + ParticleSelection_t m_nParticleSelection; // 0x804 // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x808 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 + ParticlePinDistance_t m_nPinBreakType; // 0x948 private: - [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 + [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + CParticleCollectionFloatInput m_flBreakDistance; // 0x950 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa90 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 + CParticleCollectionFloatInput m_flAge; // 0xbd0 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 + int32_t m_nBreakControlPointNumber; // 0xd10 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 + int32_t m_nBreakControlPointNumber2; // 0xd14 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 + CPerParticleFloatInput m_flInterpolation; // 0xd18 }; // Alignment: 7 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x210 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x21c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 + bool m_bCullOnMiss; // 0x228 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 + bool m_bStickInsteadOfCull; // 0x229 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20a + char m_RtEnvName[128]; // 0x22a private: - [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a + [[maybe_unused]] uint8_t __pad02aa[0x2]; // 0x2aa public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2ac // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2b0 }; // Alignment: 9 -// Size: 0x240 +// Size: 0x260 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 + int32_t m_nOutputControlPoint; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 + int32_t m_nOutputField; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 + CUtlString m_StackName; // 0x238 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 + CUtlString m_OperatorName; // 0x240 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 + CUtlString m_FieldName; // 0x248 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc + float m_flOffsetRot; // 0x21c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 + Vector m_vecOffsetAxis; // 0x220 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c + bool m_bNormalize; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 + ParticleAttributeIndex_t m_nFieldStrength; // 0x230 }; // Alignment: 10 -// Size: 0x1280 +// Size: 0x1300 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 + CPerParticleVecInput m_vecWaveLength; // 0x718 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 + CPerParticleVecInput m_vecHarmonics; // 0xd00 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c + int32_t m_nLocalSpaceControlPoint; // 0x12ec // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 + bool m_b3D; // 0x12f0 }; // Alignment: 5 -// Size: 0x340 +// Size: 0x370 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 + bool m_bSetOrientation; // 0x360 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x224 }; // Alignment: 2 @@ -25447,148 +25644,172 @@ public: }; // Alignment: 7 -// Size: 0x360 +// Size: 0x380 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 + int32_t m_nFlowCP; // 0x228 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c + int32_t m_nActiveCP; // 0x22c // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 + int32_t m_nActiveCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 + CParticleCollectionFloatInput m_flRetestRate; // 0x238 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 + bool m_bAdaptiveThreshold; // 0x378 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_InheritVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 + float m_flVelocityScale; // 0x224 +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_TestDomainEntFire : public CPulseCell_BaseFlow +{ +public: + CUtlString m_Input; // 0x48 }; // Alignment: 22 -// Size: 0x12a0 +// Size: 0x1330 class C_OP_RenderCables : public CParticleFunctionRenderer { public: // MPropertyStartGroup "Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + CParticleCollectionFloatInput m_flRadiusScale; // 0x260 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + CParticleCollectionFloatInput m_flAlphaScale; // 0x3a0 // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + CParticleCollectionVecInput m_vecColorScale; // 0x4e0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 + ParticleColorBlendType_t m_nColorBlendType; // 0xac8 private: - [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c + [[maybe_unused]] uint8_t __pad0acc[0x4]; // 0xacc public: // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xad0 // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c + [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc public: // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xae0 // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc20 // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd60 // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xea0 // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xfe0 // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1120 // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 + bool m_bDrawCableCaps; // 0x1260 private: - [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 + [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 public: // MPropertyFriendlyName "cable end cap shape factor" // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 + float m_flCapRoundness; // 0x1264 // MPropertyFriendlyName "cable end cap offset amount" // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 + float m_flCapOffsetAmount; // 0x1268 // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc + float m_flTessScale; // 0x126c // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 + int32_t m_nMinTesselation; // 0x1270 // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 + int32_t m_nMaxTesselation; // 0x1274 // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 + int32_t m_nRoundness; // 0x1278 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad127c[0x4]; // 0x127c public: // MPropertyFriendlyName "diffuse lighting origin" // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 + CParticleTransformInput m_LightingTransform; // 0x1280 // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 + [[maybe_unused]] uint8_t __pad12e8[0x18]; // 0x12e8 public: // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1300 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 9 -// Size: 0x350 +// Size: 0x380 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x224 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x228 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x22c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x230 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x231 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0232[0x6]; // 0x232 public: // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x238 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 + int32_t m_nRandomSeed; // 0x378 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 + bool m_bLocalSpaceAngles; // 0x37c }; // Alignment: 0 -// Size: 0x250 +// Size: 0x5e8 +class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x270 class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -25596,442 +25817,458 @@ public: }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 10 -// Size: 0x2b0 +// Size: 0x2d0 class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 + CParticleTransformInput m_TransformStart; // 0x228 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 + CParticleTransformInput m_TransformEnd; // 0x278 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 + ParticleSetMethod_t m_nSetMethod; // 0x2c8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac + bool m_bActiveRange; // 0x2cc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad + bool m_bRadialCheck; // 0x2cd }; // Alignment: 6 -// Size: 0xee0 +// Size: 0xf40 class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 + VectorFloatExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 + CParticleCollectionVecInput m_vecInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 + CParticleCollectionVecInput m_vecInput2; // 0x810 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + CParticleRemapFloatInput m_flOutputRemap; // 0xdf8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 + int32_t m_nOutputCP; // 0xf38 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 + int32_t m_nOutVectorField; // 0xf3c }; // Alignment: 9 -// Size: 0x210 +// Size: 0x230 class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c + bool m_bActiveRange; // 0x22c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d + bool m_bSetPreviousParticle; // 0x22d }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 + bool m_bOrientToHMD; // 0x230 }; // Alignment: 3 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 + CPerParticleFloatInput m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 + CPerParticleFloatInput m_flOutputMax; // 0x358 }; // Alignment: 13 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1f0 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 + Vector m_vecOutputMin; // 0x2a4 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 + Vector m_vecOutputMax; // 0x2b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c + int32_t m_nControlPointNumber; // 0x2bc // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 + bool m_bPerParticle; // 0x2c0 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 + bool m_bTranslate; // 0x2c1 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 + bool m_bProportional; // 0x2c2 private: - [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 + [[maybe_unused]] uint8_t __pad02c3[0x1]; // 0x2c3 public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 + float m_flTraceLength; // 0x2c4 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 + bool m_bPerParticleTR; // 0x2c8 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 + bool m_bInherit; // 0x2c9 private: - [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a + [[maybe_unused]] uint8_t __pad02ca[0x2]; // 0x2ca public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c + int32_t m_nChildCP; // 0x2cc // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 + int32_t m_nChildGroupID; // 0x2d0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x360 class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 + CPerParticleFloatInput m_flOutput; // 0x218 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 + float m_flStartTime; // 0x358 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 + float m_flEndTime; // 0x35c }; // Alignment: 6 -// Size: 0x470 +// Size: 0x4a0 class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 + int32_t m_nSnapshotControlPointNumber; // 0x214 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 + bool m_bSetNormal; // 0x218 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 + bool m_bSetRadius; // 0x219 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad021a[0x6]; // 0x21a public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 + CPerParticleFloatInput m_flTValue; // 0x360 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9f0 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 + Vector m_vecDirectionBias; // 0x818 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 + bool m_bMaintainHitbox; // 0x824 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 + bool m_bUseBones; // 0x825 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7d6 + char m_HitboxSetName[128]; // 0x826 private: - [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 + [[maybe_unused]] uint8_t __pad08a6[0x2]; // 0x8a6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 + CParticleCollectionFloatInput m_flShellSize; // 0x8a8 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitVec : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x80c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 + bool m_bNormalizedOutput; // 0x810 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 + bool m_bWritePreviousPosition; // 0x811 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 + float m_flMinAlpha; // 0x210 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x22c }; // Alignment: 3 -// Size: 0x5a0 +// Size: 0x5d0 class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + CPerParticleFloatInput m_flHueAdjust; // 0x210 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + CPerParticleFloatInput m_flSaturationAdjust; // 0x350 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 + CPerParticleFloatInput m_flLightnessAdjust; // 0x490 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc + float m_fl4NoiseScale; // 0x21c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 + bool m_bAdditive; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 + float m_flNoiseAnimationTimeScale; // 0x224 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 + CPerParticleFloatInput m_flMinimumSpeed; // 0x350 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 + int32_t m_nDesiredVelocityCP; // 0x210 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 + int32_t m_nLatencyCP; // 0x214 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 + int32_t m_nLatencyCPField; // 0x218 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc + int32_t m_nDesiredVelocityCPField; // 0x21c }; // Alignment: 17 -// Size: 0x230 +// Size: 0x260 class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 + bool m_bRigid; // 0x230 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 + bool m_bSetNormal; // 0x231 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 + bool m_bIgnoreDt; // 0x232 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0233[0x1]; // 0x233 public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 + float m_flMinNormalVelocity; // 0x234 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 + float m_flMaxNormalVelocity; // 0x238 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c + float m_flIncrement; // 0x23c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 + int32_t m_nFullLoopIncrement; // 0x240 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 + int32_t m_nSnapShotStartPoint; // 0x244 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 + float m_flBoneVelocity; // 0x248 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c + float m_flBoneVelocityMax; // 0x24c // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 + bool m_bCopyColor; // 0x250 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 + bool m_bCopyAlpha; // 0x251 // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 + bool m_bSetRadius; // 0x252 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -26039,84 +26276,101 @@ public: }; // Alignment: 7 -// Size: 0x350 +// Size: 0x380 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 + Vector m_vecRotAxisMin; // 0x214 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 + Vector m_vecRotAxisMax; // 0x220 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c + float m_flRotRateMin; // 0x22c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 + float m_flRotRateMax; // 0x230 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 + bool m_bNormalize; // 0x234 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + CPerParticleFloatInput m_flScale; // 0x238 +}; + +// Alignment: 5 +// Size: 0x108 +class CPulseGraphInstance_TestDomain : public CBasePulseGraphInstance +{ +public: + bool m_bIsRunningUnitTests; // 0xd0 + bool m_bExplicitTimeStepping; // 0xd1 + bool m_bExpectingToDestroyWithYieldedCursors; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d3[0x1]; // 0xd3 +public: + int32_t m_nNextValidateIndex; // 0xd4 + CUtlVector< CUtlString > m_Tracepoints; // 0xd8 + + // Static fields: + static double &Get_s_flExplicitCurTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CPulseGraphInstance_TestDomain")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x210 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x214 }; // Alignment: 13 -// Size: 0x10b0 +// Size: 0x1130 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x268 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x854 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x858 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 + [[maybe_unused]] uint8_t __pad0ad9[0x7]; // 0xad9 public: // MPropertyFriendlyName "Light Radius" - // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xae0 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xc20 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xd60 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xea0 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xfe0 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1120 }; // Alignment: 1 @@ -26127,14 +26381,64 @@ public: int32_t unused; // 0x0 }; +// Alignment: 10 +// Size: 0x138 +class CPulseCell_Inflow_Method : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_MethodName; // 0x70 + CUtlString m_Description; // 0x78 + bool m_bIsPublic; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ReturnType; // 0x88 + CKV3MemberNameWithStorage m_Arg0Name; // 0x98 + CUtlString m_Arg0Description; // 0xd0 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg0Type; // 0xd8 + CKV3MemberNameWithStorage m_Arg1Name; // 0xe8 + CUtlString m_Arg1Description; // 0x120 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg1Type; // 0x128 +}; + +// Alignment: 5 +// Size: 0x38 +class CPulse_Variable +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_Type; // 0x10 + KeyValues3 m_DefaultValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0030[0x2]; // 0x30 +public: + bool m_bIsPublic; // 0x32 +}; + // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement { public: // No members available }; +// Alignment: 5 +// Size: 0x38 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x2c + int32_t m_nSrcInstruction; // 0x30 +}; + // Alignment: 0 // Size: 0x8 class IParticleEffect @@ -26146,59 +26450,67 @@ public: }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x220 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x224 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x230 }; // Alignment: 5 -// Size: 0x900 +// Size: 0x950 class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7fc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x800 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x940 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x210 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x21c // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x220 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeInvokeIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -26206,82 +26518,82 @@ public: }; // Alignment: 14 -// Size: 0x9a0 +// Size: 0x9e0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x214 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x218 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x2a4 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x2a5 private: - [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 + [[maybe_unused]] uint8_t __pad02a6[0x2]; // 0x2a6 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x2a8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x2ac // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x2b0 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x2b4 private: - [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 + [[maybe_unused]] uint8_t __pad02b5[0x3]; // 0x2b5 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x2b8 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x8a0 }; // Alignment: 12 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 + CParticleTransformInput m_TransformStart; // 0x220 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 + CParticleTransformInput m_TransformEnd; // 0x270 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 + int32_t m_nOutputStartCP; // 0x2c0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 + int32_t m_nOutputStartField; // 0x2c4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 + int32_t m_nOutputEndCP; // 0x2c8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac + int32_t m_nOutputEndField; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 + bool m_bActiveRange; // 0x2d4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 + bool m_bRadialCheck; // 0x2d5 }; // Alignment: 3 @@ -26297,127 +26609,145 @@ public: bool m_bOffsetInLocalSpace; // 0x10 }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 + float m_flRange; // 0x214 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 }; // Alignment: 9 -// Size: 0x1270 +// Size: 0x12f0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 + CPerParticleFloatInput m_flInputMin; // 0xde8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 + CPerParticleFloatInput m_flInputMax; // 0xf28 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 + CPerParticleFloatInput m_flOutputMin; // 0x1068 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + CPerParticleFloatInput m_flOutputMax; // 0x11a8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c + bool m_bDeltaTime; // 0x12ec }; // Alignment: 6 -// Size: 0x210 +// Size: 0x240 class CGeneralRandomRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 + float m_flDegrees; // 0x224 // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 + float m_flDegreesMin; // 0x228 // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc + float m_flDegreesMax; // 0x22c // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 + float m_flRotationRandExponent; // 0x230 // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 + bool m_bRandomlyFlipDirection; // 0x234 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x218 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x250 class C_INIT_AgeNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 + bool m_bAbsVal; // 0x220 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 + bool m_bAbsValInv; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 + float m_flOffset; // 0x224 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 + float m_flAgeMin; // 0x228 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc + float m_flAgeMax; // 0x22c // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 + float m_flNoiseScale; // 0x230 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 + float m_flNoiseScaleLoc; // 0x234 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 + Vector m_vecOffsetLoc; // 0x238 +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTurtleGraphicsLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available }; // Alignment: 4 -// Size: 0x350 +// Size: 0x370 class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 + int32_t m_nHeadLocationMin; // 0x224 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 + int32_t m_nHeadLocationMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + CParticleCollectionFloatInput m_flResetRate; // 0x230 }; // Alignment: 1 @@ -26430,57 +26760,57 @@ public: }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x358 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x220 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation { public: @@ -26488,166 +26818,166 @@ public: }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x260 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x26c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x26d }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x210 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xde0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xde4 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x210 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x214 }; // Alignment: 17 -// Size: 0x3f0 +// Size: 0x410 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x350 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x354 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x358 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x35c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x338 + char m_CollisionGroupName[128]; // 0x360 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3e0 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3e4 // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3e8 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3ec private: - [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 + [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3f8 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3fc // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3fd private: - [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 + [[maybe_unused]] uint8_t __pad03fe[0x2]; // 0x3fe public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x400 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x401 private: - [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da + [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x404 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x408 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x218 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x230 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x234 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x370 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x220 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x368 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x369 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x36a }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x210 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x220 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotation : public CGeneralRandomRotation { public: @@ -26655,63 +26985,63 @@ public: }; // Alignment: 5 -// Size: 0xa40 +// Size: 0xa90 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x358 private: - [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 + [[maybe_unused]] uint8_t __pad035c[0x4]; // 0x35c public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x360 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x4a0 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderText : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x268 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x220 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x360 }; // Alignment: 2 @@ -26727,93 +27057,93 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomYawFlip : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x220 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x210 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x214 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x218 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x21c }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x270 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x27c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x27d }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x210 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x214 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 + bool m_bCPPairs; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x7]; // 0x219 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x274 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x278 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x27c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x288 }; // Alignment: 2 -// Size: 0x5d0 +// Size: 0x5f0 struct VecInputMaterialVariable_t { public: @@ -26824,278 +27154,304 @@ public: }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x500 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x360 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x4a0 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x4a1 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x4a2 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad04a3[0xd]; // 0x4a3 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x4b0 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x228 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_RenderClothForce : public CParticleFunctionRenderer { public: // No members available }; +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_SimultaneousParallel : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x210 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x214 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x21c // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x224 +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available }; // Alignment: 14 -// Size: 0x11c0 +// Size: 0x1250 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x220 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x228 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x230 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x370 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x958 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xf40 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xf44 // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xf45 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xece + char m_HitboxSetName[128]; // 0xf46 private: - [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e + [[maybe_unused]] uint8_t __pad0fc6[0x2]; // 0xfc6 public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xfc8 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1108 }; // Alignment: 3 -// Size: 0x200 +// Size: 0xc0 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CKV3MemberNameWithStorage m_Arg0Name; // 0x50 + CKV3MemberNameWithStorage m_Arg1Name; // 0x88 +}; + +// Alignment: 3 +// Size: 0x230 class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 -}; - -// Alignment: 3 -// Size: 0x200 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 - // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 - // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + float m_flExponent; // 0x228 }; // Alignment: 3 // Size: 0x220 +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "direction matching strength" + float m_flDirScale; // 0x210 + // MPropertyFriendlyName "speed matching strength" + float m_flSpdScale; // 0x214 + // MPropertyFriendlyName "control point to broadcast speed and direction to" + int32_t m_nCPBroadcast; // 0x218 +}; + +// Alignment: 3 +// Size: 0x240 class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x224 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x230 }; // Alignment: 10 -// Size: 0x950 +// Size: 0x9b0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x220 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x360 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x4a0 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x5e0 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x860 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x9a0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x9a4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x9a5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x9a6 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderPoints : public CParticleFunctionRenderer { public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x260 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x260 class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x18]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x238 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x23c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x240 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x244 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x248 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x24c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x250 }; // Alignment: 6 -// Size: 0xde0 +// Size: 0xe50 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 + CPerParticleVecInput m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 + CPerParticleVecInput m_OffsetMax; // 0x808 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 + CParticleTransformInput m_TransformInput; // 0xdf0 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 + bool m_bLocalCoords; // 0xe40 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 + bool m_bProportional; // 0xe41 private: - [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 + [[maybe_unused]] uint8_t __pad0e42[0x2]; // 0xe42 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe44 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x210 }; // Alignment: 7 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderLights : public C_OP_RenderPoints { public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x270 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x274 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x278 private: - [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x27c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x280 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x284 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x288 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -27103,351 +27459,362 @@ public: }; // Alignment: 6 -// Size: 0x230 +// Size: 0x250 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x18]; // 0x214 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 + [[maybe_unused]] uint8_t __pad0230[0xc]; // 0x230 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x23c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x240 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x248 }; // Alignment: 7 -// Size: 0x300 +// Size: 0x320 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f0 + char m_HitboxSetName[128]; // 0x210 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x270 + char m_AttachmentName[128]; // 0x290 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x310 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x314 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x318 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x31c // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x31d }; // Alignment: 5 -// Size: 0x260 +// Size: 0x290 class C_INIT_CreateAlongPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x270 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0271[0x3]; // 0x271 public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x274 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x280 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x214 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x220 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x224 }; // Alignment: 8 -// Size: 0x250 +// Size: 0x270 class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x214 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x218 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x21c + CPathParameters m_PathParameters; // 0x220 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x260 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x264 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x268 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x224 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x234 }; // Alignment: 15 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x220 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x22c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x230 private: - [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 + [[maybe_unused]] uint8_t __pad0231[0x3]; // 0x231 public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x240 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x244 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x248 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x24c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x22d + char m_CollisionGroupName[128]; // 0x24d private: - [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2d0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2d4 }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x214 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x218 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x21c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x220 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x224 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x228 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x368 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x4a8 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5e8 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x210 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x218 }; // Alignment: 6 -// Size: 0xed0 +// Size: 0xf30 class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 + VectorFloatExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 + CParticleRemapFloatInput m_flOutputRemap; // 0xde8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 + ParticleAttributeIndex_t m_nOutputField; // 0xf28 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 + ParticleSetMethod_t m_nSetMethod; // 0xf2c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 + int32_t m_nCP0; // 0x210 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 + int32_t m_nCP1; // 0x214 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 + float m_flMinInputValue; // 0x218 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc + float m_flMaxInputValue; // 0x21c // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + bool m_bInfiniteLine; // 0x220 }; // Alignment: 13 -// Size: 0x2e0 +// Size: 0x310 class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x224 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x230 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x248 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0254[0x4]; // 0x254 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x258 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x2a8 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2fc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x300 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x304 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x305 private: - [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 + [[maybe_unused]] uint8_t __pad0306[0x2]; // 0x306 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x308 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x358 +}; + +// Alignment: 4 +// Size: 0x20 +class CPulse_OutputConnection +{ +public: + CUtlSymbolLarge m_SourceOutput; // 0x0 + CUtlSymbolLarge m_TargetEntity; // 0x8 + CUtlSymbolLarge m_TargetInput; // 0x10 + CUtlSymbolLarge m_Param; // 0x18 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2a0 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 }; // Alignment: 3 -// Size: 0x7c0 +// Size: 0x800 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x214 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x218 }; // Alignment: 3 @@ -27461,731 +27828,797 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x210 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x21c }; // Alignment: 7 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderStatusEffect : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x268 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x270 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x278 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x280 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x288 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x290 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x260 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x264 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x268 +}; + +// Alignment: 2 +// Size: 0x10 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x4]; // 0x220 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 }; // Alignment: 6 -// Size: 0x230 +// Size: 0x260 class C_INIT_AddVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x230 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x234 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x240 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x24c +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_EventName; // 0x70 }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe60 class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xde8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdec // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xdf0 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x224 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x228 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x230 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x210 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x350 +}; + +// Alignment: 0 +// Size: 0x10 +class CPulse_ResumePoint : public CPulse_OutflowConnection +{ +public: + // No members available }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x244 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_RandomInt : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x28 +struct CPulseCell_Outflow_CycleShuffled__InstanceState_t +{ +public: + CUtlVectorFixedGrowable< uint8 > m_Shuffle; // 0x0 + int32_t m_nNextShuffle; // 0x20 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x228 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x229 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad022a[0x6]; // 0x22a public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x230 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x210 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x214 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x218 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x21c private: - [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 + [[maybe_unused]] uint8_t __pad0220[0x30]; // 0x220 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x250 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x251 }; // Alignment: 13 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x218 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 + bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 + bool m_bProportionalOp; // 0x225 private: - [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 + float m_flEndTime_min; // 0x230 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 + float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 + float m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c + float m_flOscAdd; // 0x23c }; // Alignment: 5 -// Size: 0x5f0 +// Size: 0x630 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionRendererFloatInput m_cubeWidth; // 0x260 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x3a0 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4e0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 + int32_t m_nScaleCP; // 0x620 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x628 }; // Alignment: 2 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 + CParticleCollectionVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 26 -// Size: 0x8e0 +// Size: 0x920 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x214 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x220 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x224 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x228 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x20c + char m_CollisionGroupName[128]; // 0x22c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x2ac // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x2ad // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x2ae private: - [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f + [[maybe_unused]] uint8_t __pad02af[0x1]; // 0x2af public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x2b0 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x2b4 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x2b8 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x2bc // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2c0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2c4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2c8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x408 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x548 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x688 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x7c8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x7c9 private: - [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a + [[maybe_unused]] uint8_t __pad07ca[0x2]; // 0x7ca public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x7cc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7d4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x7d8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x918 }; // Alignment: 3 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x260 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x3a0 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x3a8 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c }; // Alignment: 13 -// Size: 0x510 +// Size: 0x550 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x220 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x360 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x4a0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x520 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad0524[0xc]; // 0x524 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x530 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x534 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x535 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x536 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x537 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x538 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x53c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x540 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x544 }; // Alignment: 11 -// Size: 0x780 +// Size: 0x7c0 class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 + CParticleTransformInput m_TransformEnd; // 0x768 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 + ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c + bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d + bool m_bAdditive; // 0x7bd // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x7be }; // Alignment: 9 -// Size: 0x910 +// Size: 0x960 class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x214 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x360 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x948 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x94c // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x94d private: - [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 + [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x950 }; // Alignment: 33 -// Size: 0x740 +// Size: 0x760 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4cc]; // 0x214 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6e0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6e4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6e8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6ec // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6f0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6fc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x708 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x714 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x720 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x724 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x728 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x72c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x730 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x734 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x738 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x73c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x740 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x744 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x748 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x74c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x750 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x751 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x752 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x753 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x754 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x755 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x756 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x757 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x758 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x759 private: - [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a + [[maybe_unused]] uint8_t __pad075a[0x4]; // 0x75a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x75e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x75f }; // Alignment: 2 -// Size: 0x340 +// Size: 0x370 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x228 }; // Alignment: 5 -// Size: 0xd90 +// Size: 0xe00 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xdf0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdf8 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x210 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x214 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x218 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x21c // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x220 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x224 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x260 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x264 }; // Alignment: 10 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc + Vector m_vecOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + Vector m_vecOutputMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x218 + CParticleTransformInput m_TransformStart; // 0x238 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x268 + CParticleTransformInput m_TransformEnd; // 0x288 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x2d8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2dc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2dd }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: // No members available }; -// Alignment: 60 -// Size: 0x3a0 +// Alignment: 63 +// Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { public: @@ -28217,349 +28650,394 @@ public: // MPropertySuppressField int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 private: - [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c + [[maybe_unused]] uint8_t __pad017c[0x94]; // 0x17c public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x210 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x214 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x218 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x21c // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x228 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x234 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x238 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x23c + // MPropertyStartGroup "Named Values" + // MPropertyFriendlyName "Enable Named Values (EXPERIMENTAL)" + bool m_bEnableNamedValues; // 0x23d +private: + [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e +public: + // MPropertyFriendlyName "Domain Class" + // MPropertyAttributeChoiceName "particlefield_domain" + // MPropertyAutoRebuildOnChange + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlString m_NamedValueDomain; // 0x240 + // MPropertyFriendlyName "Variables" + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlVector< ParticleNamedValueSource_t > m_NamedValueLocals; // 0x248 // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d -private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 -public: + Color m_ConstantColor; // 0x260 // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x264 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x270 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x274 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x278 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x27c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x280 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x284 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 + int32_t m_nSnapshotControlPoint; // 0x288 private: - [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c public: - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x290 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x298 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x2a0 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x2a4 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x2b0 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x2b8 private: - [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c + [[maybe_unused]] uint8_t __pad02bc[0x4]; // 0x2bc public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x2c0 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x2c8 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x2d0 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x2d4 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x2d8 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x2dc // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2e0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2e4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2e8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ec // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2f0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2f4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2f8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2fc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x300 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x304 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x308 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d private: - [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce + [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x310 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x314 private: - [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 + [[maybe_unused]] uint8_t __pad0315[0x3]; // 0x315 public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x318 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x320 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x324 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 + [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 }; // Alignment: 8 -// Size: 0xab0 +// Size: 0xb10 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 + int32_t m_nMaterialControlPoint; // 0x260 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 + MaterialProxyType_t m_nProxyType; // 0x264 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x268 // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x280 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x288 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 + CParticleCollectionVecInput m_vecColorScale; // 0x3c8 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 + CPerParticleFloatInput m_flAlpha; // 0x9b0 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + ParticleColorBlendType_t m_nColorBlendType; // 0xaf0 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x22c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x230 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 + float m_flInterpRate; // 0x234 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 + ParticleSetMethod_t m_nSetMethod; // 0x238 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x360 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x220 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x810 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomYaw : public CGeneralRandomRotation { public: // No members available }; +// Alignment: 3 +// Size: 0x10 +struct ParticleNamedValueSource_t +{ +public: + CUtlString m_Name; // 0x0 + // MPropertyAttributeChoiceName "particlefield_namedvaluetype" + PulseValueType_t m_Type; // 0x8 + bool m_IsPublic; // 0xc +}; + // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x940 +class C_OP_DragRelativeToPlane : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "dampening" + CParticleCollectionFloatInput m_flDragAtPlane; // 0x210 + // MPropertyFriendlyName "plane normal" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecPlaneNormal; // 0x350 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x938 +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Outflow_StringSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x58 +}; + +// Alignment: 3 +// Size: 0x220 class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 + float m_flOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + float m_flLerpTime; // 0x218 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x218 }; // Alignment: 8 -// Size: 0x260 +// Size: 0x280 class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x278 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x27c }; // Alignment: 8 -// Size: 0x4a0 +// Size: 0x4d0 class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x230 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x370 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x37c // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x388 }; // Alignment: 32 @@ -28617,30 +29095,30 @@ public: }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x210 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x230 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -28648,435 +29126,668 @@ public: }; // Alignment: 8 -// Size: 0x230 +// Size: 0x250 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x210 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x214 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x218 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x21c // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x220 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x22c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x238 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x244 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 }; // Alignment: 8 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 private: - [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 + [[maybe_unused]] uint8_t __pad0228[0x28]; // 0x228 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x210 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x214 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x218 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x21c // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x224 }; // Alignment: 11 -// Size: 0x3f0 +// Size: 0x410 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x220 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x224 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x230 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x370 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x374 // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x378 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x35c + char m_CollisionGroupName[128]; // 0x384 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x404 // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x408 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x409 }; // Alignment: 4 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x260 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x264 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x268 private: - [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x270 }; // Alignment: 15 -// Size: 0x980 +// Size: 0x9c0 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x260 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x264 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x268 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x26c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x270 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x274 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x278 private: - [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x280 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x3c0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x3c4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3c8 private: - [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 + [[maybe_unused]] uint8_t __pad03c9[0x7]; // 0x3c9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x9b8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9bc }; // Alignment: 15 -// Size: 0x5e0 +// Size: 0x620 class C_OP_OscillateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 + Vector m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc + Vector m_RateMax; // 0x21c // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 + Vector m_FrequencyMin; // 0x228 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 + Vector m_FrequencyMax; // 0x234 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x224 + bool m_bProportional; // 0x244 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x225 + bool m_bProportionalOp; // 0x245 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 + bool m_bOffset; // 0x246 private: - [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x228 + float m_flStartTime_min; // 0x248 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x22c + float m_flStartTime_max; // 0x24c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x230 + float m_flEndTime_min; // 0x250 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x234 + float m_flEndTime_max; // 0x254 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + CPerParticleFloatInput m_flOscMult; // 0x258 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + CPerParticleFloatInput m_flOscAdd; // 0x398 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4d8 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x730 class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x21c // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x220 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x6]; // 0x222 public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x228 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x368 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x4a8 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5e8 }; // Alignment: 8 -// Size: 0x360 +// Size: 0x390 class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x1]; // 0x221 public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x222 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x223 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x22c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x238 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x248 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x224 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x228 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x22c // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x230 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 61 +// Size: 0x2270 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4e0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionRendererVecInput m_vecColorScale; // 0x628 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xc10 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xc14 + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xc18 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc20 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd60 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xea0 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xea4 + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xea8 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xec0 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xec4 + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xec8 +private: + [[maybe_unused]] uint8_t __pad0ec9[0x7]; // 0xec9 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xed0 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1010 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x1150 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x1154 + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1158 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x115c + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x115d +private: + [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1160 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x12a0 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x13e0 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1520 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1524 + // MPropertyFriendlyName "Fog Scale" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1528 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1668 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1669 +private: + [[maybe_unused]] uint8_t __pad166a[0x2]; // 0x166a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x166c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1670 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1674 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1678 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x17b8 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x18f8 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1a38 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1a39 +private: + [[maybe_unused]] uint8_t __pad1a3a[0x6]; // 0x1a3a +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1a40 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1b80 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1b84 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1b88 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1b89 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x1b8a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1b8b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x1b8c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1c0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1c0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1c8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1c8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1c8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1c90 +private: + [[maybe_unused]] uint8_t __pad1c91[0x3]; // 0x1c91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1c94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1c98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1dd8 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x1f18 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x2058 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x205c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x2060 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x2061 +}; + +// Alignment: 8 +// Size: 0x2e0 +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "bias distance" + // MVectorIsCoordinate + Vector m_vecComponentScale; // 0x220 + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x22c + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x230 + // MPropertyFriendlyName "trace recycle tolerance" + float m_flTraceTolerance; // 0x234 + // MPropertyFriendlyName "maximum points to cache" + int32_t m_nMaxPlanes; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: + // MPropertyFriendlyName "trace collision group" + char m_CollisionGroupName[128]; // 0x240 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x2c0 +private: + [[maybe_unused]] uint8_t __pad02c4[0xc]; // 0x2c4 +public: + // MPropertyFriendlyName "collide with water" + bool m_bIncludeWater; // 0x2d0 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x220 +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum length" + float m_flMinDistance; // 0x210 + // MPropertyFriendlyName "maximum length" + float m_flMaxDistance; // 0x214 +}; + +// Alignment: 5 +// Size: 0x4b0 +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "num to emit" + // MPropertyAttributeRange "1 1000" + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x220 + // MPropertyFriendlyName "emission start time" + CParticleCollectionFloatInput m_flStartTime; // 0x360 + // MPropertyFriendlyName "emission scale from killed parent particles" + float m_flInitFromKilledParentParticles; // 0x4a0 + // MPropertyFriendlyName "maximum emission per frame" + int32_t m_nMaxEmittedPerFrame; // 0x4a4 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x4a8 }; // Alignment: 7 -// Size: 0x22e0 +// Size: 0x2510 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2270 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2274 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2278 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x227c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2280 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x23c0 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 -}; - -// Alignment: 8 -// Size: 0x2b0 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer -{ -public: - // MPropertyFriendlyName "bias distance" - // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 - // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 - // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 -private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c -public: - // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x210 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 -private: - [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 -public: - // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 -}; - -// Alignment: 2 -// Size: 0x200 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint -{ -public: - // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 - // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 -}; - -// Alignment: 5 -// Size: 0x470 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter -{ -public: - // MPropertyFriendlyName "num to emit" - // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 - // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 - // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 - // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 -}; - -// Alignment: 6 -// Size: 0x7e0 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 - // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 -private: - [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 -public: - // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c - // MPropertyFriendlyName "control point field for magnitude" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 -private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 -public: - // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 + bool m_bClampV; // 0x2500 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_Spin : public CGeneralSpin { public: @@ -29084,106 +29795,106 @@ public: }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreationNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x224 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x225 private: - [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x230 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x234 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x238 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x23c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x248 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderAsModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x260 private: - [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 + [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x27c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x280 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x281 private: - [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 + [[maybe_unused]] uint8_t __pad0282[0x2]; // 0x282 public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x284 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x288 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x28c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x290 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_NormalOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x22c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x238 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x23c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x23d }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -29191,348 +29902,371 @@ public: }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x220 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x230 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x234 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x238 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x220 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x239 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0210[0x4]; // 0x210 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 + float m_flFadeStart; // 0x214 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 + float m_flFadeEnd; // 0x218 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc + bool m_bCPPairs; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_InitFloatCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x220 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x221 }; // Alignment: 4 -// Size: 0x480 +// Size: 0x98 +class CPulseCell_Inflow_EntOutputHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceEntity; // 0x70 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceOutput; // 0x78 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_TargetInput; // 0x80 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ExpectedParamType; // 0x88 +}; + +// Alignment: 4 +// Size: 0x4b0 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x360 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x364 // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x368 }; // Alignment: 4 -// Size: 0x900 +// Size: 0x950 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x218 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x358 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x290 class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x280 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x28c }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe70 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xdf8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdfc // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xe00 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x22c }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + CPerParticleVecInput m_vecSamplePosition; // 0x210 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 + CPerParticleVecInput m_vecScale; // 0x7f8 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 + bool m_bSampleWind; // 0xde0 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 + bool m_bSampleWater; // 0xde1 }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x368 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x4a8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5e8 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5ec }; // Alignment: 10 -// Size: 0xda0 +// Size: 0xe10 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x808 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xdf0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xdf4 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xdf8 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xdfc // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xe00 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xe04 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xe08 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xe09 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x228 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x244 +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_WakeResume; // 0x48 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -29540,99 +30274,107 @@ public: }; // Alignment: 15 -// Size: 0xf80 +// Size: 0x1000 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x220 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x224 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x230 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x370 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x4b0 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5f0 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x730 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x870 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xaf0 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc30 private: - [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 + [[maybe_unused]] uint8_t __pad0c34[0x4]; // 0xc34 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xc38 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd78 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xeb8 }; // Alignment: 5 -// Size: 0xda0 +// Size: 0xe00 class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xdf8 }; // Alignment: 11 -// Size: 0x250 +// Size: 0x270 class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 + Vector m_vStartValue; // 0x210 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput1; // 0x21c // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 + float m_flInputScale1; // 0x220 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + ParticleAttributeIndex_t m_nFieldInput2; // 0x224 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 + float m_flInputScale2; // 0x228 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c + ControlPointReference_t m_nControlPointInput1; // 0x22c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 + float m_flControlPointScale1; // 0x240 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 + ControlPointReference_t m_nControlPointInput2; // 0x244 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 + float m_flControlPointScale2; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 + Vector m_vFinalOutputScale; // 0x260 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_HookName; // 0x70 }; // Alignment: 9 -// Size: 0xa18 +// Size: 0xa58 struct TextureGroup_t { public: @@ -29664,278 +30406,304 @@ private: public: // MPropertyFriendlyName "Blend Amount" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - CParticleCollectionFloatInput m_flTextureBlend; // 0x38 + CParticleCollectionRendererFloatInput m_flTextureBlend; // 0x38 // MPropertyFriendlyName "Texture Controls" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 + TextureControls_t m_TextureControls; // 0x178 +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_UnyieldResume; // 0x48 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x21c +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_DerivedDomain +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomRadius : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x220 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x224 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x228 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x224 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x228 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x239 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: // No members available }; +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleOrdered : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x220 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x224 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x228 }; // Alignment: 6 -// Size: 0x4d0 +// Size: 0x500 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x220 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x360 private: - [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c + [[maybe_unused]] uint8_t __pad0364[0x4]; // 0x364 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x368 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x3b8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4f8 }; // Alignment: 14 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x224 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x228 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x22c // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x230 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x234 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x238 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x23c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x240 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x244 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x248 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x24c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x24d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x24e }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x210 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x21c // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x228 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x224 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x228 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x22c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x230 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x21c // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x228 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x228 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x234 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x240 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x214 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x215 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 + float m_flInputBias; // 0x218 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc + int32_t m_nStartCP; // 0x21c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 + int32_t m_nEndCP; // 0x220 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 + int32_t m_nOffsetCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 + int32_t m_nOuputCP; // 0x228 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c + int32_t m_nInputCP; // 0x22c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 + bool m_bRadialCheck; // 0x230 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 + bool m_bScaleOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 + Vector m_vecOffset; // 0x234 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_Callback : public CParticleFunctionRenderer { public: @@ -29943,851 +30711,752 @@ public: }; // Alignment: 1 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x220 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement { public: // No members available }; +// Alignment: 0 +// Size: 0x108 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x210 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x21c // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x220 +}; + +// Alignment: 0 +// Size: 0x108 +class CParticleCollectionBindingInstance : public CBasePulseGraphInstance +{ +public: + // No members available }; // Alignment: 2 -// Size: 0x350 +// Size: 0x380 class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 +}; + +// Alignment: 2 +// Size: 0x68 +class CPulseCell_Outflow_TestRandomYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_No; // 0x58 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x238 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x244 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0245[0x3]; // 0x245 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 7 -// Size: 0x810 +// Size: 0x870 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x220 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x360 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x4a0 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x5e0 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x860 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x864 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x220 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x22c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x234 }; -// Alignment: 9 -// Size: 0x5b0 +// Alignment: 5 +// Size: 0x58 +class CPulse_RegisterInfo +{ +public: + PulseRuntimeRegisterIndex_t m_nReg; // 0x0 + CPulseValueFullType m_Type; // 0x8 + CKV3MemberNameWithStorage m_OriginName; // 0x18 + int32_t m_nWrittenByInstruction; // 0x50 + int32_t m_nLastReadByInstruction; // 0x54 +}; + +// Alignment: 10 +// Size: 0x600 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x4a0 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x5e0 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x5e4 // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5e8 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 public: + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x5ec // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5f0 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5f4 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5f5 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 + float m_flMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + float m_flMaxOutputValue; // 0x238 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x210 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x270 class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x224 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x228 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x229 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa + bool m_bSaveOffset; // 0x22a private: - [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x210 }; // Alignment: 13 -// Size: 0x810 +// Size: 0x850 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 + CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 + CParticleTransformInput m_TransformEnd; // 0x268 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 + CPerParticleFloatInput m_flInputMin; // 0x2b8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 + CPerParticleFloatInput m_flInputMax; // 0x3f8 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 + CPerParticleFloatInput m_flOutputMin; // 0x538 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 + CPerParticleFloatInput m_flOutputMax; // 0x678 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 + float m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c + float m_flLOSScale; // 0x7bc // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x780 + char m_CollisionGroupName[128]; // 0x7c0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 + ParticleTraceSet_t m_nTraceSet; // 0x840 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 + bool m_bLOS; // 0x844 private: - [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 + [[maybe_unused]] uint8_t __pad0845[0x3]; // 0x845 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 + ParticleSetMethod_t m_nSetMethod; // 0x848 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomTrailLength : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x220 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x224 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x228 }; // Alignment: 11 -// Size: 0xc10 +// Size: 0xc80 class C_INIT_RingWave : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x270 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x3b0 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4f0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x770 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x8b0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x9f0 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xb30 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc70 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc71 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9e0 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x224 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7c0 + char m_HitboxSetName[128]; // 0x810 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x890 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x891 private: - [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 + [[maybe_unused]] uint8_t __pad0892[0x2]; // 0x892 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x894 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x898 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x9d8 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x218 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderTonemapController : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x260 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x264 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x268 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x26c }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x228 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x368 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x4a8 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5e8 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomAlpha : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x224 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x8]; // 0x22c public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x234 }; // Alignment: 10 -// Size: 0xd40 +// Size: 0xda0 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x730 private: - [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 + [[maybe_unused]] uint8_t __pad0734[0x4]; // 0x734 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x738 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xcc0 + char m_HitboxSetName[128]; // 0xd20 }; // Alignment: 5 -// Size: 0x330 +// Size: 0x360 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x350 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x351 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x352 // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b + bool m_bParticles; // 0x353 }; -// Alignment: 47 -// Size: 0x20d0 -class C_OP_RenderModels : public CParticleFunctionRenderer +// Alignment: 3 +// Size: 0x48 +class CParticleModelInput { -public: - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 public: - // MPropertyFriendlyName "models" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 -private: - [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 -public: - // MPropertyFriendlyName "bodygroup field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 - // MPropertyFriendlyName "submodel field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "ignore normal" - // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c - // MPropertyFriendlyName "orient model z to normal" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d - // MPropertyFriendlyName "center mesh" - // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e -private: - [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f -public: - // MPropertyFriendlyName "model local offset" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 - // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 - // MPropertyStartGroup "Model Scale" - // MPropertyFriendlyName "ignore radius" - // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 -private: - [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 -public: - // MPropertyFriendlyName "model scale CP" - // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 - // MPropertyFriendlyName "model component scale" - // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 - // MPropertyFriendlyName "apply scales in local model space" - // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animated" - // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 -private: - [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 -public: - // MPropertyFriendlyName "animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 - // MPropertyFriendlyName "scale animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 - // MPropertyFriendlyName "force looping animations" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 - // MPropertyFriendlyName "reset animation frame on stop" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca - // MPropertyFriendlyName "set animation frame manually" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb - // MPropertyFriendlyName "animation rate scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation sequence field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 - // MPropertyFriendlyName "manual animation frame field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 - // MPropertyFriendlyName "activity override" - // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x13d8 - // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x14d8 -private: - [[maybe_unused]] uint8_t __pad14d9[0x7]; // 0x14d9 -public: - // MPropertyStartGroup "Material" - // MPropertyFriendlyName "material override" - // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x14e0 - // MPropertyFriendlyName "override translucent materials" - // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x14e8 -private: - [[maybe_unused]] uint8_t __pad14e9[0x3]; // 0x14e9 -public: - // MPropertyFriendlyName "skin number" - // MPropertySortPriority "600" - int32_t m_nSkin; // 0x14ec - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x14f0 -private: - [[maybe_unused]] uint8_t __pad14f4[0x4]; // 0x14f4 -public: - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x14f8 - // MPropertyStartGroup "Model Overrides" - // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1510 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1514 - // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1518 - // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1618 - // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1619 - // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x161a - // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x161b - // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x161c - // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x161d -private: - [[maybe_unused]] uint8_t __pad1721[0x7]; // 0x1721 -public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1728 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1860 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1998 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1ad0 -private: - [[maybe_unused]] uint8_t __pad1ad4[0x4]; // 0x1ad4 -public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1ad8 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x20a0 + ParticleModelType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + int32_t m_nControlPoint; // 0x40 }; -// Alignment: 2 -// Size: 0x300 +// Alignment: 3 +// Size: 0x430 class C_INIT_RandomModelSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "activity" - char m_ActivityName[256]; // 0x1f0 + // MPropertySuppressExpr "mod != dota" + char m_ActivityName[256]; // 0x220 + // MPropertyFriendlyName "sequence" + // MPropertySuppressExpr "mod == dota" + char m_SequenceName[256]; // 0x320 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x2f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x420 }; // Alignment: 6 -// Size: 0x340 +// Size: 0x370 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x210 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x214 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x218 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x220 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x360 }; // Alignment: 3 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x224 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x2a4 +}; + +// Alignment: 1 +// Size: 0x4 +struct CPulseCell_Outflow_CycleOrdered__InstanceState_t +{ +public: + int32_t m_nNextIndex; // 0x0 }; // Alignment: 20 -// Size: 0x3390 +// Size: 0x3620 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x2510 private: - [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 + [[maybe_unused]] uint8_t __pad2511[0x3]; // 0x2511 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x2514 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x2518 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x251c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x2520 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x2524 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x2528 private: - [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 + [[maybe_unused]] uint8_t __pad2529[0x3]; // 0x2529 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x252c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2530 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2534 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2538 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2678 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2c60 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2da0 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2ee0 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x34c8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3608 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x360c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3610 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3614 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: // No members available }; +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x68 +class CPulseCell_Value_Expression : public CPulseCell_BaseValue +{ +public: + // No members available +}; + // Alignment: 8 -// Size: 0x6f0 +// Size: 0x730 class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x220 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x22c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 +}; + +// Alignment: 3 +// Size: 0x60 +class CPulse_Chunk +{ +public: + CUtlLeanVector< PGDInstruction_t > m_Instructions; // 0x0 + CUtlLeanVector< CPulse_RegisterInfo > m_Registers; // 0x10 + CUtlLeanVector< PulseDocNodeID_t > m_InstructionEditorIDs; // 0x20 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -30795,277 +31464,285 @@ public: }; // Alignment: 27 -// Size: 0x26c0 +// Size: 0x2910 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2270 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x23b0 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c + int32_t m_nOrientationControlPoint; // 0x23b4 // MPropertyFriendlyName "enable yaw for particles aligned to normals" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 + bool m_bUseYawWithNormalAligned; // 0x23b8 private: - [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 + [[maybe_unused]] uint8_t __pad23b9[0x3]; // 0x23b9 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 + float m_flMinSize; // 0x23bc // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 + float m_flMaxSize; // 0x23c0 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c + float m_flAlphaAdjustWithSizeAdjust; // 0x23c4 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23c8 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2508 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 + float m_flStartFadeDot; // 0x2648 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 + float m_flEndFadeDot; // 0x264c // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 + bool m_bDistanceAlpha; // 0x2650 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 + bool m_bSoftEdges; // 0x2651 private: - [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a + [[maybe_unused]] uint8_t __pad2652[0x2]; // 0x2652 public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c + float m_flEdgeSoftnessStart; // 0x2654 // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 + float m_flEdgeSoftnessEnd; // 0x2658 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 + bool m_bOutline; // 0x265c // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 + Color m_OutlineColor; // 0x265d private: - [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 + [[maybe_unused]] uint8_t __pad2661[0x3]; // 0x2661 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c + int32_t m_nOutlineAlpha; // 0x2664 // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 + float m_flOutlineStart0; // 0x2668 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 + float m_flOutlineStart1; // 0x266c // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 + float m_flOutlineEnd0; // 0x2670 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c + float m_flOutlineEnd1; // 0x2674 // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 + ParticleLightingQuality_t m_nLightingMode; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x4]; // 0x267c public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2680 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x27c0 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 + bool m_bParticleShadows; // 0x2900 private: - [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 + [[maybe_unused]] uint8_t __pad2901[0x3]; // 0x2901 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc + float m_flShadowDensity; // 0x2904 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x228 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x810 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x814 }; // Alignment: 11 -// Size: 0x230 +// Size: 0x250 class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x210 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x214 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x218 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x21c // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x220 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x224 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x228 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x234 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x238 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x23c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x240 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x214 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x224 }; // Alignment: 7 -// Size: 0x850 +// Size: 0x890 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 private: - [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 + [[maybe_unused]] uint8_t __pad0297[0x1]; // 0x297 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x298 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x880 }; // Alignment: 7 -// Size: 0x1010 +// Size: 0x1090 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x228 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x368 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x4a8 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa90 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0x1078 private: - [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x107c }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x210 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x214 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x224 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeEntrypointIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement { public: @@ -31073,31 +31750,63 @@ public: }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x22c +}; + +// Alignment: 16 +// Size: 0x68 +struct PGDInstruction_t +{ +public: + PulseInstructionCode_t m_nCode; // 0x0 + PulseRuntimeVarIndex_t m_nVar; // 0x4 + PulseRuntimeRegisterIndex_t m_nReg0; // 0x8 + PulseRuntimeRegisterIndex_t m_nReg1; // 0xa + PulseRuntimeRegisterIndex_t m_nReg2; // 0xc +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: + PulseRuntimeInvokeIndex_t m_nInvokeBindingIndex; // 0x10 + PulseRuntimeChunkIndex_t m_nChunk; // 0x14 + int32_t m_nDestInstruction; // 0x18 + PulseRuntimeCallInfoIndex_t m_nCallInfoIndex; // 0x1c + CUtlSymbolLarge m_Arg0Name; // 0x20 + CUtlSymbolLarge m_Arg1Name; // 0x28 + bool m_bLiteralBool; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + int32_t m_nLiteralInt; // 0x34 + float m_flLiteralFloat; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CBufferString m_LiteralString; // 0x40 + Vector m_vLiteralVec3; // 0x50 }; // Alignment: 5 @@ -31121,160 +31830,160 @@ public: }; // Alignment: 10 -// Size: 0x1760 +// Size: 0x1810 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x220 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x22c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x238 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x820 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x960 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xf48 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1530 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1670 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x17b0 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1800 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x22c // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x238 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x23c }; // Alignment: 5 -// Size: 0x480 +// Size: 0x4b0 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x350 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x490 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x494 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x4a0 }; // Alignment: 8 -// Size: 0x2a0 +// Size: 0x2d0 class C_INIT_RtEnvCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x220 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x22c // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x238 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x239 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x23a // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20b + char m_RtEnvName[128]; // 0x23b private: - [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b + [[maybe_unused]] uint8_t __pad02bb[0x1]; // 0x2bb public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2bc // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2c0 }; // Alignment: 18 -// Size: 0x250 +// Size: 0x280 class C_INIT_StatusEffect : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x220 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x224 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x228 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x22c // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x230 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x234 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x238 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x23c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x240 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x244 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x248 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x24c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x250 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x254 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x258 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x25c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x260 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x264 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_OscillateScalarSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 + float m_Frequency; // 0x214 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 + ParticleAttributeIndex_t m_nField; // 0x218 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc + float m_flOscMult; // 0x21c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 + float m_flOscAdd; // 0x220 }; // Alignment: 2 @@ -31287,331 +31996,556 @@ public: }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x21c +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x21c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x224 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x228 }; // Alignment: 10 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderTreeShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 + float m_flPeakStrength; // 0x260 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 + float m_flRadius; // 0x268 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x26c // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 + float m_flShakeDuration; // 0x270 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 + float m_flTransitionTime; // 0x274 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 + float m_flTwistAmount; // 0x278 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c + float m_flRadialAmount; // 0x27c // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 + float m_flControlPointOrientationAmount; // 0x280 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 + int32_t m_nControlPointForLinearDirection; // 0x284 }; // Alignment: 12 -// Size: 0x360 +// Size: 0x390 class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x264 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x268 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x26c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x278 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x27c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x280 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x284 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char m_pszSoundName[256]; // 0x258 + char m_pszSoundName[256]; // 0x288 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x388 }; // Alignment: 19 -// Size: 0x240 +// Size: 0x270 class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x220 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x224 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x228 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x22c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x230 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x234 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x238 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x23c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x240 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x244 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x248 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x24c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x250 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x254 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x258 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x25c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x260 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x264 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x268 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainFindEntityByName : public CPulseCell_BaseValue +{ +public: + // No members available }; // Alignment: 30 -// Size: 0x2460 +// Size: 0x26a0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2270 private: - [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 + [[maybe_unused]] uint8_t __pad2271[0x3]; // 0x2271 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2274 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2278 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x227c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2280 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2284 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2288 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x228c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2290 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2294 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2298 private: - [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c + [[maybe_unused]] uint8_t __pad229c[0x4]; // 0x229c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x22a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x23e0 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2520 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2660 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x2664 private: - [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d + [[maybe_unused]] uint8_t __pad2665[0x3]; // 0x2665 public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2668 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x266c // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2670 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x2674 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x1]; // 0x267c public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x267d private: - [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 + [[maybe_unused]] uint8_t __pad267e[0x2]; // 0x267e public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2680 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x2684 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2688 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2689 private: - [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 + [[maybe_unused]] uint8_t __pad268a[0x2]; // 0x268a public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x268c // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2690 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x2694 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x2695 }; // Alignment: 5 -// Size: 0xca0 +// Size: 0xd00 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x5d0 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x710 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; -// Alignment: 7 -// Size: 0x220 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_PublicOutput : public CPulseCell_BaseFlow { public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 - // MPropertyFriendlyName "output CP component" + PulseRuntimeOutputIndex_t m_OutputIndex; // 0x48 +}; + +// Alignment: 6 +// Size: 0x820 +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point input" + int32_t m_nCPInput; // 0x220 + // MPropertyFriendlyName "control point number to set velocity" + int32_t m_nCPOutputVel; // 0x224 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 +public: + // MPropertyFriendlyName "control point number to set magnitude" + int32_t m_nCPOutputMag; // 0x22c + // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + int32_t m_nCPField; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: + // MPropertyFriendlyName "comparison velocity" + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x238 +}; + +// Alignment: 48 +// Size: 0x22e0 +class C_OP_RenderModels : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x260 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x261 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x262 + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x263 +private: + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 +public: + // MPropertyFriendlyName "models" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "775" + CUtlVector< ModelReference_t > m_ModelList; // 0x268 +private: + [[maybe_unused]] uint8_t __pad0280[0x4]; // 0x280 +public: + // MPropertyFriendlyName "bodygroup field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nBodyGroupField; // 0x284 + // MPropertyFriendlyName "submodel field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nSubModelField; // 0x288 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "ignore normal" + // MPropertySortPriority "750" + bool m_bIgnoreNormal; // 0x28c + // MPropertyFriendlyName "orient model z to normal" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_bIgnoreNormal" + bool m_bOrientZ; // 0x28d + // MPropertyFriendlyName "center mesh" + // MPropertySortPriority "750" + bool m_bCenterOffset; // 0x28e +private: + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f +public: + // MPropertyFriendlyName "model local offset" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalOffset; // 0x290 + // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalRotation; // 0x878 + // MPropertyStartGroup "Model Scale" + // MPropertyFriendlyName "ignore radius" + // MPropertySortPriority "700" + bool m_bIgnoreRadius; // 0xe60 +private: + [[maybe_unused]] uint8_t __pad0e61[0x3]; // 0xe61 +public: + // MPropertyFriendlyName "model scale CP" + // MPropertySortPriority "700" + int32_t m_nModelScaleCP; // 0xe64 + // MPropertyFriendlyName "model component scale" + // MPropertySortPriority "700" + CPerParticleVecInput m_vecComponentScale; // 0xe68 + // MPropertyFriendlyName "apply scales in local model space" + // MPropertySortPriority "700" + bool m_bLocalScale; // 0x1450 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animated" + // MPropertySortPriority "500" + bool m_bAnimated; // 0x1451 +private: + [[maybe_unused]] uint8_t __pad1452[0x2]; // 0x1452 +public: + // MPropertyFriendlyName "animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + float m_flAnimationRate; // 0x1454 + // MPropertyFriendlyName "scale animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bScaleAnimationRate; // 0x1458 + // MPropertyFriendlyName "force looping animations" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bForceLoopingAnimation; // 0x1459 + // MPropertyFriendlyName "reset animation frame on stop" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bResetAnimOnStop; // 0x145a + // MPropertyFriendlyName "set animation frame manually" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bManualAnimFrame; // 0x145b + // MPropertyFriendlyName "animation rate scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x145c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation sequence field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + ParticleAttributeIndex_t m_nAnimationField; // 0x1460 + // MPropertyFriendlyName "manual animation frame field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" + ParticleAttributeIndex_t m_nManualFrameField; // 0x1464 + // MPropertyFriendlyName "activity override" + // MPropertySuppressExpr "mod != dota" + // MPropertySortPriority "500" + char m_ActivityName[256]; // 0x1468 + // MPropertyFriendlyName "sequence override" + // MPropertySuppressExpr "mod == dota" + // MPropertySortPriority "500" + char m_SequenceName[256]; // 0x1568 + // MPropertyFriendlyName "Enable Cloth Simulation" + bool m_bEnableClothSimulation; // 0x1668 +private: + [[maybe_unused]] uint8_t __pad1669[0x7]; // 0x1669 +public: + // MPropertyStartGroup "Material" + // MPropertyFriendlyName "material override" + // MPropertySortPriority "600" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1670 + // MPropertyFriendlyName "override translucent materials" + // MPropertySortPriority "600" + bool m_bOverrideTranslucentMaterials; // 0x1678 +private: + [[maybe_unused]] uint8_t __pad1679[0x3]; // 0x1679 +public: + // MPropertyFriendlyName "skin number" + // MPropertySortPriority "600" + int32_t m_nSkin; // 0x167c + // MPropertyFriendlyName "skin override CP" + // MPropertySortPriority "600" + int32_t m_nSkinCP; // 0x1680 +private: + [[maybe_unused]] uint8_t __pad1684[0x4]; // 0x1684 +public: + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1688 + // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "input model" + CParticleModelInput m_modelInput; // 0x16a0 + // MPropertyFriendlyName "model LOD" + int32_t m_nLOD; // 0x16e8 + // MPropertyFriendlyName "model override economy loadout slot type" + char m_EconSlotName[256]; // 0x16ec + // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" + bool m_bOriginalModel; // 0x17ec + // MPropertyFriendlyName "suppress tinting of the model" + bool m_bSuppressTint; // 0x17ed + // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" + bool m_bUseRawMeshGroup; // 0x17ee + // MPropertyFriendlyName "disable shadows" + bool m_bDisableShadows; // 0x17ef + // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" + bool m_bForceDrawInterlevedWithSiblings; // 0x17f0 + // MPropertyFriendlyName "render attribute" + char m_szRenderAttribute[260]; // 0x17f1 +private: + [[maybe_unused]] uint8_t __pad18f5[0x3]; // 0x18f5 +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x18f8 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x1a38 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRollScale; // 0x1b78 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1cb8 +private: + [[maybe_unused]] uint8_t __pad1cbc[0x4]; // 0x1cbc +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x1cc0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x22a8 }; // Alignment: 1 @@ -31623,105 +32557,105 @@ public: }; // Alignment: 1 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x23c }; // Alignment: 16 -// Size: 0x840 +// Size: 0x890 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x260 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x261 private: - [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x268 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x26c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x270 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x85c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x860 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x864 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x868 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x86c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x870 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x874 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x878 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x880 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x210 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x211 }; // Alignment: 2 @@ -31890,16 +32824,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x20 -class CJiggleBones -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 -public: - // No members available -}; - // Alignment: 1 // Size: 0x4 struct ModelConfigHandle_t @@ -31934,17 +32858,6 @@ public: static GameTick_t &Get_Zero(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("GameTick_t")->m_static_fields[0]->m_instance);}; }; -// Alignment: 4 -// Size: 0x10 -struct WheeledPhysicsVehicleLookSteeringData_t -{ -public: - float m_flLowSpeedKPHForSensitivity; // 0x0 - float m_flHighSpeedKPHForSensitivity; // 0x4 - float m_flSensitivityAtLowSpeed; // 0x8 - float m_flSensitivityAtHighSpeed; // 0xc -}; - // Alignment: 1 // Size: 0x4 struct PingWheelMessageID_t @@ -32073,46 +32986,6 @@ public: DOTAProjectileAttachment_t m_iCustomProjectileAttachment; // 0xc4 }; -// Alignment: 33 -// Size: 0x74 -struct TimedHeroStats_t -{ -public: - uint32_t m_nTime; // 0x0 - uint32_t m_nNetWorth; // 0x4 - uint16_t m_nXP; // 0x8 - uint16_t m_nKills; // 0xa - uint16_t m_nDeaths; // 0xc - uint16_t m_nAssists; // 0xe - uint16_t m_nLastHits; // 0x10 - uint16_t m_nDenies; // 0x12 - uint16_t m_nObserverWardsDestroyed; // 0x14 - uint16_t m_nBountyRuneGold; // 0x16 - uint32_t m_nRangeCreepUpgradeGold; // 0x18 - uint32_t m_nReliableGoldEarned; // 0x1c - uint32_t m_nGoldLossPrevented; // 0x20 - uint32_t m_nHeroKillGold; // 0x24 - uint32_t m_nCreepKillGold; // 0x28 - uint32_t m_nBuildingGold; // 0x2c - uint32_t m_nOtherGold; // 0x30 - uint32_t m_nComebackGold; // 0x34 - uint32_t m_nExperimentalGold; // 0x38 - uint32_t m_nExperimental2Gold; // 0x3c - uint32_t m_nTPScrollsPurchased; // 0x40 - uint32_t m_nCreepDenyGold; // 0x44 - uint32_t m_nNeutralGold; // 0x48 - uint32_t m_nCourierGold; // 0x4c - uint32_t m_nRoshanGold; // 0x50 - uint32_t m_nIncomeGold; // 0x54 - uint32_t m_nCustomStats; // 0x58 - uint32_t m_unItemValue; // 0x5c - uint32_t m_unSupportGoldSpent; // 0x60 - uint32_t m_unWardsPlaced; // 0x64 - uint32_t m_unCampsStacked; // 0x68 - uint32_t m_unTripleKills; // 0x6c - uint32_t m_unRampages; // 0x70 -}; - // Alignment: 1 // Size: 0x20 class CInButtonState @@ -32327,23 +33200,6 @@ public: ParticleIndex_t nFXAmbientIndex; // 0x1c }; -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleDrivetrainData_t -{ -public: - // MPropertyDescription "Scale on the torque at low wheelspeeds, to help the wheels get unstuck from obstacles" - float m_flDriveTorqueScaleAtLowSpinAngVel; // 0x0 - // MPropertyDescription "Spin angular velocity above which DriveTorqueScaleAtLowSpinAngVel is fully disabled" - float m_flLowSpinAngVelThreshold; // 0x4 - // MPropertyDescription "Drivetrain-limited top speed in kilometers per hour (not incorporating drag or other losses)" - float m_flDrivetrainLimitedTopSpeedKPH; // 0x8 - // MPropertyDescription "Drivetrain-limited top speed in kilometers per hour when the car is in reverse (not incorporating drag or other losses)" - float m_flDrivetrainLimitedTopSpeedReverseKPH; // 0xc - // MPropertyDescription "Scale on the strength of the traction contol effect (0 to 1)" - float m_flTractionControlScale; // 0x10 -}; - // Alignment: 1 // Size: 0x1 struct HeroPersona_t @@ -32487,6 +33343,14 @@ public: RotationVector m_angularSave; // 0x30 }; +// Alignment: 1 +// Size: 0x4 +struct AnimationUpdateListHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + // Alignment: 3 // Size: 0x20 class ResponseParams @@ -32645,31 +33509,18 @@ public: uint8_t m_Value; // 0x0 }; -// Alignment: 8 -// Size: 0x40 -struct WheeledPhysicsVehicleAeroData_t +// Alignment: 0 +// Size: 0x8 +class ISkeletonAnimationController { +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: - // MPropertyDescription "Decays chassis linear velocity exponentially. Overrides the linear damping value from the model." - float m_flLinearDamping; // 0x0 - // MPropertyDescription "Decays chassis angular velocity exponentially. Overrides the angular damping value from the model." - float m_flAngularDamping; // 0x4 - // MPropertyDescription "Linear drag scale along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Multiplied by squared velocity along that axis to get the drag force." - Vector m_vLinearDragParams; // 0x8 - // MPropertyDescription "Angular drag scale about each axis (X: Roll, Y: Pitch, Z: Yaw). Multiplied by squared angular velocity (deg / sec) along that axis to get the drag torque." - Vector m_vAngularDragParams; // 0x14 - // MPropertyDescription "Front downforce scale from squared velocity along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Negative values generate lift." - Vector m_vFrontDownforceParams; // 0x20 - // MPropertyDescription "Rear downforce scale from squared velocity along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Negative values generate lift." - Vector m_vRearDownforceParams; // 0x2c - // MPropertyDescription "How far away from the center of mass is the linear drag applied, as a fraction of the maximum extent in the front (positive) or rear (negative) direction?" - float m_flLinearDragLeverAsFractionOfExtent; // 0x38 - // MPropertyDescription "How far away from the center of mass are the downforce forces applied, as a fraction of the maximum extent in that direction?" - float m_flDownforceLeverAsFractionOfExtent; // 0x3c + // No members available }; -// Alignment: 9 -// Size: 0x9 +// Alignment: 10 +// Size: 0xa struct HullFlags_t { public: @@ -32682,6 +33533,7 @@ public: bool m_bHull_Large; // 0x6 bool m_bHull_LargeCentered; // 0x7 bool m_bHull_MediumTall; // 0x8 + bool m_bHull_Small; // 0x9 }; // Alignment: 4 @@ -32835,32 +33687,6 @@ public: bool bPurchased; // 0x10 }; -// Alignment: 6 -// Size: 0x68 -struct BaseVehicleAllowedPassenger_t -{ -public: - // MPropertyDescription "The subclass of the allowed passenger" - CSubclassNameGeneric m_sAllowedSubclass; // 0x0 - // MPropertyDescription "The pawn subclass to create to control the vehicle (player passengers only)" - CSubclassNameGeneric m_sPawnSubclassToCreate; // 0x10 - // MPropertyDescription "Attachment name to attached the spawned pawn subclass to" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sPawnAttachmentName; // 0x20 - // MPropertyFriendlyName "Vehicle Entry Animgraph Parameter" - // MPropertyDescription "The animgraph parameter that is set on the vehicle to animate the passenger getting in." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamEnter; // 0x28 - // MPropertyFriendlyName "Vehicle Entry Animgraph Finish Tag" - // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Entry Animgraph Parameter' step." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagEnter; // 0x48 - // MPropertyGroupName "Animation" - CUtlVector< BaseVehiclePotentialExitAnim_t > m_vecExitAnimations; // 0x50 -}; - // Alignment: 17 // Size: 0x60 class CSceneEventInfo @@ -33220,16 +34046,6 @@ public: Vector m_vWsKillOrigin; // 0x14 }; -// Alignment: 0 -// Size: 0x8 -class IContextualQuery -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // No members available -}; - // Alignment: 2 // Size: 0x14 class CRandStopwatch : public CStopwatchBase @@ -33239,52 +34055,6 @@ public: float m_maxInterval; // 0x10 }; -// Alignment: 20 -// Size: 0x5c -struct WheeledPhysicsVehicleControlsData_t -{ -public: - // MPropertyDescription "Rate at which the throttle input increases when the user is pressing a throttle button" - float m_flThrottleRiseRate; // 0x0 - // MPropertyDescription "Rate at which the throttle input decreases when the user is not pressing a throttle button" - float m_flThrottleFallRate; // 0x4 - // MPropertyDescription "Rate at which the brake input increases when the user is pressing the brake button" - float m_flBrakeRiseRate; // 0x8 - // MPropertyDescription "Rate at which the brake input decreases when the user is not pressing the brake button" - float m_flBrakeFallRate; // 0xc - // MPropertyDescription "The in-game throttle / brake input must reach this value before we start to accelerate / brake" - float m_flThrottleBrakeDeadzone; // 0x10 - // MPropertyDescription "Rate at which the handbrake input increases when the user is pressing the brake button" - float m_flHandbrakeRiseRate; // 0x14 - // MPropertyDescription "Rate at which the handbrake input decreases when the user is not pressing the brake button" - float m_flHandbrakeFallRate; // 0x18 - // MPropertyDescription "Rate at which the steering input increases when the user is pressing the left or right steering button" - float m_flSteeringRiseRate; // 0x1c - // MPropertyDescription "Rate at which the steering input decreases when the user is not pressing a steering button" - float m_flSteeringFallRate; // 0x20 - // MPropertyDescription "The in-game steering input must reach this value before we start to steer. (Helps the user drive straight forward/backward on a gamepad) " - float m_flSteeringDeadzone; // 0x24 - // MPropertyDescription "If we're below this speed and we're holding down the brake button, we'll switch to reverse" - float m_flMaxSpeedToEnterReverseKPH; // 0x28 - // MPropertyDescription "If we're below this speed and not pushing any controls, we'll automatically apply the brake" - float m_flMaxSpeedToAutoBrakeKPH; // 0x2c - // MPropertyDescription "Max steering range at low speed" - float m_flSteeringRangeAtLowSpeed; // 0x30 - // MPropertyDescription "Max steering range at high speed" - float m_flSteeringRangeAtHighSpeed; // 0x34 - // MPropertyDescription "Fraction of top speed below which we use the full steering range (between the low and high speed thresholds, we blend the range)" - float m_flLowSpeedFractionForSteeringRangeScale; // 0x38 - // MPropertyDescription "Fraction of top speed above which we use the limited steering range (between the low and high speed thresholds, we blend the range) " - float m_flHighSpeedFractionForSteeringRangeScale; // 0x3c - // MPropertyDescription "Scale on the steering rise and fall rates at high speeds" - float m_flSteeringRateScaleAtHighSpeed; // 0x40 - // MPropertyDescription "Fraction of top speed below which we use the base steering rise/fall rates (between the low and high speed thresholds, we blend the rates)" - float m_flLowSpeedFractionForSteeringRateScale; // 0x44 - // MPropertyDescription "Fraction of top speed above which we use the scaled steering rise/fall rates (between the low and high speed thresholds, we blend the rates) " - float m_flHighSpeedFractionForSteeringRateScale; // 0x48 - WheeledPhysicsVehicleLookSteeringData_t m_LookSteering; // 0x4c -}; - // Alignment: 4 // Size: 0x28 struct ItemDropData_t @@ -33333,6 +34103,15 @@ public: uint32_t m_Value; // 0x0 }; +// Alignment: 2 +// Size: 0x8 +class sPartingShotTemporarySoulDef +{ +public: + CHandle< CBaseEntity > hHeroOwner; // 0x0 + CHandle< CBaseEntity > hTemporarySoulClone; // 0x4 +}; + // Alignment: 28 // Size: 0xc0 class CBaseAchievement @@ -33430,8 +34209,8 @@ public: int32_t m_nForceBone; // 0xc }; -// Alignment: 84 -// Size: 0x228 +// Alignment: 86 +// Size: 0x248 struct DOTAAbilityDefinition_t { public: @@ -33454,57 +34233,62 @@ public: int32_t m_iAbilityImmunityType; // 0x60 int32_t m_iAbilityDispellableType; // 0x64 int32_t m_iFightRecapLevel; // 0x68 - item_definition_index_t m_iAssociatedConsumableItemDef; // 0x6c - uint32_t m_nRequiredEffectsMask; // 0x70 - int32_t m_iAssociatedEventID; // 0x74 - int32_t m_iMaxLevel; // 0x78 - int32_t m_iItemBaseLevel; // 0x7c - float m_flItemLevelByGameTime; // 0x80 - int32_t m_iItemCost; // 0x84 - int32_t m_iItemInitialCharges; // 0x88 - int32_t m_iItemNeutralTierIndex; // 0x8c - int32_t m_iItemStockMax; // 0x90 - float m_fItemStockTime; // 0x94 - int32* m_pItemShopTagKeys; // 0x98 - AbilityID_t m_nRecipeResultAbilityID; // 0xa0 + int32_t m_iTokenTier; // 0x6c + item_definition_index_t m_iAssociatedConsumableItemDef; // 0x70 + uint32_t m_nRequiredEffectsMask; // 0x74 + int32_t m_iAssociatedEventID; // 0x78 + int32_t m_iMaxLevel; // 0x7c + int32_t m_iItemBaseLevel; // 0x80 + float m_flItemLevelByGameTime; // 0x84 + int32_t m_iItemCost; // 0x88 + int32_t m_iItemInitialCharges; // 0x8c + int32_t m_iItemNeutralTierIndex; // 0x90 + int32_t m_iItemStockMax; // 0x94 + float m_fItemStockTime; // 0x98 private: - [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c public: - CUtlVector< AbilityID_t > m_vecItemCombinesInto; // 0xa8 - CUtlVector< ItemRecipe_t > m_vecItemRecipes; // 0xc0 - int32_t m_nUpgradeGoal; // 0xd8 - ItemQuality_t m_ItemQuality; // 0xdc - float m_flModifierValue; // 0xe0 - float m_flModifierValueBonus; // 0xe4 - CUtlVector< CUtlString > m_InvalidHeroes; // 0xe8 + int32* m_pItemShopTagKeys; // 0xa0 + AbilityID_t m_nRecipeResultAbilityID; // 0xa8 private: - [[maybe_unused]] uint8_t __pad0100[0xb4]; // 0x100 + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: - bool m_bHasScepterUpgrade; // 0x1b4 - bool m_bHasShardUpgrade; // 0x1b5 - bool m_bSharedWithTeammates; // 0x1b6 + CUtlVector< AbilityID_t > m_vecItemCombinesInto; // 0xb0 + CUtlVector< ItemRecipe_t > m_vecItemRecipes; // 0xc8 + int32_t m_nUpgradeGoal; // 0xe0 + ItemQuality_t m_ItemQuality; // 0xe4 + float m_flModifierValue; // 0xe8 + float m_flModifierValueBonus; // 0xec + CUtlVector< CUtlString > m_InvalidHeroes; // 0xf0 private: - [[maybe_unused]] uint8_t __pad01b7[0x1]; // 0x1b7 + [[maybe_unused]] uint8_t __pad0108[0xcc]; // 0x108 public: - int32_t m_nCastRangeBuffer; // 0x1b8 - int32_t m_nSpecialAbilities; // 0x1bc - DOTASpecialAbility_t* m_pSpecialAbilities; // 0x1c0 - CUtlVector< DOTAOutgoingBonus_t > m_OutgoingBonuses; // 0x1c8 - char* m_pModelName; // 0x1e0 - char* m_pModelAlternateName; // 0x1e8 - char* m_pEffectName; // 0x1f0 - char* m_pPingOverrideText; // 0x1f8 - char* m_pszRequiredCustomShopName; // 0x200 - char* m_pszLinkedScepterAbility; // 0x208 - char* m_pszLinkedShardAbility; // 0x210 - int32_t m_nKillToastOverride; // 0x218 - int32_t m_iLevelsBetweenUpgrades; // 0x21c - int32_t m_iRequiredLevel; // 0x220 + bool m_bHasScepterUpgrade; // 0x1d4 + bool m_bHasShardUpgrade; // 0x1d5 + bool m_bSharedWithTeammates; // 0x1d6 +private: + [[maybe_unused]] uint8_t __pad01d7[0x1]; // 0x1d7 +public: + int32_t m_nCastRangeBuffer; // 0x1d8 + int32_t m_nSpecialAbilities; // 0x1dc + DOTASpecialAbility_t* m_pSpecialAbilities; // 0x1e0 + CUtlVector< DOTAOutgoingBonus_t > m_OutgoingBonuses; // 0x1e8 + char* m_pModelName; // 0x200 + char* m_pModelAlternateName; // 0x208 + char* m_pEffectName; // 0x210 + char* m_pPingOverrideText; // 0x218 + char* m_pszRequiredCustomShopName; // 0x220 + char* m_pszLinkedScepterAbility; // 0x228 + char* m_pszLinkedShardAbility; // 0x230 + int32_t m_nKillToastOverride; // 0x238 + int32_t m_iLevelsBetweenUpgrades; // 0x23c + int32_t m_iRequiredLevel; // 0x240 struct { uint8_t m_bIsItem: 1; uint8_t m_bItemIsRecipe: 1; uint8_t m_bItemIsRecipeGenerated: 1; + uint8_t m_bItemRecipeConsumesCharges: 1; uint8_t m_bItemAvailableAtSecretShop: 1; uint8_t m_bItemAvailableAtGlobalShop: 1; uint8_t m_bItemAvailableAtSideShop: 1; @@ -33530,8 +34314,8 @@ public: uint8_t m_bHasCastAnimation: 1; uint8_t m_bItemHasPassive: 1; uint8_t m_bDisplayOverheadAlertOnReceived: 1; - uint8_t __pad6: 4; - }; // 32 bits + uint8_t __pad6: 5; + }; // 34 bits }; // Alignment: 2 @@ -33545,23 +34329,6 @@ public: CHandle< CBaseEntity > m_hAbility; // 0x14 }; -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleCameraData_t -{ -public: - // MPropertyDescription "There must be at least this much difference between the current and desired camera pitch angle before we start to adjust the camera." - float m_flPitchDeadzone; // 0x0 - // MPropertyDescription "If the desired camera pitch is more upward than the current pitch, we'll wait this long before we start to adjust the camera." - float m_flTimeBeforeResolvingUpwardPitchViolation; // 0x4 - // MPropertyDescription "If the desired camera pitch is more downward than the current pitch, we'll wait this long before we start to adjust the camera." - float m_flTimeBeforeResolvingDownwardPitchViolation; // 0x8 - // MPropertyDescription "If the desired camera pitch is within the deadzone, we'll wait this long before restoring the camera to 0 pitch." - float m_flTimeBeforeRestoringCameraToZeroPitch; // 0xc - // MPropertyDescription "Time in which the camera tries to reach 63% of its target pitch angle" - float m_flTargetPitchSmoothingTimeConstant; // 0x10 -}; - // Alignment: 3 // Size: 0x20 class CNavLinkMovementVData @@ -33666,23 +34433,6 @@ public: CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x48 }; -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleTireModelData_t -{ -public: - // MPropertyDescription "Effective friction coefficient at the peak of the slip curve" - float m_flPeakEffectiveFrictionCoeff; // 0x0 - // MPropertyDescription "Friction coefficient at full sliding" - float m_flSlidingFrictionCoeff; // 0x4 - // MPropertyDescription "Slip value for peak force" - float m_flPeakSlip; // 0x8 - // MPropertyDescription "Slip value at the start of the full sliding region" - float m_flFullSlidingSlip; // 0xc - // MPropertyDescription "Initial slope of the linear portion of the slip curve (delta mu / delta slip)" - float m_flSlope; // 0x10 -}; - // Alignment: 3 // Size: 0x14 struct NianDamageTaken_t @@ -33792,56 +34542,6 @@ public: // No members available }; -// Alignment: 23 -// Size: 0xd8 -struct WheeledPhysicsVehiclePhysicsData_t -{ -public: - CUtlString m_sChassisBodyName; // 0x0 - // MPropertyDescription "How is the vehicle oriented relative to its root bone in ModelDoc?" - WheeledPhysicsVehicleChassisFrame_t m_nChassisFrame; // 0x8 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - CUtlVector< WheeledPhysicsVehicleWheelData_t > m_vecWheels; // 0x10 - CUtlVector< WheeledPhysicsVehicleAxleData_t > m_vecAxles; // 0x28 - WheeledPhysicsVehicleDrivetrainData_t m_Drivetrain; // 0x40 - WheeledPhysicsVehicleAeroData_t m_Aero; // 0x54 - // MPropertyDescription "Wheel angular velocity at which we start blending between stationary (Coulomb) friction and rolling tire friction" - float m_flRollingFrictionBlendMinWheelSpinAngVel; // 0x94 - // MPropertyDescription "Wheel angular velocity at which rolling tire friction fully blended in" - float m_flRollingFrictionBlendMaxWheelSpinAngVel; // 0x98 - // MPropertyDescription "Angle (from horizontal) at which a surface is considered "steep" and uses different tire behavior to make it harder to drive on" - float m_flSteepSurfaceAngle; // 0x9c - // MPropertyDescription "Friction scale to use on a steep surface" - float m_flSteepSurfaceFrictionScale; // 0xa0 - float m_flShallowSurfaceLongitudinalCollisionScale; // 0xa4 - float m_flShallowSurfaceLateralCollisionScale; // 0xa8 - float m_flSteepSurfaceLongitudinalCollisionScale; // 0xac - float m_flSteepSurfaceLateralCollisionScale; // 0xb0 - // MPropertyDescription "The maximum angle (in degrees) we allow the player to steer" - float m_flMaxSteeringAngle; // 0xb4 - // MPropertyDescription "Converts upward contact force on the vehicle chassis (which reduces available tire grip) into an artificial thrust force to help the vehicle get unstuck when high-centered." - float m_flHighCenteredThrustScale; // 0xb8 - // MPropertyDescription "Yaw damping applied to help straighten the vehicle out when steering straight" - float m_flStraighteningYawDampingScale; // 0xbc - // MPropertyDescription "Steering input at which the straightening yaw damping is fully faded out" - float m_flMaxSteeringInputForStraighteningYawDamping; // 0xc0 - // MPropertyDescription "Should gameplay code manually control the vehicle's roll angle?" - bool m_bStabilizeRoll; // 0xc4 - // MPropertyDescription "Should gameplay code manually control the vehicle's pitch angle?" - bool m_bStabilizePitch; // 0xc5 -private: - [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 -public: - // MPropertyDescription "Scale on the gravity force applied to the vehicle's bodies" - float m_flGravityScale; // 0xc8 - // MPropertyDescription "Angular damping applied to the wheels when the vehicle is unmanned. We want this to be nonzero so the wheels don't spin forever when the vehicle is flipped over" - float m_flUnmannedWheelAngularDamping; // 0xcc - // MPropertyDescription "Scale on the force of buoyancy and water drag" - float m_flBuoyancyFactor; // 0xd0 -}; - // Alignment: 0 // Size: 0x98 class CNavVolumeAll : public CNavVolumeVector @@ -33990,23 +34690,6 @@ public: CPanoramaImageName szIconImage; // 0x10 }; -// Alignment: 10 -// Size: 0x60 -class JiggleData -{ -public: - int32_t bone; // 0x0 - int32_t id; // 0x4 - float lastUpdate; // 0x8 - Vector basePos; // 0xc - Vector baseLastPos; // 0x18 - Vector baseVel; // 0x24 - Vector baseAccel; // 0x30 - Vector tipPos; // 0x3c - Vector tipVel; // 0x48 - Vector tipAccel; // 0x54 -}; - // Alignment: 3 // Size: 0x20 class SimpleConstraintSoundProfile @@ -34019,25 +34702,6 @@ public: float m_reversalSoundThresholds[3]; // 0x14 }; -// Alignment: 6 -// Size: 0x30 -struct WheeledPhysicsVehicleAxleData_t -{ -public: - // MPropertyDescription "Names of the physics bodies for the wheels associated with this axle" - CUtlVector< CUtlString > m_vecWheelNames; // 0x0 - // MPropertyDescription "Maximum drive torque (in Newton-meters) sent to this axle when the vehicle is moving forward" - float m_flMaxDriveTorqueNm; // 0x18 - // MPropertyDescription "Maximum drive torque (in Newton-meters) sent to this axle when the vehicle is in reverse" - float m_flMaxDriveTorqueReverseNm; // 0x1c - // MPropertyDescription "Maximum brake torque delivered to this axle" - float m_flMaxBrakeTorqueNm; // 0x20 - // MPropertyDescription "Maximum handbrake torque delivered to this axle" - float m_flMaxHandbrakeTorqueNm; // 0x24 - // MPropertyDescription "Is this axle steered?" - bool m_bIsSteered; // 0x28 -}; - // Alignment: 3 // Size: 0xc class sPendingTreeRemoval @@ -34149,33 +34813,6 @@ public: bool m_bResponseValid; // 0x238 }; -// Alignment: 10 -// Size: 0x48 -struct BaseVehicleRole_t -{ -public: - CUtlSymbolLarge m_sRoleName; // 0x0 - bool m_bIsNonDriverPassenger; // 0x8 -private: - [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 -public: - // MPropertyAttributeEditor "VDataModelHitboxSet( m_sModelName )" - CUtlString m_sEntryHitboxSetName; // 0x10 - // MPropertyGroupName "View" - float m_flCameraFOV; // 0x18 - // MPropertyGroupName "View" - float m_flHighSpeedFOVScale; // 0x1c - // MPropertyGroupName "View" - float m_flFractionOfTopSpeedForStandardFOV; // 0x20 - // MPropertyGroupName "View" - float m_flFractionOfTopSpeedForHighSpeedFOV; // 0x24 - // MPropertyGroupName "View" - float m_flCameraZNearOverride; // 0x28 - // MPropertyGroupName "View" - float m_flCameraZFarOverride; // 0x2c - CUtlVector< BaseVehicleAllowedPassenger_t > m_vecAllowedPassengers; // 0x30 -}; - // Alignment: 0 // Size: 0xd8 class CNavVolumeMarkupVolume : public CNavVolume @@ -34186,10 +34823,8 @@ public: // Alignment: 1 // Size: 0x10 -class CSkeletonAnimationController +class CSkeletonAnimationController : public ISkeletonAnimationController { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CSkeletonInstance* m_pSkeletonInstance; // 0x8 @@ -34370,8 +35005,8 @@ public: CUtlVector< BlessingPath_t > m_vecPaths; // 0x168 }; -// Alignment: 57 -// Size: 0x1c8 +// Alignment: 67 +// Size: 0x1d8 class CModifierParams { public: @@ -34435,15 +35070,28 @@ public: bool bIsSpellLifesteal; // 0x9f CEntityIndex pnMagicStickProcEntityIndices[64]; // 0xa0 bool bBloodstoneRegenApplied; // 0x1a0 + bool bShroudManaRestoreApplied; // 0x1a1 + bool bPhylacteryApplied; // 0x1a2 + bool bIgnoreNegativeValuesIfDebuffImmune; // 0x1a3 + bool bIgnorePositiveValuesIfDebuffImmune; // 0x1a4 + bool bIgnoreAllIfDebuffImmune; // 0x1a5 + bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x1a6 + bool bIgnoreLowerIfDebuffImmune; // 0x1a7 + float flIgnoreLowerIfDebuffImmune; // 0x1a8 + bool bIgnoreHigherIfDebuffImmune; // 0x1ac private: - [[maybe_unused]] uint8_t __pad01a1[0x7]; // 0x1a1 + [[maybe_unused]] uint8_t __pad01ad[0x3]; // 0x1ad public: - char* pszAbilitySpecialName; // 0x1a8 - int32_t nAbilitySpecialLevel; // 0x1b0 - CHandle< CBaseEntity > hattacker; // 0x1b4 - CHandle< CBaseEntity > htarget; // 0x1b8 - CHandle< CBaseEntity > hunit; // 0x1bc - CDOTA_Buff* pAddedBuff; // 0x1c0 + float flIgnoreHigherIfDebuffImmune; // 0x1b0 +private: + [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 +public: + char* pszAbilitySpecialName; // 0x1b8 + int32_t nAbilitySpecialLevel; // 0x1c0 + CHandle< CBaseEntity > hattacker; // 0x1c4 + CHandle< CBaseEntity > htarget; // 0x1c8 + CHandle< CBaseEntity > hunit; // 0x1cc + CDOTA_Buff* pAddedBuff; // 0x1d0 // Static fields: static CModifierParams &Get_s_Default(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CModifierParams")->m_static_fields[0]->m_instance);}; @@ -34457,21 +35105,6 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x38 -struct WheeledPhysicsVehicleWheelData_t -{ -public: - // MPropertyDescription "Name of the physics body for this wheel" - CUtlString m_sBodyName; // 0x0 - WheeledPhysicsVehicleTireModelData_t m_LateralTireParams; // 0x8 - WheeledPhysicsVehicleTireModelData_t m_LongitudinalTireParams; // 0x1c - // MPropertyDescription "Linear drag on the wheel body (scaled by velocity, not velocity squared)" - float m_flLinearDrag; // 0x30 - // MPropertyDescription "Angular drag on the wheel body (scaled by angular velocity, not ang vel squared)" - float m_flAngularDrag; // 0x34 -}; - // Alignment: 1 // Size: 0x8 struct MatchID_t @@ -34511,32 +35144,6 @@ public: CUtlString m_sEndTime; // 0x40 }; -// Alignment: 13 -// Size: 0x60 -struct VehiclePassengerInternalInfo_t -{ -public: - CUtlSymbolLarge m_sRoleName; // 0x0 - AttachmentHandle_t m_hAttachment; // 0x8 - VehiclePassengerState_t m_nState; // 0x9 -private: - [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa -public: - CHandle< CBaseCombatCharacter > m_hPassenger; // 0xc - CHandle< CBasePlayerPawn > m_hPassengerPawn; // 0x10 - CHandle< CBasePlayerWeapon > m_hPassengerWeapon; // 0x14 - CUtlStringToken m_nStateChangeFinishTag; // 0x18 - int32_t m_nAllowedPassengerIndex; // 0x1c - int32_t m_nExitAnimIndex; // 0x20 - bool m_bExitForced; // 0x24 -private: - [[maybe_unused]] uint8_t __pad0025[0xb]; // 0x25 -public: - CTransform m_xAbsExitLocation; // 0x30 - CHandle< CEntityBlocker > m_hExitBlocker; // 0x50 - GameTime_t m_flEntryTime; // 0x54 -}; - // Alignment: 4 // Size: 0xc8 struct SummaryTakeDamageInfo_t @@ -34584,7 +35191,7 @@ public: }; // Alignment: 0 -// Size: 0x28 +// Size: 0x20 class IIntention : public INextBotComponent { public: @@ -34610,6 +35217,19 @@ public: float m_flPhysicsForceDamage; // 0x10 }; +// Alignment: 3 +// Size: 0x30 +struct RegionTriggerBoxes_t +{ +public: + AABB_t regionBox; // 0x0 + Vector vRegionBoxOrigin; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString strRegionName; // 0x28 +}; + // Alignment: 17 // Size: 0x120 struct DOTASpecialAbility_t @@ -34870,7 +35490,7 @@ public: }; // Alignment: 34 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -34922,9 +35542,9 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x1060]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x10e0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x1130 + HSCRIPT m_hScriptScope; // 0x11b0 }; // Alignment: 9 @@ -35004,31 +35624,6 @@ public: uint8_t m_Value; // 0x0 }; -// Alignment: 5 -// Size: 0x38 -struct BaseVehiclePotentialExitAnim_t -{ -public: - // MPropertyDescription "Attachment name indicating where the player will exit" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sExitPointAttachmentName; // 0x0 - // MPropertyDescription "Escape exits have lower priority" - bool m_bIsEscapeExit; // 0x8 - // MPropertyDescription "Is this exit appropriate only if the vehicle is overturned?" - bool m_bIsOverturnedExit; // 0x9 -private: - [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa -public: - // MPropertyFriendlyName "Vehicle Exit Animgraph Parameter" - // MPropertyDescription "The animgraph parameter that is set on the vehicle to animate the passenger getting in." - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamExit; // 0x10 - // MPropertyFriendlyName "Vehicle Exit Animgraph Finish Tag" - // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Exit Animgraph Parameter' step." - // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagExit; // 0x30 -}; - // Alignment: 12 // Size: 0x60 struct MoodAnimationLayer_t @@ -35440,22 +36035,22 @@ public: }; // Alignment: 4 -// Size: 0xd80 +// Size: 0xdc0 class CBasePortraitData { private: - [[maybe_unused]] uint8_t __pad0000[0x3b0]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x3f0]; // 0x0 public: - CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3b0 - CUtlStringToken m_skin; // 0x3b8 + CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3f0 + CUtlStringToken m_skin; // 0x3f8 private: - [[maybe_unused]] uint8_t __pad03bc[0x9a0]; // 0x3bc + [[maybe_unused]] uint8_t __pad03fc[0x9a0]; // 0x3fc public: - bool m_bHasSetupView; // 0xd5c + bool m_bHasSetupView; // 0xd9c private: - [[maybe_unused]] uint8_t __pad0d5d[0x1b]; // 0xd5d + [[maybe_unused]] uint8_t __pad0d9d[0x1b]; // 0xd9d public: - float m_flRotation; // 0xd78 + float m_flRotation; // 0xdb8 }; // Alignment: 2 @@ -35616,12 +36211,12 @@ public: }; // Alignment: 2 -// Size: 0xdb0 +// Size: 0xdf0 class CPortraitData : public CBasePortraitData { public: - CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xd80 - CHandle< C_BaseEntity > m_hHero; // 0xd98 + CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xdc0 + CHandle< C_BaseEntity > m_hHero; // 0xdd8 }; // Alignment: 0 diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index 44df1fd0..a29518ad 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll -// Classes count: 474 +// Classes count: 476 // Enums count: 77 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -290,7 +290,7 @@ enum class IKTargetCoordinateSystem : uint32_t }; // Alignment: 4 -// Size: 0x24 +// Size: 0x25 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -301,34 +301,35 @@ enum class AnimValueSource : uint32_t ManualFacingHeading = 0x5, LookHeading = 0x6, LookPitch = 0x7, - Parameter = 0x8, - WayPointHeading = 0x9, - WayPointDistance = 0xa, - BoundaryRadius = 0xb, - TargetMoveHeading = 0xc, - TargetMoveSpeed = 0xd, - AccelerationHeading = 0xe, - AccelerationSpeed = 0xf, - SlopeHeading = 0x10, - SlopeAngle = 0x11, - SlopePitch = 0x12, - SlopeYaw = 0x13, - GoalDistance = 0x14, - AccelerationLeftRight = 0x15, - AccelerationFrontBack = 0x16, - RootMotionSpeed = 0x17, - RootMotionTurnSpeed = 0x18, - MoveHeadingRelativeToLookHeading = 0x19, - MaxMoveSpeed = 0x1a, - FingerCurl_Thumb = 0x1b, - FingerCurl_Index = 0x1c, - FingerCurl_Middle = 0x1d, - FingerCurl_Ring = 0x1e, - FingerCurl_Pinky = 0x1f, - FingerSplay_Thumb_Index = 0x20, - FingerSplay_Index_Middle = 0x21, - FingerSplay_Middle_Ring = 0x22, - FingerSplay_Ring_Pinky = 0x23, + LookDistance = 0x8, + Parameter = 0x9, + WayPointHeading = 0xa, + WayPointDistance = 0xb, + BoundaryRadius = 0xc, + TargetMoveHeading = 0xd, + TargetMoveSpeed = 0xe, + AccelerationHeading = 0xf, + AccelerationSpeed = 0x10, + SlopeHeading = 0x11, + SlopeAngle = 0x12, + SlopePitch = 0x13, + SlopeYaw = 0x14, + GoalDistance = 0x15, + AccelerationLeftRight = 0x16, + AccelerationFrontBack = 0x17, + RootMotionSpeed = 0x18, + RootMotionTurnSpeed = 0x19, + MoveHeadingRelativeToLookHeading = 0x1a, + MaxMoveSpeed = 0x1b, + FingerCurl_Thumb = 0x1c, + FingerCurl_Index = 0x1d, + FingerCurl_Middle = 0x1e, + FingerCurl_Ring = 0x1f, + FingerCurl_Pinky = 0x20, + FingerSplay_Thumb_Index = 0x21, + FingerSplay_Index_Middle = 0x22, + FingerSplay_Middle_Ring = 0x23, + FingerSplay_Ring_Pinky = 0x24, }; // Alignment: 4 @@ -368,7 +369,7 @@ enum class EAnimValueSource : uint32_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -376,40 +377,41 @@ enum class ControlValue : uint32_t ControlValue_FacingHeading = 0x2, ControlValue_LookHeading = 0x3, ControlValue_LookPitch = 0x4, - ControlValue_WayPointHeading = 0x5, - ControlValue_WayPointDistance = 0x6, - ControlValue_BoundaryRadius = 0x7, - ControlValue_TotalTranslation_SourceState = 0x8, - ControlValue_TotalTranslation_TargetState = 0x9, - ControlValue_RemainingTranslation_SourceState = 0xa, - ControlValue_RemainingTranslation_TargetState = 0xb, - ControlValue_MoveVsFacingDelta = 0xc, - ControlValue_SourceStateBlendWeight = 0xd, - ControlValue_TargetStateBlendWeight = 0xe, - ControlValue_TargetMoveHeading = 0xf, - ControlValue_TargetMoveSpeed = 0x10, - ControlValue_AccelerationHeading = 0x11, - ControlValue_AccelerationSpeed = 0x12, - ControlValue_SlopeHeading = 0x13, - ControlValue_SlopeAngle = 0x14, - ControlValue_SlopeYaw = 0x15, - ControlValue_SlopePitch = 0x16, - ControlValue_GoalDistance = 0x17, - ControlValue_AccelerationLeftRight = 0x18, - ControlValue_AccelerationFrontBack = 0x19, - ControlValue_RootMotionSpeed = 0x1a, - ControlValue_RootMotionTurnSpeed = 0x1b, - ControlValue_MoveHeadingRelativeToLookHeading = 0x1c, - ControlValue_FingerCurl_Thumb = 0x1d, - ControlValue_FingerCurl_Index = 0x1e, - ControlValue_FingerCurl_Middle = 0x1f, - ControlValue_FingerCurl_Ring = 0x20, - ControlValue_FingerCurl_Pinky = 0x21, - ControlValue_FingerSplay_Thumb_Index = 0x22, - ControlValue_FingerSplay_Index_Middle = 0x23, - ControlValue_FingerSplay_Middle_Ring = 0x24, - ControlValue_FingerSplay_Ring_Pinky = 0x25, - ControlValue_Count = 0x26, + ControlValue_LookDistance = 0x5, + ControlValue_WayPointHeading = 0x6, + ControlValue_WayPointDistance = 0x7, + ControlValue_BoundaryRadius = 0x8, + ControlValue_TotalTranslation_SourceState = 0x9, + ControlValue_TotalTranslation_TargetState = 0xa, + ControlValue_RemainingTranslation_SourceState = 0xb, + ControlValue_RemainingTranslation_TargetState = 0xc, + ControlValue_MoveVsFacingDelta = 0xd, + ControlValue_SourceStateBlendWeight = 0xe, + ControlValue_TargetStateBlendWeight = 0xf, + ControlValue_TargetMoveHeading = 0x10, + ControlValue_TargetMoveSpeed = 0x11, + ControlValue_AccelerationHeading = 0x12, + ControlValue_AccelerationSpeed = 0x13, + ControlValue_SlopeHeading = 0x14, + ControlValue_SlopeAngle = 0x15, + ControlValue_SlopeYaw = 0x16, + ControlValue_SlopePitch = 0x17, + ControlValue_GoalDistance = 0x18, + ControlValue_AccelerationLeftRight = 0x19, + ControlValue_AccelerationFrontBack = 0x1a, + ControlValue_RootMotionSpeed = 0x1b, + ControlValue_RootMotionTurnSpeed = 0x1c, + ControlValue_MoveHeadingRelativeToLookHeading = 0x1d, + ControlValue_FingerCurl_Thumb = 0x1e, + ControlValue_FingerCurl_Index = 0x1f, + ControlValue_FingerCurl_Middle = 0x20, + ControlValue_FingerCurl_Ring = 0x21, + ControlValue_FingerCurl_Pinky = 0x22, + ControlValue_FingerSplay_Thumb_Index = 0x23, + ControlValue_FingerSplay_Index_Middle = 0x24, + ControlValue_FingerSplay_Middle_Ring = 0x25, + ControlValue_FingerSplay_Ring_Pinky = 0x26, + ControlValue_Count = 0x27, ControlValue_Invalid = 0xff, }; @@ -1461,14 +1463,19 @@ public: CUtlVector< CUtlPair< CBufferString, float32 > > m_morphCtrlWeightArray; // 0x48 }; -// Alignment: 3 -// Size: 0x40 +// Alignment: 5 +// Size: 0x50 class CSeqScaleSet { public: CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + bool m_bRootOffset; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 +public: + Vector m_vRootOffset; // 0x14 + CUtlVector< int16 > m_nLocalBoneArray; // 0x20 + CUtlVector< float32 > m_flBoneScaleArray; // 0x38 }; // Alignment: 6 @@ -1699,67 +1706,69 @@ public: int32_t m_Value; // 0x0 }; -// Alignment: 1 -// Size: 0x10 +// Alignment: 3 +// Size: 0x40 class CAnimationGraphVisualizerPrimitiveBase { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + AnimNodeID m_OwningAnimNodePaths[11]; // 0xc + int32_t m_nOwningAnimNodePathCount; // 0x38 }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 + VectorAligned m_vWsPosition; // 0x40 + Color m_Color; // 0x50 private: - [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: - CUtlString m_Text; // 0x28 + CUtlString m_Text; // 0x58 }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 + VectorAligned m_vWsPosition; // 0x40 + float m_flRadius; // 0x50 + Color m_Color; // 0x54 }; // Alignment: 3 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x40 + VectorAligned m_vWsPositionEnd; // 0x50 + Color m_Color; // 0x60 }; // Alignment: 4 -// Size: 0x50 +// Size: 0x80 class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + VectorAligned m_vWsCenter; // 0x40 + VectorAligned m_vWsStart; // 0x50 + VectorAligned m_vWsEnd; // 0x60 + Color m_Color; // 0x70 }; // Alignment: 2 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase { public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x40 + float m_flAxisSize; // 0x60 }; // Alignment: 1 @@ -2251,6 +2260,17 @@ public: CUtlString m_sName; // 0x50 }; +// Alignment: 1 +// Size: 0x58 +class CCPPScriptComponent : public CAnimComponentBase +{ +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x40 +}; + // Alignment: 6 // Size: 0x28 class CDampedValueItem @@ -2344,7 +2364,7 @@ public: int32_t m_nServerLOD; // 0x38 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x60 class CLookComponent : public CAnimComponentBase { @@ -2363,11 +2383,13 @@ public: // MPropertyHideField AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDistanceID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookDirectionID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetID; // 0x58 + // MPropertyHideField + AnimParamID m_lookTargetWorldSpaceID; // 0x5c }; // Alignment: 2 @@ -5516,7 +5538,7 @@ public: CAnimParamHandle m_paramHandles[30]; // 0x83 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater { @@ -5526,10 +5548,11 @@ public: CAnimParamHandle m_hLookHeading; // 0x34 CAnimParamHandle m_hLookHeadingVelocity; // 0x36 CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookDistance; // 0x3a + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x3e + CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 + bool m_bNetworkLookTarget; // 0x42 }; // Alignment: 7 @@ -5699,7 +5722,7 @@ public: private: [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: - VectorAligned m_vFallbackHingeAxis; // 0x130 + VectorAligned m_vLsFallbackHingeAxis; // 0x130 int32_t m_nFixedBoneIndex; // 0x140 int32_t m_nMiddleBoneIndex; // 0x144 int32_t m_nEndBoneIndex; // 0x148 @@ -7314,7 +7337,7 @@ public: }; // Alignment: 3 -// Size: 0x1d8 +// Size: 0x1e0 class CRenderMesh { private: @@ -7802,6 +7825,15 @@ public: CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 }; +// Alignment: 1 +// Size: 0xb8 +class CCPPScriptComponentUpdater : public CAnimComponentUpdater +{ +public: + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x30 +}; + // Alignment: 1 // Size: 0x48 class CDampedValueComponentUpdater : public CAnimComponentUpdater diff --git a/sdk/client.hpp b/sdk/client.hpp index 00a985c0..21955b31 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: client.dll -// Classes count: 7475 +// Classes count: 7667 // Enums count: 61 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -1262,6 +1262,7 @@ struct C_EconItemView; struct ParticleIndex_t; struct CNetworkedSequenceOperation; struct C_CSequenceTransitioner2; +struct AnimationUpdateListHandle_t; struct C_BaseAnimatingController; struct C_BaseAnimatingOverlayController; struct C_DOTAGameManager; @@ -1293,15 +1294,11 @@ struct CEntityIOOutput; struct C_PointCamera; struct C_CommandContext; struct CSkillFloat; -struct WheeledPhysicsVehiclePhysicsData_t; -struct WheeledPhysicsVehicleControlsData_t; -struct WheeledPhysicsVehicleCameraData_t; struct CHitboxComponent; struct CGlowProperty; struct CNetworkViewOffsetVector; struct CClientAlphaProperty; struct C_RopeKeyframe::CPhysicsDelegate; -struct CBuoyancyHelper; struct CPointOffScreenIndicatorUi; struct C_PointClientUIWorldPanel; struct style_index_t; @@ -1309,8 +1306,8 @@ struct CAttributeList; struct C_DOTABaseAbility; struct C_DOTA_BaseNPC; struct CLightComponent; -struct PhysicsRagdollPose_t; struct CBaseAnimGraph; +struct PhysicsRagdollPose_t; struct CAttributeContainer; struct CPlayer_WeaponServices; struct CPlayer_ItemServices; @@ -1803,14 +1800,15 @@ public: static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; -// Alignment: 1 -// Size: 0x20 +// Alignment: 2 +// Size: 0x28 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 + float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 2 @@ -1941,7 +1939,7 @@ public: // No members available }; -// Alignment: 13 +// Alignment: 14 // Size: 0x1b8 class CPlayer_MovementServices : public CPlayerPawnComponent { @@ -1968,10 +1966,12 @@ public: // MNetworkMaxValue "2048.000000" // MNetworkEncodeFlags float m_flMaxspeed; // 0x190 - float m_flForwardMove; // 0x194 - float m_flLeftMove; // 0x198 - float m_flUpMove; // 0x19c - QAngle m_vecOldViewAngles; // 0x1a0 + // MNetworkEnable + float m_flForceSubtickMoveWhen; // 0x194 + float m_flForwardMove; // 0x198 + float m_flLeftMove; // 0x19c + float m_flUpMove; // 0x1a0 + QAngle m_vecOldViewAngles; // 0x1a4 }; // Alignment: 12 @@ -2167,8 +2167,8 @@ public: int32_t m_iPosition; // 0x30c }; -// Alignment: 8 -// Size: 0x240 +// Alignment: 7 +// Size: 0x230 class CModelState { private: @@ -2180,28 +2180,26 @@ public: // MNetworkDisable CUtlSymbolLarge m_ModelName; // 0xa8 private: - [[maybe_unused]] uint8_t __pad00b0[0x40]; // 0xb0 + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 public: // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xf0 + bool m_bClientClothCreationSuppressed; // 0xe8 private: - [[maybe_unused]] uint8_t __pad00f1[0x97]; // 0xf1 + [[maybe_unused]] uint8_t __pad00e9[0x97]; // 0xe9 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x188 + uint64_t m_MeshGroupMask; // 0x180 private: - [[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190 + [[maybe_unused]] uint8_t __pad0188[0x9a]; // 0x188 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x22a + int8_t m_nIdealMotionType; // 0x222 // MNetworkDisable - int8_t m_nForceLOD; // 0x22b + int8_t m_nForceLOD; // 0x223 // MNetworkDisable - bool m_bIsJiggleBonesEnabled; // 0x22c - // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x22d + int8_t m_nClothUpdateFlags; // 0x224 }; // Alignment: 2 @@ -2238,7 +2236,7 @@ public: }; // Alignment: 8 -// Size: 0x400 +// Size: 0x3f0 class CSkeletonInstance : public CGameSceneNode { private: @@ -2247,11 +2245,11 @@ public: // MNetworkEnable CModelState m_modelState; // 0x160 // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x3a0 + bool m_bIsAnimationEnabled; // 0x390 // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x3a1 + bool m_bUseParentRenderBounds; // 0x391 // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x3a2 + bool m_bDisableSolidCollisionsForHierarchy; // 0x392 struct { // MNetworkDisable @@ -2262,13 +2260,13 @@ public: }; // 16 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x3a4 + CUtlStringToken m_materialGroup; // 0x394 // MNetworkEnable - uint8_t m_nHitboxSet; // 0x3a8 + uint8_t m_nHitboxSet; // 0x398 }; // Alignment: 2 -// Size: 0x480 +// Size: 0x470 class CBodyComponentSkeletonInstance : public CBodyComponent { public: @@ -2276,7 +2274,7 @@ public: CSkeletonInstance m_skeletonInstance; // 0x50 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x450 + CNetworkVarChainer __m_pChainEntity; // 0x440 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; @@ -2350,43 +2348,34 @@ public: }; // Alignment: 1 -// Size: 0x4b0 +// Size: 0x4a0 class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x480 + CNetworkVarChainer __m_pChainEntity; // 0x470 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; -// Alignment: 15 -// Size: 0x160 +// Alignment: 13 +// Size: 0xc0 class CBaseAnimGraphController : public CSkeletonAnimationController { -private: - [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x10 + // MNetworkDisable + bool m_bSequenceFinished; // 0x38 private: - [[maybe_unused]] uint8_t __pad0040[0x8]; // 0x40 + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MNetworkDisable - bool m_bSequenceFinished; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MNetworkDisable - float m_flGroundSpeed; // 0x4c - // MNetworkDisable - float m_flLastEventCycle; // 0x50 - // MNetworkDisable - float m_flLastEventAnimTime; // 0x54 + float m_flLastEventCycle; // 0x3c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" @@ -2394,32 +2383,32 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x58 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x40 // MNetworkDisable - float m_flPrevAnimTime; // 0x60 + float m_flPrevAnimTime; // 0x48 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x64 + bool m_bClientSideAnimation; // 0x4c // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x65 + bool m_bNetworkedAnimationInputsChanged; // 0x4d // MNetworkDisable - uint8_t m_nPrevNewSequenceParity; // 0x66 + uint8_t m_nPrevNewSequenceParity; // 0x4e // MNetworkDisable - uint8_t m_nPrevResetEventsParity; // 0x67 + uint8_t m_nPrevResetEventsParity; // 0x4f // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x68 + int32_t m_nNewSequenceParity; // 0x50 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x6c + int32_t m_nResetEventsParity; // 0x54 + // MNetworkEnable + AnimLoopMode_t m_nAnimLoopMode; // 0x58 private: - [[maybe_unused]] uint8_t __pad0070[0x94]; // 0x70 + [[maybe_unused]] uint8_t __pad005c[0xc]; // 0x5c public: // MNetworkDisable - HSequence m_hLastAnimEventSequence; // 0x104 - // MNetworkDisable - uint32_t m_ClientSideAnimationListHandle; // 0x108 + HSequence m_hLastAnimEventSequence; // 0x68 }; // Alignment: 2 @@ -2960,7 +2949,7 @@ public: }; // Alignment: 3 -// Size: 0x558 +// Size: 0x560 class C_EntityFlame : public C_BaseEntity { public: @@ -3892,8 +3881,8 @@ public: C_BaseAnimatingController* m_pOwner; // 0x158 }; -// Alignment: 17 -// Size: 0x340 +// Alignment: 18 +// Size: 0x348 class C_BaseAnimatingController : public CSkeletonAnimationController { public: @@ -3944,38 +3933,40 @@ public: // MNetworkEnable // MNetworkPriority "32" int32_t m_nResetEventsParity; // 0xbc + // MNetworkEnable + AnimLoopMode_t m_nAnimLoopMode; // 0xc0 private: - [[maybe_unused]] uint8_t __pad00c0[0x10]; // 0xc0 + [[maybe_unused]] uint8_t __pad00c4[0x14]; // 0xc4 public: // MNetworkDisable - C_CSequenceTransitioner2 m_SequenceTransitioner; // 0xd0 + C_CSequenceTransitioner2 m_SequenceTransitioner; // 0xd8 // MNetworkDisable - HSequence m_hLastAnimEventSequence; // 0x290 + HSequence m_hLastAnimEventSequence; // 0x298 // MNetworkDisable - uint32_t m_ClientSideAnimationListHandle; // 0x294 + AnimationUpdateListHandle_t m_ClientSideAnimationListHandle; // 0x29c }; // Alignment: 1 -// Size: 0x3b0 +// Size: 0x3b8 class C_BaseAnimatingOverlayController : public C_BaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" - C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x340 + C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x348 }; // Alignment: 2 -// Size: 0x860 +// Size: 0x850 class C_BodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - C_BaseAnimatingOverlayController m_animationController; // 0x480 + C_BaseAnimatingOverlayController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x830 + CNetworkVarChainer __m_pChainEntity; // 0x828 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[0]->m_instance);}; @@ -3999,15 +3990,15 @@ public: }; // Alignment: 2 -// Size: 0x7f0 +// Size: 0x7e0 class C_BodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - C_BaseAnimatingController m_animationController; // 0x480 + C_BaseAnimatingController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x7c0 + CNetworkVarChainer __m_pChainEntity; // 0x7b8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->m_static_fields[0]->m_instance);}; @@ -4045,7 +4036,7 @@ public: }; // Alignment: 20 -// Size: 0xd10 +// Size: 0xdd0 class C_DOTAGameManager { private: @@ -4080,15 +4071,15 @@ private: public: KeyValues* m_pCountryKeyValues; // 0x888 private: - [[maybe_unused]] uint8_t __pad0890[0x370]; // 0x890 + [[maybe_unused]] uint8_t __pad0890[0x430]; // 0x890 public: - bool m_bLoadedPortraits[5]; // 0xc00 + bool m_bLoadedPortraits[6]; // 0xcc0 private: - [[maybe_unused]] uint8_t __pad0c05[0x3]; // 0xc05 + [[maybe_unused]] uint8_t __pad0cc6[0x2]; // 0xcc6 public: - KeyValues* m_pControlGroupsKeyValues; // 0xc08 + KeyValues* m_pControlGroupsKeyValues; // 0xcc8 // MNetworkEnable - bool m_CurrentHeroAvailable[256]; // 0xc10 + bool m_CurrentHeroAvailable[256]; // 0xcd0 }; // Alignment: 1 @@ -4181,8 +4172,8 @@ public: int32_t m_unAbilityPlayerSlot; // 0x38 }; -// Alignment: 212 -// Size: -0x54f8 +// Alignment: 219 +// Size: -0x5488 class C_DOTAGamerules : public C_MultiplayRules { public: @@ -4257,433 +4248,447 @@ public: // MNetworkEnable float m_flOverride_dota_rune_spawn_time; // 0x98 // MNetworkEnable - float m_flShowcaseTime[14]; // 0x9c + float m_flShowcaseTime[15]; // 0x9c // MNetworkEnable - float m_flNeutralInitialSpawnOffset; // 0xd4 + float m_flNeutralInitialSpawnOffset; // 0xd8 // MNetworkEnable - int32_t m_iGameMode; // 0xd8 + int32_t m_iGameMode; // 0xdc // MNetworkEnable // MNetworkChangeCallback "OnGameModeEntityChanged" - CHandle< C_BaseEntity > m_hGameModeEntity; // 0xdc + CHandle< C_BaseEntity > m_hGameModeEntity; // 0xe0 // MNetworkEnable - CHandle< C_BaseEntity > m_hCustomHeroPickRulesEntity; // 0xe0 + CHandle< C_BaseEntity > m_hCustomHeroPickRulesEntity; // 0xe4 // MNetworkEnable - GameTime_t m_flHeroPickStateTransitionTime; // 0xe4 + GameTime_t m_flHeroPickStateTransitionTime; // 0xe8 +private: + [[maybe_unused]] uint8_t __pad00ec[0x4]; // 0xec +public: // MNetworkEnable // MNetworkEncoder - uint64_t m_iPlayerIDsInControl; // 0xe8 + uint64_t m_iPlayerIDsInControl; // 0xf0 // MNetworkEnable - bool m_bSameHeroSelectionEnabled; // 0xf0 + bool m_bSameHeroSelectionEnabled; // 0xf8 // MNetworkEnable - bool m_bUseCustomHeroXPValue; // 0xf1 + bool m_bUseCustomHeroXPValue; // 0xf9 // MNetworkEnable - bool m_bUseBaseGoldBountyOnHeroes; // 0xf2 + bool m_bUseBaseGoldBountyOnHeroes; // 0xfa // MNetworkEnable - bool m_bUseUniversalShopMode; // 0xf3 + bool m_bUseUniversalShopMode; // 0xfb // MNetworkEnable - bool m_bHideKillMessageHeaders; // 0xf4 + bool m_bHideKillMessageHeaders; // 0xfc private: - [[maybe_unused]] uint8_t __pad00f5[0x3]; // 0xf5 + [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd public: // MNetworkEnable - float m_flHeroMinimapIconScale; // 0xf8 + float m_flHeroMinimapIconScale; // 0x100 // MNetworkEnable - float m_flCreepMinimapIconScale; // 0xfc + float m_flCreepMinimapIconScale; // 0x104 // MNetworkEnable - bool m_bCreepSpawningEnabled; // 0x100 + bool m_bCreepSpawningEnabled; // 0x108 private: - [[maybe_unused]] uint8_t __pad0101[0x3]; // 0x101 + [[maybe_unused]] uint8_t __pad0109[0x3]; // 0x109 public: // MNetworkEnable - float m_flRuneMinimapIconScale; // 0x104 + float m_flRuneMinimapIconScale; // 0x10c // MNetworkEnable - char m_CustomVictoryMessage[256]; // 0x108 + char m_CustomVictoryMessage[256]; // 0x110 // MNetworkEnable - float m_flCustomGameEndDelay; // 0x208 + float m_flCustomGameEndDelay; // 0x210 // MNetworkEnable - float m_flCustomGameSetupAutoLaunchDelay; // 0x20c + float m_flCustomGameSetupAutoLaunchDelay; // 0x214 // MNetworkEnable - float m_flCustomGameSetupTimeout; // 0x210 + float m_flCustomGameSetupTimeout; // 0x218 // MNetworkEnable - float m_flCustomVictoryMessageDuration; // 0x214 + float m_flCustomVictoryMessageDuration; // 0x21c // MNetworkEnable - float m_flHeroSelectPenaltyTime; // 0x218 + float m_flHeroSelectPenaltyTime; // 0x220 // MNetworkEnable - bool m_bCustomGameSetupAutoLaunchEnabled; // 0x21c + bool m_bCustomGameSetupAutoLaunchEnabled; // 0x224 // MNetworkEnable - bool m_bCustomGameTeamSelectionLocked; // 0x21d + bool m_bCustomGameTeamSelectionLocked; // 0x225 // MNetworkEnable - bool m_bCustomGameEnablePickRules; // 0x21e + bool m_bCustomGameEnablePickRules; // 0x226 // MNetworkEnable - bool m_bCustomGameAllowHeroPickMusic; // 0x21f + bool m_bCustomGameAllowHeroPickMusic; // 0x227 // MNetworkEnable - bool m_bCustomGameAllowMusicAtGameStart; // 0x220 + bool m_bCustomGameAllowMusicAtGameStart; // 0x228 // MNetworkEnable - bool m_bCustomGameAllowBattleMusic; // 0x221 + bool m_bCustomGameAllowBattleMusic; // 0x229 // MNetworkEnable - bool m_bCustomGameDisableIK; // 0x222 + bool m_bCustomGameDisableIK; // 0x22a // MNetworkEnable - bool m_bCustomGameAllowSecondaryAbilitiesOnOtherUnits; // 0x223 + bool m_bCustomGameAllowSecondaryAbilitiesOnOtherUnits; // 0x22b // MNetworkEnable - int32_t m_iCMModePickBanOrder; // 0x224 + int32_t m_iCMModePickBanOrder; // 0x22c // MNetworkEnable - int32_t m_iCDModePickBanOrder; // 0x228 + int32_t m_iCDModePickBanOrder; // 0x230 // MNetworkEnable - int32_t m_nGGTeam; // 0x22c + int32_t m_nGGTeam; // 0x234 // MNetworkEnable - GameTime_t m_flGGEndsAtTime; // 0x230 + GameTime_t m_flGGEndsAtTime; // 0x238 // MNetworkEnable - bool m_bGGCalled; // 0x234 + bool m_bGGCalled; // 0x23c // MNetworkEnable - bool m_bWhiteListEnabled; // 0x235 + bool m_bWhiteListEnabled; // 0x23d private: - [[maybe_unused]] uint8_t __pad0236[0x2]; // 0x236 + [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnWhitelistChanged" - uint64_t m_bItemWhiteList[4]; // 0x238 + uint64_t m_bItemWhiteList[4]; // 0x240 // MNetworkEnable - int32_t m_nLastHitUIMode; // 0x258 + int32_t m_nLastHitUIMode; // 0x260 // MNetworkEnable - bool m_bHUDTimerTutorialMode; // 0x25c + bool m_bHUDTimerTutorialMode; // 0x264 private: - [[maybe_unused]] uint8_t __pad025d[0x3]; // 0x25d + [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: - CountdownTimer m_HeroPickMiscTimer; // 0x260 - CountdownTimer m_ExtraTimeTimer; // 0x278 + CountdownTimer m_HeroPickMiscTimer; // 0x268 + CountdownTimer m_ExtraTimeTimer; // 0x280 // MNetworkEnable - float m_fExtraTimeRemaining[2]; // 0x290 + float m_fExtraTimeRemaining[2]; // 0x298 // MNetworkEnable - bool m_bHeroRespawnEnabled; // 0x298 + bool m_bHeroRespawnEnabled; // 0x2a0 // MNetworkEnable - bool m_bIsRandomingEnabled; // 0x299 + bool m_bIsRandomingEnabled; // 0x2a1 private: - [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a + [[maybe_unused]] uint8_t __pad02a2[0x2]; // 0x2a2 public: // MNetworkEnable - PlayerID_t m_iCaptainPlayerIDs[2]; // 0x29c + PlayerID_t m_iCaptainPlayerIDs[2]; // 0x2a4 // MNetworkEnable - int32_t m_BannedHeroes[24]; // 0x2a4 + int32_t m_BannedHeroes[24]; // 0x2ac // MNetworkEnable - int32_t m_SelectedHeroes[24]; // 0x304 + int32_t m_SelectedHeroes[24]; // 0x30c // MNetworkEnable - int32_t m_iActiveTeam; // 0x364 + int32_t m_iActiveTeam; // 0x36c // MNetworkEnable - int32_t m_iStartingTeam; // 0x368 + int32_t m_iStartingTeam; // 0x370 // MNetworkEnable - int32_t m_iPenaltyLevelRadiant; // 0x36c + int32_t m_iPenaltyLevelRadiant; // 0x374 // MNetworkEnable - int32_t m_iPenaltyLevelDire; // 0x370 + int32_t m_iPenaltyLevelDire; // 0x378 // MNetworkEnable - bool m_bIsLoadingScenario; // 0x374 + bool m_bIsLoadingScenario; // 0x37c private: - [[maybe_unused]] uint8_t __pad0375[0x3]; // 0x375 + [[maybe_unused]] uint8_t __pad037d[0x3]; // 0x37d public: // MNetworkEnable - C_NetworkUtlVectorBase< int32 > m_vecNewBannedHeroes; // 0x378 + C_NetworkUtlVectorBase< int32 > m_vecNewBannedHeroes; // 0x380 // MNetworkEnable - C_NetworkUtlVectorBase< int32 > m_vecWhitelistedHeroes; // 0x390 + C_NetworkUtlVectorBase< int32 > m_vecWhitelistedHeroes; // 0x398 // MNetworkEnable - C_NetworkUtlVectorBase< int32 > m_vecBlacklistedHeroes; // 0x3a8 + C_NetworkUtlVectorBase< int32 > m_vecBlacklistedHeroes; // 0x3b0 // MNetworkEnable - bool m_bHideBlacklistedHeroes; // 0x3c0 + bool m_bHideBlacklistedHeroes; // 0x3c8 private: - [[maybe_unused]] uint8_t __pad03c1[0x3]; // 0x3c1 + [[maybe_unused]] uint8_t __pad03c9[0x3]; // 0x3c9 public: // MNetworkEnable - int32_t m_nSeriesType; // 0x3c4 + int32_t m_nSeriesType; // 0x3cc // MNetworkEnable - int32_t m_nRadiantSeriesWins; // 0x3c8 + int32_t m_nRadiantSeriesWins; // 0x3d0 // MNetworkEnable - int32_t m_nDireSeriesWins; // 0x3cc + int32_t m_nDireSeriesWins; // 0x3d4 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecAvailableHerosPerPlayerID; // 0x3d0 + C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecAvailableHerosPerPlayerID; // 0x3d8 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecLockedHerosByPlayerID; // 0x420 + C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecLockedHerosByPlayerID; // 0x428 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecDisabledRandomHerosByPlayerID; // 0x470 - int32_t m_CustomGameForceSelectHero[24]; // 0x4c0 - float m_flGoldTime; // 0x520 - float m_flXPTime; // 0x524 - GameTime_t m_flCreepSpawntime; // 0x528 - float m_flAnnounceStartTime; // 0x52c + C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecDisabledRandomHerosByPlayerID; // 0x478 + int32_t m_CustomGameForceSelectHero[24]; // 0x4c8 + float m_flGoldTime; // 0x528 + float m_flXPTime; // 0x52c + GameTime_t m_flCreepSpawntime; // 0x530 + float m_flAnnounceStartTime; // 0x534 // MNetworkEnable - int32_t m_iGoodTomeCount; // 0x530 + int32_t m_iGoodTomeCount; // 0x538 // MNetworkEnable - int32_t m_iBadTomeCount; // 0x534 + int32_t m_iBadTomeCount; // 0x53c // MNetworkEnable - GameTime_t m_flPreGameStartTime; // 0x538 + GameTime_t m_flPreGameStartTime; // 0x540 // MNetworkEnable - GameTime_t m_flGameStartTime; // 0x53c + GameTime_t m_flGameStartTime; // 0x544 // MNetworkEnable - GameTime_t m_flGameEndTime; // 0x540 + GameTime_t m_flGameEndTime; // 0x548 // MNetworkEnable - float m_flGameLoadTime; // 0x544 + float m_flGameLoadTime; // 0x54c // MNetworkEnable - int32_t m_iCustomGameScore[2]; // 0x548 + int32_t m_iCustomGameScore[2]; // 0x550 // MNetworkEnable - int32_t m_nCustomGameDifficulty; // 0x550 - bool m_bEnemyModifiersEnabled; // 0x554 + int32_t m_nCustomGameDifficulty; // 0x558 + bool m_bEnemyModifiersEnabled; // 0x55c private: - [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 + [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d public: - int32_t m_iWaves; // 0x558 - int32_t m_iCreepUpgradeState; // 0x55c + int32_t m_iWaves; // 0x560 + int32_t m_iCreepUpgradeState; // 0x564 // MNetworkEnable - GameTime_t m_fGoodGlyphCooldown; // 0x560 + GameTime_t m_fGoodGlyphCooldown; // 0x568 // MNetworkEnable - GameTime_t m_fBadGlyphCooldown; // 0x564 + GameTime_t m_fBadGlyphCooldown; // 0x56c // MNetworkEnable - GameTime_t m_flGlyphCooldowns[14]; // 0x568 + GameTime_t m_flGlyphCooldowns[15]; // 0x570 // MNetworkEnable - GameTime_t m_fGoodRadarCooldown; // 0x5a0 + GameTime_t m_fGoodRadarCooldown; // 0x5ac // MNetworkEnable - GameTime_t m_fBadRadarCooldown; // 0x5a4 + GameTime_t m_fBadRadarCooldown; // 0x5b0 // MNetworkEnable - GameTime_t m_flRadarCooldowns[14]; // 0x5a8 + GameTime_t m_flRadarCooldowns[15]; // 0x5b4 // MNetworkEnable - float m_flOutpostTimes[24]; // 0x5e0 + float m_flOutpostTimes[24]; // 0x5f0 // MNetworkEnable - bool m_bIsNightstalkerNight; // 0x640 + bool m_bIsNightstalkerNight; // 0x650 // MNetworkEnable - bool m_bIsTemporaryNight; // 0x641 + bool m_bIsTemporaryNight; // 0x651 // MNetworkEnable - bool m_bIsTemporaryDay; // 0x642 + bool m_bIsTemporaryDay; // 0x652 private: - [[maybe_unused]] uint8_t __pad0643[0x1]; // 0x643 + [[maybe_unused]] uint8_t __pad0653[0x1]; // 0x653 public: // MNetworkEnable - int32_t m_nRiverType; // 0x644 + int32_t m_nRiverType; // 0x654 // MNetworkEnable - PlayerID_t m_nTeamFeaturedPlayerID[14]; // 0x648 + PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0x658 // MNetworkEnable - item_definition_index_t m_nTeamVersusScreen[14]; // 0x680 - float m_flGoldRedistributeTime; // 0x6b8 - int32_t m_nGoldToRedistribute[2]; // 0x6bc - GameTime_t m_flNextPreGameThink; // 0x6c4 - GameTime_t m_flNextAllDraftGoldThink; // 0x6c8 + item_definition_index_t m_nTeamVersusScreen[15]; // 0x694 + float m_flGoldRedistributeTime; // 0x6d0 + int32_t m_nGoldToRedistribute[2]; // 0x6d4 + GameTime_t m_flNextPreGameThink; // 0x6dc + GameTime_t m_flNextAllDraftGoldThink; // 0x6e0 private: - [[maybe_unused]] uint8_t __pad06cc[0x4]; // 0x6cc + [[maybe_unused]] uint8_t __pad06e4[0x4]; // 0x6e4 public: - double m_flTimeEnteredState; // 0x6d0 - uint32_t m_unRiverAccountID; // 0x6d8 + double m_flTimeEnteredState; // 0x6e8 + uint32_t m_unRiverAccountID; // 0x6f0 private: - [[maybe_unused]] uint8_t __pad06dc[0x4]; // 0x6dc + [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 public: - itemid_t m_ulRiverItemID; // 0x6e0 + itemid_t m_ulRiverItemID; // 0x6f8 private: - [[maybe_unused]] uint8_t __pad06e8[0x40]; // 0x6e8 + [[maybe_unused]] uint8_t __pad0700[0x40]; // 0x700 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0x728 + C_UtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0x740 // MNetworkEnable - DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0x778 + DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0x790 // MNetworkEnable - int32_t m_nGameWinner; // 0x788 + int32_t m_nGameWinner; // 0x7a0 private: - [[maybe_unused]] uint8_t __pad078c[0x4]; // 0x78c + [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 public: // MNetworkEnable - MatchID_t m_unMatchID64; // 0x790 + MatchID_t m_unMatchID64; // 0x7a8 // MNetworkEnable - bool m_bMatchSignoutComplete; // 0x798 + bool m_bMatchSignoutComplete; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0799[0x3]; // 0x799 + [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hSideShop1; // 0x79c + CHandle< C_BaseEntity > m_hSideShop1; // 0x7b4 // MNetworkEnable - CHandle< C_BaseEntity > m_hSideShop2; // 0x7a0 + CHandle< C_BaseEntity > m_hSideShop2; // 0x7b8 // MNetworkEnable - CHandle< C_BaseEntity > m_hSecretShop1; // 0x7a4 + CHandle< C_BaseEntity > m_hSecretShop1; // 0x7bc // MNetworkEnable - CHandle< C_BaseEntity > m_hSecretShop2; // 0x7a8 + CHandle< C_BaseEntity > m_hSecretShop2; // 0x7c0 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamFountains[14]; // 0x7ac + CHandle< C_BaseEntity > m_hTeamFountains[15]; // 0x7c4 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamForts[14]; // 0x7e4 + CHandle< C_BaseEntity > m_hTeamForts[15]; // 0x800 // MNetworkEnable - CHandle< C_BaseEntity > m_hTeamShops[14]; // 0x81c + CHandle< C_BaseEntity > m_hTeamShops[15]; // 0x83c // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerGood; // 0x854 + CHandle< C_BaseEntity > m_hAnnouncerGood; // 0x878 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerBad; // 0x858 + CHandle< C_BaseEntity > m_hAnnouncerBad; // 0x87c // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerSpectator; // 0x85c + CHandle< C_BaseEntity > m_hAnnouncerSpectator; // 0x880 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerGood_KillingSpree; // 0x860 + CHandle< C_BaseEntity > m_hAnnouncerGood_KillingSpree; // 0x884 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerBad_KillingSpree; // 0x864 + CHandle< C_BaseEntity > m_hAnnouncerBad_KillingSpree; // 0x888 // MNetworkEnable - CHandle< C_BaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0x868 + CHandle< C_BaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0x88c // MNetworkEnable - bool m_arrTier1TowerDestroyed[14]; // 0x86c + bool m_arrTier1TowerDestroyed[15]; // 0x890 // MNetworkEnable - bool m_arrTier2TowerDestroyed[14]; // 0x87a + bool m_arrTier2TowerDestroyed[15]; // 0x89f // MNetworkEnable - bool m_arrTier3TowerDestroyed[14]; // 0x888 + bool m_arrTier3TowerDestroyed[15]; // 0x8ae // MNetworkEnable - bool m_bTier1TowerDestroyed; // 0x896 + bool m_bTier1TowerDestroyed; // 0x8bd // MNetworkEnable - bool m_bTier2TowerDestroyed; // 0x897 + bool m_bTier2TowerDestroyed; // 0x8be // MNetworkEnable - bool m_bTier3TowerDestroyed; // 0x898 -private: - [[maybe_unused]] uint8_t __pad0899[0x3]; // 0x899 -public: - float m_fTimeOfDay; // 0x89c + bool m_bTier3TowerDestroyed; // 0x8bf + float m_fTimeOfDay; // 0x8c0 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iNetTimeOfDay; // 0x8a0 + int32_t m_iNetTimeOfDay; // 0x8c4 // MNetworkEnable - int32_t m_nLoadedPlayers; // 0x8a4 + int32_t m_nLoadedPlayers; // 0x8c8 // MNetworkEnable - int32_t m_nExpectedPlayers; // 0x8a8 + int32_t m_nExpectedPlayers; // 0x8cc private: - [[maybe_unused]] uint8_t __pad08ac[0xc]; // 0x8ac + [[maybe_unused]] uint8_t __pad08d0[0x8]; // 0x8d0 public: // MNetworkEnable - int32_t m_iMinimapDebugGridState; // 0x8b8 + int32_t m_iMinimapDebugGridState; // 0x8d8 private: - [[maybe_unused]] uint8_t __pad08bc[0x74]; // 0x8bc + [[maybe_unused]] uint8_t __pad08dc[0x7c]; // 0x8dc public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iFoWFrameNumber; // 0x930 + int32_t m_iFoWFrameNumber; // 0x958 // MNetworkEnable - Vector m_vWeatherWindDirection; // 0x934 + Vector m_vWeatherWindDirection; // 0x95c // MNetworkEnable - int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0x940 + int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0x968 // MNetworkEnable - int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0x9a0 + int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0x9c8 // MNetworkEnable - bool m_bAllRequiredPlaytestHeroesPicked; // 0xa00 + bool m_bAllRequiredPlaytestHeroesPicked; // 0xa28 private: - [[maybe_unused]] uint8_t __pad0a01[0x3]; // 0xa01 + [[maybe_unused]] uint8_t __pad0a29[0x3]; // 0xa29 public: // MNetworkEnable - int32_t m_nLastPlaytestPickPhase; // 0xa04 - int32_t m_nCustomGameFowTeamCount; // 0xa08 - bool m_bUseAlternateABRules; // 0xa0c - bool m_bLobbyIsAssociatedWithGame; // 0xa0d + int32_t m_nLastPlaytestPickPhase; // 0xa2c + int32_t m_nCustomGameFowTeamCount; // 0xa30 + bool m_bUseAlternateABRules; // 0xa34 + bool m_bLobbyIsAssociatedWithGame; // 0xa35 private: - [[maybe_unused]] uint8_t __pad0a0e[0x2]; // 0xa0e + [[maybe_unused]] uint8_t __pad0a36[0x2]; // 0xa36 public: - CountdownTimer m_BotDebugTimer; // 0xa10 + CountdownTimer m_BotDebugTimer; // 0xa38 // MNetworkEnable // MNetworkPriority "48" - uint8_t m_BotDebugPushLane[18]; // 0xa28 + uint8_t m_BotDebugPushLane[18]; // 0xa50 // MNetworkEnable - uint8_t m_BotDebugDefendLane[18]; // 0xa3a + uint8_t m_BotDebugDefendLane[18]; // 0xa62 // MNetworkEnable - uint8_t m_BotDebugFarmLane[6]; // 0xa4c + uint8_t m_BotDebugFarmLane[6]; // 0xa74 // MNetworkEnable - uint8_t m_BotDebugRoam[8]; // 0xa52 + uint8_t m_BotDebugRoam[8]; // 0xa7a private: - [[maybe_unused]] uint8_t __pad0a5a[0x2]; // 0xa5a + [[maybe_unused]] uint8_t __pad0a82[0x2]; // 0xa82 public: // MNetworkEnable - CHandle< C_BaseEntity > m_hBotDebugRoamTarget[2]; // 0xa5c + CHandle< C_BaseEntity > m_hBotDebugRoamTarget[2]; // 0xa84 // MNetworkEnable - uint8_t m_BotDebugRoshan[2]; // 0xa64 + uint8_t m_BotDebugRoshan[2]; // 0xa8c private: - [[maybe_unused]] uint8_t __pad0a66[0x2]; // 0xa66 + [[maybe_unused]] uint8_t __pad0a8e[0x2]; // 0xa8e public: // MNetworkEnable - ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xa68 + ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xa90 // MNetworkEnable - GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xa6c + GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xa94 // MNetworkEnable // MNetworkTypeAlias "CDOTA_AbilityDraftAbilityState[MAX_ABILITY_DRAFT_ABILITIES]" - C_UtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xa70 + C_UtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xa98 // MNetworkEnable - bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xac0 + bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xae8 private: - [[maybe_unused]] uint8_t __pad0ac1[0x3]; // 0xac1 + [[maybe_unused]] uint8_t __pad0ae9[0x3]; // 0xae9 public: // MNetworkEnable - int32_t m_nAbilityDraftPlayerTracker; // 0xac4 + int32_t m_nAbilityDraftPlayerTracker; // 0xaec // MNetworkEnable - int32_t m_nAbilityDraftRoundNumber; // 0xac8 + int32_t m_nAbilityDraftRoundNumber; // 0xaf0 // MNetworkEnable - int32_t m_nAbilityDraftAdvanceSteps; // 0xacc + int32_t m_nAbilityDraftAdvanceSteps; // 0xaf4 // MNetworkEnable - int32_t m_nAbilityDraftPhase; // 0xad0 + int32_t m_nAbilityDraftPhase; // 0xaf8 // MNetworkEnable // MNetworkChangeCallback "OnAbilityDraftHeroesChanged" - int32_t m_nAbilityDraftHeroesChosen[13]; // 0xad4 - CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0xb08 - int32_t m_nARDMHeroesPrecached; // 0xb38 - float m_fLastARDMPrecache; // 0xb3c + int32_t m_nAbilityDraftHeroesChosen[13]; // 0xafc // MNetworkEnable - int32_t m_nAllDraftPhase; // 0xb40 - // MNetworkEnable - bool m_bAllDraftRadiantFirst; // 0xb44 - // MNetworkEnable - bool m_bAllowOverrideVPK; // 0xb45 + bool m_bIsPlayerDraft; // 0xb30 private: - [[maybe_unused]] uint8_t __pad0b46[0x2]; // 0xb46 + [[maybe_unused]] uint8_t __pad0b31[0x3]; // 0xb31 public: // MNetworkEnable - int32_t m_nARDMHeroesRemaining[2]; // 0xb48 - bool m_bUpdateHeroStatues; // 0xb50 + DOTA_PlayerDraftState m_ePlayerDraftState; // 0xb34 + // MNetworkEnable + C_NetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0xb38 + // MNetworkEnable + int32_t m_nPlayerDraftPick; // 0xb50 + // MNetworkEnable + int32_t m_nPlayerDraftActiveTeam; // 0xb54 + // MNetworkEnable + float m_flPlayerDraftTimeBank[2]; // 0xb58 + CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0xb60 + int32_t m_nARDMHeroesPrecached; // 0xb90 + float m_fLastARDMPrecache; // 0xb94 + // MNetworkEnable + int32_t m_nAllDraftPhase; // 0xb98 + // MNetworkEnable + bool m_bAllDraftRadiantFirst; // 0xb9c + // MNetworkEnable + bool m_bAllowOverrideVPK; // 0xb9d private: - [[maybe_unused]] uint8_t __pad0b51[0x17]; // 0xb51 + [[maybe_unused]] uint8_t __pad0b9e[0x2]; // 0xb9e public: // MNetworkEnable - bool m_bExperimentalGameplay; // 0xb68 + int32_t m_nARDMHeroesRemaining[2]; // 0xba0 + bool m_bUpdateHeroStatues; // 0xba8 private: - [[maybe_unused]] uint8_t __pad0b69[0x3f]; // 0xb69 + [[maybe_unused]] uint8_t __pad0ba9[0x17]; // 0xba9 public: - CUtlVector< int32 > m_vecPlayerMMR; // 0xba8 // MNetworkEnable - uint32_t m_lobbyType; // 0xbc0 + bool m_bExperimentalGameplay; // 0xbc0 +private: + [[maybe_unused]] uint8_t __pad0bc1[0x3f]; // 0xbc1 +public: + CUtlVector< int32 > m_vecPlayerMMR; // 0xc00 // MNetworkEnable - LeagueID_t m_lobbyLeagueID; // 0xbc4 + uint32_t m_lobbyType; // 0xc18 // MNetworkEnable - char m_lobbyGameName[256]; // 0xbc8 + LeagueID_t m_lobbyLeagueID; // 0xc1c + // MNetworkEnable + char m_lobbyGameName[256]; // 0xc20 // MNetworkEnable // MNetworkChangeCallback "OnHeroStatueLiked" - C_UtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0xcc8 + C_UtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0xd20 // MNetworkEnable - int32_t m_CustomGameTeamMaxPlayers[14]; // 0xd18 + int32_t m_CustomGameTeamMaxPlayers[15]; // 0xd70 // MNetworkEnable - int32_t m_iMutations[5]; // 0xd50 + int32_t m_iMutations[5]; // 0xdac + // MNetworkEnable + C_NetworkUtlVectorBase< CHandle< C_IngameEvent_Base > > m_vecIngameEvents; // 0xdc0 + // MNetworkEnable + int8_t m_nPrimaryIngameEventIndex; // 0xdd8 private: - [[maybe_unused]] uint8_t __pad0d64[0x4]; // 0xd64 -public: - // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_IngameEvent_Base > > m_vecIngameEvents; // 0xd68 - // MNetworkEnable - int8_t m_nPrimaryIngameEventIndex; // 0xd80 -private: - [[maybe_unused]] uint8_t __pad0d81[0x3]; // 0xd81 + [[maybe_unused]] uint8_t __pad0dd9[0x3]; // 0xdd9 public: // MNetworkEnable // MNetworkChangeCallback "OnObsoleteIngameEventChanged" // MNetworkAlias "m_hIngameEvent" - CHandle< C_IngameEvent_Base > m_hObsoleteIngameEvent; // 0xd84 - uint32_t m_nOfrendaPledges; // 0xd88 - uint32_t m_nRadiantOfrendas; // 0xd8c - uint32_t m_nDireOfrendas; // 0xd90 + CHandle< C_IngameEvent_Base > m_hObsoleteIngameEvent; // 0xddc + uint32_t m_nOfrendaPledges; // 0xde0 + uint32_t m_nRadiantOfrendas; // 0xde4 + uint32_t m_nDireOfrendas; // 0xde8 // MNetworkEnable - bool m_bOfrendaEnabled; // 0xd94 + bool m_bOfrendaEnabled; // 0xdec private: - [[maybe_unused]] uint8_t __pad0d95[0x33]; // 0xd95 + [[maybe_unused]] uint8_t __pad0ded[0x33]; // 0xded public: // MNetworkEnable - C_NetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0xdc8 + C_NetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0xe20 + // MNetworkEnable + C_NetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0xe38 private: - [[maybe_unused]] uint8_t __pad0de0[0xfb8]; // 0xde0 + [[maybe_unused]] uint8_t __pad0e50[0xfb8]; // 0xe50 public: - double m_flLastPerfSampleTime; // 0x1d98 - double m_flLastPerfSampleSendTime; // 0x1da0 - bool m_bDidSeeStrategyTime; // 0x1da8 + double m_flLastPerfSampleTime; // 0x1e08 + double m_flLastPerfSampleSendTime; // 0x1e10 + bool m_bDidSeeStrategyTime; // 0x1e18 private: - [[maybe_unused]] uint8_t __pad1da9[0x8d57]; // 0x1da9 + [[maybe_unused]] uint8_t __pad1e19[0x8d57]; // 0x1e19 public: - double m_flLastUnfocusedSleepTime; // 0xab00 + double m_flLastUnfocusedSleepTime; // 0xab70 }; // Alignment: 1 @@ -4731,7 +4736,7 @@ public: C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopItemInfo > m_CustomShopItems; // 0x130 }; -// Alignment: 89 +// Alignment: 90 // Size: 0x6b8 class C_DOTABaseGameMode : public C_BaseEntity { @@ -4875,45 +4880,44 @@ public: // MNetworkEnable float m_flIntelligenceManaRegen; // 0x5ec // MNetworkEnable - float m_flIntelligenceSpellAmpPercent; // 0x5f0 + float m_flIntelligenceMres; // 0x5f0 // MNetworkEnable - float m_flStrengthMagicResistancePercent; // 0x5f4 + float m_flIntelligenceSpellAmpPercent; // 0x5f4 // MNetworkEnable - float m_flDraftingHeroPickSelectTimeOverride; // 0x5f8 + float m_flStrengthMagicResistancePercent; // 0x5f8 // MNetworkEnable - float m_flDraftingBanningTimeOverride; // 0x5fc + float m_flDraftingHeroPickSelectTimeOverride; // 0x5fc // MNetworkEnable - bool m_bPauseEnabled; // 0x600 + float m_flDraftingBanningTimeOverride; // 0x600 + // MNetworkEnable + bool m_bPauseEnabled; // 0x604 private: - [[maybe_unused]] uint8_t __pad0601[0x3]; // 0x601 + [[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605 public: // MNetworkEnable - float m_flCustomScanCooldown; // 0x604 + float m_flCustomScanCooldown; // 0x608 // MNetworkEnable - float m_flCustomGlyphCooldown; // 0x608 + float m_flCustomGlyphCooldown; // 0x60c // MNetworkEnable - float m_flCustomBackpackSwapCooldown; // 0x60c + float m_flCustomBackpackSwapCooldown; // 0x610 // MNetworkEnable - float m_flCustomBackpackCooldownPercent; // 0x610 + float m_flCustomBackpackCooldownPercent; // 0x614 // MNetworkEnable - bool m_bDefaultRuneSpawnLogic; // 0x614 + bool m_bDefaultRuneSpawnLogic; // 0x618 // MNetworkEnable - bool m_bEnableFreeCourierMode; // 0x615 + bool m_bEnableFreeCourierMode; // 0x619 // MNetworkEnable - bool m_bAllowNeutralItemDrops; // 0x616 + bool m_bAllowNeutralItemDrops; // 0x61a // MNetworkEnable - bool m_bEnableNeutralStash; // 0x617 + bool m_bEnableNeutralStash; // 0x61b // MNetworkEnable - bool m_bEnableNeutralStashTeamViewOnly; // 0x618 + bool m_bEnableNeutralStashTeamViewOnly; // 0x61c // MNetworkEnable - bool m_bEnableNeutralItemHideUndiscovered; // 0x619 + bool m_bEnableNeutralItemHideUndiscovered; // 0x61d // MNetworkEnable - bool m_bEnableSendToStash; // 0x61a + bool m_bEnableSendToStash; // 0x61e // MNetworkEnable - bool m_bForceRightClickAttackDisabled; // 0x61b -private: - [[maybe_unused]] uint8_t __pad061c[0x4]; // 0x61c -public: + bool m_bForceRightClickAttackDisabled; // 0x61f // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x620 // MNetworkEnable @@ -5460,7 +5464,7 @@ public: }; // Alignment: 7 -// Size: 0x260 +// Size: 0x270 class CDOTA_ModifierManager { private: @@ -5469,14 +5473,14 @@ public: // MNetworkEnable CHandle< C_BaseEntity > m_hModifierParent; // 0x8 private: - [[maybe_unused]] uint8_t __pad000c[0x240]; // 0xc + [[maybe_unused]] uint8_t __pad000c[0x250]; // 0xc public: - uint16_t m_nHasTruesightForTeam; // 0x24c - uint16_t m_nHasTruesightForTeamValid; // 0x24e - uint16_t m_nProvidesFOWPositionForTeam; // 0x250 - uint16_t m_nProvidesFOWPositionForTeamValid; // 0x252 - int32_t m_iBuffIndex; // 0x254 - int32_t m_iLockRefCount; // 0x258 + uint16_t m_nHasTruesightForTeam; // 0x25c + uint16_t m_nHasTruesightForTeamValid; // 0x25e + uint16_t m_nProvidesFOWPositionForTeam; // 0x260 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x262 + int32_t m_iBuffIndex; // 0x264 + int32_t m_iLockRefCount; // 0x268 }; // Alignment: 0 @@ -5500,7 +5504,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -5508,7 +5512,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: @@ -5516,7 +5520,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: @@ -5524,32 +5528,56 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c8 +class CDOTA_Modifier_SetScaleset : public CDOTA_Buff +{ +public: + CUtlString m_Scaleset; // 0x11b8 + bool m_bActive; // 0x11c0 +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x1158 +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff +{ +public: + float melee_number; // 0x11b8 + float ranged_number; // 0x11bc + float siege_number; // 0x11c0 + int32_t lane; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11d8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x1138 - bool bStarted; // 0x1150 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11b8 + bool bStarted; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 +public: + int32_t nCount; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -5557,38 +5585,38 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - int32_t hp_heal; // 0x1138 - int32_t mp_heal; // 0x113c - int32_t hp_heal_growth; // 0x1140 - float mp_heal_growth; // 0x1144 - int32_t hp_heal_pct; // 0x1148 - int32_t mp_heal_pct; // 0x114c - int32_t tota_hp_per_second; // 0x1150 - int32_t tota_mp_per_second; // 0x1154 + int32_t hp_heal; // 0x11b8 + int32_t mp_heal; // 0x11bc + int32_t hp_heal_growth; // 0x11c0 + float mp_heal_growth; // 0x11c4 + int32_t hp_heal_pct; // 0x11c8 + int32_t mp_heal_pct; // 0x11cc + int32_t tota_hp_per_second; // 0x11d0 + int32_t tota_mp_per_second; // 0x11d4 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x1138 + Vector m_vecPosition; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -5596,15 +5624,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x1138 + int32_t m_nAuraRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5612,7 +5640,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -5620,45 +5648,65 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - bool m_bOverrideArmor; // 0x113c + int32_t bonus_armor; // 0x11b8 + bool m_bOverrideArmor; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float hp_regen; // 0x1140 - bool m_bOverrideRegen; // 0x1144 + float hp_regen; // 0x11c0 + bool m_bOverrideRegen; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t m_nRadius; // 0x1148 + int32_t m_nRadius; // 0x11c8 }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - float hp_regen; // 0x113c - bool m_bOverrideArmor; // 0x1140 - bool m_bOverrideRegen; // 0x1141 - bool m_bSentFirstRefresh; // 0x1142 + int32_t bonus_armor; // 0x11b8 + float hp_regen; // 0x11bc + bool m_bOverrideArmor; // 0x11c0 + bool m_bOverrideRegen; // 0x11c1 + bool m_bSentFirstRefresh; // 0x11c2 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff +{ +public: + int32_t reveal_radius; // 0x11b8 +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff +{ +public: + int32_t reveal_radius; // 0x11b8 + float increase_health; // 0x11bc + int32_t max_health; // 0x11c0 + float increase_armor; // 0x11c4 + float max_armor; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: @@ -5666,7 +5714,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -5674,7 +5722,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -5682,7 +5730,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -5690,7 +5738,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -5698,7 +5746,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -5706,16 +5754,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x1138 - CHandle< C_BaseEntity > m_hPedestal; // 0x113c + uint32_t m_unStatusEffectIndex; // 0x11b8 + CHandle< C_BaseEntity > m_hPedestal; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -5723,7 +5771,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -5731,7 +5779,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -5739,7 +5787,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -5747,33 +5795,33 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x1138 + bool m_bFacePlayer; // 0x11b8 }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x1138 - bool m_bLoop; // 0x113c - bool m_bFacePlayer; // 0x113d + int32_t m_nActivity; // 0x11b8 + bool m_bLoop; // 0x11bc + bool m_bFacePlayer; // 0x11bd }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x1138 + bool m_bRemoveOnDeath; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -5781,15 +5829,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x1138 + bool m_bIsFriend; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -5797,7 +5845,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -5805,7 +5853,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -5813,7 +5861,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -5821,18 +5869,18 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x1138 - HSCRIPT m_hVerticalControlFunction; // 0x1140 - HSCRIPT m_hOnDestroyFunction; // 0x1148 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x1150 + HSCRIPT m_hHorizontalControlFunction; // 0x11b8 + HSCRIPT m_hVerticalControlFunction; // 0x11c0 + HSCRIPT m_hOnDestroyFunction; // 0x11c8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_VR_Modifier_Statue_Mode : public CDOTA_Buff { public: @@ -5840,7 +5888,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -5848,7 +5896,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -5856,7 +5904,84 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff +{ +public: + int32_t damage_absorb; // 0x11b8 + bool m_bStartedTimer; // 0x11bc +private: + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd +public: + int32_t m_nDamageAbsorbed; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_HP_Regen : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_MP_Regen : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -5864,7 +5989,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -5872,7 +6005,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -5880,7 +6013,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -5888,7 +6021,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -5896,23 +6029,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - // No members available + bool m_bHideOnKill; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -5920,7 +6053,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -5928,7 +6061,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -5936,7 +6069,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -5944,7 +6077,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -5952,7 +6085,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -5960,7 +6093,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -5968,7 +6101,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -5976,30 +6109,30 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x1138 - float m_flFadeTime; // 0x113c - GameTime_t m_flLastActionTime; // 0x1140 + float fade_delay; // 0x11b8 + float m_flFadeTime; // 0x11bc + GameTime_t m_flLastActionTime; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x1138 + bool m_bSubtle; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flFadeTime; // 0x113c - float m_flFadeTimeValue; // 0x1140 + GameTime_t m_flFadeTime; // 0x11bc + float m_flFadeTimeValue; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -6007,7 +6140,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -6015,7 +6148,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -6023,7 +6156,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -6031,7 +6164,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -6039,7 +6172,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -6047,7 +6180,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -6055,7 +6188,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -6063,7 +6196,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -6071,7 +6204,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -6079,7 +6212,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -6087,7 +6220,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -6095,7 +6228,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -6103,7 +6236,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -6111,7 +6244,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: @@ -6119,22 +6252,22 @@ public: }; // Alignment: 8 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - int32_t outgoing_damage; // 0x1138 - int32_t outgoing_damage_structure; // 0x113c - int32_t outgoing_damage_roshan; // 0x1140 - int32_t incoming_damage; // 0x1144 - int32_t bounty_base; // 0x1148 - int32_t bounty_growth; // 0x114c - CUtlString m_strIllusionType; // 0x1150 - char m_szIllusionLabel[64]; // 0x1158 + int32_t outgoing_damage; // 0x11b8 + int32_t outgoing_damage_structure; // 0x11bc + int32_t outgoing_damage_roshan; // 0x11c0 + int32_t incoming_damage; // 0x11c4 + int32_t bounty_base; // 0x11c8 + int32_t bounty_growth; // 0x11cc + CUtlString m_strIllusionType; // 0x11d0 + char m_szIllusionLabel[64]; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -6142,15 +6275,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x1138 + int32_t m_iAdditionalDamagePct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -6158,7 +6291,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -6166,7 +6299,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -6174,7 +6307,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -6182,7 +6315,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -6190,7 +6323,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -6198,7 +6331,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -6206,16 +6339,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x1138 - int32_t m_iCostReductionPct; // 0x113c + int32_t m_iCooldownReductionPct; // 0x11b8 + int32_t m_iCostReductionPct; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -6223,17 +6356,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { public: - float m_fChannelTime; // 0x1138 - Vector m_vStart; // 0x113c - Vector m_vEnd; // 0x1148 + float m_fChannelTime; // 0x11b8 + Vector m_vStart; // 0x11bc + Vector m_vEnd; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -6241,49 +6374,49 @@ public: }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x1138 - int32_t knockback_height; // 0x113c - float knockback_duration; // 0x1140 - Vector m_vHorizOffset; // 0x1144 - Vector m_vStartPosition; // 0x1150 - float m_fCurrentTimeHoriz; // 0x115c - float m_fCurrentTimeVert; // 0x1160 - bool m_bShouldStun; // 0x1164 - bool m_bRespectLeash; // 0x1165 - bool m_bReversePolarity; // 0x1166 + float knockback_distance; // 0x11b8 + int32_t knockback_height; // 0x11bc + float knockback_duration; // 0x11c0 + Vector m_vHorizOffset; // 0x11c4 + Vector m_vStartPosition; // 0x11d0 + float m_fCurrentTimeHoriz; // 0x11dc + float m_fCurrentTimeVert; // 0x11e0 + bool m_bShouldStun; // 0x11e4 + bool m_bRespectLeash; // 0x11e5 + bool m_bReversePolarity; // 0x11e6 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 + GameTime_t m_flStartTime; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x1138 - Vector m_vVelocity; // 0x113c + GameTime_t m_fLastUpdateTime; // 0x11b8 + Vector m_vVelocity; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x1138 + bool m_bTargetFriendlies; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -6291,7 +6424,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -6299,12 +6432,12 @@ public: }; // Alignment: 2 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x1138 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x1150 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11b8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x11d0 // Static fields: static CUtlVector< PlayerID_t > &Get_s_vecGlowingPlayerIDs(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_HallOfFame_Glow")->m_static_fields[0]->m_instance);}; @@ -6312,7 +6445,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -6320,7 +6453,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -6328,15 +6461,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x1138 + CUtlSymbolLarge m_activityModifier; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -6344,24 +6477,24 @@ public: }; // Alignment: 7 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTree; // 0x1138 - bool m_bGroundToTree; // 0x113c - bool m_bTreeToGround; // 0x113d - bool m_bTreeToTree; // 0x113e + CHandle< C_BaseEntity > m_hTree; // 0x11b8 + bool m_bGroundToTree; // 0x11bc + bool m_bTreeToGround; // 0x11bd + bool m_bTreeToTree; // 0x11be private: - [[maybe_unused]] uint8_t __pad113f[0x1]; // 0x113f + [[maybe_unused]] uint8_t __pad11bf[0x1]; // 0x11bf public: - float perched_day_vision; // 0x1140 - float perched_night_vision; // 0x1144 - bool m_bAbilityIsStolen; // 0x1148 + float perched_day_vision; // 0x11c0 + float perched_night_vision; // 0x11c4 + bool m_bAbilityIsStolen; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -6369,7 +6502,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -6377,7 +6510,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -6385,7 +6518,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -6393,15 +6526,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x1138 + bool m_bEnemiesOnly; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: @@ -6409,7 +6542,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -6417,122 +6550,131 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x1138 - int32_t attack_count; // 0x113c + int32_t creep_attack_divisor; // 0x11b8 + int32_t attack_count; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x1138 + int32_t m_nCurReduction; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned +{ +public: + CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x11b8 + int32_t damage_reduction_percent; // 0x11bc }; // Alignment: 63 -// Size: 0x2b50 +// Size: 0x3500 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { public: - AbilityID_t m_nAbilityID; // 0x1138 - int32_t m_nIndexInAbility; // 0x113c - bool m_bIsHidden; // 0x1140 - bool m_bIsDebuff; // 0x1141 - bool m_bIsPurgable; // 0x1142 - bool m_bIsStunDebuff; // 0x1143 - bool m_bAllowIllusionDuplicate; // 0x1144 - bool m_bRemoveOnDeath; // 0x1145 + AbilityID_t m_nAbilityID; // 0x11b8 + int32_t m_nIndexInAbility; // 0x11bc + bool m_bIsHidden; // 0x11c0 + bool m_bIsDebuff; // 0x11c1 + bool m_bIsPurgable; // 0x11c2 + bool m_bIsStunDebuff; // 0x11c3 + bool m_bAllowIllusionDuplicate; // 0x11c4 + bool m_bRemoveOnDeath; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - char* m_pszAuraModifier; // 0x1148 - int32_t m_nAuraModifierIndex; // 0x1150 - int32_t m_nAuraRadius; // 0x1154 - int32_t m_nAuraSearchTeam; // 0x1158 - int32_t m_nAuraSearchType; // 0x115c - int32_t m_nAuraSearchFlags; // 0x1160 - bool m_bAuraApplyToCaster; // 0x1164 - bool m_bAuraApplyToParent; // 0x1165 + char* m_pszAuraModifier; // 0x11c8 + int32_t m_nAuraModifierIndex; // 0x11d0 + int32_t m_nAuraRadius; // 0x11d4 + int32_t m_nAuraSearchTeam; // 0x11d8 + int32_t m_nAuraSearchType; // 0x11dc + int32_t m_nAuraSearchFlags; // 0x11e0 + bool m_bAuraApplyToCaster; // 0x11e4 + bool m_bAuraApplyToParent; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - int32_t m_nAttributes; // 0x1168 + int32_t m_nAttributes; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - char* m_pszEffectName; // 0x1170 - int32_t m_nEffectAttachType; // 0x1178 - int32_t m_nPriority; // 0x117c - char* m_pszStatusEffectName; // 0x1180 - int32_t m_nStatusEffectPriority; // 0x1188 - int32_t m_nOverrideAnimation; // 0x118c - int32_t m_nOrbPriority; // 0x1190 - int32_t m_nOrbLabel; // 0x1194 - bool m_bOrbIsCastAttack; // 0x1198 + char* m_pszEffectName; // 0x11f0 + int32_t m_nEffectAttachType; // 0x11f8 + int32_t m_nPriority; // 0x11fc + char* m_pszStatusEffectName; // 0x1200 + int32_t m_nStatusEffectPriority; // 0x1208 + int32_t m_nOverrideAnimation; // 0x120c + int32_t m_nOrbPriority; // 0x1210 + int32_t m_nOrbLabel; // 0x1214 + bool m_bOrbIsCastAttack; // 0x1218 private: - [[maybe_unused]] uint8_t __pad1199[0x3]; // 0x1199 + [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: - float m_flThinkInterval; // 0x119c - bool m_bNeedsReParseIfRefreshed; // 0x11a0 + float m_flThinkInterval; // 0x121c + bool m_bNeedsReParseIfRefreshed; // 0x1220 private: - [[maybe_unused]] uint8_t __pad11a1[0x7]; // 0x11a1 + [[maybe_unused]] uint8_t __pad1221[0x7]; // 0x1221 public: - char* m_pszModelName; // 0x11a8 - char* m_pszOrbProjectileName; // 0x11b0 + char* m_pszModelName; // 0x1228 + char* m_pszOrbProjectileName; // 0x1230 private: - [[maybe_unused]] uint8_t __pad11b8[0x1890]; // 0x11b8 + [[maybe_unused]] uint8_t __pad1238[0x21c0]; // 0x1238 public: - uint64_t m_nModifierStatesEnabled; // 0x2a48 - uint64_t m_nModifierStatesDisabled; // 0x2a50 - KeyValues* m_pOnCreated; // 0x2a58 - KeyValues* m_pOnIntervalThink; // 0x2a60 - KeyValues* m_pOnDestroy; // 0x2a68 - KeyValues* m_pOnAttackStart; // 0x2a70 - KeyValues* m_pOnAttack; // 0x2a78 - KeyValues* m_pOnAttackLanded; // 0x2a80 - KeyValues* m_pOnAttackFailed; // 0x2a88 - KeyValues* m_pOnAttackAllied; // 0x2a90 - KeyValues* m_pOnProjectileDodge; // 0x2a98 - KeyValues* m_pOnOrder; // 0x2aa0 - KeyValues* m_pOnUnitMoved; // 0x2aa8 - KeyValues* m_pOnAbilityStart; // 0x2ab0 - KeyValues* m_pOnAbilityExecuted; // 0x2ab8 - KeyValues* m_pOnBreakInvisibility; // 0x2ac0 - KeyValues* m_pOnAbilityEndChannel; // 0x2ac8 - KeyValues* m_pOnTakeDamage; // 0x2ad0 - KeyValues* m_pOnDealDamage; // 0x2ad8 - KeyValues* m_pOnStateChanged; // 0x2ae0 - KeyValues* m_pOnAttacked; // 0x2ae8 - KeyValues* m_pOnDeath; // 0x2af0 - KeyValues* m_pOnKill; // 0x2af8 - KeyValues* m_pOnRespawn; // 0x2b00 - KeyValues* m_pOnSpentMana; // 0x2b08 - KeyValues* m_pOnTeleporting; // 0x2b10 - KeyValues* m_pOnTeleported; // 0x2b18 - KeyValues* m_pOnHealthGained; // 0x2b20 - KeyValues* m_pOnManaGained; // 0x2b28 - KeyValues* m_pOnHeroKilled; // 0x2b30 - KeyValues* m_pOnHealReceived; // 0x2b38 - KeyValues* m_pOnAttackFinished; // 0x2b40 - KeyValues* m_pOnAttackCancelled; // 0x2b48 + uint64_t m_nModifierStatesEnabled; // 0x33f8 + uint64_t m_nModifierStatesDisabled; // 0x3400 + KeyValues* m_pOnCreated; // 0x3408 + KeyValues* m_pOnIntervalThink; // 0x3410 + KeyValues* m_pOnDestroy; // 0x3418 + KeyValues* m_pOnAttackStart; // 0x3420 + KeyValues* m_pOnAttack; // 0x3428 + KeyValues* m_pOnAttackLanded; // 0x3430 + KeyValues* m_pOnAttackFailed; // 0x3438 + KeyValues* m_pOnAttackAllied; // 0x3440 + KeyValues* m_pOnProjectileDodge; // 0x3448 + KeyValues* m_pOnOrder; // 0x3450 + KeyValues* m_pOnUnitMoved; // 0x3458 + KeyValues* m_pOnAbilityStart; // 0x3460 + KeyValues* m_pOnAbilityExecuted; // 0x3468 + KeyValues* m_pOnBreakInvisibility; // 0x3470 + KeyValues* m_pOnAbilityEndChannel; // 0x3478 + KeyValues* m_pOnTakeDamage; // 0x3480 + KeyValues* m_pOnDealDamage; // 0x3488 + KeyValues* m_pOnStateChanged; // 0x3490 + KeyValues* m_pOnAttacked; // 0x3498 + KeyValues* m_pOnDeath; // 0x34a0 + KeyValues* m_pOnKill; // 0x34a8 + KeyValues* m_pOnRespawn; // 0x34b0 + KeyValues* m_pOnSpentMana; // 0x34b8 + KeyValues* m_pOnTeleporting; // 0x34c0 + KeyValues* m_pOnTeleported; // 0x34c8 + KeyValues* m_pOnHealthGained; // 0x34d0 + KeyValues* m_pOnManaGained; // 0x34d8 + KeyValues* m_pOnHeroKilled; // 0x34e0 + KeyValues* m_pOnHealReceived; // 0x34e8 + KeyValues* m_pOnAttackFinished; // 0x34f0 + KeyValues* m_pOnAttackCancelled; // 0x34f8 }; // Alignment: 1 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0xe8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0xe8]; // 0x11b8 public: - bool m_bHasCustomTransmitterData; // 0x1220 + bool m_bHasCustomTransmitterData; // 0x12a0 }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -6540,7 +6682,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -6548,7 +6690,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -6556,120 +6698,120 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t strike_damage; // 0x1140 + float strike_interval; // 0x11b8 + int32_t radius; // 0x11bc + int32_t strike_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 + int32_t strike_chance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 1 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x1138 + Vector m_PositionIndex[9]; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - CHandle< C_BaseEntity > m_hEntity; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + CHandle< C_BaseEntity > m_hEntity; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t max_ticks; // 0x113c + float damage; // 0x11b8 + int32_t max_ticks; // 0x11bc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float formation_time; // 0x11bc + bool m_bActive; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0xb]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0xb]; // 0x11c1 public: - int32_t m_nFXIndex; // 0x114c + int32_t m_nFXIndex; // 0x11cc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vOriginLoc; // 0x113c - bool m_bCanBeAffected; // 0x1148 - bool m_bTruesight; // 0x1149 + int32_t radius; // 0x11b8 + Vector m_vOriginLoc; // 0x11bc + bool m_bCanBeAffected; // 0x11c8 + bool m_bTruesight; // 0x11c9 private: - [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a + [[maybe_unused]] uint8_t __pad11ca[0x2]; // 0x11ca public: - int32_t intellect_bonus; // 0x114c + int32_t intellect_bonus; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x1138 - int32_t radius; // 0x113c - int32_t damage_max; // 0x1140 - int32_t pulses; // 0x1144 - float duration; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + int32_t m_nCurrentPulse; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_max; // 0x11c0 + int32_t pulses; // 0x11c4 + float duration; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t movement_speed_reduction; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - bool m_bHasScepter; // 0x1144 + int32_t miss_rate; // 0x11b8 + int32_t movement_speed_reduction; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + bool m_bHasScepter; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -6677,24 +6819,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 - int32_t move_slow_pct; // 0x113c + int32_t damage_reduction_pct; // 0x11b8 + int32_t move_slow_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x1138 + int32_t int_increase_amount; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -6702,7 +6844,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -6710,7 +6852,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -6718,86 +6860,86 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 + int32_t damage_reduction_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float pull_duration; // 0x114c - float effective_distance; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float pull_duration; // 0x11cc + float effective_distance; // 0x11d0 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - float splash_damage_pct; // 0x114c - int32_t splash_radius; // 0x1150 - float self_multiplier; // 0x1154 - int32_t lifesteal_pct; // 0x1158 - GameTime_t m_fLastShockwaveProcTime; // 0x115c + int32_t bonus_damage_pct; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + float splash_damage_pct; // 0x11cc + int32_t splash_radius; // 0x11d0 + float self_multiplier; // 0x11d4 + int32_t lifesteal_pct; // 0x11d8 + GameTime_t m_fLastShockwaveProcTime; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t m_nProjectileID; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - int32_t skewer_damage; // 0x113c + float slow_duration; // 0x11b8 + int32_t skewer_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -6805,7 +6947,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -6813,16 +6955,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x1138 - int32_t attack_speed; // 0x113c + int32_t move_speed_percent; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -6830,86 +6972,86 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - int32_t attack_factor; // 0x113c + int32_t base_damage; // 0x11b8 + int32_t attack_factor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 + int32_t strike_chance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_evasion; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_evasion; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 + int32_t damage_reduction_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float fade_duration; // 0x114c - bool m_bDestroyNext; // 0x1150 + int32_t radius; // 0x11c8 + float fade_duration; // 0x11cc + bool m_bDestroyNext; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x1138 - int32_t crit_chance; // 0x113c - bool crit_active; // 0x1140 + int32_t crit_bonus; // 0x11b8 + int32_t crit_chance; // 0x11bc + bool crit_active; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -6917,155 +7059,155 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t arrow_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t arrow_count; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x1138 - int32_t attack_range_bonus; // 0x113c - int32_t projectile_speed_bonus; // 0x1140 - int32_t night_vision_bonus; // 0x1144 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 + float attack_point; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t projectile_speed_bonus; // 0x11c0 + int32_t night_vision_bonus; // 0x11c4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - int32_t move_slow; // 0x113c + float damage_per_second; // 0x11b8 + int32_t move_slow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x1138 + int32_t m_nOriginalAttackCapability; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x8]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x8]; // 0x11bc public: - bool m_bDidBlast; // 0x1144 + bool m_bDidBlast; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t heal_additive; // 0x1148 - float heal_percentage; // 0x114c + int32_t heal_additive; // 0x11c8 + float heal_percentage; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x1138 - int32_t barrier_block; // 0x113c - int32_t m_nMaxMovementSpeed; // 0x1140 + int32_t barrier_amount; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t m_nMaxMovementSpeed; // 0x11c0 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x1138 + bool m_bIsPointBlank; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t movement_slow_pct; // 0x113c - int32_t attack_slow_pct; // 0x1140 + int32_t movement_slow_pct; // 0x11bc + int32_t attack_slow_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -7073,17 +7215,17 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - bool m_bMovesHorizontal; // 0x113c - bool m_bSecondaryCookie; // 0x113d + float jump_duration; // 0x11b8 + bool m_bMovesHorizontal; // 0x11bc + bool m_bSecondaryCookie; // 0x11bd }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -7091,7 +7233,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -7099,7 +7241,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -7107,84 +7249,84 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t bonus_attack_damage; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t bonus_attack_damage; // 0x11bc }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t m_nIsActive; // 0x1158 - bool m_bHasAttackTalent; // 0x115c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t m_nIsActive; // 0x11d8 + bool m_bHasAttackTalent; // 0x11dc private: - [[maybe_unused]] uint8_t __pad115d[0x3]; // 0x115d + [[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd public: - int32_t attack_range_bonus; // 0x1160 - int32_t buffed_attacks; // 0x1164 - float base_attack_time; // 0x1168 - int32_t attack_speed_bonus; // 0x116c - float armor_duration; // 0x1170 - int32_t damage; // 0x1174 - int32_t bounce_range; // 0x1178 - int32_t bounces; // 0x117c + int32_t attack_range_bonus; // 0x11e0 + int32_t buffed_attacks; // 0x11e4 + float base_attack_time; // 0x11e8 + int32_t attack_speed_bonus; // 0x11ec + float armor_duration; // 0x11f0 + int32_t damage; // 0x11f4 + int32_t bounce_range; // 0x11f8 + int32_t bounces; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x1138 + float armor_reduction_per_attack; // 0x11b8 }; // Alignment: 16 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x1138 - float m_flFacingTarget; // 0x113c - ParticleIndex_t m_nBeamFXIndex; // 0x1140 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1144 - float m_flCurDistance; // 0x1148 - Vector m_vAimTarget; // 0x114c - float m_fLastTurnAmount; // 0x1158 - int32_t m_nProjectilesLaunched; // 0x115c - bool m_bDestroyOnNextThink; // 0x1160 + float m_fIntervalPerRocket; // 0x11b8 + float m_flFacingTarget; // 0x11bc + ParticleIndex_t m_nBeamFXIndex; // 0x11c0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x11c4 + float m_flCurDistance; // 0x11c8 + Vector m_vAimTarget; // 0x11cc + float m_fLastTurnAmount; // 0x11d8 + int32_t m_nProjectilesLaunched; // 0x11dc + bool m_bDestroyOnNextThink; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nProjectilesToLaunch; // 0x1164 - bool m_bHasProjectileTalent; // 0x1168 + int32_t m_nProjectilesToLaunch; // 0x11e4 + bool m_bHasProjectileTalent; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - int32_t projectile_count; // 0x116c - int32_t projectile_vision; // 0x1170 - float turn_rate; // 0x1174 - int32_t min_range; // 0x1178 - float delay_after_last_projectile; // 0x117c + int32_t projectile_count; // 0x11ec + int32_t projectile_vision; // 0x11f0 + float turn_rate; // 0x11f4 + int32_t min_range; // 0x11f8 + float delay_after_last_projectile; // 0x11fc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -7192,31 +7334,31 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t impact_radius; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_linger_duration; // 0x1144 - ParticleIndex_t m_nPathEffectIndex; // 0x1148 + float burn_interval; // 0x11b8 + int32_t impact_radius; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_linger_duration; // 0x11c4 + ParticleIndex_t m_nPathEffectIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x1138 - float m_fBurnDamagePerTick; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_interval; // 0x1144 - int32_t burn_damage; // 0x1148 + int32_t m_nMoveSlowPct; // 0x11b8 + float m_fBurnDamagePerTick; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_interval; // 0x11c4 + int32_t burn_damage; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -7224,62 +7366,62 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x1138 - float max_time_in_belly; // 0x113c + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11b8 + float max_time_in_belly; // 0x11bc }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - int32_t min_range; // 0x1138 - float min_lob_travel_time; // 0x113c - float max_lob_travel_time; // 0x1140 - int32_t impact_radius; // 0x1144 - int32_t projectile_vision; // 0x1148 - float stun_duration; // 0x114c - int32_t impact_damage; // 0x1150 - float min_height_above_lowest; // 0x1154 - float min_height_above_highest; // 0x1158 - float min_acceleration; // 0x115c - float max_acceleration; // 0x1160 + int32_t min_range; // 0x11b8 + float min_lob_travel_time; // 0x11bc + float max_lob_travel_time; // 0x11c0 + int32_t impact_radius; // 0x11c4 + int32_t projectile_vision; // 0x11c8 + float stun_duration; // 0x11cc + int32_t impact_damage; // 0x11d0 + float min_height_above_lowest; // 0x11d4 + float min_height_above_highest; // 0x11d8 + float min_acceleration; // 0x11dc + float max_acceleration; // 0x11e0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x1138 - int32_t radius; // 0x1144 - float damage; // 0x1148 - float explosion_interval; // 0x114c + Vector m_vPos; // 0x11b8 + int32_t radius; // 0x11c4 + float damage; // 0x11c8 + float explosion_interval; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -7287,7 +7429,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -7295,7 +7437,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -7303,7 +7445,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -7311,78 +7453,78 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 - bool m_bPunchKill; // 0x1155 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 + bool m_bPunchKill; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad1156[0x2]; // 0x1156 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x1138 + float spell_lifesteal_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -7390,28 +7532,28 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 - float bonus_reset_time; // 0x113c - float bonus_reset_time_roshan; // 0x1140 - int32_t max_swipe_stack; // 0x1144 + int32_t damage_per_stack; // 0x11b8 + float bonus_reset_time; // 0x11bc + float bonus_reset_time_roshan; // 0x11c0 + int32_t max_swipe_stack; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 - int32_t m_nArmorReductionPerStack; // 0x113c - int32_t m_nLifestealPerStack; // 0x1140 + int32_t damage_per_stack; // 0x11b8 + int32_t m_nArmorReductionPerStack; // 0x11bc + int32_t m_nLifestealPerStack; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -7419,40 +7561,40 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 - int32_t m_nEarthshockAttacks; // 0x113c + int32_t attack_speed_bonus_pct; // 0x11b8 + int32_t m_nEarthshockAttacks; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x1138 - bool m_bAddOverpower; // 0x113c + int32_t m_nMissChance; // 0x11b8 + bool m_bAddOverpower; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flOverpowerDuration; // 0x1140 - int32_t m_nNumOverpowerAttacks; // 0x1144 - int32_t movement_slow; // 0x1148 + float m_flOverpowerDuration; // 0x11c0 + int32_t m_nNumOverpowerAttacks; // 0x11c4 + int32_t movement_slow; // 0x11c8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -7460,81 +7602,81 @@ public: }; // Alignment: 1 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x1168 + float value3; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x1138 + int32_t m_nModelScale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -7542,7 +7684,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -7550,26 +7692,26 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float formation_time; // 0x113c - float m_flInitialZ; // 0x1140 - float m_flFinalZ; // 0x1144 + float radius; // 0x11b8 + float formation_time; // 0x11bc + float m_flInitialZ; // 0x11c0 + float m_flFinalZ; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -7577,42 +7719,42 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t health_regen; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t width; // 0x113c - int32_t spear_damage; // 0x1140 - int32_t spear_distance_from_wall; // 0x1144 - float spear_attack_interval; // 0x1148 + int32_t radius; // 0x11b8 + int32_t width; // 0x11bc + int32_t spear_damage; // 0x11c0 + int32_t spear_distance_from_wall; // 0x11c4 + float spear_attack_interval; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x1c]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x1c]; // 0x11cc public: - float warrior_fade_min_dist; // 0x1168 - float warrior_fade_max_dist; // 0x116c + float warrior_fade_min_dist; // 0x11e8 + float warrior_fade_max_dist; // 0x11ec }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -7620,25 +7762,25 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float width; // 0x113c - Vector m_vOriginLoc; // 0x1140 + int32_t radius; // 0x11b8 + float width; // 0x11bc + Vector m_vOriginLoc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -7646,237 +7788,237 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x1138 - int32_t redirect_range; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 - int32_t redirect_speed_penatly; // 0x1148 - int32_t m_nPoseParameterWE; // 0x114c - int32_t m_nPoseParameterNS; // 0x1150 - float m_flLastPoseX; // 0x1154 - float m_flLastPoseY; // 0x1158 - int32_t m_nLastMaxDirection; // 0x115c - Vector m_vLastOrigin; // 0x1160 - GameTime_t m_flLastGameTime; // 0x116c + int32_t redirect_chance; // 0x11b8 + int32_t redirect_range; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 + int32_t redirect_speed_penatly; // 0x11c8 + int32_t m_nPoseParameterWE; // 0x11cc + int32_t m_nPoseParameterNS; // 0x11d0 + float m_flLastPoseX; // 0x11d4 + float m_flLastPoseY; // 0x11d8 + int32_t m_nLastMaxDirection; // 0x11dc + Vector m_vLastOrigin; // 0x11e0 + GameTime_t m_flLastGameTime; // 0x11ec }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: - int32_t stack_limit; // 0x1138 - float stack_interval; // 0x113c - ParticleIndex_t m_nFxIndexB; // 0x1140 - int32_t iCur_stack; // 0x1144 + int32_t stack_limit; // 0x11b8 + float stack_interval; // 0x11bc + ParticleIndex_t m_nFxIndexB; // 0x11c0 + int32_t iCur_stack; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x1138 - int32_t m_iAttackCount; // 0x113c - int32_t destroy_attacks; // 0x1140 - Vector m_vDirection; // 0x1144 - Vector m_vStartLoc; // 0x1150 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x115c + int32_t m_iMaxDist; // 0x11b8 + int32_t m_iAttackCount; // 0x11bc + int32_t destroy_attacks; // 0x11c0 + Vector m_vDirection; // 0x11c4 + Vector m_vStartLoc; // 0x11d0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11dc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x1138 - int32_t damage; // 0x113c - int32_t damage_share_percentage; // 0x1140 - float m_flCurrentArmorReduction; // 0x1144 - float flTotalDamage; // 0x1148 + float armor_reduction; // 0x11b8 + int32_t damage; // 0x11bc + int32_t damage_share_percentage; // 0x11c0 + float m_flCurrentArmorReduction; // 0x11c4 + float flTotalDamage; // 0x11c8 }; // Alignment: 7 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t speed; // 0x1150 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t speed; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1158 - bool bHasStartedBurning; // 0x1170 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11d8 + bool bHasStartedBurning; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - int32_t m_nBurningTrailRadius; // 0x1174 - Vector m_vLastTrailThinkerLocation; // 0x1178 + int32_t m_nBurningTrailRadius; // 0x11f4 + Vector m_vLastTrailThinkerLocation; // 0x11f8 }; // Alignment: 2 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 4 -// Size: 0x1218 +// Size: 0x1298 class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x1138 - float m_flLife[11]; // 0x11bc - float m_flMana[11]; // 0x11e8 - bool m_bHasValidHistory; // 0x1214 + Vector m_PositionIndex[11]; // 0x11b8 + float m_flLife[11]; // 0x123c + float m_flMana[11]; // 0x1268 + bool m_bHasValidHistory; // 0x1294 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t magic_resistance; // 0x1140 - float m_flAccumDamage; // 0x1144 - float m_flPoisonSnapCounter; // 0x1148 - int32_t m_nPoisonSnapThreshold; // 0x114c + float damage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t magic_resistance; // 0x11c0 + float m_flAccumDamage; // 0x11c4 + float m_flPoisonSnapCounter; // 0x11c8 + int32_t m_nPoisonSnapThreshold; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x1138 - int32_t max_damage; // 0x113c - float max_duration; // 0x1140 - float m_flDamageInterval; // 0x1144 - float m_flTimeIncrement; // 0x1148 + int32_t min_damage; // 0x11b8 + int32_t max_damage; // 0x11bc + float max_duration; // 0x11c0 + float m_flDamageInterval; // 0x11c4 + float m_flTimeIncrement; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -7884,16 +8026,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 - float duration; // 0x113c + int32_t m_nRadius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: @@ -7901,58 +8043,58 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 + int32_t bonus_magic_resistance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: - float m_flFactor; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + float m_flFactor; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t damage; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t damage; // 0x1140 - bool m_bTargetedAlly; // 0x1144 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t damage; // 0x11c0 + bool m_bTargetedAlly; // 0x11c4 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c - int32_t m_nTargetTeam; // 0x1140 + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_nTargetTeam; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1148 + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: @@ -7960,72 +8102,72 @@ public: }; // Alignment: 11 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x1138 + Vector m_vFacingDir; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x1138 + int32_t remnant_watch_radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float think_interval; // 0x1140 + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< C_BaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< C_BaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -8033,57 +8175,57 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - int32_t movement_slow_pct; // 0x113c - int32_t pop_damage; // 0x1140 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + int32_t movement_slow_pct; // 0x11bc + int32_t pop_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 19 -// Size: 0x11d8 +// Size: 0x1258 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -8091,43 +8233,43 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1148 - int32_t speed; // 0x1160 - int32_t radius; // 0x1164 - int32_t damage; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t speed; // 0x11e0 + int32_t radius; // 0x11e4 + int32_t damage; // 0x11e8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - float damage_delay; // 0x1140 - int32_t m_nShrapnelPct; // 0x1144 - bool m_bExploded; // 0x1148 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + float damage_delay; // 0x11c0 + int32_t m_nShrapnelPct; // 0x11c4 + bool m_bExploded; // 0x11c8 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: @@ -8135,18 +8277,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - float m_fAccumulatedDamage; // 0x1138 - int32_t shrapnel_damage; // 0x113c - int32_t slow_movement_speed; // 0x1140 - int32_t miss_chance; // 0x1144 + float m_fAccumulatedDamage; // 0x11b8 + int32_t shrapnel_damage; // 0x11bc + int32_t slow_movement_speed; // 0x11c0 + int32_t miss_chance; // 0x11c4 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: @@ -8154,17 +8296,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: - int32_t value; // 0x1138 - float value2; // 0x113c - int32_t m_nAttackSpeedBonus; // 0x1140 + int32_t value; // 0x11b8 + float value2; // 0x11bc + int32_t m_nAttackSpeedBonus; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: @@ -8172,25 +8314,25 @@ public: }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - float slow_duration; // 0x113c - int32_t damage; // 0x1140 - int32_t knockback_distance; // 0x1144 - GameTime_t m_fLastStunProcTime; // 0x1148 + int32_t proc_chance; // 0x11b8 + float slow_duration; // 0x11bc + int32_t damage; // 0x11c0 + int32_t knockback_distance; // 0x11c4 + GameTime_t m_fLastStunProcTime; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x1150 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1168 - int32_t m_nCritPct; // 0x1180 + CUtlVector< int16 > m_vHeadshotRecords; // 0x11d0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x11e8 + int32_t m_nCritPct; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: @@ -8198,57 +8340,57 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t slow_vs_considered_hero; // 0x113c + int32_t slow; // 0x11b8 + int32_t slow_vs_considered_hero; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t active_attack_range_multiplier; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t active_attack_range_multiplier; // 0x11bc }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t m_nAttackSpeedPerAttack; // 0x113c - int32_t m_nShrapnelPct; // 0x1140 - bool m_bNoCollision; // 0x1144 + int32_t slow; // 0x11b8 + int32_t m_nAttackSpeedPerAttack; // 0x11bc + int32_t m_nShrapnelPct; // 0x11c0 + bool m_bNoCollision; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x1148 + CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: - int32_t value2; // 0x1138 - int32_t value3; // 0x113c + int32_t value2; // 0x11b8 + int32_t value3; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: @@ -8256,7 +8398,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: @@ -8264,7 +8406,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: @@ -8272,7 +8414,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: @@ -8280,47 +8422,47 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: - bool m_bHasBeenMagnetized; // 0x1138 + bool m_bHasBeenMagnetized; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x1138 + bool m_bInterrupted; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nProjectileID; // 0x113c + int32_t m_nProjectileID; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: @@ -8328,15 +8470,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: @@ -8344,67 +8486,67 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t rock_damage; // 0x113c - float pull_units_per_second; // 0x1140 - float pull_units_per_second_heroes; // 0x1144 - float total_pull_distance; // 0x1148 - float duration; // 0x114c - bool m_bUsedStone; // 0x1150 + int32_t radius; // 0x11b8 + int32_t rock_damage; // 0x11bc + float pull_units_per_second; // 0x11c0 + float pull_units_per_second_heroes; // 0x11c4 + float total_pull_distance; // 0x11c8 + float duration; // 0x11cc + bool m_bUsedStone; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - Vector m_vDestination; // 0x1154 - Vector m_vLocation; // 0x1160 + Vector m_vDestination; // 0x11d4 + Vector m_vLocation; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1170 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - bool m_bHasBeenMagnetized; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + bool m_bHasBeenMagnetized; // 0x11bc }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x1138 - int32_t damage_per_second; // 0x113c - float damage_interval; // 0x1140 - float rock_explosion_delay; // 0x1144 - float damage_duration; // 0x1148 - int32_t cast_radius; // 0x114c - int32_t rock_explosion_radius; // 0x1150 + int32_t rock_search_radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float damage_interval; // 0x11c0 + float rock_explosion_delay; // 0x11c4 + float damage_duration; // 0x11c8 + int32_t cast_radius; // 0x11cc + int32_t rock_explosion_radius; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1158 - float duration; // 0x1170 - bool m_bShowOverhead; // 0x1174 + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x11d8 + float duration; // 0x11f0 + bool m_bShowOverhead; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: - float cooldown_reduction_per_hit; // 0x1138 + float cooldown_reduction_per_hit; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: @@ -8412,59 +8554,59 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t move_speed_bonus; // 0x1138 - int32_t attack_speed_bonus; // 0x113c - float damage_interval; // 0x1140 - int32_t attack_damage_pct; // 0x1144 - int32_t death_heal; // 0x1148 - bool bIsAllied; // 0x114c + int32_t move_speed_bonus; // 0x11b8 + int32_t attack_speed_bonus; // 0x11bc + float damage_interval; // 0x11c0 + int32_t attack_damage_pct; // 0x11c4 + int32_t death_heal; // 0x11c8 + bool bIsAllied; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - float hp_regen; // 0x113c - int32_t bonus_str; // 0x1140 - int32_t damage_increase_outgoing_pct; // 0x1144 + int32_t damage_reduction; // 0x11b8 + float hp_regen; // 0x11bc + int32_t bonus_str; // 0x11c0 + int32_t damage_increase_outgoing_pct; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t hp_regen; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t purification_trigger_chance; // 0x1140 - float purification_trigger_cooldown; // 0x1144 - GameTime_t m_fLastProc; // 0x1148 + int32_t hp_regen; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t purification_trigger_chance; // 0x11c0 + float purification_trigger_cooldown; // 0x11c4 + GameTime_t m_fLastProc; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 + int32_t damage_threshold; // 0x11b8 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: @@ -8472,7 +8614,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: @@ -8480,16 +8622,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t remaining_bounces; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t remaining_bounces; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -8497,19 +8639,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float mana_per_second; // 0x113c - float heal_interval; // 0x1140 - int32_t lifesteal_percent; // 0x1144 - int32_t spell_lifesteal_pct; // 0x1148 + int32_t heal; // 0x11b8 + float mana_per_second; // 0x11bc + float heal_interval; // 0x11c0 + int32_t lifesteal_percent; // 0x11c4 + int32_t spell_lifesteal_pct; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -8517,53 +8659,53 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_threshold; // 0x1140 - int32_t max_bonus_damage; // 0x1144 - int32_t ticks; // 0x1148 - int32_t iCurrentTick; // 0x114c + int32_t m_iStartHealth; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_threshold; // 0x11c0 + int32_t max_bonus_damage; // 0x11c4 + int32_t ticks; // 0x11c8 + int32_t iCurrentTick; // 0x11cc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t m_iBounceRadius; // 0x113c - bool m_bFirstAttack; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t m_iBounceRadius; // 0x11bc + bool m_bFirstAttack; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t m_iBounces; // 0x1144 - ParticleIndex_t m_nStaffParticle; // 0x1148 + int32_t m_iBounces; // 0x11c4 + ParticleIndex_t m_nStaffParticle; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: - int32_t cask_chance; // 0x1138 - int32_t cask_cooldown; // 0x113c - GameTime_t flLastProcTime; // 0x1140 + int32_t cask_chance; // 0x11b8 + int32_t cask_cooldown; // 0x11bc + GameTime_t flLastProcTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: @@ -8571,7 +8713,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: @@ -8579,124 +8721,124 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t split_shot_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t split_shot_count; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 - int32_t max_damage_absorb; // 0x113c + int32_t damage_threshold; // 0x11b8 + int32_t max_damage_absorb; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x1138 + bool launched_attack; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - bool launched_attack; // 0x113c + int32_t bonus_damage; // 0x11b8 + bool launched_attack; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CHandle< C_BaseEntity > m_hTarget; // 0x1140 + CHandle< C_BaseEntity > m_hTarget; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - float attack_spill_range; // 0x113c - int32_t attack_spill_width; // 0x1140 - int32_t attack_spill_pct; // 0x1144 - int32_t attack_spill_penalty; // 0x1148 + int32_t bonus_attack_range; // 0x11b8 + float attack_spill_range; // 0x11bc + int32_t attack_spill_width; // 0x11c0 + int32_t attack_spill_pct; // 0x11c4 + int32_t attack_spill_penalty; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: - int32_t trap_radius; // 0x1138 - float trap_delay_time; // 0x113c - float slow_duration; // 0x1140 - int32_t max_pulses; // 0x1144 - int32_t iCurrentPulse; // 0x1148 - CHandle< C_BaseEntity > m_hImage; // 0x114c + int32_t trap_radius; // 0x11b8 + float trap_delay_time; // 0x11bc + float slow_duration; // 0x11c0 + int32_t max_pulses; // 0x11c4 + int32_t iCurrentPulse; // 0x11c8 + CHandle< C_BaseEntity > m_hImage; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_slow; // 0x1138 - int32_t trap_damage; // 0x113c + int32_t movement_speed_slow; // 0x11b8 + int32_t trap_damage; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t damage_absorb; // 0x113c - float m_flDamageAbsorbed; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t damage_absorb; // 0x11bc + float m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: @@ -8704,7 +8846,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: @@ -8712,131 +8854,131 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float total_damage; // 0x113c - int32_t total_pulses; // 0x1140 - int32_t heal_pct; // 0x1144 - float pulse_interval; // 0x1148 - bool bIsBaseAbility; // 0x114c + int32_t radius; // 0x11b8 + float total_damage; // 0x11bc + int32_t total_pulses; // 0x11c0 + int32_t heal_pct; // 0x11c4 + float pulse_interval; // 0x11c8 + bool bIsBaseAbility; // 0x11cc }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1138 - int32_t pounce_distance; // 0x1150 - int32_t pounce_distance_default; // 0x1154 - float pounce_speed; // 0x1158 - float pounce_acceleration; // 0x115c - int32_t pounce_radius; // 0x1160 - int32_t pounce_damage; // 0x1164 - float leash_duration; // 0x1168 + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x11b8 + int32_t pounce_distance; // 0x11d0 + int32_t pounce_distance_default; // 0x11d4 + float pounce_speed; // 0x11d8 + float pounce_acceleration; // 0x11dc + int32_t pounce_radius; // 0x11e0 + int32_t pounce_damage; // 0x11e4 + float leash_duration; // 0x11e8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x1138 - Vector vLeashLocation; // 0x113c - bool m_bEscaped; // 0x1148 + int32_t leash_radius; // 0x11b8 + Vector vLeashLocation; // 0x11bc + bool m_bEscaped; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float pounce_damage_multiplier; // 0x114c - int32_t pounce_damage; // 0x1150 + float pounce_damage_multiplier; // 0x11cc + int32_t pounce_damage; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: - int32_t max_stacks; // 0x1138 - int32_t passive_agility; // 0x113c - GameTime_t flLastProcTime; // 0x1140 - float debuff_duration; // 0x1144 + int32_t max_stacks; // 0x11b8 + int32_t passive_agility; // 0x11bc + GameTime_t flLastProcTime; // 0x11c0 + float debuff_duration; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: - int32_t agi_gain; // 0x1138 - int32_t iPrimaryAttribute; // 0x113c - float model_scale; // 0x1140 + int32_t agi_gain; // 0x11b8 + int32_t iPrimaryAttribute; // 0x11bc + float model_scale; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: - int32_t reduction; // 0x1138 + int32_t reduction; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x1138 + int32_t scepter_aoe; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_regen_pct; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_regen_pct; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - GameTime_t flLastPulseTime; // 0x1150 + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + GameTime_t flLastPulseTime; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x1138 + bool m_bScepter; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: - Vector m_vPullLocation; // 0x1138 - float pull_speed; // 0x1144 + Vector m_vPullLocation; // 0x11b8 + float pull_speed; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: @@ -8844,53 +8986,53 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x1138 - int32_t duration_heal; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t duration_damage; // 0x11b8 + int32_t duration_heal; // 0x11bc + int32_t movement_slow; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_SlowInterval; // 0x1148 - float m_flSlowStep; // 0x1160 - float m_flSlowStepStep; // 0x1164 + CountdownTimer m_SlowInterval; // 0x11c8 + float m_flSlowStep; // 0x11e0 + float m_flSlowStepStep; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t m_nRadius; // 0x1144 - ParticleIndex_t m_nTrailFX; // 0x1148 - float linger_duration; // 0x114c - float flDamage; // 0x1150 - float damage_pct; // 0x1154 + Vector m_vPathDir; // 0x11b8 + int32_t m_nRadius; // 0x11c4 + ParticleIndex_t m_nTrailFX; // 0x11c8 + float linger_duration; // 0x11cc + float flDamage; // 0x11d0 + float damage_pct; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 - float burn_interval; // 0x113c + float flDamage; // 0x11b8 + float burn_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: @@ -8898,7 +9040,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: @@ -8906,7 +9048,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: @@ -8914,27 +9056,27 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t spell_amp; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x1138 - int32_t radius; // 0x1144 - float damage; // 0x1148 - float explosion_interval; // 0x114c + Vector m_vPos; // 0x11b8 + int32_t radius; // 0x11c4 + float damage; // 0x11c8 + float explosion_interval; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: @@ -8942,7 +9084,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: @@ -8950,7 +9092,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: @@ -8958,7 +9100,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -8966,70 +9108,70 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 - bool m_bPunchKill; // 0x1155 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 + bool m_bPunchKill; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad1156[0x2]; // 0x1156 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -9037,54 +9179,54 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float health_threshold_pct; // 0x113c - float duration; // 0x1140 - CHandle< C_BaseEntity > m_hTombstoneSourceAbility; // 0x1144 - CHandle< C_BaseEntity > m_hChaseUnit; // 0x1148 + int32_t radius; // 0x11b8 + float health_threshold_pct; // 0x11bc + float duration; // 0x11c0 + CHandle< C_BaseEntity > m_hTombstoneSourceAbility; // 0x11c4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t tombstone_health; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float zombie_interval; // 0x113c - int32_t spawn_at_parent; // 0x1140 - int32_t remove_on_death; // 0x1144 - float knockback_duration; // 0x1148 - int32_t knockback_distance; // 0x114c - int32_t knockback_height; // 0x1150 - int32_t spawn_distance; // 0x1154 + int32_t radius; // 0x11b8 + float zombie_interval; // 0x11bc + int32_t spawn_at_parent; // 0x11c0 + int32_t remove_on_death; // 0x11c4 + float knockback_duration; // 0x11c8 + int32_t knockback_distance; // 0x11cc + int32_t knockback_height; // 0x11d0 + int32_t spawn_distance; // 0x11d4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hLoadedUnit; // 0x1138 - float heal_percent_per_tick; // 0x113c - int32_t tombstone_grab_radius; // 0x1140 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x1144 + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11b8 + float heal_percent_per_tick; // 0x11bc + int32_t tombstone_grab_radius; // 0x11c0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -9092,38 +9234,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: - float m_fStrengthStolen; // 0x1138 - float model_scale_per_strength; // 0x113c - float model_scale_max; // 0x1140 + float m_fStrengthStolen; // 0x11b8 + float model_scale_per_strength; // 0x11bc + float model_scale_max; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - float interval; // 0x113c - int32_t extra_decays; // 0x1140 - int32_t radius; // 0x1144 - int32_t decay_strength_percent; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + int32_t m_iCount; // 0x11b8 + float interval; // 0x11bc + int32_t extra_decays; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t decay_strength_percent; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: - float str_stolen; // 0x1138 + float str_stolen; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: @@ -9131,52 +9273,52 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: - int32_t ward_radius; // 0x1138 - int32_t explosion_damage; // 0x113c - float taunt_interval; // 0x1140 + int32_t ward_radius; // 0x11b8 + int32_t explosion_damage; // 0x11bc + float taunt_interval; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: - float str_gain; // 0x1138 - int32_t model_scale; // 0x113c + float str_gain; // 0x11b8 + int32_t model_scale; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float m_flDecrementTime; // 0x113c + int32_t slow; // 0x11b8 + float m_flDecrementTime; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -9184,7 +9326,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: @@ -9192,7 +9334,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: @@ -9200,44 +9342,44 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: - int32_t bonus_move_speed_per_stack; // 0x1138 - int32_t bonus_attack_speed_per_stack; // 0x113c + int32_t bonus_move_speed_per_stack; // 0x11b8 + int32_t bonus_attack_speed_per_stack; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x1138 - int32_t movement_bonus; // 0x113c + int32_t str_percentage; // 0x11b8 + int32_t movement_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x1138 - int32_t slow; // 0x113c + int32_t damage_amp; // 0x11b8 + int32_t slow; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c - float tick_rate; // 0x1140 + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc + float tick_rate; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -9245,7 +9387,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: @@ -9253,88 +9395,88 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - float burn_damage; // 0x113c - int32_t mana_restore; // 0x1140 + float burn_interval; // 0x11b8 + float burn_damage; // 0x11bc + int32_t mana_restore; // 0x11c0 }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t m_iDamage; // 0x1150 - float m_flStunDuration; // 0x1154 - int32_t light_strike_array_damage; // 0x1158 - float light_strike_array_stun_duration; // 0x115c - float light_strike_array_delay; // 0x1160 - int32_t m_nLSARadius; // 0x1164 - int32_t m_nCount; // 0x1168 - int32_t max_count; // 0x116c - int32_t iPower; // 0x1170 - float pulse_interval; // 0x1174 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t m_iDamage; // 0x11d0 + float m_flStunDuration; // 0x11d4 + int32_t light_strike_array_damage; // 0x11d8 + float light_strike_array_stun_duration; // 0x11dc + float light_strike_array_delay; // 0x11e0 + int32_t m_nLSARadius; // 0x11e4 + int32_t m_nCount; // 0x11e8 + int32_t max_count; // 0x11ec + int32_t iPower; // 0x11f0 + float pulse_interval; // 0x11f4 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: - int32_t attack_range_per_stack; // 0x1138 - bool m_bShouldReset; // 0x113c - bool m_bIsActive; // 0x113d + int32_t attack_range_per_stack; // 0x11b8 + bool m_bShouldReset; // 0x11bc + bool m_bIsActive; // 0x11bd private: - [[maybe_unused]] uint8_t __pad113e[0x2]; // 0x113e + [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be public: - int32_t fiery_soul_attack_speed_bonus; // 0x1140 - float fiery_soul_move_speed_bonus; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t fiery_soul_attack_speed_bonus; // 0x11c0 + float fiery_soul_move_speed_bonus; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x1138 - float fiery_soul_move_speed_bonus; // 0x113c - int32_t fiery_soul_max_stacks; // 0x1140 - float fiery_soul_stack_duration; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flFierySoulDieTime; // 0x114c + int32_t fiery_soul_attack_speed_bonus; // 0x11b8 + float fiery_soul_move_speed_bonus; // 0x11bc + int32_t fiery_soul_max_stacks; // 0x11c0 + float fiery_soul_stack_duration; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flFierySoulDieTime; // 0x11cc }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x1138 - Vector vEnd; // 0x1144 - float damage_delay; // 0x1150 - CHandle< C_BaseEntity > m_hMainTarget; // 0x1154 + Vector vStart; // 0x11b8 + Vector vEnd; // 0x11c4 + float damage_delay; // 0x11d0 + CHandle< C_BaseEntity > m_hMainTarget; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -9342,55 +9484,55 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t arrow_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t arrow_count; // 0x11c0 }; // Alignment: 7 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x1138 - float stack_interval; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x1140 - ParticleIndex_t m_nFxIndexB; // 0x1158 + int32_t stack_limit; // 0x11b8 + float stack_interval; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x11c0 + ParticleIndex_t m_nFxIndexB; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1160 - int32_t bounces_remaining; // 0x1178 - int32_t iCur_stack; // 0x117c + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x11e0 + int32_t bounces_remaining; // 0x11f8 + int32_t iCur_stack; // 0x11fc }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x1138 + int32_t bounces_remaining; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1140 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x1138 - int32_t damage_penalty; // 0x113c + float attack_damage; // 0x11b8 + int32_t damage_penalty; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -9398,166 +9540,166 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - float m_flPushDistance; // 0x1138 + float m_flPushDistance; // 0x11b8 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t blade_fury_damage; // 0x113c - float blade_fury_damage_tick; // 0x1140 - int32_t movement_bonus; // 0x1144 - int32_t spark_radius; // 0x1148 - int32_t spark_damage_percent; // 0x114c - bool m_bDestroyParentThinkerOnDeath; // 0x1150 + int32_t blade_fury_radius; // 0x11b8 + int32_t blade_fury_damage; // 0x11bc + float blade_fury_damage_tick; // 0x11c0 + int32_t movement_bonus; // 0x11c4 + int32_t spark_radius; // 0x11c8 + int32_t spark_damage_percent; // 0x11cc + bool m_bDestroyParentThinkerOnDeath; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t pull_speed; // 0x113c - int32_t pull_stop; // 0x1140 - Vector pull_origin; // 0x1144 - GameTime_t m_flLastThinkTime; // 0x1150 + int32_t blade_fury_radius; // 0x11b8 + int32_t pull_speed; // 0x11bc + int32_t pull_stop; // 0x11c0 + Vector pull_origin; // 0x11c4 + GameTime_t m_flLastThinkTime; // 0x11d0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - float healing_ward_heal_amount; // 0x113c - float healing_ward_interval; // 0x1140 - int32_t m_nTotalHealing; // 0x1144 + int32_t healing_ward_aura_radius; // 0x11b8 + float healing_ward_heal_amount; // 0x11bc + float healing_ward_interval; // 0x11c0 + int32_t m_nTotalHealing; // 0x11c4 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - int32_t trigger_radius; // 0x113c - int32_t search_radius; // 0x1140 - int32_t damage_percent; // 0x1144 - int32_t movement_bonus; // 0x1148 - int32_t power; // 0x114c + int32_t healing_ward_aura_radius; // 0x11b8 + int32_t trigger_radius; // 0x11bc + int32_t search_radius; // 0x11c0 + int32_t damage_percent; // 0x11c4 + int32_t movement_bonus; // 0x11c8 + int32_t power; // 0x11cc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - float healing_ward_heal_amount; // 0x113c - float healing_ward_interval; // 0x1140 - int32_t m_nTotalRegen; // 0x1144 + int32_t healing_ward_aura_radius; // 0x11b8 + float healing_ward_heal_amount; // 0x11bc + float healing_ward_interval; // 0x11c0 + int32_t m_nTotalRegen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 + int32_t armor_bonus; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - bool m_bDidBladeDanceCrit; // 0x1140 + int32_t blade_dance_crit_mult; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + bool m_bDidBladeDanceCrit; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x1138 - int32_t movespeed_per_stack; // 0x113c - int32_t evasion_bonus; // 0x1140 - int32_t movespeed_bonus; // 0x1144 + int32_t evasion_per_stack; // 0x11b8 + int32_t movespeed_per_stack; // 0x11bc + int32_t evasion_bonus; // 0x11c0 + int32_t movespeed_bonus; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - int32_t range; // 0x1138 - float bonus_attack_duration; // 0x113c - int32_t bonus_attack_count; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - float m_fBonusRange; // 0x1148 + int32_t range; // 0x11b8 + float bonus_attack_duration; // 0x11bc + int32_t bonus_attack_count; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + float m_fBonusRange; // 0x11c8 }; // Alignment: 16 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - CHandle< C_BaseEntity > m_hLastTarget; // 0x113c - int32_t m_nJumps; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t omni_slash_radius; // 0x114c - float attack_rate_multiplier; // 0x1150 - int32_t upgraded_radius; // 0x1154 - int32_t m_iTotalDamage; // 0x1158 - int32_t m_iHeroDamage; // 0x115c - bool m_bReflection; // 0x1160 - bool m_bFirstHit; // 0x1161 - bool m_bEndNext; // 0x1162 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x11bc + int32_t m_nJumps; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t omni_slash_radius; // 0x11cc + float attack_rate_multiplier; // 0x11d0 + int32_t upgraded_radius; // 0x11d4 + int32_t m_iTotalDamage; // 0x11d8 + int32_t m_iHeroDamage; // 0x11dc + bool m_bReflection; // 0x11e0 + bool m_bFirstHit; // 0x11e1 + bool m_bEndNext; // 0x11e2 private: - [[maybe_unused]] uint8_t __pad1163[0x1]; // 0x1163 + [[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3 public: - GameTime_t m_fNextAttackTime; // 0x1164 - Vector m_vCastOrigin; // 0x1168 + GameTime_t m_fNextAttackTime; // 0x11e4 + Vector m_vCastOrigin; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x1178 + CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x11f8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x1138 + bool m_bIsDone; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - CHandle< C_BaseEntity > m_hFollowEnt; // 0x113c + CHandle< C_BaseEntity > m_hFollowEnt; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -9565,16 +9707,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - float tick_damage; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + float tick_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -9582,7 +9724,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -9590,15 +9732,15 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -9606,29 +9748,29 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - float interval; // 0x1138 - int32_t max_stacks; // 0x113c - int32_t damage_percent; // 0x1140 - int32_t movement_damage_percent; // 0x1144 - int32_t m_nDamage; // 0x1148 - ParticleIndex_t m_nFXStackIndex; // 0x114c - Vector m_vLastPosition; // 0x1150 + float interval; // 0x11b8 + int32_t max_stacks; // 0x11bc + int32_t damage_percent; // 0x11c0 + int32_t movement_damage_percent; // 0x11c4 + int32_t m_nDamage; // 0x11c8 + ParticleIndex_t m_nFXStackIndex; // 0x11cc + Vector m_vLastPosition; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x1138 + int32_t blind_percent; // 0x11b8 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9636,85 +9778,85 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x1138 + Vector m_vTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff { public: - int32_t movespeed_percent; // 0x1138 + int32_t movespeed_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x1138 + float m_fDamagePerSecond; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x1138 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x11b8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - int32_t damage_percent; // 0x1138 - int32_t knockback_distance; // 0x113c - float knockback_duration; // 0x1140 - int32_t move_speed_percent; // 0x1144 - int32_t max_move_speed_percent; // 0x1148 - int32_t model_scale; // 0x114c - int32_t max_model_scale; // 0x1150 - bool m_bActive; // 0x1154 + int32_t damage_percent; // 0x11b8 + int32_t knockback_distance; // 0x11bc + float knockback_duration; // 0x11c0 + int32_t move_speed_percent; // 0x11c4 + int32_t max_move_speed_percent; // 0x11c8 + int32_t model_scale; // 0x11cc + int32_t max_model_scale; // 0x11d0 + bool m_bActive; // 0x11d4 }; // Alignment: 15 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - int32_t arrow_width; // 0x1138 - float arrow_speed; // 0x113c - int32_t range; // 0x1140 - int32_t wave_count; // 0x1144 - float wave_delay; // 0x1148 - int32_t arrow_count_per_wave; // 0x114c - float arrow_delay; // 0x1150 - float per_arrow_angle; // 0x1154 - float m_fYawOffset; // 0x1158 - int32_t m_iWaveIndex; // 0x115c - int32_t m_iArrowIndex; // 0x1160 - Vector m_vTarget; // 0x1164 - QAngle m_vWaveAngle; // 0x1170 - float m_flInterval; // 0x117c - GameTime_t m_flNextThink; // 0x1180 + int32_t arrow_width; // 0x11b8 + float arrow_speed; // 0x11bc + int32_t range; // 0x11c0 + int32_t wave_count; // 0x11c4 + float wave_delay; // 0x11c8 + int32_t arrow_count_per_wave; // 0x11cc + float arrow_delay; // 0x11d0 + float per_arrow_angle; // 0x11d4 + float m_fYawOffset; // 0x11d8 + int32_t m_iWaveIndex; // 0x11dc + int32_t m_iArrowIndex; // 0x11e0 + Vector m_vTarget; // 0x11e4 + QAngle m_vWaveAngle; // 0x11f0 + float m_flInterval; // 0x11fc + GameTime_t m_flNextThink; // 0x1200 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x1138 - float m_fYawOffset; // 0x113c + int32_t m_iWaveIndex; // 0x11b8 + float m_fYawOffset; // 0x11bc }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -9722,7 +9864,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -9730,40 +9872,40 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x1138 - int32_t aura_range; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t m_nBonusFactor; // 0x1144 - GameTime_t m_fLastEnableTime; // 0x1148 - ParticleIndex_t m_nFxIndex; // 0x114c + int32_t aura_disable_range; // 0x11b8 + int32_t aura_range; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t m_nBonusFactor; // 0x11c4 + GameTime_t m_fLastEnableTime; // 0x11c8 + ParticleIndex_t m_nFxIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x1138 + int32_t aura_agility_multiplier; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - float duration; // 0x1144 - int32_t charges; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + float duration; // 0x11c4 + int32_t charges; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -9771,42 +9913,42 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x1138 + int32_t aura_disable_range; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x1138 - int32_t lifesteal; // 0x113c + int32_t bonus_aspd; // 0x11b8 + int32_t lifesteal; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t night_bonus_pct; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t night_bonus_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -9814,7 +9956,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -9822,16 +9964,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x1138 - int32_t move_speed_slow_pct; // 0x113c + int32_t attack_speed_slow; // 0x11b8 + int32_t move_speed_slow_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: @@ -9839,51 +9981,51 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t bounces; // 0x113c - int32_t damage_reduction_percent; // 0x1140 - int32_t bounce_pct; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t range; // 0x11b8 + int32_t bounces; // 0x11bc + int32_t damage_reduction_percent; // 0x11c0 + int32_t bounce_pct; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x1138 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x1138 + int32_t spell_resist_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x1138 + int32_t m_nBonusDamage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -9891,15 +10033,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -9907,95 +10049,95 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - float night_multiplier; // 0x113c + int32_t attack_speed; // 0x11b8 + float night_multiplier; // 0x11bc }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float m_flBeamStun; // 0x114c - Vector vPosition; // 0x1150 - bool m_bAreaTarget; // 0x115c - bool m_bMoonWell; // 0x115d + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float m_flBeamStun; // 0x11cc + Vector vPosition; // 0x11d0 + bool m_bAreaTarget; // 0x11dc + bool m_bMoonWell; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - int32_t m_iTickCount; // 0x1160 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1164 - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1168 - CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1180 - float beam_interval; // 0x1198 - float m_flInterval; // 0x119c + int32_t m_iTickCount; // 0x11e0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e4 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x11e8 + CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1200 + float beam_interval; // 0x1218 + float m_flInterval; // 0x121c }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - int32_t leap_distance; // 0x1138 - float leap_speed; // 0x113c - float leap_acceleration; // 0x1140 - int32_t leap_radius; // 0x1144 - int32_t search_range; // 0x1148 - float damage_multiplier; // 0x114c - float m_flPowerLevelPct; // 0x1150 - bool m_bLaunched; // 0x1154 + int32_t leap_distance; // 0x11b8 + float leap_speed; // 0x11bc + float leap_acceleration; // 0x11c0 + int32_t leap_radius; // 0x11c4 + int32_t search_range; // 0x11c8 + float damage_multiplier; // 0x11cc + float m_flPowerLevelPct; // 0x11d0 + bool m_bLaunched; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1158 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x11d8 }; // Alignment: 9 -// Size: 0x1340 +// Size: 0x13c0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x1138 + bool m_bSpiritsExplode; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t hit_radius; // 0x113c - int32_t rotate_range; // 0x1140 - int32_t glaive_movement_rate; // 0x1144 - float replenish_time; // 0x1148 - float m_flRotation; // 0x114c - float m_flGlaiveRadius; // 0x1150 - GameTime_t m_flNextSpawn; // 0x1154 - bool m_bPaused; // 0x1158 + int32_t hit_radius; // 0x11bc + int32_t rotate_range; // 0x11c0 + int32_t glaive_movement_rate; // 0x11c4 + float replenish_time; // 0x11c8 + float m_flRotation; // 0x11cc + float m_flGlaiveRadius; // 0x11d0 + GameTime_t m_flNextSpawn; // 0x11d4 + bool m_bPaused; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -10003,123 +10145,123 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x1138 - int32_t m_nEvasion; // 0x113c + int32_t m_nMoveSpeed; // 0x11b8 + int32_t m_nEvasion; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c - bool is_primary_target; // 0x1140 + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc + bool is_primary_target; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t mana_drain; // 0x1138 - float m_flIntervalRate; // 0x113c + int32_t mana_drain; // 0x11b8 + float m_flIntervalRate; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t mana_drain; // 0x113c - float m_flIntervalRate; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t mana_drain; // 0x11bc + float m_flIntervalRate; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t base_damage_outgoing_percentage; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t base_damage_outgoing_percentage; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CountdownTimer m_Timer; // 0x1140 + int32_t aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_health_regen; // 0x1144 + int32_t radius; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x1138 - int32_t max_stacks; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 + int32_t magic_resist_reduction; // 0x11b8 + int32_t max_stacks; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t model_scale; // 0x113c - int32_t damage_radius; // 0x1140 - int32_t pct_int_damage_per_second; // 0x1144 - float tick_rate; // 0x1148 + int32_t movement_speed; // 0x11b8 + int32_t model_scale; // 0x11bc + int32_t damage_radius; // 0x11c0 + int32_t pct_int_damage_per_second; // 0x11c4 + float tick_rate; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -10127,81 +10269,81 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x1138 - int32_t m_nHeroesKilled; // 0x113c - int32_t m_nJumps; // 0x1140 - CHandle< C_BaseEntity > m_hTarget; // 0x1144 - CHandle< C_BaseEntity > m_hAvoidTarget; // 0x1148 + int32_t m_nDamageToHeroes; // 0x11b8 + int32_t m_nHeroesKilled; // 0x11bc + int32_t m_nJumps; // 0x11c0 + CHandle< C_BaseEntity > m_hTarget; // 0x11c4 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x1138 - bool m_bIsSeaLegs; // 0x1139 + bool m_bIsSquall; // 0x11b8 + bool m_bIsSeaLegs; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - float m_flRadius; // 0x113c - bool m_bShowEnemies; // 0x1140 - bool m_bTorrentStorm; // 0x1141 + float m_flRadius; // 0x11bc + bool m_bShowEnemies; // 0x11c0 + bool m_bTorrentStorm; // 0x11c1 private: - [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 + [[maybe_unused]] uint8_t __pad11c2[0x2]; // 0x11c2 public: - float m_flDelay; // 0x1144 - float m_flFireTime; // 0x1148 - bool m_bForcePosition; // 0x114c + float m_flDelay; // 0x11c4 + float m_flFireTime; // 0x11c8 + bool m_bForcePosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - Vector m_vStartPosition; // 0x1150 - Vector m_vEndPosition; // 0x115c - int32_t m_nPercentChanceOfGhostShip; // 0x1168 - CHandle< C_BaseEntity > m_hTarget; // 0x116c + Vector m_vStartPosition; // 0x11d0 + Vector m_vEndPosition; // 0x11dc + int32_t m_nPercentChanceOfGhostShip; // 0x11e8 + CHandle< C_BaseEntity > m_hTarget; // 0x11ec }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x1138 - int32_t torrent_damage; // 0x113c - float m_flDamageScale; // 0x1140 + float flIntervalThinkTime; // 0x11b8 + int32_t torrent_damage; // 0x11bc + float m_flDamageScale; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -10209,54 +10351,54 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x1138 - int32_t torrent_max_distance; // 0x113c - int32_t m_iExplosionQuadrant; // 0x1140 - Vector m_vPosition; // 0x1144 + int32_t torrent_min_distance; // 0x11b8 + int32_t torrent_max_distance; // 0x11bc + int32_t m_iExplosionQuadrant; // 0x11c0 + Vector m_vPosition; // 0x11c4 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x1138 + bool m_bTidebringerAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t cleave_starting_width; // 0x113c - int32_t cleave_ending_width; // 0x1140 - int32_t cleave_distance; // 0x1144 - int32_t damage_bonus; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - int32_t cleave_damage; // 0x1150 - bool m_bIgnoreCooldown; // 0x1154 - bool m_bDreadPirate; // 0x1155 + int32_t cleave_starting_width; // 0x11bc + int32_t cleave_ending_width; // 0x11c0 + int32_t cleave_distance; // 0x11c4 + int32_t damage_bonus; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + int32_t cleave_damage; // 0x11d0 + bool m_bIgnoreCooldown; // 0x11d4 + bool m_bDreadPirate; // 0x11d5 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x1138 + int32_t m_nSpeedBonusPercentage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x1138 - float speed_increase_pct; // 0x113c + float armour_increase; // 0x11b8 + float speed_increase_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -10264,64 +10406,64 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x1138 - CHandle< C_BaseEntity > m_hEntity; // 0x1144 + Vector m_vLastPosition; // 0x11b8 + CHandle< C_BaseEntity > m_hEntity; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - bool m_bIsReflection; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + bool m_bIsReflection; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x1148 + CHandle< C_BaseEntity > m_hEntity; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x1138 + CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x1138 - float m_flSpeed; // 0x113c - int32_t m_nNumCannons; // 0x1140 - float m_flProjectileRadius; // 0x1144 - bool m_bGhostShipIsEntity; // 0x1148 + float m_flDistance; // 0x11b8 + float m_flSpeed; // 0x11bc + int32_t m_nNumCannons; // 0x11c0 + float m_flProjectileRadius; // 0x11c4 + bool m_bGhostShipIsEntity; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - int32_t m_hGhostShipProjectile; // 0x114c - CHandle< C_BaseEntity > m_hGhostShip; // 0x1150 + int32_t m_hGhostShipProjectile; // 0x11cc + CHandle< C_BaseEntity > m_hGhostShip; // 0x11d0 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x1138 - Vector vEnd; // 0x1144 - int32_t m_nHitCount; // 0x1150 + Vector vCasterOrigin; // 0x11b8 + Vector vEnd; // 0x11c4 + int32_t m_nHitCount; // 0x11d0 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -10329,7 +10471,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -10337,73 +10479,73 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - int32_t movespeed_bonus; // 0x113c - float ghostship_absorb; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + int32_t movespeed_bonus; // 0x11bc + float ghostship_absorb; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c - float m_flMovespeedBonus; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc + float m_flMovespeedBonus; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x1138 + float m_flRadius; // 0x11b8 }; // Alignment: 19 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - float tick_interval; // 0x1138 - float forward_move_speed; // 0x113c - float turn_rate_boosted; // 0x1140 - float turn_rate; // 0x1144 - int32_t hit_radius; // 0x1148 - int32_t knockback_radius; // 0x114c - bool m_bHitFirstUpdate; // 0x1150 + float tick_interval; // 0x11b8 + float forward_move_speed; // 0x11bc + float turn_rate_boosted; // 0x11c0 + float turn_rate; // 0x11c4 + int32_t hit_radius; // 0x11c8 + int32_t knockback_radius; // 0x11cc + bool m_bHitFirstUpdate; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - GameTime_t m_flHitEndTime; // 0x1154 - float hit_recover_time; // 0x1158 - float m_flTurnBoostProgress; // 0x115c - float m_flFacingTarget; // 0x1160 - GameTime_t m_flLastHeroAttackTime; // 0x1164 - ParticleIndex_t m_nFXIndex; // 0x1168 - float m_flGyroshellDurationRemaining; // 0x116c - CUtlVector< float32 > m_flTurnHistory; // 0x1170 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1188 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x11a0 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11b8 - Vector m_vDirection; // 0x11d0 + GameTime_t m_flHitEndTime; // 0x11d4 + float hit_recover_time; // 0x11d8 + float m_flTurnBoostProgress; // 0x11dc + float m_flFacingTarget; // 0x11e0 + GameTime_t m_flLastHeroAttackTime; // 0x11e4 + ParticleIndex_t m_nFXIndex; // 0x11e8 + float m_flGyroshellDurationRemaining; // 0x11ec + CUtlVector< float32 > m_flTurnHistory; // 0x11f0 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1208 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1220 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1238 + Vector m_vDirection; // 0x1250 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -10411,73 +10553,73 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x1138 + int32_t m_nStackCount; // 0x11b8 }; // Alignment: 12 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x1138 + bool m_bActivated; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - Vector m_vFacingDir; // 0x113c - CUtlVector< Vector > m_vecWatchPositions; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + Vector m_vFacingDir; // 0x11bc + CUtlVector< Vector > m_vecWatchPositions; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float think_interval; // 0x1140 + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< C_BaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< C_BaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -10485,71 +10627,71 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - float m_fVoidMarkPct; // 0x113c - int32_t movement_slow_pct; // 0x1140 - int32_t pop_damage; // 0x1144 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + float m_fVoidMarkPct; // 0x11bc + int32_t movement_slow_pct; // 0x11c0 + int32_t pop_damage; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x1138 - float debuff_duration; // 0x113c - int32_t destination_fx_radius; // 0x1140 - int32_t damage; // 0x1144 - Vector m_vExitPos; // 0x1148 + int32_t damage_radius; // 0x11b8 + float debuff_duration; // 0x11bc + int32_t destination_fx_radius; // 0x11c0 + int32_t damage; // 0x11c4 + Vector m_vExitPos; // 0x11c8 }; // Alignment: 20 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 - int32_t damage; // 0x11d8 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 + int32_t damage; // 0x1258 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -10557,32 +10699,32 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 9 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x1148 - CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x1160 - int32_t speed; // 0x1178 - int32_t radius; // 0x117c - int32_t damage; // 0x1180 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x11c8 + CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x11e0 + int32_t speed; // 0x11f8 + int32_t radius; // 0x11fc + int32_t damage; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: @@ -10590,68 +10732,68 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x1138 + int32_t m_nCritPercent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x1138 - float m_fDissimilateDamage; // 0x113c - float m_fThinkInterval; // 0x1140 - float m_fDissimilateDamagePctPerInterval; // 0x1144 - float m_fLingerDuration; // 0x1148 + int32_t m_nDamageRadius; // 0x11b8 + float m_fDissimilateDamage; // 0x11bc + float m_fThinkInterval; // 0x11c0 + float m_fDissimilateDamagePctPerInterval; // 0x11c4 + float m_fLingerDuration; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 - int32_t m_nBonusIncomingMagicDamage; // 0x113c + float m_fDamagePerInterval; // 0x11b8 + int32_t m_nBonusIncomingMagicDamage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x1138 + int32_t m_nSpellAmp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x1138 + float m_fSpellAmp; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -10659,17 +10801,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x1138 - float m_fStunDuration; // 0x113c - Vector m_vPullLoc; // 0x1140 + float m_fVacuumSpeed; // 0x11b8 + float m_fStunDuration; // 0x11bc + Vector m_vPullLoc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -10677,143 +10819,143 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x1138 - float m_fPopDamagePctPerInterval; // 0x113c - float m_fLingerDuration; // 0x1140 - int32_t radius; // 0x1144 - int32_t pop_damage; // 0x1148 + float m_fThinkInterval; // 0x11b8 + float m_fPopDamagePctPerInterval; // 0x11bc + float m_fLingerDuration; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t pop_damage; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 + float m_fDamagePerInterval; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 + float m_fDamagePerInterval; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t m_nPower; // 0x113c + int32_t rocket_damage; // 0x11b8 + int32_t m_nPower; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x1138 - CHandle< C_BaseEntity > m_hLoadedUnit; // 0x113c + int32_t grab_radius; // 0x11b8 + CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11bc }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t acceleration; // 0x1140 - float pre_flight_time; // 0x1144 - float stun_duration; // 0x1148 - int32_t m_nMissileDamage; // 0x114c - int32_t damage; // 0x1150 - int32_t m_nTeamNumber; // 0x1154 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t acceleration; // 0x11c0 + float pre_flight_time; // 0x11c4 + float stun_duration; // 0x11c8 + int32_t m_nMissileDamage; // 0x11cc + int32_t damage; // 0x11d0 + int32_t m_nTeamNumber; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1158[0x8]; // 0x1158 + [[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8 public: - float speed; // 0x1160 - float m_flFacingTarget; // 0x1164 - int32_t movement_turn_rate; // 0x1168 - int32_t m_nPower; // 0x116c - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1170 + float speed; // 0x11e0 + float m_flFacingTarget; // 0x11e4 + int32_t movement_turn_rate; // 0x11e8 + int32_t m_nPower; // 0x11ec + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CountdownTimer m_MoveTime; // 0x1178 + CountdownTimer m_MoveTime; // 0x11f8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - int32_t projectile_speed; // 0x1144 - int32_t radius; // 0x1148 - int32_t max_targets; // 0x114c - bool m_bFirstStrike; // 0x1150 - bool m_bShouldFireMissiles; // 0x1151 + int32_t max_attacks; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + int32_t radius; // 0x11c8 + int32_t max_targets; // 0x11cc + bool m_bFirstStrike; // 0x11d0 + bool m_bShouldFireMissiles; // 0x11d1 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t scepter_radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t scepter_radius; // 0x11bc }; // Alignment: 12 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x1138 - int32_t slow_duration_second; // 0x113c - int32_t damage_first; // 0x1140 - int32_t damage_second; // 0x1144 - float power; // 0x1148 - int32_t radius; // 0x114c - float slow_first; // 0x1150 - float slow_second; // 0x1154 - bool m_bDelayed; // 0x1158 - bool m_bHalfDamage; // 0x1159 - bool m_bFirstStrike; // 0x115a + int32_t slow_duration_first; // 0x11b8 + int32_t slow_duration_second; // 0x11bc + int32_t damage_first; // 0x11c0 + int32_t damage_second; // 0x11c4 + float power; // 0x11c8 + int32_t radius; // 0x11cc + float slow_first; // 0x11d0 + float slow_second; // 0x11d4 + bool m_bDelayed; // 0x11d8 + bool m_bHalfDamage; // 0x11d9 + bool m_bFirstStrike; // 0x11da private: - [[maybe_unused]] uint8_t __pad115b[0x1]; // 0x115b + [[maybe_unused]] uint8_t __pad11db[0x1]; // 0x11db public: - CHandle< C_BaseEntity > m_hInflictorAbility; // 0x115c + CHandle< C_BaseEntity > m_hInflictorAbility; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 - float duration; // 0x113c + int32_t strike_chance; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -10821,17 +10963,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - int32_t hit_radius; // 0x1138 - float timeout_duration; // 0x113c - int32_t damage; // 0x1140 + int32_t hit_radius; // 0x11b8 + float timeout_duration; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -10839,51 +10981,51 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t attackspeed; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t attackspeed; // 0x11bc }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float proximity_threshold; // 0x113c - float damage; // 0x1140 - float activation_delay; // 0x1144 - bool bActivated; // 0x1148 + int32_t radius; // 0x11b8 + float proximity_threshold; // 0x11bc + float damage; // 0x11c0 + float activation_delay; // 0x11c4 + bool bActivated; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_Timer; // 0x1150 + CountdownTimer m_Timer; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: @@ -10891,31 +11033,31 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x1138 - int32_t iEffectRadius; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - int32_t scepter_heal; // 0x1148 - CHandle< C_BaseEntity > m_hFollowTarget; // 0x114c - CHandle< C_BaseEntity > m_hInflictor; // 0x1150 - GameTime_t m_flNextPulseTime; // 0x1154 - ParticleIndex_t m_nThinkerFXIndex; // 0x1158 + float pulse_interval; // 0x11b8 + int32_t iEffectRadius; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + int32_t scepter_heal; // 0x11c8 + CHandle< C_BaseEntity > m_hFollowTarget; // 0x11cc + CHandle< C_BaseEntity > m_hInflictor; // 0x11d0 + GameTime_t m_flNextPulseTime; // 0x11d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: @@ -10923,16 +11065,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -10940,75 +11082,75 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t attack_count; // 0x113c - bool m_bShouldIncrement; // 0x1140 + int32_t attack_count; // 0x11bc + bool m_bShouldIncrement; // 0x11c0 }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x1138 - bool m_bSunSentinel; // 0x1139 + bool m_bIsBuffedAttack; // 0x11b8 + bool m_bSunSentinel; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - int32_t heal_pct; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t heal_radius; // 0x1144 - int32_t heal_from_creeps; // 0x1148 - int32_t allied_healing_pct; // 0x114c - int32_t m_nSmashDamage; // 0x1150 - int32_t m_nCounterOrbitalChance; // 0x1154 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x1158 - float m_flTotalToHeal; // 0x1170 - bool m_bCounterOrbitalProcessed; // 0x1174 - bool m_bIsCounterOrbitalSmash; // 0x1175 - bool m_bBrightFoundryProcessed; // 0x1176 + int32_t heal_pct; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t heal_radius; // 0x11c4 + int32_t heal_from_creeps; // 0x11c8 + int32_t allied_healing_pct; // 0x11cc + int32_t m_nSmashDamage; // 0x11d0 + int32_t m_nCounterOrbitalChance; // 0x11d4 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x11d8 + float m_flTotalToHeal; // 0x11f0 + bool m_bCounterOrbitalProcessed; // 0x11f4 + bool m_bIsCounterOrbitalSmash; // 0x11f5 + bool m_bBrightFoundryProcessed; // 0x11f6 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CHandle< C_BaseEntity > m_hInflictor; // 0x1140 + int32_t flare_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CHandle< C_BaseEntity > m_hInflictor; // 0x11c0 }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t travel_speed_pct; // 0x1140 - int32_t m_nMaxRange; // 0x1144 - Vector m_vStartPoint; // 0x1148 - Vector m_vLastTrailThinkerLocation; // 0x1154 - Vector m_vEndPointShard; // 0x1160 - ParticleIndex_t m_nStatusFXIndex; // 0x116c - int32_t flare_radius; // 0x1170 - bool bHasStartedBurning; // 0x1174 + int32_t m_nProjectileID; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t travel_speed_pct; // 0x11c0 + int32_t m_nMaxRange; // 0x11c4 + Vector m_vStartPoint; // 0x11c8 + Vector m_vLastTrailThinkerLocation; // 0x11d4 + Vector m_vEndPointShard; // 0x11e0 + ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t flare_radius; // 0x11f0 + bool bHasStartedBurning; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - float flare_debuff_duration; // 0x1178 + float flare_debuff_duration; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -11016,89 +11158,89 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float trail_duration; // 0x113c - int32_t flare_radius; // 0x1140 - int32_t m_nProjectileHandle; // 0x1144 - CHandle< C_BaseEntity > m_hHavenThinker; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11b8 + float trail_duration; // 0x11bc + int32_t flare_radius; // 0x11c0 + int32_t m_nProjectileHandle; // 0x11c4 + CHandle< C_BaseEntity > m_hHavenThinker; // 0x11c8 }; // Alignment: 22 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t swipe_radius; // 0x1138 - int32_t swipe_damage; // 0x113c - int32_t smash_radius; // 0x1140 - int32_t smash_damage; // 0x1144 - int32_t m_nCurrentSpeed; // 0x1148 - float flSwipeInterval; // 0x114c - GameTime_t m_flNextHit; // 0x1150 - int32_t iCurrentAttack; // 0x1154 - int32_t total_attacks; // 0x1158 - float smash_stun_duration; // 0x115c - float sweep_stun_duration; // 0x1160 - bool m_bHasCompletedMove; // 0x1164 + int32_t swipe_radius; // 0x11b8 + int32_t swipe_damage; // 0x11bc + int32_t smash_radius; // 0x11c0 + int32_t smash_damage; // 0x11c4 + int32_t m_nCurrentSpeed; // 0x11c8 + float flSwipeInterval; // 0x11cc + GameTime_t m_flNextHit; // 0x11d0 + int32_t iCurrentAttack; // 0x11d4 + int32_t total_attacks; // 0x11d8 + float smash_stun_duration; // 0x11dc + float sweep_stun_duration; // 0x11e0 + bool m_bHasCompletedMove; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - float duration; // 0x1168 - Vector m_vTargetHorizontalDirection; // 0x116c - int32_t smash_distance_from_hero; // 0x1178 - float animation_rate; // 0x117c - float turn_rate; // 0x1180 - float m_flFacingTarget; // 0x1184 - bool m_bSuncrusher; // 0x1188 + float duration; // 0x11e8 + Vector m_vTargetHorizontalDirection; // 0x11ec + int32_t smash_distance_from_hero; // 0x11f8 + float animation_rate; // 0x11fc + float turn_rate; // 0x1200 + float m_flFacingTarget; // 0x1204 + bool m_bSuncrusher; // 0x1208 private: - [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: - float m_flDistanceSinceStandAblazeThinker; // 0x118c - float m_flDistancePerStandAblazeThinker; // 0x1190 - CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1194 + float m_flDistanceSinceStandAblazeThinker; // 0x120c + float m_flDistancePerStandAblazeThinker; // 0x1210 + CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1214 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x1138 + int32_t swipe_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t burn_damage; // 0x113c - float burn_interval; // 0x1140 - CHandle< C_BaseEntity > m_hInflictor; // 0x1144 + int32_t move_slow; // 0x11b8 + int32_t burn_damage; // 0x11bc + float burn_interval; // 0x11c0 + CHandle< C_BaseEntity > m_hInflictor; // 0x11c4 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -11106,7 +11248,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11114,7 +11256,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11122,18 +11264,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t m_nBonusMovementSpeedPct; // 0x1140 - int32_t m_nBonusAttackSpeed; // 0x1144 + int32_t move_speed_pct; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t m_nBonusMovementSpeedPct; // 0x11c0 + int32_t m_nBonusAttackSpeed; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -11141,7 +11283,7 @@ public: }; // Alignment: 0 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -11149,7 +11291,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -11157,20 +11299,20 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - bool m_bPassive; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + bool m_bPassive; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flCooldown; // 0x1140 + float m_flCooldown; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -11178,17 +11320,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x1138 - float cooldown; // 0x113c - GameTime_t m_fLastProc; // 0x1140 + int32_t trigger_chance; // 0x11b8 + float cooldown; // 0x11bc + GameTime_t m_fLastProc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -11196,7 +11338,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -11204,69 +11346,69 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t heal_reduction; // 0x113c - int32_t cast_reduction; // 0x1140 + int32_t damage_reduction; // 0x11b8 + int32_t heal_reduction; // 0x11bc + int32_t cast_reduction; // 0x11c0 }; // Alignment: 12 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - bool m_bSweetDreams; // 0x1138 - bool m_bConfusion; // 0x1139 - bool m_bSelfBreakAvailable; // 0x113a - bool m_bNoStatusEffect; // 0x113b - int32_t m_nSource; // 0x113c - float animation_rate; // 0x1140 - GameTime_t m_flNextNightmareDamageTime; // 0x1144 - float m_flAccumNightmareDamage; // 0x1148 - int32_t movespeed_pct; // 0x114c - int32_t attack_speed; // 0x1150 - int32_t model_scale; // 0x1154 - CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x1158 + bool m_bSweetDreams; // 0x11b8 + bool m_bConfusion; // 0x11b9 + bool m_bSelfBreakAvailable; // 0x11ba + bool m_bNoStatusEffect; // 0x11bb + int32_t m_nSource; // 0x11bc + float animation_rate; // 0x11c0 + GameTime_t m_flNextNightmareDamageTime; // 0x11c4 + float m_flAccumNightmareDamage; // 0x11c8 + int32_t movespeed_pct; // 0x11cc + int32_t attack_speed; // 0x11d0 + int32_t model_scale; // 0x11d4 + CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x1138 + int32_t m_nMoveSpeed; // 0x11b8 }; // Alignment: 9 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - int32_t fiend_grip_boost_lifesteal_multiplier; // 0x113c - int32_t fiend_grip_damage; // 0x1140 - int32_t fiend_grip_spread_radius; // 0x1144 - float fiend_grip_tick_interval; // 0x1148 - GameTime_t m_flLastSpreadTime; // 0x114c - bool m_bThinkerSource; // 0x1150 - bool m_bRequiresChanneling; // 0x1151 - bool m_bPrimaryGrip; // 0x1152 + int32_t fiend_grip_mana_drain; // 0x11b8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11bc + int32_t fiend_grip_damage; // 0x11c0 + int32_t fiend_grip_spread_radius; // 0x11c4 + float fiend_grip_tick_interval; // 0x11c8 + GameTime_t m_flLastSpreadTime; // 0x11cc + bool m_bThinkerSource; // 0x11d0 + bool m_bRequiresChanneling; // 0x11d1 + bool m_bPrimaryGrip; // 0x11d2 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -11274,7 +11416,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -11282,7 +11424,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -11290,68 +11432,68 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 + int32_t latch_range; // 0x11b8 }; // Alignment: 5 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t radius; // 0x1168 - int32_t heal_pct; // 0x116c - float slow_duration; // 0x1170 - int32_t m_nBrainSapDamage; // 0x1174 - CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x1178 + int32_t radius; // 0x11e8 + int32_t heal_pct; // 0x11ec + float slow_duration; // 0x11f0 + int32_t m_nBrainSapDamage; // 0x11f4 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x1148 + int32_t invis_movement_speed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x1138 - int32_t m_nCritPct; // 0x113c + int32_t invis_brain_sap_crit_pct; // 0x11b8 + int32_t m_nCritPct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -11359,93 +11501,93 @@ public: }; // Alignment: 21 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - float hp_cost_pct; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - float m_flCurrentTime; // 0x115c - float m_flAccumulatedSelfDamage; // 0x1160 - bool m_bMovingForward; // 0x1164 - bool m_bTurningFast; // 0x1165 + float hp_cost_pct; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + float m_flCurrentTime; // 0x11dc + float m_flAccumulatedSelfDamage; // 0x11e0 + bool m_bMovingForward; // 0x11e4 + bool m_bTurningFast; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - float m_flFacingTarget; // 0x1168 - float hp_perc_heal; // 0x116c - ParticleIndex_t m_nBeamFXIndex; // 0x1170 - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1174 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1194 - bool m_bCreatedVisionThinkers; // 0x1198 + float m_flFacingTarget; // 0x11e8 + float hp_perc_heal; // 0x11ec + ParticleIndex_t m_nBeamFXIndex; // 0x11f0 + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x11f4 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1214 + bool m_bCreatedVisionThinkers; // 0x1218 private: - [[maybe_unused]] uint8_t __pad1199[0x3]; // 0x1199 + [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x119c - CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x11a0 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x121c + CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1220 }; // Alignment: 13 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x1138 - Vector m_vTarget; // 0x1144 - Vector m_vDirection; // 0x1150 - QAngle m_angDirection; // 0x115c - float m_flCurrentTime; // 0x1168 - int32_t dash_length; // 0x116c - int32_t dash_width; // 0x1170 - int32_t hit_radius; // 0x1174 - float burn_duration; // 0x1178 - float dive_duration; // 0x117c - int32_t damage_per_second; // 0x1180 + Vector m_vSource; // 0x11b8 + Vector m_vTarget; // 0x11c4 + Vector m_vDirection; // 0x11d0 + QAngle m_angDirection; // 0x11dc + float m_flCurrentTime; // 0x11e8 + int32_t dash_length; // 0x11ec + int32_t dash_width; // 0x11f0 + int32_t hit_radius; // 0x11f4 + float burn_duration; // 0x11f8 + float dive_duration; // 0x11fc + int32_t damage_per_second; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1188 - bool m_bSavedAlly; // 0x11a0 + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1208 + bool m_bSavedAlly; // 0x1220 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t slow_movement_speed_pct; // 0x1140 + float burn_tick_interval; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow_movement_speed_pct; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t spirit_count; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t spirit_count; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t attackspeed_slow; // 0x113c - int32_t damage_per_second; // 0x1140 + float tick_interval; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc + int32_t damage_per_second; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -11453,62 +11595,62 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t attacks_to_kill; // 0x1140 - int32_t captain_attack_value; // 0x1144 - int32_t boss_attack_value; // 0x1148 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x114c - bool m_bHasExpelCoreShard; // 0x1150 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t attacks_to_kill; // 0x11c0 + int32_t captain_attack_value; // 0x11c4 + int32_t boss_attack_value; // 0x11c8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11cc + bool m_bHasExpelCoreShard; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t m_nAttackCount; // 0x1154 + int32_t m_nAttackCount; // 0x11d4 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t attacks_to_kill; // 0x1140 - int32_t captain_attack_value; // 0x1144 - int32_t boss_attack_value; // 0x1148 - int32_t m_nAttackCount; // 0x114c - int32_t m_nRadius; // 0x1150 - float m_fSecondSunRadiusPct; // 0x1154 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t attacks_to_kill; // 0x11c0 + int32_t captain_attack_value; // 0x11c4 + int32_t boss_attack_value; // 0x11c8 + int32_t m_nAttackCount; // 0x11cc + int32_t m_nRadius; // 0x11d0 + float m_fSecondSunRadiusPct; // 0x11d4 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 - float damage_interval; // 0x113c - int32_t aura_radius; // 0x1140 - float m_fRadius; // 0x1144 - float m_fSecondSunRadiusPct; // 0x1148 - GameTime_t m_fNextDamageTime; // 0x114c - GameTime_t m_fLastThinkTime; // 0x1150 - bool m_bHasHorizonAbility; // 0x1154 + int32_t damage_per_sec; // 0x11b8 + float damage_interval; // 0x11bc + int32_t aura_radius; // 0x11c0 + float m_fRadius; // 0x11c4 + float m_fSecondSunRadiusPct; // 0x11c8 + GameTime_t m_fNextDamageTime; // 0x11cc + GameTime_t m_fLastThinkTime; // 0x11d0 + bool m_bHasHorizonAbility; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_nHorizonPushDistance; // 0x1158 - float m_fHorizonPushInterval; // 0x115c - GameTime_t m_fNextHorizonPushTime; // 0x1160 - ParticleIndex_t m_nHorizonFX; // 0x1164 + int32_t m_nHorizonPushDistance; // 0x11d8 + float m_fHorizonPushInterval; // 0x11dc + GameTime_t m_fNextHorizonPushTime; // 0x11e0 + ParticleIndex_t m_nHorizonFX; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -11516,32 +11658,32 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hSaviorEnt; // 0x1138 - float ally_position_offset; // 0x113c + CHandle< C_BaseEntity > m_hSaviorEnt; // 0x11b8 + float ally_position_offset; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x1148 + float duration; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - float unit_position_offset; // 0x1138 + float unit_position_offset; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -11549,246 +11691,246 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x1138 - bool m_bCleanupWhenEmpty; // 0x1150 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11b8 + bool m_bCleanupWhenEmpty; // 0x11d0 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - float radius_pct_as_length; // 0x1138 - int32_t width; // 0x113c - float linger_duration; // 0x1140 - float m_fLength; // 0x1144 - ParticleIndex_t m_nBeamFXIndex; // 0x1148 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x114c - GameTime_t m_flLastHit; // 0x1150 + float radius_pct_as_length; // 0x11b8 + int32_t width; // 0x11bc + float linger_duration; // 0x11c0 + float m_fLength; // 0x11c4 + ParticleIndex_t m_nBeamFXIndex; // 0x11c8 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x11cc + GameTime_t m_flLastHit; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1158 + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x11d8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - ParticleIndex_t m_nActiveFXIndex; // 0x1140 - ParticleIndex_t m_nActiveStatusFXIndex; // 0x1144 - float flame_revenant_damage_pct; // 0x1148 - float think_interval; // 0x114c - int32_t move_slow_pct; // 0x1150 + float m_fDamagePerSecond; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + ParticleIndex_t m_nActiveFXIndex; // 0x11c0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x11c4 + float flame_revenant_damage_pct; // 0x11c8 + float think_interval; // 0x11cc + int32_t move_slow_pct; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: - float pct_of_heal_as_attack_speed; // 0x1138 - float m_fAttackSpeedBonus; // 0x113c + float pct_of_heal_as_attack_speed; // 0x11b8 + float m_fAttackSpeedBonus; // 0x11bc }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x1138 - int32_t damage_per_tick_min; // 0x113c - int32_t damage_per_tick_max; // 0x1140 - int32_t search_radius; // 0x1144 - int32_t move_speed_slow_pct; // 0x1148 - float think_interval; // 0x114c - float m_fCurrentDamage; // 0x1150 - float m_fDamageIncreasePerTick; // 0x1154 - int32_t m_nCurrentSlow; // 0x1158 - bool m_bAlone; // 0x115c + int32_t m_nCasterTeam; // 0x11b8 + int32_t damage_per_tick_min; // 0x11bc + int32_t damage_per_tick_max; // 0x11c0 + int32_t search_radius; // 0x11c4 + int32_t move_speed_slow_pct; // 0x11c8 + float think_interval; // 0x11cc + float m_fCurrentDamage; // 0x11d0 + float m_fDamageIncreasePerTick; // 0x11d4 + int32_t m_nCurrentSlow; // 0x11d8 + bool m_bAlone; // 0x11dc private: - [[maybe_unused]] uint8_t __pad115d[0x3]; // 0x115d + [[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd public: - ParticleIndex_t m_nFXIndex; // 0x1160 + ParticleIndex_t m_nFXIndex; // 0x11e0 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 - float explosion_delay_time; // 0x1144 - float explosion_stun_duration; // 0x1148 - int32_t explosion_damage; // 0x114c - int32_t caster_team; // 0x1150 + int32_t radius; // 0x11c0 + float explosion_delay_time; // 0x11c4 + float explosion_stun_duration; // 0x11c8 + int32_t explosion_damage; // 0x11cc + int32_t caster_team; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t explosion_damage; // 0x113c - float explosion_stun_duration; // 0x1140 - float explosion_delay_time; // 0x1144 + int32_t radius; // 0x11b8 + int32_t explosion_damage; // 0x11bc + float explosion_stun_duration; // 0x11c0 + float explosion_delay_time; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c - float aura_origin_x; // 0x1140 - float aura_origin_y; // 0x1144 + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc + float aura_origin_x; // 0x11c0 + float aura_origin_y; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x1138 + int32_t move_speed_slow_pct; // 0x11b8 }; // Alignment: 18 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t wraith_vision_radius; // 0x113c - int32_t wraith_speed; // 0x1140 + int32_t radius; // 0x11b8 + int32_t wraith_vision_radius; // 0x11bc + int32_t wraith_speed; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - float activation_delay; // 0x114c - float scepter_activation_delay; // 0x1150 - float think_interval; // 0x1154 - float search_timer_min; // 0x1158 - float search_timer_max; // 0x115c - float mini_stun_duration; // 0x1160 - int32_t move_speed_slow_pct; // 0x1164 - int32_t m_nSparkDamage; // 0x1168 - bool m_bActive; // 0x116c - bool m_bOriginal; // 0x116d + float activation_delay; // 0x11cc + float scepter_activation_delay; // 0x11d0 + float think_interval; // 0x11d4 + float search_timer_min; // 0x11d8 + float search_timer_max; // 0x11dc + float mini_stun_duration; // 0x11e0 + int32_t move_speed_slow_pct; // 0x11e4 + int32_t m_nSparkDamage; // 0x11e8 + bool m_bActive; // 0x11ec + bool m_bOriginal; // 0x11ed private: - [[maybe_unused]] uint8_t __pad116e[0x2]; // 0x116e + [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: - float m_fSearchTimer; // 0x1170 - float m_fRotationSpeed; // 0x1174 - int32_t m_nRotationDirection; // 0x1178 - Vector m_vRotationCenter; // 0x117c - ParticleIndex_t m_nFXIndex; // 0x1188 + float m_fSearchTimer; // 0x11f0 + float m_fRotationSpeed; // 0x11f4 + int32_t m_nRotationDirection; // 0x11f8 + Vector m_vRotationCenter; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x1208 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: - int32_t damage_increase; // 0x1138 + int32_t damage_increase; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: - int32_t num_doubles; // 0x1138 + int32_t num_doubles; // 0x11b8 }; // Alignment: 12 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - float knockback_distance; // 0x1188 - float knockback_duration; // 0x118c - float windup_time; // 0x1190 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + float knockback_distance; // 0x1208 + float knockback_duration; // 0x120c + float windup_time; // 0x1210 }; // Alignment: 15 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t hero_damage; // 0x1140 - int32_t acceleration; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_distance; // 0x114c - float pre_flight_time; // 0x1150 - float stun_duration; // 0x1154 - int32_t m_nMissileDamage; // 0x1158 - int32_t m_nTeamNumber; // 0x115c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t hero_damage; // 0x11c0 + int32_t acceleration; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_distance; // 0x11cc + float pre_flight_time; // 0x11d0 + float stun_duration; // 0x11d4 + int32_t m_nMissileDamage; // 0x11d8 + int32_t m_nTeamNumber; // 0x11dc private: - [[maybe_unused]] uint8_t __pad1160[0x8]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x8]; // 0x11e0 public: - float speed; // 0x1168 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x116c - Vector m_vStartPosition; // 0x1170 + float speed; // 0x11e8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11ec + Vector m_vStartPosition; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad117c[0x4]; // 0x117c + [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: - CountdownTimer m_EnemyVision; // 0x1180 - CountdownTimer m_MoveTime; // 0x1198 + CountdownTimer m_EnemyVision; // 0x1200 + CountdownTimer m_MoveTime; // 0x1218 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -11796,17 +11938,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x1138 - Vector m_vEndPos; // 0x1144 - GameTime_t m_flEndTime; // 0x1150 + Vector m_vStartPos; // 0x11b8 + Vector m_vEndPos; // 0x11c4 + GameTime_t m_flEndTime; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -11814,7 +11956,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -11822,7 +11964,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -11830,7 +11972,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -11838,7 +11980,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -11846,131 +11988,131 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x1138 + int32_t landing_move_slow_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t totem_damage_percentage; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t totem_damage_percentage; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x1138 - float rock_duration; // 0x113c + int32_t effect_radius; // 0x11b8 + float rock_duration; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x1138 - int32_t rock_visualzdelta; // 0x113c - bool m_bIsCrushing; // 0x1140 + int32_t rock_health; // 0x11b8 + int32_t rock_visualzdelta; // 0x11bc + bool m_bIsCrushing; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t summon_count; // 0x1144 + int32_t summon_count; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRock; // 0x1138 - QAngle m_qRotation; // 0x113c - float m_flOldPitch; // 0x1148 + CHandle< C_BaseEntity > m_hRock; // 0x11b8 + QAngle m_qRotation; // 0x11bc + float m_flOldPitch; // 0x11c8 }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - Vector vLastPos; // 0x1138 - float flCurrentDistance; // 0x1144 - int32_t step_distance; // 0x1148 - int32_t effect_radius; // 0x114c - int32_t base_damage; // 0x1150 - CHandle< C_BaseEntity > m_hTarget; // 0x1154 - CountdownTimer ctLastCommandTimer; // 0x1158 - bool m_bMoveCommandIssued; // 0x1170 + Vector vLastPos; // 0x11b8 + float flCurrentDistance; // 0x11c4 + int32_t step_distance; // 0x11c8 + int32_t effect_radius; // 0x11cc + int32_t base_damage; // 0x11d0 + CHandle< C_BaseEntity > m_hTarget; // 0x11d4 + CountdownTimer ctLastCommandTimer; // 0x11d8 + bool m_bMoveCommandIssued; // 0x11f0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float m_flOffset; // 0x113c - QAngle m_vStartAngles; // 0x1140 - float animation_rate; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + float animation_rate; // 0x11cc }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x1138 - Vector m_vPos; // 0x113c - int32_t splash_radius; // 0x1148 - float interval; // 0x114c - float ministun; // 0x1150 - int32_t m_nCurrentHitCount; // 0x1154 - int32_t total_ripple_circles; // 0x1158 - int32_t ripple_step_distance; // 0x115c - int32_t ripple_step_distance_offset; // 0x1160 - float health_damage; // 0x1164 - float ripple_duration; // 0x1168 - int32_t ripple_damage; // 0x116c - CUtlVector< int32 > m_vLastRippleOffsets; // 0x1170 - float self_animation_rate; // 0x1188 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11b8 + Vector m_vPos; // 0x11bc + int32_t splash_radius; // 0x11c8 + float interval; // 0x11cc + float ministun; // 0x11d0 + int32_t m_nCurrentHitCount; // 0x11d4 + int32_t total_ripple_circles; // 0x11d8 + int32_t ripple_step_distance; // 0x11dc + int32_t ripple_step_distance_offset; // 0x11e0 + float health_damage; // 0x11e4 + float ripple_duration; // 0x11e8 + int32_t ripple_damage; // 0x11ec + CUtlVector< int32 > m_vLastRippleOffsets; // 0x11f0 + float self_animation_rate; // 0x1208 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - int32_t ripple_effect_width; // 0x1138 - int32_t ripple_damage; // 0x113c - int32_t health_damage; // 0x1140 - int32_t ripple_count; // 0x1144 - int32_t total_ripple_circles; // 0x1148 - float radius; // 0x114c - float ripple_slow_duration; // 0x1150 - float ripple_knockback_duration; // 0x1154 - CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x1158 - ParticleIndex_t m_nPreviewFXIndex; // 0x115c + int32_t ripple_effect_width; // 0x11b8 + int32_t ripple_damage; // 0x11bc + int32_t health_damage; // 0x11c0 + int32_t ripple_count; // 0x11c4 + int32_t total_ripple_circles; // 0x11c8 + float radius; // 0x11cc + float ripple_slow_duration; // 0x11d0 + float ripple_knockback_duration; // 0x11d4 + CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x11d8 + ParticleIndex_t m_nPreviewFXIndex; // 0x11dc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x1138 - ParticleIndex_t m_nFxIndex; // 0x113c - float m_fTotalDamage; // 0x1140 + int32_t damage_limit; // 0x11b8 + ParticleIndex_t m_nFxIndex; // 0x11bc + float m_fTotalDamage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: @@ -11978,7 +12120,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: @@ -11986,44 +12128,44 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x1138 + ParticleIndex_t m_nPreviewFXIndex; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - float charge_duration; // 0x1138 - float max_charge_time; // 0x113c - float turn_rate; // 0x1140 - float base_power; // 0x1144 - int32_t charge_speed; // 0x1148 - float animation_rate; // 0x114c + float charge_duration; // 0x11b8 + float max_charge_time; // 0x11bc + float turn_rate; // 0x11c0 + float base_power; // 0x11c4 + int32_t charge_speed; // 0x11c8 + float animation_rate; // 0x11cc }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - float charge_speed; // 0x1138 - int32_t knockback_radius; // 0x113c - int32_t knockback_distance; // 0x1140 - int32_t knockback_damage; // 0x1144 - int32_t forward_offset; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x114c - float m_flFacingTarget; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1158 + float charge_speed; // 0x11b8 + int32_t knockback_radius; // 0x11bc + int32_t knockback_distance; // 0x11c0 + int32_t knockback_damage; // 0x11c4 + int32_t forward_offset; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11cc + float m_flFacingTarget; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: @@ -12031,84 +12173,84 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x1138 + float debuff_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x1138 - int32_t armor_reduction_pct; // 0x113c + int32_t heal_suppression_pct; // 0x11b8 + int32_t armor_reduction_pct; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - float vault_speed; // 0x1138 - float vault_acceleration; // 0x113c - int32_t vault_radius; // 0x1140 + float vault_speed; // 0x11b8 + float vault_acceleration; // 0x11bc + int32_t vault_radius; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - int32_t rock_drop_intervals; // 0x1138 - int32_t rock_drop_per_interval; // 0x113c - int32_t rock_drop_distance; // 0x1140 - int32_t m_nCurrentInterval; // 0x1144 - int32_t rock_drop_rotation_angle; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x114c + int32_t rock_drop_intervals; // 0x11b8 + int32_t rock_drop_per_interval; // 0x11bc + int32_t rock_drop_distance; // 0x11c0 + int32_t m_nCurrentInterval; // 0x11c4 + int32_t rock_drop_rotation_angle; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x1138 + bool bCanbeMotionControlled; // 0x11b8 }; // Alignment: 22 -// Size: 0x11d0 +// Size: 0x1250 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x1138 - int32_t projectile_speed_increment; // 0x113c - int32_t projectile_distance; // 0x1140 - int32_t projectile_width; // 0x1144 - int32_t projectiles_per_interval; // 0x1148 - int32_t projectiles_per_interval_increment; // 0x114c - int32_t initial_spread_angle; // 0x1150 - int32_t angle_offset; // 0x1154 - int32_t iCurrentInterval; // 0x1158 - int32_t splinter_angle; // 0x115c - CountdownTimer m_LeftHandSmashTimer; // 0x1160 - CountdownTimer m_RightHandSmashTimer; // 0x1178 - CountdownTimer m_AttackIntervalTimer; // 0x1190 - float initial_interval; // 0x11a8 - float interval_reduction; // 0x11ac - float min_interval; // 0x11b0 - int32_t arm_distance_forward; // 0x11b4 - int32_t arm_distance_side; // 0x11b8 - int32_t splash_radius; // 0x11bc - int32_t max_split_amount; // 0x11c0 - int32_t m_nCurrentCastCount; // 0x11c4 - int32_t max_projectiles; // 0x11c8 + int32_t projectile_speed; // 0x11b8 + int32_t projectile_speed_increment; // 0x11bc + int32_t projectile_distance; // 0x11c0 + int32_t projectile_width; // 0x11c4 + int32_t projectiles_per_interval; // 0x11c8 + int32_t projectiles_per_interval_increment; // 0x11cc + int32_t initial_spread_angle; // 0x11d0 + int32_t angle_offset; // 0x11d4 + int32_t iCurrentInterval; // 0x11d8 + int32_t splinter_angle; // 0x11dc + CountdownTimer m_LeftHandSmashTimer; // 0x11e0 + CountdownTimer m_RightHandSmashTimer; // 0x11f8 + CountdownTimer m_AttackIntervalTimer; // 0x1210 + float initial_interval; // 0x1228 + float interval_reduction; // 0x122c + float min_interval; // 0x1230 + int32_t arm_distance_forward; // 0x1234 + int32_t arm_distance_side; // 0x1238 + int32_t splash_radius; // 0x123c + int32_t max_split_amount; // 0x1240 + int32_t m_nCurrentCastCount; // 0x1244 + int32_t max_projectiles; // 0x1248 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -12116,24 +12258,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x1138 + Vector m_vVelocity; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -12141,7 +12283,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -12149,7 +12291,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -12157,49 +12299,49 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x1138 - int32_t damage_ticks; // 0x113c - int32_t m_nTickAmount; // 0x1140 + float tick_damage; // 0x11b8 + int32_t damage_ticks; // 0x11bc + int32_t m_nTickAmount; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x1138 - int32_t caustic_finale_damage_death; // 0x113c - int32_t caustic_finale_damage_dot; // 0x1140 - int32_t caustic_finale_slow; // 0x1144 - float caustic_finale_dot_tick; // 0x1148 + int32_t caustic_finale_radius; // 0x11b8 + int32_t caustic_finale_damage_death; // 0x11bc + int32_t caustic_finale_damage_dot; // 0x11c0 + int32_t caustic_finale_slow; // 0x11c4 + float caustic_finale_dot_tick; // 0x11c8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x1138 + float caustic_finale_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x1138 + Vector m_vStartLocation; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: @@ -12207,120 +12349,120 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x1138 - bool m_bTeleported; // 0x1144 + Vector m_vPopupLocation; // 0x11b8 + bool m_bTeleported; // 0x11c4 }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - float sand_storm_radius; // 0x1138 - int32_t sand_storm_damage; // 0x113c - float damage_tick_rate; // 0x1140 - GameTime_t m_flLastDamageTime; // 0x1144 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1148 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x114c + float sand_storm_radius; // 0x11b8 + int32_t sand_storm_damage; // 0x11bc + float damage_tick_rate; // 0x11c0 + GameTime_t m_flLastDamageTime; // 0x11c4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x11c8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x11cc private: - [[maybe_unused]] uint8_t __pad1150[0x8]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x8]; // 0x11d0 public: - CHandle< C_BaseEntity > m_hThinker; // 0x1158 - CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x115c - bool m_bIsPrimarySandstorm; // 0x1160 + CHandle< C_BaseEntity > m_hThinker; // 0x11d8 + CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x11dc + bool m_bIsPrimarySandstorm; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - Vector vecSpawnPos; // 0x1164 + Vector vecSpawnPos; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - float sand_storm_radius; // 0x1138 + float sand_storm_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: - int32_t blind_slow_pct; // 0x1138 + int32_t blind_slow_pct; // 0x11b8 }; // Alignment: 5 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_pulses; // 0x1138 - int32_t epicenter_radius[16]; // 0x113c - int32_t epicenter_damage; // 0x117c - int32_t m_iMaxPulses; // 0x1180 - int32_t m_iPulseCount; // 0x1184 + int32_t epicenter_pulses; // 0x11b8 + int32_t epicenter_radius[16]; // 0x11bc + int32_t epicenter_damage; // 0x11fc + int32_t m_iMaxPulses; // 0x1200 + int32_t m_iPulseCount; // 0x1204 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x1138 - int32_t epicenter_slow_as; // 0x113c + int32_t epicenter_slow; // 0x11b8 + int32_t epicenter_slow_as; // 0x11bc }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - ParticleIndex_t m_nCrosshairFX; // 0x1144 + Vector m_vTargetPos; // 0x11b8 + ParticleIndex_t m_nCrosshairFX; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float explosion_interval; // 0x113c - int32_t explosion_radius; // 0x1140 - int32_t explosion_min_dist; // 0x1144 - float m_fLastTick; // 0x1148 - float m_fTimeAccumulator; // 0x114c - int32_t m_iExplosionCount; // 0x1150 - int32_t m_iExplosionTotalCount; // 0x1154 - int32_t m_iExplosionQuadrant; // 0x1158 - int32_t m_iExplosionDistance; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 + float radius; // 0x11b8 + float explosion_interval; // 0x11bc + int32_t explosion_radius; // 0x11c0 + int32_t explosion_min_dist; // 0x11c4 + float m_fLastTick; // 0x11c8 + float m_fTimeAccumulator; // 0x11cc + int32_t m_iExplosionCount; // 0x11d0 + int32_t m_iExplosionTotalCount; // 0x11d4 + int32_t m_iExplosionQuadrant; // 0x11d8 + int32_t m_iExplosionDistance; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: @@ -12328,109 +12470,109 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: - int32_t str_pct; // 0x1138 + int32_t str_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: - Vector vLastPos; // 0x1138 - float m_fAccumulatedDistance; // 0x1144 - int32_t movement_distance; // 0x1148 + Vector vLastPos; // 0x11b8 + float m_fAccumulatedDistance; // 0x11c4 + int32_t movement_distance; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x1138 + int32_t damage_pct; // 0x11b8 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: - Vector m_vOriginalTarget; // 0x1138 - int32_t wave_count; // 0x1144 - int32_t projectile_speed; // 0x1148 - int32_t projectile_width; // 0x114c - float m_flInterval; // 0x1150 - int32_t m_nArrowsFired; // 0x1154 + Vector m_vOriginalTarget; // 0x11b8 + int32_t wave_count; // 0x11c4 + int32_t projectile_speed; // 0x11c8 + int32_t projectile_width; // 0x11cc + float m_flInterval; // 0x11d0 + int32_t m_nArrowsFired; // 0x11d4 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - bool m_bBonusAttack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + bool m_bBonusAttack; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t damage_bonus; // 0x1154 - float debuff_duration; // 0x1158 + int32_t damage_bonus; // 0x11d4 + float debuff_duration; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: - int32_t attack_slow; // 0x1138 - float m_fIgniteThinkInterval; // 0x113c - float m_fIgniteDmgPerSec; // 0x1140 + int32_t attack_slow; // 0x11b8 + float m_fIgniteThinkInterval; // 0x11bc + float m_fIgniteDmgPerSec; // 0x11c0 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + Vector m_vFacePosition; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - int32_t damage_percent; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 - bool m_bHasAttacked; // 0x1144 + float attack_rate; // 0x11b8 + int32_t damage_percent; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 + bool m_bHasAttacked; // 0x11c4 }; // Alignment: 3 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x1148 - int32_t move_speed_bonus_pct; // 0x1160 - int32_t bonus_magic_resist; // 0x1164 + CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x11c8 + int32_t move_speed_bonus_pct; // 0x11e0 + int32_t bonus_magic_resist; // 0x11e4 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: @@ -12438,99 +12580,99 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: - float lifetime; // 0x1138 + float lifetime; // 0x11b8 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - int32_t block_damage_ranged_active; // 0x114c - int32_t block_damage_melee_active; // 0x1150 - int32_t hp_gain_per_caster_level; // 0x1154 - float hp_regen_per_caster_level; // 0x1158 + ParticleIndex_t m_nFXIndex; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + int32_t block_damage_ranged_active; // 0x11cc + int32_t block_damage_melee_active; // 0x11d0 + int32_t hp_gain_per_caster_level; // 0x11d4 + float hp_regen_per_caster_level; // 0x11d8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: - float armor_reduction_per_arrow; // 0x1138 - int32_t m_nMaxStacks; // 0x113c + float armor_reduction_per_arrow; // 0x11b8 + int32_t m_nMaxStacks; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: - float m_fAttackLoss; // 0x1138 + float m_fAttackLoss; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: - int32_t max_stacks; // 0x1138 + int32_t max_stacks; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: - float m_fAttackSpeed; // 0x1138 + float m_fAttackSpeed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: - float m_fSlowPct; // 0x1138 - float radius; // 0x113c - float think_interval; // 0x1140 - float linger_duration; // 0x1144 + float m_fSlowPct; // 0x11b8 + float radius; // 0x11bc + float think_interval; // 0x11c0 + float linger_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: - float m_fLifestealPct; // 0x1138 + float m_fLifestealPct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: - float m_fSlowPct; // 0x1138 + float m_fSlowPct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: @@ -12538,38 +12680,38 @@ public: }; // Alignment: 5 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x38]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x38]; // 0x11b8 public: - int32_t model_scale; // 0x1170 - float radius; // 0x1174 - int32_t splitshot_count; // 0x1178 - float debuff_duration; // 0x117c - float pct_for_moveslow; // 0x1180 + int32_t model_scale; // 0x11f0 + float radius; // 0x11f4 + int32_t splitshot_count; // 0x11f8 + float debuff_duration; // 0x11fc + float pct_for_moveslow; // 0x1200 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: - float m_fMovementSlow; // 0x1138 + float m_fMovementSlow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: - int32_t m_nInitialHealthBarOffset; // 0x1138 - int32_t colossus_model_scale; // 0x113c + int32_t m_nInitialHealthBarOffset; // 0x11b8 + int32_t colossus_model_scale; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: @@ -12577,49 +12719,49 @@ public: }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - float m_fAddInterval; // 0x1138 - GameTime_t m_fNextAddTime; // 0x113c - GameTime_t m_flStartTime; // 0x1140 - float m_flDamageScale; // 0x1144 - float duration; // 0x1148 - float attack_logic_duration; // 0x114c - int32_t speed_boost; // 0x1150 - int32_t num_adds; // 0x1154 - int32_t projectile_range; // 0x1158 - int32_t projectile_speed; // 0x115c - int32_t projectile_width; // 0x1160 + float m_fAddInterval; // 0x11b8 + GameTime_t m_fNextAddTime; // 0x11bc + GameTime_t m_flStartTime; // 0x11c0 + float m_flDamageScale; // 0x11c4 + float duration; // 0x11c8 + float attack_logic_duration; // 0x11cc + int32_t speed_boost; // 0x11d0 + int32_t num_adds; // 0x11d4 + int32_t projectile_range; // 0x11d8 + int32_t projectile_speed; // 0x11dc + int32_t projectile_width; // 0x11e0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x1138 - float stun_duration; // 0x113c - int32_t stun_radius; // 0x1140 - int32_t damage; // 0x1144 - GameTime_t m_fStartTime; // 0x1148 + float delay; // 0x11b8 + float stun_duration; // 0x11bc + int32_t stun_radius; // 0x11c0 + int32_t damage; // 0x11c4 + GameTime_t m_fStartTime; // 0x11c8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x1138 - int32_t m_nCurrentTick; // 0x1144 - float damage; // 0x1148 - int32_t break_distance; // 0x114c - float stun_duration; // 0x1150 + Vector m_vecStartPosition; // 0x11b8 + int32_t m_nCurrentTick; // 0x11c4 + float damage; // 0x11c8 + int32_t break_distance; // 0x11cc + float stun_duration; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -12627,85 +12769,93 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t movement_speed_pct; // 0x113c - int32_t spell_resist_pct; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x1148 + int32_t radius; // 0x11b8 + int32_t movement_speed_pct; // 0x11bc + int32_t spell_resist_pct; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11c8 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t spell_resist_pct; // 0x113c - int32_t drag_speed; // 0x1140 - float aura_origin_x; // 0x1144 - float aura_origin_y; // 0x1148 - int32_t shard_dps; // 0x114c - int32_t shard_attack_speed_reduction; // 0x1150 - Vector m_vCenter; // 0x1154 + int32_t movement_speed_pct; // 0x11b8 + int32_t spell_resist_pct; // 0x11bc + int32_t drag_speed; // 0x11c0 + float aura_origin_x; // 0x11c4 + float aura_origin_y; // 0x11c8 + int32_t shard_dps; // 0x11cc + int32_t shard_attack_speed_reduction; // 0x11d0 + Vector m_vCenter; // 0x11d4 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: - float dot_damage; // 0x1138 - float kill_pct; // 0x113c - CHandle< C_BaseEntity > m_hFracturingEntity; // 0x1140 -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff -{ -public: - int32_t percent_damage_per_burn; // 0x1138 - int32_t mana_per_hit; // 0x113c - float mana_per_hit_pct; // 0x1140 - float slow_duration; // 0x1144 + float dot_damage; // 0x11b8 + float kill_pct; // 0x11bc + CHandle< C_BaseEntity > m_hFracturingEntity; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff +{ +public: + float damage; // 0x11b8 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff +{ +public: + int32_t percent_damage_per_burn; // 0x11b8 + int32_t mana_per_hit; // 0x11bc + float mana_per_hit_pct; // 0x11c0 + float slow_duration; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: @@ -12713,15 +12863,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: - int32_t shard_bonus_aura_range; // 0x1138 + int32_t shard_bonus_aura_range; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: @@ -12729,41 +12879,41 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: - int32_t shard_spell_damage_reduction_pct; // 0x1138 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x113c + int32_t shard_spell_damage_reduction_pct; // 0x11b8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x1138 + int32_t magic_resistance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1308 +// Size: 0x1398 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x1138 - int32_t magic_resistance; // 0x1300 + CModifierParams m_LastParams; // 0x11b8 + int32_t magic_resistance; // 0x1390 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: @@ -12771,7 +12921,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: @@ -12779,26 +12929,26 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t heal_reduction; // 0x113c - int32_t cast_reduction; // 0x1140 + int32_t damage_reduction; // 0x11b8 + int32_t heal_reduction; // 0x11bc + int32_t cast_reduction; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: - int32_t m_nSource; // 0x1138 - float animation_rate; // 0x113c + int32_t m_nSource; // 0x11b8 + float animation_rate; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -12806,25 +12956,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -12832,7 +12982,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -12840,7 +12990,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -12848,26 +12998,26 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: - float order_lock_duration; // 0x1138 - GameTime_t m_fOrderLockDone; // 0x113c - int32_t m_nFXIndex; // 0x1140 - float shard_regen_pct; // 0x1144 + float order_lock_duration; // 0x11b8 + GameTime_t m_fOrderLockDone; // 0x11bc + int32_t m_nFXIndex; // 0x11c0 + float shard_regen_pct; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: @@ -12875,7 +13025,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: @@ -12883,7 +13033,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -12891,98 +13041,99 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: - int32_t rot_damage; // 0x1138 - int32_t rot_slow; // 0x113c - int32_t scepter_rot_regen_reduction_pct; // 0x1140 + int32_t rot_damage; // 0x11b8 + int32_t rot_slow; // 0x11bc + int32_t scepter_rot_regen_reduction_pct; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - GameTime_t m_flLastRotTime; // 0x114c - bool m_bQualifiesAsPotentionalDeny; // 0x1150 + GameTime_t m_flLastRotTime; // 0x11cc + bool m_bQualifiesAsPotentionalDeny; // 0x11d0 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: - float damage_block; // 0x1138 + float damage_block; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: - float magic_resistance; // 0x1138 - float damage_block; // 0x113c - float flesh_heap_strength_buff_amount; // 0x1140 + float magic_resistance; // 0x11b8 + float damage_block; // 0x11bc + float flesh_heap_strength_buff_amount; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: - int32_t dismember_damage; // 0x1138 - float strength_damage; // 0x113c - int32_t m_nTicks; // 0x1140 - int32_t m_nMaxTicks; // 0x1144 - float m_flTickRate; // 0x1148 - float animation_rate; // 0x114c + int32_t dismember_damage; // 0x11b8 + float strength_damage; // 0x11bc + int32_t m_nTicks; // 0x11c0 + int32_t m_nMaxTicks; // 0x11c4 + float m_flTickRate; // 0x11c8 + float animation_rate; // 0x11cc }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - int32_t pull_units_per_second; // 0x1144 - float pull_distance_limit; // 0x1148 + Vector m_vDestination; // 0x11b8 + int32_t pull_units_per_second; // 0x11c4 + float pull_distance_limit; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - float animation_rate; // 0x1154 + float animation_rate; // 0x11d4 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t blade_fury_damage; // 0x113c - float blade_fury_damage_tick; // 0x1140 - float m_flTotalAppliedDamage; // 0x1144 - int32_t shard_bonus_move_speed; // 0x1148 - float shard_attack_rate; // 0x114c - GameTime_t m_flNextAttack; // 0x1150 - bool m_bIgnoreAttackRestriction; // 0x1154 + int32_t blade_fury_radius; // 0x11b8 + int32_t blade_fury_damage; // 0x11bc + float blade_fury_damage_tick; // 0x11c0 + float m_flTotalAppliedDamage; // 0x11c4 + int32_t shard_bonus_move_speed; // 0x11c8 + float shard_attack_rate; // 0x11cc + GameTime_t m_flNextAttack; // 0x11d0 + bool m_bIgnoreAttackRestriction; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: - int32_t shard_damage_pct; // 0x1138 + int32_t shard_damage_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: - int32_t healing_ward_movespeed_tooltip; // 0x1138 + int32_t healing_ward_movespeed_tooltip; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: @@ -12990,53 +13141,53 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: - int32_t healing_ward_heal_amount; // 0x1138 - int32_t m_nStartingHealthThisInterval; // 0x113c + int32_t healing_ward_heal_amount; // 0x11b8 + int32_t m_nStartingHealthThisInterval; // 0x11bc }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - int32_t blade_dance_lifesteal; // 0x1140 - bool m_bHasCrit; // 0x1144 - bool m_bWasBladeDanceTriggeredCrit; // 0x1145 + int32_t blade_dance_crit_mult; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + int32_t blade_dance_lifesteal; // 0x11c0 + bool m_bHasCrit; // 0x11c4 + bool m_bWasBladeDanceTriggeredCrit; // 0x11c5 }; // Alignment: 15 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - CHandle< C_BaseEntity > m_hLastTarget; // 0x113c - int32_t m_nJumps; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t omni_slash_radius; // 0x114c - float attack_rate_multiplier; // 0x1150 - bool m_bFirstHit; // 0x1154 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hLastTarget; // 0x11bc + int32_t m_nJumps; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t omni_slash_radius; // 0x11cc + float attack_rate_multiplier; // 0x11d0 + bool m_bFirstHit; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_iTotalDamage; // 0x1158 - int32_t m_iHeroDamage; // 0x115c - int32_t m_iKilledHeroes; // 0x1160 - GameTime_t m_fNextAttackTime; // 0x1164 - bool m_bScepterCast; // 0x1168 - bool m_bReflection; // 0x1169 - bool m_bEndNext; // 0x116a + int32_t m_iTotalDamage; // 0x11d8 + int32_t m_iHeroDamage; // 0x11dc + int32_t m_iKilledHeroes; // 0x11e0 + GameTime_t m_fNextAttackTime; // 0x11e4 + bool m_bScepterCast; // 0x11e8 + bool m_bReflection; // 0x11e9 + bool m_bEndNext; // 0x11ea }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: @@ -13044,30 +13195,30 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_damage; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - int32_t blade_dance_crit_mult; // 0x1140 - float blade_fury_damage_tick; // 0x1144 - int32_t blade_fury_radius; // 0x1148 - int32_t bonus_evasion; // 0x114c - bool m_bTryToCrit; // 0x1150 + int32_t blade_fury_damage; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + int32_t blade_dance_crit_mult; // 0x11c0 + float blade_fury_damage_tick; // 0x11c4 + int32_t blade_fury_radius; // 0x11c8 + int32_t bonus_evasion; // 0x11cc + bool m_bTryToCrit; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: - float animation_rate; // 0x1138 - int32_t bonus_damage; // 0x113c + float animation_rate; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: @@ -13075,65 +13226,68 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t turn_rate_pct; // 0x113c + int32_t movement_speed_pct; // 0x11b8 + int32_t turn_rate_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: - float shadowraze_cooldown; // 0x1138 + float shadowraze_cooldown; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: - int32_t presence_radius; // 0x1138 + int32_t presence_radius; // 0x11b8 + float kill_buff_duration; // 0x11bc + GameTime_t m_fLastStackChange; // 0x11c0 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: - int32_t presence_armor_reduction; // 0x1138 - bool m_bWasHidden; // 0x113c + int32_t presence_armor_reduction; // 0x11b8 + int32_t bonus_armor_per_stack; // 0x11bc + bool m_bWasHidden; // 0x11c0 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: - int32_t necromastery_damage_per_soul; // 0x1138 - int32_t necromastery_max_souls; // 0x113c - int32_t necromastery_max_souls_scepter; // 0x1140 - int32_t shard_crit_pct; // 0x1144 - int32_t shard_souls_per_kill; // 0x1148 - float shard_fear_duration; // 0x114c - ParticleIndex_t m_iParticleSoulsIndex; // 0x1150 - ParticleIndex_t m_FXIndex; // 0x1154 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + int32_t necromastery_damage_per_soul; // 0x11b8 + int32_t necromastery_max_souls; // 0x11bc + int32_t necromastery_max_souls_scepter; // 0x11c0 + int32_t shard_crit_pct; // 0x11c4 + int32_t shard_souls_per_kill; // 0x11c8 + float shard_fear_duration; // 0x11cc + ParticleIndex_t m_iParticleSoulsIndex; // 0x11d0 + ParticleIndex_t m_FXIndex; // 0x11d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: - bool bDisableInvis; // 0x1138 + bool bDisableInvis; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: @@ -13141,7 +13295,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: @@ -13149,15 +13303,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: @@ -13165,39 +13319,39 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: - int32_t requiem_reduction_ms; // 0x1138 - int32_t requiem_reduction_mres; // 0x113c + int32_t requiem_reduction_ms; // 0x11b8 + int32_t requiem_reduction_mres; // 0x11bc }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x1138 + float caustic_finale_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x1138 - int32_t caustic_finale_damage_base; // 0x113c - int32_t caustic_finale_damage_pct; // 0x1140 - int32_t caustic_finale_slow; // 0x1144 + int32_t caustic_finale_radius; // 0x11b8 + int32_t caustic_finale_damage_base; // 0x11bc + int32_t caustic_finale_damage_pct; // 0x11c0 + int32_t caustic_finale_slow; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: @@ -13205,106 +13359,106 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x1138 - bool m_bTeleported; // 0x1144 + Vector m_vPopupLocation; // 0x11b8 + bool m_bTeleported; // 0x11c4 }; -// Alignment: 8 -// Size: 0x1178 +// Alignment: 10 +// Size: 0x1200 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t sand_storm_radius; // 0x1148 - int32_t sand_storm_damage; // 0x114c - float damage_tick_rate; // 0x1150 - GameTime_t m_flLastDamageTime; // 0x1154 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1158 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x115c + int32_t sand_storm_radius; // 0x11c8 + int32_t sand_storm_damage; // 0x11cc + float damage_tick_rate; // 0x11d0 + GameTime_t m_flLastDamageTime; // 0x11d4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x11d8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x11dc private: - [[maybe_unused]] uint8_t __pad1160[0x8]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x8]; // 0x11e0 public: - CHandle< C_BaseEntity > m_hThinker; // 0x1168 - Vector vecSpawnPos; // 0x116c + CHandle< C_BaseEntity > m_hThinker; // 0x11e8 + Vector vecSpawnPos; // 0x11ec + int32_t m_iExplosionQuadrant; // 0x11f8 + int32_t m_iExplosionDistance; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t sand_storm_radius; // 0x1138 + int32_t sand_storm_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t blind; // 0x113c + int32_t slow; // 0x11b8 + int32_t blind; // 0x11bc }; -// Alignment: 7 -// Size: 0x1198 +// Alignment: 6 +// Size: 0x1218 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_radius_base; // 0x1138 - int32_t epicenter_radius_increment; // 0x113c - int32_t epicenter_pulses; // 0x1140 - int32_t epicenter_radius[16]; // 0x1144 - int32_t epicenter_damage; // 0x1184 - int32_t m_iMaxPulses; // 0x1188 - int32_t m_iPulseCount; // 0x118c + int32_t epicenter_radius_base; // 0x11b8 + int32_t epicenter_radius_increment; // 0x11bc + int32_t epicenter_pulses; // 0x11c0 + int32_t epicenter_radius[16]; // 0x11c4 + int32_t m_iMaxPulses; // 0x1204 + int32_t m_iPulseCount; // 0x1208 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x1138 - int32_t epicenter_slow_as; // 0x113c -}; - -// Alignment: 4 -// Size: 0x1150 -class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff -{ -public: - int32_t shard_epicenter_pulse_damage_bonus; // 0x1138 - float shard_move_distance; // 0x113c - Vector vLastPos; // 0x1140 - float m_fAccumulatedDistance; // 0x114c + int32_t epicenter_slow; // 0x11b8 + int32_t epicenter_slow_as; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11d0 +class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff +{ +public: + float shard_move_distance; // 0x11b8 + Vector vLastPos; // 0x11bc + float m_fAccumulatedDistance; // 0x11c8 +}; + +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x1138 - bool bInBufferTime; // 0x113c + float interval_scepter; // 0x11b8 + bool bInBufferTime; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t damage; // 0x1140 + int32_t damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x1138 + int32_t starfall_secondary_radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -13312,53 +13466,53 @@ public: }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - int32_t leap_distance; // 0x1138 - float shard_radius; // 0x113c - float shard_radius_end; // 0x1140 - float shard_damage; // 0x1144 - float shard_slow_pct; // 0x1148 - float shard_slow_duration; // 0x114c - float leap_speed; // 0x1150 - float leap_acceleration; // 0x1154 - int32_t leap_radius; // 0x1158 - float leap_bonus_duration; // 0x115c - bool m_bLaunched; // 0x1160 + int32_t leap_distance; // 0x11b8 + float shard_radius; // 0x11bc + float shard_radius_end; // 0x11c0 + float shard_damage; // 0x11c4 + float shard_slow_pct; // 0x11c8 + float shard_slow_duration; // 0x11cc + float leap_speed; // 0x11d0 + float leap_acceleration; // 0x11d4 + int32_t leap_radius; // 0x11d8 + float leap_bonus_duration; // 0x11dc + bool m_bLaunched; // 0x11e0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x1138 + int32_t shard_slow_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: - int32_t leap_speedbonus; // 0x1138 - int32_t leap_speedbonus_as; // 0x113c - bool m_bCritUsed; // 0x1140 + int32_t leap_speedbonus; // 0x11b8 + int32_t leap_speedbonus_as; // 0x11bc + bool m_bCritUsed; // 0x11c0 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x1148 - int32_t bonus_movement_speed; // 0x114c - int32_t evasion; // 0x1150 + float duration; // 0x11c8 + int32_t bonus_movement_speed; // 0x11cc + int32_t evasion; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: @@ -13366,137 +13520,140 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x1138 + int32_t m_nHandle; // 0x11b8 }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - int32_t cleave_starting_width; // 0x1138 - int32_t cleave_ending_width; // 0x113c - int32_t cleave_distance; // 0x1140 - int32_t great_cleave_damage; // 0x1144 - int16_t m_nLastCleaveRecord; // 0x1148 + int32_t cleave_starting_width; // 0x11b8 + int32_t cleave_ending_width; // 0x11bc + int32_t cleave_distance; // 0x11c0 + int32_t great_cleave_damage; // 0x11c4 + int32_t strength_bonus; // 0x11c8 + int16_t m_nLastCleaveRecord; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a + [[maybe_unused]] uint8_t __pad11ce[0x2]; // 0x11ce public: - int32_t m_nLastCleaveKills; // 0x114c + int32_t m_nLastCleaveKills; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x1138 + int32_t shard_passive_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x1138 + int32_t gods_strength_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff { public: - int32_t blast_dot_damage; // 0x1138 - int32_t blast_slow; // 0x113c + int32_t blast_dot_damage; // 0x11b8 + int32_t blast_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_move_speed; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_move_speed; // 0x11bc }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - int32_t vampiric_aura; // 0x1138 - float skeleton_duration; // 0x113c - int32_t max_skeleton_charges; // 0x1140 - int32_t m_iKillCounter; // 0x1144 + int32_t vampiric_aura; // 0x11b8 + int32_t creep_vampiric_aura; // 0x11bc + float skeleton_duration; // 0x11c0 + int32_t max_skeleton_charges; // 0x11c4 + int32_t m_iKillCounter; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 + int32_t m_iCount; // 0x11b8 }; -// Alignment: 9 -// Size: 0x1158 +// Alignment: 10 +// Size: 0x11d8 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_iBonusDamage; // 0x113c - bool m_bRespawnReady; // 0x1140 - bool m_bRespawnConsumed; // 0x1141 - bool m_bKillParentOnDestroy; // 0x1142 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_iBonusDamage; // 0x11bc + bool m_bRespawnReady; // 0x11c0 + bool m_bRespawnConsumed; // 0x11c1 + bool m_bKillParentOnDestroy; // 0x11c2 private: - [[maybe_unused]] uint8_t __pad1143[0x1]; // 0x1143 + [[maybe_unused]] uint8_t __pad11c3[0x1]; // 0x11c3 public: - GameTime_t m_flRespawnTime; // 0x1144 - int32_t vampiric_aura; // 0x1148 - int32_t gold_bounty; // 0x114c - int32_t xp_bounty; // 0x1150 + GameTime_t m_flRespawnTime; // 0x11c4 + int32_t vampiric_aura; // 0x11c8 + int32_t gold_bounty; // 0x11cc + int32_t xp_bounty; // 0x11d0 + int32_t skeleton_building_damage_reduction; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x1138 - int32_t scepter_aura_radius; // 0x113c + float reincarnate_time; // 0x11b8 + int32_t scepter_aura_radius; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: @@ -13504,24 +13661,32 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t attackslow; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t attackslow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x1138 + float scepter_duration; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff +{ +public: + float scepter_respawn_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -13529,7 +13694,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: @@ -13537,48 +13702,48 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x1138 - int32_t overload_damage; // 0x113c - int32_t shard_attack_speed_bonus; // 0x1140 + int32_t overload_aoe; // 0x11b8 + int32_t overload_damage; // 0x11bc + int32_t shard_attack_speed_bonus; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x1138 - int32_t static_remnant_damage_radius; // 0x113c - int32_t static_remnant_damage; // 0x1140 - float static_remnant_delay; // 0x1144 - int32_t m_iSearchRadius; // 0x1148 - int32_t m_iDamageRadius; // 0x114c + int32_t static_remnant_radius; // 0x11b8 + int32_t static_remnant_damage_radius; // 0x11bc + int32_t static_remnant_damage; // 0x11c0 + float static_remnant_delay; // 0x11c4 + int32_t m_iSearchRadius; // 0x11c8 + int32_t m_iDamageRadius; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x1138 + int32_t electric_vortex_self_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - int32_t electric_vortex_pull_distance; // 0x1144 - float electric_vortex_pull_tether_range; // 0x1148 + Vector m_vDestination; // 0x11b8 + int32_t electric_vortex_pull_distance; // 0x11c4 + float electric_vortex_pull_tether_range; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -13586,7 +13751,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -13594,24 +13759,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x1138 + int32_t overload_aoe; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x1138 - int32_t overload_attack_slow; // 0x113c + int32_t overload_move_slow; // 0x11b8 + int32_t overload_attack_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -13619,19 +13784,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x1138 - int32_t static_remnant_damage_radius; // 0x113c - int32_t static_remnant_damage; // 0x1140 - float static_remnant_delay; // 0x1144 - float overload_duration; // 0x1148 + int32_t static_remnant_radius; // 0x11b8 + int32_t static_remnant_damage_radius; // 0x11bc + int32_t static_remnant_damage; // 0x11c0 + float static_remnant_delay; // 0x11c4 + float overload_duration; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -13639,15 +13804,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: @@ -13655,7 +13820,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -13663,7 +13828,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -13671,7 +13836,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -13679,128 +13844,138 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x1138 + float trueshot_ranged_attack_speed; // 0x11b8 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - int32_t chance; // 0x1138 - ParticleIndex_t m_nFxIndex; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x1158 - int32_t bonus_factor; // 0x1170 - int32_t disable_range; // 0x1174 - int32_t agility_range; // 0x1178 - int32_t bonus_damage; // 0x117c - int32_t split_count; // 0x1180 - int32_t split_range; // 0x1184 - bool m_bGlacialAttack; // 0x1188 + int32_t chance; // 0x11b8 + ParticleIndex_t m_nFxIndex; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x11d8 + int32_t bonus_factor; // 0x11f0 + int32_t disable_range; // 0x11f4 + int32_t agility_range; // 0x11f8 + int32_t bonus_damage; // 0x11fc + int32_t split_count; // 0x1200 + int32_t split_range; // 0x1204 + bool m_bGlacialAttack; // 0x1208 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x1138 - float agility_multiplier_ally; // 0x113c + int32_t agility_multiplier; // 0x11b8 + float agility_multiplier_ally; // 0x11bc }; // Alignment: 3 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x1138 + int32_t split_damage_reduction; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x1140 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1178 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11c0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x11f8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t shard_bonus_damage_per_stack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t shard_bonus_damage_per_stack; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x1138 - int32_t shard_max_stacks; // 0x113c - float shard_stack_duration; // 0x1140 + int32_t frost_arrows_movement_speed; // 0x11b8 + int32_t shard_max_stacks; // 0x11bc + float shard_stack_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x1138 + int32_t shard_burst_move_slow_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x1138 - int32_t shard_burst_radius; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 + int32_t shard_regen_reduction_pct_per_stack; // 0x11b8 + int32_t shard_burst_radius; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff +{ +public: + int32_t multishot_arrow_bonus; // 0x11b8 + int32_t end_height; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 +}; + // Alignment: 13 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x1138 - Vector m_vOriginalTarget; // 0x113c - int32_t arrow_width; // 0x1148 - float arrow_speed; // 0x114c - float arrow_range_multiplier; // 0x1150 - int32_t wave_count; // 0x1154 - int32_t arrow_count_per_wave; // 0x1158 - int32_t arrow_angle; // 0x115c - int32_t m_iLoopCount; // 0x1160 - float m_flInterval; // 0x1164 - float m_flCycleDelay; // 0x1168 - float m_flTimeWaste; // 0x116c - GameTime_t m_flExpectedTime; // 0x1170 + int32_t m_iArrowCount; // 0x11b8 + Vector m_vOriginalTarget; // 0x11bc + int32_t arrow_width; // 0x11c8 + float arrow_speed; // 0x11cc + float arrow_range_multiplier; // 0x11d0 + int32_t wave_count; // 0x11d4 + int32_t arrow_count_per_wave; // 0x11d8 + int32_t arrow_angle; // 0x11dc + int32_t m_iLoopCount; // 0x11e0 + float m_flInterval; // 0x11e4 + float m_flCycleDelay; // 0x11e8 + float m_flTimeWaste; // 0x11ec + GameTime_t m_flExpectedTime; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: - int32_t arrow_damage_pct; // 0x1138 + int32_t arrow_damage_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: @@ -13808,15 +13983,40 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff +{ +public: + int32_t shard_width; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff +{ +public: + float z_speed_override; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff +{ +public: + uint32_t m_unOccluderID; // 0x11b8 +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -13824,30 +14024,30 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x1138 - float m_flComboWindow; // 0x113c - float m_flComboDisplayInterval; // 0x1140 - float m_flDamageDone; // 0x1144 + int32_t m_nComboCount; // 0x11b8 + float m_flComboWindow; // 0x11bc + float m_flComboDisplayInterval; // 0x11c0 + float m_flDamageDone; // 0x11c4 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - int32_t shard_aftershock_stun_duration_pct; // 0x1138 - float shard_free_pathing_linger_duration; // 0x113c - Vector m_vStartPos; // 0x1140 - Vector m_vEndPos; // 0x114c - GameTime_t m_flEndTime; // 0x1158 + int32_t shard_aftershock_stun_duration_pct; // 0x11b8 + float shard_free_pathing_linger_duration; // 0x11bc + Vector m_vStartPos; // 0x11c0 + Vector m_vEndPos; // 0x11cc + GameTime_t m_flEndTime; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -13855,7 +14055,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -13863,7 +14063,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -13871,7 +14071,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -13879,7 +14079,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: @@ -13887,7 +14087,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -13895,28 +14095,28 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t totem_damage_percentage; // 0x113c - int32_t scepter_cleave_pct; // 0x1140 - float scepter_cleave_starting_width; // 0x1144 - float scepter_cleave_ending_width; // 0x1148 - float scepter_cleave_distance; // 0x114c + int32_t bonus_attack_range; // 0x11b8 + int32_t totem_damage_percentage; // 0x11bc + int32_t scepter_cleave_pct; // 0x11c0 + float scepter_cleave_starting_width; // 0x11c4 + float scepter_cleave_ending_width; // 0x11c8 + float scepter_cleave_distance; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x1138 + int32_t aftershock_range; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -13924,7 +14124,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -13932,7 +14132,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -13940,16 +14140,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: @@ -13957,65 +14157,65 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - int32_t damage_reduction_pct; // 0x113c + int32_t armor_reduction; // 0x11b8 + int32_t damage_reduction_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x1138 + CHandle< C_BaseEntity > hTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x1138 + int32_t bonus_base_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 + int32_t bonus_damage_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14023,16 +14223,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x1138 - ParticleIndex_t nFXIndex; // 0x113c + float damage_reduction; // 0x11b8 + ParticleIndex_t nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -14040,15 +14240,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - int32_t scepter_illusion_ms_bonus_pct; // 0x1138 + int32_t scepter_illusion_ms_bonus_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -14056,16 +14256,16 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x1138 - Vector m_vPathEnd; // 0x1144 + Vector m_vPathStart; // 0x11b8 + Vector m_vPathEnd; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -14073,7 +14273,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -14081,27 +14281,27 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t creep_damage_per_second; // 0x1140 - float tick_interval; // 0x1144 + int32_t max_ticks; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t creep_damage_per_second; // 0x11c0 + float tick_interval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -14109,57 +14309,57 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x1138 - float self_factor; // 0x113c - float proximity_bonus_factor; // 0x1140 - int32_t proximity_bonus_radius; // 0x1144 + float base_mana_regen; // 0x11b8 + float self_factor; // 0x11bc + float proximity_bonus_factor; // 0x11c0 + int32_t proximity_bonus_radius; // 0x11c4 }; // Alignment: 20 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - int32_t bonus_armor; // 0x1140 - float explosion_interval; // 0x1144 - float shard_bonus_explosion; // 0x1148 - int32_t explosion_radius; // 0x114c - float slow_duration; // 0x1150 - int32_t explosion_min_dist; // 0x1154 - int32_t explosion_max_dist; // 0x1158 - float frostbite_delay; // 0x115c - GameTime_t m_fLastTick; // 0x1160 - float m_fTimeAccumulator; // 0x1164 - int32_t m_iExplosionCount; // 0x1168 - int32_t m_iExplosionTotalCount; // 0x116c - int32_t m_iExplosionQuadrant; // 0x1170 - int32_t m_iExplosionDistance; // 0x1174 - int32_t shard_self_movement_speed_slow_pct; // 0x1178 - ParticleIndex_t m_nFXIndex; // 0x117c + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float explosion_interval; // 0x11c4 + float shard_bonus_explosion; // 0x11c8 + int32_t explosion_radius; // 0x11cc + float slow_duration; // 0x11d0 + int32_t explosion_min_dist; // 0x11d4 + int32_t explosion_max_dist; // 0x11d8 + float frostbite_delay; // 0x11dc + GameTime_t m_fLastTick; // 0x11e0 + float m_fTimeAccumulator; // 0x11e4 + int32_t m_iExplosionCount; // 0x11e8 + int32_t m_iExplosionTotalCount; // 0x11ec + int32_t m_iExplosionQuadrant; // 0x11f0 + int32_t m_iExplosionDistance; // 0x11f4 + int32_t shard_self_movement_speed_slow_pct; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x11fc private: - [[maybe_unused]] uint8_t __pad1180[0x8]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1188 - int32_t can_move; // 0x11a0 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 + int32_t can_move; // 0x1220 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -14167,35 +14367,35 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float rink_formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float rink_formation_time; // 0x11bc + bool m_bActive; // 0x11c0 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x1138 + bool m_bHitFirstUpdate; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float flMovementSpeed; // 0x113c - float m_flTurnBoostProgress; // 0x1140 - float m_flFacingTarget; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flHitEndTime; // 0x114c - float hit_recover_time; // 0x1150 - Vector m_vDirection; // 0x1154 + float flMovementSpeed; // 0x11bc + float m_flTurnBoostProgress; // 0x11c0 + float m_flFacingTarget; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flHitEndTime; // 0x11cc + float hit_recover_time; // 0x11d0 + Vector m_vDirection; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: @@ -14203,68 +14403,67 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t slow; // 0x113c - int32_t scepter_armor_change; // 0x1140 + int32_t damage_per_second; // 0x11b8 + int32_t slow; // 0x11bc + int32_t scepter_armor_change; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: - int32_t scepter_armor_change; // 0x1138 + int32_t scepter_armor_change; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t trigger_chance; // 0x113c - GameTime_t m_fLastProc; // 0x1140 + int32_t radius; // 0x11b8 + int32_t trigger_attacks; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x1138 + int32_t shard_damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -14272,7 +14471,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -14280,24 +14479,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t atk_speed_bonus; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t atk_speed_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x1138 + float armor_per_stack; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -14305,71 +14504,71 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - int32_t leap_distance; // 0x1138 - int32_t leap_radius; // 0x113c - float leap_speed; // 0x1140 - float leap_acceleration; // 0x1144 + int32_t leap_distance; // 0x11b8 + int32_t leap_radius; // 0x11bc + float leap_speed; // 0x11c0 + float leap_acceleration; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t spell_amp; // 0x113c - float shard_max_health_dmg_pct; // 0x1140 - float damage_pct; // 0x1144 - float flTickRate; // 0x1148 + int32_t attack_speed; // 0x11b8 + int32_t spell_amp; // 0x11bc + float shard_max_health_dmg_pct; // 0x11c0 + float damage_pct; // 0x11c4 + float flTickRate; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - int32_t hero_kill_heal; // 0x1138 - int32_t creep_kill_heal; // 0x113c - int32_t half_bonus_aoe; // 0x1140 - int32_t visibility_threshold_pct; // 0x1144 - int32_t invis_threshold_pct; // 0x1148 - int32_t min_bonus_pct; // 0x114c - int32_t max_bonus_pct; // 0x1150 - int32_t bonus_movement_speed; // 0x1154 - float linger_duration; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c + int32_t hero_kill_heal; // 0x11b8 + int32_t creep_kill_heal; // 0x11bc + int32_t half_bonus_aoe; // 0x11c0 + int32_t visibility_threshold_pct; // 0x11c4 + int32_t invis_threshold_pct; // 0x11c8 + int32_t min_bonus_pct; // 0x11cc + int32_t max_bonus_pct; // 0x11d0 + int32_t bonus_movement_speed; // 0x11d4 + float linger_duration; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x1138 + int32_t invis_threshold_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x1138 + CUtlSymbolLarge m_iszModifierString; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14377,195 +14576,228 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x1138 - float hp_pct; // 0x113c - Vector vLastPos; // 0x1140 - bool bResetPosition; // 0x114c + int32_t movement_damage_pct; // 0x11b8 + float hp_pct; // 0x11bc + Vector vLastPos; // 0x11c0 + bool bResetPosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fAccumulatedDamage; // 0x1150 -}; - -// Alignment: 1 -// Size: 0x1148 -class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff -{ -public: - int32_t movement_speed_pct; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1148 -class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff -{ -public: - Vector vTargetPosition; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff -{ -public: - float flDamageTaken; // 0x1138 -}; - -// Alignment: 7 -// Size: 0x1158 -class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff -{ -public: - int32_t max_illusions; // 0x1138 - int32_t scepter_bonus_illusions; // 0x113c - float illusion_duration; // 0x1140 - int32_t illusion_damage_out_pct; // 0x1144 - int32_t illusion_damage_in_pct; // 0x1148 - float scepter_bonus_duration; // 0x114c - int32_t m_iIllusionsSoFar; // 0x1150 -}; - -// Alignment: 7 -// Size: 0x1158 -class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff -{ -public: - int32_t proc_chance_pct; // 0x1138 - int32_t illusion_proc_chance_pct; // 0x113c - int32_t max_illusions; // 0x1140 - float illusion_duration; // 0x1144 - int32_t illusion_damage_out_pct; // 0x1148 - int32_t illusion_damage_in_pct; // 0x114c - int32_t scepter_bonus_illusions; // 0x1150 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff -{ -public: - int32_t min_distance; // 0x1138 - int32_t max_distance; // 0x113c - CHandle< C_BaseEntity > m_hTarget; // 0x1140 -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff -{ -public: - int32_t bonus_speed; // 0x1138 - float agility_duration; // 0x113c - bool m_bGiveAgility; // 0x1140 -private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 -public: - CHandle< C_BaseEntity > m_hTarget; // 0x1144 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff -{ -public: - int32_t bonus_agility; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff -{ -public: - bool m_bstrongIllusion; // 0x1138 -}; - -// Alignment: 15 -// Size: 0x11a0 -class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff -{ -public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bContracting; // 0x1144 -private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 -public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 -private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 -public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage_min; // 0x1188 - int32_t damage_max; // 0x118c - int32_t slow_min; // 0x1190 - int32_t slow_max; // 0x1194 - float slow_duration; // 0x1198 - bool m_bHasCreatedFx; // 0x119c -}; - -// Alignment: 10 -// Size: 0x1170 -class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff -{ -public: - float flSmoothness; // 0x1138 - float drain_duration; // 0x113c - int32_t drain_rate; // 0x1140 - int32_t drain_range; // 0x1144 - int32_t drain_range_buffer; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x114c - int32_t m_iTotalDrainAmount; // 0x1150 - ParticleIndex_t m_iLinkIndex; // 0x1154 - CDOTA_Buff* m_pBuffPositive; // 0x1158 - CDOTA_Buff* m_pNegative; // 0x1160 -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t drain_rate; // 0x113c - float drain_length; // 0x1140 - int32_t attack_speed_factor; // 0x1144 + float m_fAccumulatedDamage; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t attack_speed_factor; // 0x113c + GameTime_t flLastGameTime; // 0x11b8 + float m_flCurrentShield; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c8 +class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff +{ +public: + int32_t movement_speed_pct; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c8 +class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff +{ +public: + Vector vTargetPosition; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff +{ +public: + float flDamageTaken; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff +{ +public: + PlayerID_t m_nControllingPlayer; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11d0 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible +{ +public: + float invis_movespeed; // 0x11c8 +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff +{ +public: + int32_t max_illusions; // 0x11b8 + int32_t scepter_bonus_illusions; // 0x11bc + float illusion_duration; // 0x11c0 + int32_t illusion_damage_out_pct; // 0x11c4 + int32_t illusion_damage_in_pct; // 0x11c8 + float scepter_bonus_duration; // 0x11cc + int32_t m_iIllusionsSoFar; // 0x11d0 +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff +{ +public: + int32_t proc_chance_pct; // 0x11b8 + int32_t illusion_proc_chance_pct; // 0x11bc + int32_t max_illusions; // 0x11c0 + float illusion_duration; // 0x11c4 + int32_t illusion_damage_out_pct; // 0x11c8 + int32_t illusion_damage_in_pct; // 0x11cc + int32_t shard_bonus_illusions; // 0x11d0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff +{ +public: + int32_t min_distance; // 0x11b8 + int32_t max_distance; // 0x11bc + CHandle< C_BaseEntity > m_hTarget; // 0x11c0 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff +{ +public: + int32_t bonus_speed; // 0x11b8 + float agility_duration; // 0x11bc + bool m_bGiveAgility; // 0x11c0 +private: + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 +public: + CHandle< C_BaseEntity > m_hTarget; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff +{ +public: + int32_t bonus_agility; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff +{ +public: + bool m_bstrongIllusion; // 0x11b8 +}; + +// Alignment: 15 +// Size: 0x1220 +class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff +{ +public: + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bContracting; // 0x11c4 +private: + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 +public: + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 +private: + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + float damage_min; // 0x1208 + float damage_max; // 0x120c + int32_t slow_min; // 0x1210 + int32_t slow_max; // 0x1214 + float slow_duration; // 0x1218 + bool m_bHasCreatedFx; // 0x121c +}; + +// Alignment: 10 +// Size: 0x11f0 +class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff +{ +public: + float flSmoothness; // 0x11b8 + float drain_duration; // 0x11bc + int32_t drain_rate; // 0x11c0 + int32_t drain_range; // 0x11c4 + int32_t drain_range_buffer; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11cc + int32_t m_iTotalDrainAmount; // 0x11d0 + ParticleIndex_t m_iLinkIndex; // 0x11d4 + CDOTA_Buff* m_pBuffPositive; // 0x11d8 + CDOTA_Buff* m_pNegative; // 0x11e0 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t drain_rate; // 0x11bc + float drain_length; // 0x11c0 + int32_t attack_speed_factor; // 0x11c4 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t attack_speed_factor; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -14573,68 +14805,68 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - int32_t self_movement_speed_pct; // 0x1138 - int32_t shard_pct_chance; // 0x113c - int32_t shard_damage; // 0x1140 - int32_t shard_move_slow_pct; // 0x1144 - int32_t shard_search_radius; // 0x1148 - int32_t shard_target_count; // 0x114c - float shard_slow_duration; // 0x1150 - float shard_internal_cd; // 0x1154 + int32_t self_movement_speed_pct; // 0x11b8 + int32_t shard_pct_chance; // 0x11bc + int32_t shard_damage; // 0x11c0 + int32_t shard_move_slow_pct; // 0x11c4 + int32_t shard_search_radius; // 0x11c8 + int32_t shard_target_count; // 0x11cc + float shard_slow_duration; // 0x11d0 + float shard_internal_cd; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t shard_damage; // 0x1138 - float shard_slow_duration; // 0x113c + int32_t shard_damage; // 0x11b8 + float shard_slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x1138 + int32_t shard_move_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x1138 - float passive_area_interval; // 0x113c - int32_t radius; // 0x1140 - bool m_bHitNext; // 0x1144 + int32_t passive_area_damage; // 0x11b8 + float passive_area_interval; // 0x11bc + int32_t radius; // 0x11c0 + bool m_bHitNext; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t armor_reduction; // 0x113c - int32_t damage; // 0x1140 + int32_t radius; // 0x11b8 + int32_t armor_reduction; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -14642,85 +14874,93 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x1138 - bool m_bTauntQueued; // 0x1139 + bool m_bIsMeleeAttack; // 0x11b8 + bool m_bTauntQueued; // 0x11b9 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x1138 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x113c + ParticleIndex_t m_nEmpoweredBodyFX; // 0x11b8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - float m_flStunDuration; // 0x113c - int32_t light_strike_array_aoe; // 0x1140 - int32_t light_strike_array_damage; // 0x1144 - float light_strike_array_stun_duration; // 0x1148 + int32_t m_iDamage; // 0x11b8 + float m_flStunDuration; // 0x11bc + int32_t light_strike_array_aoe; // 0x11c0 + int32_t light_strike_array_damage; // 0x11c4 + float light_strike_array_stun_duration; // 0x11c8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x1138 - float fiery_soul_move_speed_bonus; // 0x113c - int32_t fiery_soul_max_stacks; // 0x1140 - float fiery_soul_stack_duration; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flFierySoulDieTime; // 0x114c + int32_t fiery_soul_attack_speed_bonus; // 0x11b8 + float fiery_soul_move_speed_bonus; // 0x11bc + int32_t fiery_soul_max_stacks; // 0x11c0 + float fiery_soul_stack_duration; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flFierySoulDieTime; // 0x11cc }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x1138 - Vector vEnd; // 0x1144 + Vector vStart; // 0x11b8 + Vector vEnd; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff +{ +public: + int32_t increased_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x1138 - int32_t spell_amp; // 0x113c - float visualzdelta; // 0x1140 + int32_t magic_resistance; // 0x11b8 + int32_t spell_amp; // 0x11bc + float visualzdelta; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -14728,7 +14968,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -14736,15 +14976,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: @@ -14752,99 +14992,118 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - int32_t bonus_attributes; // 0x113c + float tick_rate; // 0x11b8 + int32_t bonus_attributes; // 0x11bc }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x1138 - int32_t points_per_tick; // 0x113c - float morph_cooldown; // 0x1140 + int32_t mana_cost; // 0x11b8 + int32_t points_per_tick; // 0x11bc + float morph_cooldown; // 0x11c0 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x1138 - int32_t points_per_tick; // 0x113c - float morph_cooldown; // 0x1140 + int32_t mana_cost; // 0x11b8 + int32_t points_per_tick; // 0x11bc + float morph_cooldown; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_status_resist; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nAgiSteal; // 0x1144 - int32_t nIntSteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_status_resist; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nAgiSteal; // 0x11c4 + int32_t nIntSteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_status_resist; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_status_resist; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_attack_speed; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nAgilitySteal; // 0x1144 - int32_t nIntSteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nAgilitySteal; // 0x11c4 + int32_t nIntSteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_attack_speed; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_spell_amplify; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nIntSteal; // 0x1144 - int32_t nAgilitySteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_spell_amplify; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nIntSteal; // 0x11c4 + int32_t nAgilitySteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_spell_amplify; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_spell_amplify; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff +{ +public: + int32_t scepter_stat_steal; // 0x11b8 + int32_t nStrengthSteal; // 0x11bc + int32_t nAgiSteal; // 0x11c0 + int32_t nIntSteal; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff +{ +public: + int32_t scepter_stat_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -14852,35 +15111,35 @@ public: }; // Alignment: 15 -// Size: 0x11c8 +// Size: 0x1248 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x1138 - float m_flBaseAttackRange; // 0x113c - float m_flBaseMovementSpeed; // 0x1140 + CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x11b8 + float m_flBaseAttackRange; // 0x11bc + float m_flBaseMovementSpeed; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszModelName; // 0x1148 - CUtlSymbolLarge m_iszProjectileName; // 0x1150 - CUtlSymbolLarge m_iszOriginalModel; // 0x1158 - int32_t m_nCopiedHeroID; // 0x1160 - float m_fOriginalModelScale; // 0x1164 - CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x1168 + CUtlSymbolLarge m_iszModelName; // 0x11c8 + CUtlSymbolLarge m_iszProjectileName; // 0x11d0 + CUtlSymbolLarge m_iszOriginalModel; // 0x11d8 + int32_t m_nCopiedHeroID; // 0x11e0 + float m_fOriginalModelScale; // 0x11e4 + CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1180[0x30]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x30]; // 0x1200 public: - float m_flOriginalStr; // 0x11b0 - float m_flOriginalAgi; // 0x11b4 - float m_flOriginalInt; // 0x11b8 - int32_t m_iOriginalAttackCapability; // 0x11bc - float m_flOriginalHealthPercentage; // 0x11c0 - float m_flOriginalManaPercentage; // 0x11c4 + float m_flOriginalStr; // 0x1230 + float m_flOriginalAgi; // 0x1234 + float m_flOriginalInt; // 0x1238 + int32_t m_iOriginalAttackCapability; // 0x123c + float m_flOriginalHealthPercentage; // 0x1240 + float m_flOriginalManaPercentage; // 0x1244 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -14888,7 +15147,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -14896,7 +15155,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -14904,31 +15163,33 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t aspd_slow; // 0x113c - int32_t cast_slow; // 0x1140 + int32_t move_slow; // 0x11b8 + int32_t aspd_slow; // 0x11bc + int32_t cast_slow; // 0x11c0 }; -// Alignment: 7 -// Size: 0x1170 +// Alignment: 9 +// Size: 0x11f8 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t jump_count; // 0x113c - int32_t arc_damage; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1158 + int32_t radius; // 0x11b8 + int32_t jump_count; // 0x11bc + int32_t arc_damage; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t damage_health_pct; // 0x11c8 + int32_t total_damage_pct; // 0x11cc + int32_t m_iCurJumpCount; // 0x11d0 + Vector m_vCurTargetLoc; // 0x11d4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -14936,33 +15197,44 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { +public: + int32_t damage; // 0x11b8 + float sight_duration; // 0x11bc + int32_t second_strike_damage_percent; // 0x11c0 + float second_strike_delay; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff +{ public: // No members available }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x1138 - float cloud_bolt_interval; // 0x1150 - int32_t cloud_radius; // 0x1154 + CountdownTimer m_CloudBoltTimer; // 0x11b8 + float cloud_bolt_interval; // 0x11d0 + int32_t cloud_radius; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: @@ -14970,85 +15242,106 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x1138 + int32_t postjump_movespeed; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff +{ +public: + int32_t debuff_spell_amp; // 0x11b8 +}; + +// Alignment: 5 +// Size: 0x11e0 +class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11d0 + int32_t arc_lightning_damage_pct; // 0x11d4 + int32_t arc_lightning_damage_illusion_pct; // 0x11d8 + int32_t attack_range_bonus; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x1138 - bool m_bTorrentStorm; // 0x1139 + bool m_bShowEnemies; // 0x11b8 + bool m_bTorrentStorm; // 0x11b9 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - int32_t torrent_damage; // 0x1138 - float damage_tick_interval; // 0x113c - float flDamagePerTick; // 0x1140 + int32_t torrent_damage; // 0x11b8 + float damage_tick_interval; // 0x11bc + float flDamagePerTick; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x1138 - int32_t torrent_max_distance; // 0x113c - int32_t m_iExplosionQuadrant; // 0x1140 + int32_t torrent_min_distance; // 0x11b8 + int32_t torrent_max_distance; // 0x11bc + int32_t m_iExplosionQuadrant; // 0x11c0 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x1138 + bool m_bTidebringerAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t cleave_starting_width; // 0x113c - int32_t cleave_ending_width; // 0x1140 - int32_t cleave_distance; // 0x1144 - int32_t damage_bonus; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - int32_t cleave_damage; // 0x1150 + int32_t cleave_starting_width; // 0x11bc + int32_t cleave_ending_width; // 0x11c0 + int32_t cleave_distance; // 0x11c4 + int32_t damage_bonus; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + int32_t cleave_damage; // 0x11d0 }; -// Alignment: 1 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x1138 + int32_t ally_ms; // 0x11b8 + int32_t ally_armor; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -15056,30 +15349,30 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - bool m_bIsReflection; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + bool m_bIsReflection; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< C_BaseEntity > m_hEntity; // 0x1148 + CHandle< C_BaseEntity > m_hEntity; // 0x11c8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x1138 - Vector vEnd; // 0x1144 - int32_t hitcount; // 0x1150 + Vector vCasterOrigin; // 0x11b8 + Vector vEnd; // 0x11c4 + int32_t hitcount; // 0x11d0 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -15087,7 +15380,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -15095,36 +15388,36 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - int32_t movespeed_bonus; // 0x113c - float ghostship_absorb; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + int32_t movespeed_bonus; // 0x11bc + float ghostship_absorb; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x1138 - float stun_duration; // 0x113c - int32_t damage; // 0x1140 + int32_t stun_chance; // 0x11b8 + float stun_duration; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -15132,22 +15425,22 @@ public: }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x1138 - int32_t radius; // 0x1150 - float total_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t tick_count; // 0x115c - float toss_multiplier; // 0x1160 - int32_t m_damage; // 0x1164 - int32_t m_nTicks; // 0x1168 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11b8 + int32_t radius; // 0x11d0 + float total_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t tick_count; // 0x11dc + float toss_multiplier; // 0x11e0 + int32_t m_damage; // 0x11e4 + int32_t m_nTicks; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15155,114 +15448,124 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t toss_damage; // 0x113c + int32_t radius; // 0x11b8 + int32_t toss_damage; // 0x11bc }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - int32_t attack_count; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_buildings; // 0x1140 - float stun_duration; // 0x1144 - int32_t attack_range; // 0x1148 - int32_t m_nOriginalAttackCapability; // 0x114c - float bat_increase; // 0x1150 - int32_t speed_reduction; // 0x1154 - int32_t m_nBonusAttackRange; // 0x1158 - CHandle< C_BaseEntity > m_hStolenTree; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 - ParticleIndex_t m_nFXAttackIndex; // 0x1164 + int32_t attack_count; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_buildings; // 0x11c0 + float stun_duration; // 0x11c4 + int32_t attack_range; // 0x11c8 + int32_t m_nOriginalAttackCapability; // 0x11cc + float bat_increase; // 0x11d0 + int32_t speed_reduction; // 0x11d4 + int32_t m_nBonusAttackRange; // 0x11d8 + CHandle< C_BaseEntity > m_hStolenTree; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 + ParticleIndex_t m_nFXAttackIndex; // 0x11e4 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x1138 - int32_t splash_radius; // 0x113c - int32_t speed; // 0x1140 - float interval; // 0x1144 - Vector m_vPos; // 0x1148 + int32_t tree_grab_radius; // 0x11b8 + int32_t splash_radius; // 0x11bc + int32_t speed; // 0x11c0 + float interval; // 0x11c4 + Vector m_vPos; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t attack_speed_reduction; // 0x113c - int32_t bonus_damage; // 0x1140 - float tree_bonus_damage_pct; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t bonus_armor; // 0x11b8 + int32_t attack_speed_reduction; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float tree_bonus_damage_pct; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: // No members available }; +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff +{ +public: + int32_t shard_bonus_damage; // 0x11b8 +}; + // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x1138 - int32_t coil_radius; // 0x1150 - int32_t coil_break_radius; // 0x1154 - int32_t coil_initial_damage; // 0x1158 - float coil_stun_duration; // 0x115c - float coil_duration; // 0x1160 - int32_t coil_break_damage; // 0x1164 - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1168 + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11b8 + int32_t coil_radius; // 0x11d0 + int32_t coil_break_radius; // 0x11d4 + int32_t coil_initial_damage; // 0x11d8 + float coil_stun_duration; // 0x11dc + float coil_duration; // 0x11e0 + int32_t coil_break_damage; // 0x11e4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11e8 }; -// Alignment: 1 -// Size: 0x1148 +// Alignment: 3 +// Size: 0x11d0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x1138 + Vector m_vCastLocation; // 0x11b8 + int32_t coil_rapid_fire_z_offset; // 0x11c4 + float coil_rapid_fire_rate; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -15270,7 +15573,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15278,7 +15581,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -15286,44 +15589,48 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t movespeed_bonus_pct; // 0x1140 - bool m_bDispellable; // 0x1144 + int32_t radius; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t movespeed_bonus_pct; // 0x11c0 + bool m_bDispellable; // 0x11c4 +private: + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 +public: + int32_t physical_damage_pct; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x1138 - float scepter_movespeed_bonus_pct; // 0x113c - int32_t scepter_blind; // 0x1140 + float enemy_movespeed_bonus_pct; // 0x11b8 + float scepter_movespeed_bonus_pct; // 0x11bc + int32_t scepter_blind; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -15331,53 +15638,53 @@ public: }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t focusfire_damage_reduction; // 0x113c - bool bActive; // 0x1140 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t focusfire_damage_reduction; // 0x11bc + bool bActive; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t bonus_attack_speed; // 0x1144 - int32_t focusfire_fire_on_the_move; // 0x1148 - bool m_bPause; // 0x114c + int32_t bonus_attack_speed; // 0x11c4 + int32_t focusfire_fire_on_the_move; // 0x11c8 + bool m_bPause; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - int32_t m_nNumArrowsLanded; // 0x1150 - int32_t m_nDamageDealt; // 0x1154 - int32_t m_nDamageDealtMax; // 0x1158 - int32_t m_nTargetInitialHP; // 0x115c - bool m_bHeroKilled; // 0x1160 - bool m_bRecentFocusFireAttack; // 0x1161 + int32_t m_nNumArrowsLanded; // 0x11d0 + int32_t m_nDamageDealt; // 0x11d4 + int32_t m_nDamageDealtMax; // 0x11d8 + int32_t m_nTargetInitialHP; // 0x11dc + bool m_bHeroKilled; // 0x11e0 + bool m_bRecentFocusFireAttack; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0xa]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0xa]; // 0x11e2 public: - ParticleIndex_t m_nFXFocusFire; // 0x116c - GameTime_t m_flLastFocusFireAttackTime; // 0x1170 + ParticleIndex_t m_nFXFocusFire; // 0x11ec + GameTime_t m_flLastFocusFireAttackTime; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 + bool m_bFrozen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: @@ -15385,81 +15692,82 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c - int32_t slow_attack_speed_primary; // 0x1140 - bool m_bIsPrimary; // 0x1144 + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc + int32_t slow_attack_speed_primary; // 0x11c0 + bool m_bIsPrimary; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t mana_drain; // 0x113c - float m_flIntervalRate; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - bool m_bBlasted; // 0x1148 + int32_t movement_speed; // 0x11b8 + int32_t mana_drain; // 0x11bc + float m_flIntervalRate; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + float creep_damage; // 0x11c8 + bool m_bBlasted; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x1138 - int32_t attack_count; // 0x113c - int32_t attack_speed; // 0x1140 + int32_t mana_drain; // 0x11b8 + int32_t attack_count; // 0x11bc + int32_t attack_speed; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -15467,123 +15775,123 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 - int32_t health_regen; // 0x113c - float slow_duration; // 0x1140 + int32_t armor_bonus; // 0x11b8 + int32_t health_regen; // 0x11bc + float slow_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t health_regen; // 0x1144 + int32_t radius; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t health_regen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x1138 - int32_t m_nHeroesKilled; // 0x113c - int32_t m_nJumps; // 0x1140 - bool m_bFirstJump; // 0x1144 + int32_t m_nDamageToHeroes; // 0x11b8 + int32_t m_nHeroesKilled; // 0x11bc + int32_t m_nJumps; // 0x11c0 + bool m_bFirstJump; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< C_BaseEntity > m_hTarget; // 0x1148 - CHandle< C_BaseEntity > m_hAvoidTarget; // 0x114c + CHandle< C_BaseEntity > m_hTarget; // 0x11c8 + CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11cc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CountdownTimer m_Timer; // 0x1140 + int32_t aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - float negative_armor; // 0x113c + int32_t movement_speed; // 0x11b8 + float negative_armor; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - int32_t m_iDamageTaken; // 0x1138 - int32_t damage_reduction; // 0x113c - int32_t damage_cleanse; // 0x1140 - float damage_reset_interval; // 0x1144 + int32_t m_iDamageTaken; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t damage_cleanse; // 0x11c0 + float damage_reset_interval; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: @@ -15591,7 +15899,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: @@ -15599,50 +15907,52 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float total_damage; // 0x113c - float channel_time; // 0x1140 + float tick_interval; // 0x11b8 + float total_damage; // 0x11bc + float channel_time; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x1138 + int32_t scepter_range; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t dodge_chance; // 0x113c + int32_t miss_rate; // 0x11b8 + int32_t dodge_chance; // 0x11bc + int32_t block_targeting; // 0x11c0 + int32_t armor_reduction; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15650,7 +15960,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -15658,7 +15968,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -15666,198 +15976,200 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x1148 - float fade_delay; // 0x114c + int32_t movement_speed; // 0x11c8 + float fade_delay; // 0x11cc }; -// Alignment: 5 -// Size: 0x1160 +// Alignment: 7 +// Size: 0x11e8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - float fade_delay; // 0x1148 - int32_t backstab_angle; // 0x114c - int32_t cleave; // 0x1150 - float damage_multiplier; // 0x1154 - bool m_bBackstab; // 0x1158 + float fade_delay; // 0x11c8 + int32_t backstab_angle; // 0x11cc + int32_t cleave; // 0x11d0 + float damage_multiplier; // 0x11d4 + float bonus_xp_kill; // 0x11d8 + float bonus_xp_assist; // 0x11dc + bool m_bBackstab; // 0x11e0 }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - ParticleIndex_t m_nFxIndex; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c - CountdownTimer m_Timer; // 0x1140 - CHandle< C_BaseEntity > m_hPreviousTarget; // 0x1158 - int32_t m_nSucceessiveHits; // 0x115c - int32_t damage_pct; // 0x1160 - int32_t agility_pct; // 0x1164 + ParticleIndex_t m_nFxIndex; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 + CHandle< C_BaseEntity > m_hPreviousTarget; // 0x11d8 + int32_t m_nSucceessiveHits; // 0x11dc + int32_t damage_pct; // 0x11e0 + int32_t agility_pct; // 0x11e4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x1138 - float m_flDamageTaken; // 0x113c + int32_t wake_damage_limit; // 0x11b8 + float m_flDamageTaken; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - float stun_duration; // 0x113c - int32_t damage; // 0x1140 - float duration; // 0x1144 - int32_t m_nEidolonSpawnNum; // 0x1148 + float tick_rate; // 0x11b8 + float stun_duration; // 0x11bc + int32_t damage; // 0x11c0 + float duration; // 0x11c4 + int32_t m_nEidolonSpawnNum; // 0x11c8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d8 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - int32_t m_iAttackCount; // 0x1138 - int32_t split_attack_count; // 0x113c - float life_extension; // 0x1140 - int32_t hp_bonus; // 0x1144 - bool m_bAllowSplit; // 0x1148 + int32_t m_iAttackCount; // 0x11c0 + int32_t split_attack_count; // 0x11c4 + float life_extension; // 0x11c8 + int32_t hp_bonus; // 0x11cc + bool m_bAllowSplit; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t m_nSpawnNum; // 0x114c + int32_t m_nSpawnNum; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: - float damage_percent; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t n_FXIndex; // 0x1140 + float damage_percent; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t n_FXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: - float damage_percent; // 0x1138 + float damage_percent; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t n_FXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t n_FXIndex; // 0x11bc }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff { public: - int32_t pull_speed; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - float tick_rate; // 0x1144 - float pull_rotate_speed; // 0x1148 - float animation_rate; // 0x114c - float scepter_pct_damage; // 0x1150 - GameTime_t m_flDamageTick; // 0x1154 + int32_t pull_speed; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + float tick_rate; // 0x11c4 + float pull_rotate_speed; // 0x11c8 + float animation_rate; // 0x11cc + float scepter_pct_damage; // 0x11d0 + GameTime_t m_flDamageTick; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: - int32_t scepter_radius; // 0x1138 - ParticleIndex_t n_FXIndex; // 0x113c + int32_t scepter_radius; // 0x11b8 + ParticleIndex_t n_FXIndex; // 0x11bc }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff { public: - int32_t scepter_drag_speed; // 0x1138 - float scepter_pull_rotate_speed; // 0x113c - float aura_origin_x; // 0x1140 - float aura_origin_y; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - Vector m_vCenter; // 0x114c - GameTime_t m_flLastThinkTime; // 0x1158 + int32_t scepter_drag_speed; // 0x11b8 + float scepter_pull_rotate_speed; // 0x11bc + float aura_origin_x; // 0x11c0 + float aura_origin_y; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + Vector m_vCenter; // 0x11cc + GameTime_t m_flLastThinkTime; // 0x11d8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x1138 - int32_t status_resistance; // 0x113c - int32_t cooldown_reduction; // 0x1140 - bool m_bStartedTimer; // 0x1144 + int32_t damage_absorb; // 0x11b8 + int32_t status_resistance; // 0x11bc + int32_t cooldown_reduction; // 0x11c0 + bool m_bStartedTimer; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t m_flDamageAbsorbed; // 0x1148 + int32_t m_nDamageAbsorbed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - float max_health_removed; // 0x113c + int32_t miss_rate; // 0x11b8 + float max_health_removed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: - int32_t range_reduction; // 0x1138 + int32_t range_reduction; // 0x11b8 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - int32_t collision_radius; // 0x1138 - int32_t radius; // 0x113c - int32_t distance; // 0x1140 - int32_t distance_scepter; // 0x1144 - int32_t speed; // 0x1148 - int32_t machines_per_sec; // 0x114c - Vector m_vDir; // 0x1150 + int32_t collision_radius; // 0x11b8 + int32_t radius; // 0x11bc + int32_t distance; // 0x11c0 + int32_t distance_scepter; // 0x11c4 + int32_t speed; // 0x11c8 + int32_t machines_per_sec; // 0x11cc + Vector m_vDir; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -15865,15 +16177,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -15881,18 +16193,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float mana_per_second; // 0x113c - float heal_interval; // 0x1140 - int32_t enemy_damage_pct; // 0x1144 + int32_t heal; // 0x11b8 + float mana_per_second; // 0x11bc + float heal_interval; // 0x11c0 + int32_t enemy_damage_pct; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -15900,41 +16212,41 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_threshold; // 0x1140 - int32_t ticks; // 0x1144 - int32_t iCurrentTick; // 0x1148 + int32_t m_iStartHealth; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_threshold; // 0x11c0 + int32_t ticks; // 0x11c4 + int32_t iCurrentTick; // 0x11c8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t attack_speed_reduction; // 0x113c - int32_t m_iBounceRadius; // 0x1140 - int32_t bonus_accuracy; // 0x1144 - bool m_bFirstAttack; // 0x1148 - bool m_bShard; // 0x1149 + int32_t bonus_damage; // 0x11b8 + int32_t attack_speed_reduction; // 0x11bc + int32_t m_iBounceRadius; // 0x11c0 + int32_t bonus_accuracy; // 0x11c4 + bool m_bFirstAttack; // 0x11c8 + bool m_bShard; // 0x11c9 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x1138 - CHandle< C_BaseEntity > m_hSavedAbility; // 0x1144 + Vector m_vSavedPos; // 0x11b8 + CHandle< C_BaseEntity > m_hSavedAbility; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -15942,72 +16254,72 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - bool m_bExploded; // 0x113c + int32_t radius; // 0x11b8 + bool m_bExploded; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t shrapnel_damage; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t shrapnel_damage; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - float slow_duration; // 0x113c - float knockback_distance; // 0x1140 - int32_t bonus_damage_creeps; // 0x1144 - int32_t bonus_attack_range; // 0x1148 - int32_t damage; // 0x114c + int32_t proc_chance; // 0x11b8 + float slow_duration; // 0x11bc + float knockback_distance; // 0x11c0 + int32_t bonus_damage_creeps; // 0x11c4 + int32_t bonus_attack_range; // 0x11c8 + int32_t damage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 + int32_t bonus_attack_range; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff { public: - int32_t scepter_crit_damage; // 0x1138 - int32_t scatter_damage_pct; // 0x113c - bool is_secondary; // 0x1140 + int32_t scepter_crit_damage; // 0x11b8 + int32_t scatter_damage_pct; // 0x11bc + bool is_secondary; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -16015,103 +16327,111 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t heal_bonus; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t slow_aoe; // 0x1140 + int32_t heal_bonus; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t slow_aoe; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x1138 + int32_t magic_resistance_reduction; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - bool m_bStackCountChanged; // 0x113c + int32_t aura_radius; // 0x11b8 + bool m_bStackCountChanged; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x1140 + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - float health_regen; // 0x113c + float mana_regen; // 0x11b8 + float health_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff { public: - float aura_damage; // 0x1138 - int32_t heal_reduction_pct; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + float aura_damage; // 0x11b8 + int32_t heal_reduction_pct; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned { public: - float stun_duration; // 0x1138 - bool m_bIllusion; // 0x113c - bool m_bArcWardenClone; // 0x113d + float stun_duration; // 0x11b8 + bool m_bIllusion; // 0x11bc + bool m_bArcWardenClone; // 0x11bd }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x1138 - float mana_per_kill; // 0x113c - float hp_regen; // 0x1140 - float mp_regen; // 0x1144 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff -{ -public: - int32_t puddle_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + float hp_per_kill; // 0x11b8 + float mana_per_kill; // 0x11bc + float hp_regen; // 0x11c0 + float mp_regen; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff +{ +public: + int32_t puddle_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -16119,7 +16439,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -16127,91 +16447,91 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x1138 - int32_t puddle_regen; // 0x113c - int32_t puddle_armor; // 0x1140 - int32_t puddle_status_resistance; // 0x1144 + int32_t river_speed; // 0x11b8 + int32_t puddle_regen; // 0x11bc + int32_t puddle_armor; // 0x11c0 + int32_t puddle_status_resistance; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x1138 + int32_t bonus_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x1138 + int32_t crush_extra_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float duration; // 0x113c - int32_t attack_count; // 0x1140 + int32_t bonus_damage; // 0x11b8 + float duration; // 0x11bc + int32_t attack_count; // 0x11c0 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - float scepter_delay; // 0x113c - int32_t undispellable; // 0x1140 - int32_t puddle_radius; // 0x1144 - float puddle_duration; // 0x1148 - Vector m_vecLastPuddle; // 0x114c - CHandle< C_BaseEntity > m_hPuddle; // 0x1158 + int32_t armor_reduction; // 0x11b8 + float scepter_delay; // 0x11bc + int32_t undispellable; // 0x11c0 + int32_t puddle_radius; // 0x11c4 + float puddle_duration; // 0x11c8 + Vector m_vecLastPuddle; // 0x11cc + CHandle< C_BaseEntity > m_hPuddle; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 + int32_t damage_per_stack; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 + int32_t damage_per_stack; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: @@ -16219,15 +16539,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: @@ -16235,35 +16555,35 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - int32_t mana_per_second; // 0x1138 - int32_t break_distance; // 0x113c - float tick_interval; // 0x1140 - int32_t movespeed; // 0x1144 - int32_t damage_pct; // 0x1148 + int32_t mana_per_second; // 0x11b8 + int32_t break_distance; // 0x11bc + float tick_interval; // 0x11c0 + int32_t movespeed; // 0x11c4 + int32_t damage_pct; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -16271,7 +16591,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -16279,7 +16599,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -16287,15 +16607,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x1138 + bool m_bIgnoreBonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -16303,12 +16623,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 4 @@ -16325,7 +16645,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -16333,7 +16653,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -16341,45 +16661,45 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hStashOwner; // 0x1138 - Vector m_vLocation; // 0x113c - bool m_bTransferAfterTake; // 0x1148 + CHandle< C_BaseEntity > m_hStashOwner; // 0x11b8 + Vector m_vLocation; // 0x11bc + bool m_bTransferAfterTake; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - int32_t stash_pickup_distance; // 0x114c + int32_t stash_pickup_distance; // 0x11cc }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x1138 + Vector m_vLocation; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -16387,7 +16707,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: @@ -16395,19 +16715,19 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x1138 + int32_t bonus_chance; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -16415,7 +16735,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: @@ -16423,25 +16743,35 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 +class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff +{ +public: + int32_t movement_speed; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + bool m_bFlipped; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x1138 - int32_t bonus_damage; // 0x113c - float stun_duration; // 0x1140 + int32_t bash_chance; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float stun_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -16449,121 +16779,129 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff +{ +public: + int32_t passive_reflection_pct; // 0x11b8 + int32_t passive_reflection_bonus_per_death; // 0x11bc +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff +{ +public: + float damage_absorb; // 0x11b8 + float regen_per_second; // 0x11bc + float regen_bonus_per_death; // 0x11c0 + int32_t m_nDamageAbsorbed; // 0x11c4 + GameTime_t m_timeLastTick; // 0x11c8 + ParticleIndex_t nFXIndex; // 0x11cc +}; + // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flScalar; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flScalar; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1148 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flScalar; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flScalar; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1148 -}; - -// Alignment: 7 -// Size: 0x1150 -class CDOTA_Modifier_Move_From_Activity : public CDOTA_Buff -{ -public: - float m_flCurrentTime; // 0x1138 - float m_flTotalTime; // 0x113c - float m_flSequenceYaw; // 0x1140 - HSequence m_nSequence; // 0x1144 - int32_t m_nActivity; // 0x1148 - bool m_bCanBeInterrupted; // 0x114c - bool m_bFadeGesture; // 0x114d + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1138 - bool m_bPhysicalImmune; // 0x113c - bool m_bMagicImmune; // 0x113d + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11b8 + bool m_bPhysicalImmune; // 0x11bc + bool m_bMagicImmune; // 0x11bd }; // Alignment: 18 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x1138 - float pounce_speed; // 0x113c - float pounce_acceleration; // 0x1140 - int32_t pounce_radius; // 0x1144 - int32_t pounce_damage; // 0x1148 - int32_t stun_radius; // 0x114c - float stun_duration; // 0x1150 - float leash_duration; // 0x1154 - float initial_delay; // 0x1158 - float landing_delay; // 0x115c - float vertical_adjust; // 0x1160 - float vertical_adjust_max_distance; // 0x1164 - float vertical_adjust_min_distance; // 0x1168 - int32_t claw_damage; // 0x116c - int32_t claw_damage_radius; // 0x1170 - float claw_damage_delay; // 0x1174 - float claw_damage_duration; // 0x1178 + int32_t pounce_distance; // 0x11b8 + float pounce_speed; // 0x11bc + float pounce_acceleration; // 0x11c0 + int32_t pounce_radius; // 0x11c4 + int32_t pounce_damage; // 0x11c8 + int32_t stun_radius; // 0x11cc + float stun_duration; // 0x11d0 + float leash_duration; // 0x11d4 + float initial_delay; // 0x11d8 + float landing_delay; // 0x11dc + float vertical_adjust; // 0x11e0 + float vertical_adjust_max_distance; // 0x11e4 + float vertical_adjust_min_distance; // 0x11e8 + int32_t claw_damage; // 0x11ec + int32_t claw_damage_radius; // 0x11f0 + float claw_damage_delay; // 0x11f4 + float claw_damage_duration; // 0x11f8 private: - [[maybe_unused]] uint8_t __pad117c[0x4]; // 0x117c + [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1180 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1200 }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - int32_t stun_radius; // 0x1140 - float dive_distance; // 0x1144 - float initial_rise_time; // 0x1148 - float right_swipe_time; // 0x114c - float left_swipe_time; // 0x1150 - float knockdown_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t m_nTickCounter; // 0x115c - CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x1160 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + int32_t stun_radius; // 0x11c0 + float dive_distance; // 0x11c4 + float initial_rise_time; // 0x11c8 + float right_swipe_time; // 0x11cc + float left_swipe_time; // 0x11d0 + float knockdown_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t m_nTickCounter; // 0x11dc + CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -16571,7 +16909,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -16579,7 +16917,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -16587,7 +16925,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -16595,7 +16933,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -16603,40 +16941,40 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flPlaybackRate; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flPlaybackRate; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1148 + CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 + int32_t area_of_effect; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x1138 - float m_flKnockDownDuration; // 0x113c - bool m_bDebuff; // 0x1140 - bool m_bStandingUp; // 0x1141 + float m_flStandUpDuration; // 0x11b8 + float m_flKnockDownDuration; // 0x11bc + bool m_bDebuff; // 0x11c0 + bool m_bStandingUp; // 0x11c1 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -16644,50 +16982,50 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 - float damage; // 0x113c - float movespeed_duration; // 0x1140 + int32_t chance_pct; // 0x11b8 + float damage; // 0x11bc + float movespeed_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x1138 + int32_t bonus_movespeed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x1138 - float pinned_damage_interval; // 0x113c + float pinned_damage_amount; // 0x11b8 + float pinned_damage_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: @@ -16695,7 +17033,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: @@ -16703,21 +17041,21 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x1138 - int32_t pull_speed; // 0x113c - bool m_bForward; // 0x1140 + float pull_switch_interval; // 0x11b8 + int32_t pull_speed; // 0x11bc + bool m_bForward; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - ParticleIndex_t m_nfxIndex; // 0x1144 + ParticleIndex_t m_nfxIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -16725,180 +17063,180 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x1138 - ParticleIndex_t n_FXIndex; // 0x113c + int32_t pull_radius; // 0x11b8 + ParticleIndex_t n_FXIndex; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - int32_t pull_radius; // 0x1138 - int32_t pull_speed; // 0x113c - int32_t radius; // 0x1140 - int32_t whirlpool_damage; // 0x1144 - float tick_rate; // 0x1148 - GameTime_t m_flDamageTick; // 0x114c + int32_t pull_radius; // 0x11b8 + int32_t pull_speed; // 0x11bc + int32_t radius; // 0x11c0 + int32_t whirlpool_damage; // 0x11c4 + float tick_rate; // 0x11c8 + GameTime_t m_flDamageTick; // 0x11cc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x1138 - int32_t beam_radius; // 0x113c - int32_t m_nTickCount; // 0x1140 - int32_t n_FXIndex; // 0x1144 + int32_t tick_count; // 0x11b8 + int32_t beam_radius; // 0x11bc + int32_t m_nTickCount; // 0x11c0 + int32_t n_FXIndex; // 0x11c4 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x1138 - float damage_interval; // 0x113c - int32_t damage; // 0x1140 - int32_t n_FXIndex; // 0x1144 + int32_t explosion_radius; // 0x11b8 + float damage_interval; // 0x11bc + int32_t damage; // 0x11c0 + int32_t n_FXIndex; // 0x11c4 }; // Alignment: 4 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x1138 - int32_t trail_damage_radius; // 0x113c - CUtlVector< int32 > m_vFXIndices; // 0x1140 - CUtlVector< Vector > m_vLocations; // 0x1158 + int32_t trail_damage_per_second; // 0x11b8 + int32_t trail_damage_radius; // 0x11bc + CUtlVector< int32 > m_vFXIndices; // 0x11c0 + CUtlVector< Vector > m_vLocations; // 0x11d8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x1138 - float m_flReflectionAmount; // 0x113c + GameTime_t m_flReflectionStartTime; // 0x11b8 + float m_flReflectionAmount; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x1138 + int32_t bonus_spell_damage_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - int32_t damage_radius; // 0x1138 - int32_t trigger_radius; // 0x113c - int32_t damage; // 0x1140 + int32_t damage_radius; // 0x11b8 + int32_t trigger_radius; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: - int32_t push_length; // 0x1138 + int32_t push_length; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x1138 - float pounce_speed; // 0x113c - float pounce_acceleration; // 0x1140 - float initial_delay; // 0x1144 - float landing_delay; // 0x1148 + int32_t pounce_distance; // 0x11b8 + float pounce_speed; // 0x11bc + float pounce_acceleration; // 0x11c0 + float initial_delay; // 0x11c4 + float landing_delay; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float damage_per_health_missing; // 0x113c - float delay; // 0x1140 + int32_t radius; // 0x11b8 + float damage_per_health_missing; // 0x11bc + float delay; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item { public: - int32_t mana_regen_pct; // 0x1138 - int32_t move_speed_bonus; // 0x113c - int32_t bonus_stats; // 0x1140 + int32_t mana_regen_pct; // 0x11b8 + int32_t move_speed_bonus; // 0x11bc + int32_t bonus_stats; // 0x11c0 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x1138 - int32_t damage_share_percentage; // 0x1150 + CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x11b8 + int32_t damage_share_percentage; // 0x11d0 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t damage; // 0x113c - int32_t shard_movement_speed_pct; // 0x1140 + float tick_interval; // 0x11b8 + int32_t damage; // 0x11bc + int32_t shard_movement_speed_pct; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x1138 + int32_t m_iSlow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x1138 + int32_t m_iAttackSpeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -16906,90 +17244,107 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x1138 - bool bHasScepter; // 0x113c + float stun_duration; // 0x11b8 + bool bHasScepter; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t aoe; // 0x1140 - int32_t m_iCount; // 0x1144 + int32_t aoe; // 0x11c0 + int32_t m_iCount; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_magic_resistance; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t radius; // 0x113c + float damage; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x1138 -}; - -// Alignment: 17 -// Size: 0x11e0 -class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff -{ -public: - Vector m_vLeftControl; // 0x1138 - Vector m_vRightControl; // 0x1144 - Vector m_vTargetLoc; // 0x1150 - Vector m_vSourceLoc; // 0x115c - float m_flDuration; // 0x1168 - GameTime_t m_flDieTime; // 0x116c - bool m_bReturning; // 0x1170 - bool m_bCatchingAxes; // 0x1171 -private: - [[maybe_unused]] uint8_t __pad1172[0x6]; // 0x1172 -public: - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1178 - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1190 - CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1198 - int32_t radius; // 0x11c8 - int32_t spread; // 0x11cc - int32_t axe_damage; // 0x11d0 - float duration; // 0x11d4 - float min_throw_duration; // 0x11d8 - float max_throw_duration; // 0x11dc + int32_t aura_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Warlock_Imp_Explode : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hBestTarget; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff +{ +public: + float explosion_radius; // 0x11b8 + float explosion_damage; // 0x11bc +}; + +// Alignment: 17 +// Size: 0x1260 +class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff +{ +public: + Vector m_vLeftControl; // 0x11b8 + Vector m_vRightControl; // 0x11c4 + Vector m_vTargetLoc; // 0x11d0 + Vector m_vSourceLoc; // 0x11dc + float m_flDuration; // 0x11e8 + GameTime_t m_flDieTime; // 0x11ec + bool m_bReturning; // 0x11f0 + bool m_bCatchingAxes; // 0x11f1 +private: + [[maybe_unused]] uint8_t __pad11f2[0x6]; // 0x11f2 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x11f8 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1218 + int32_t radius; // 0x1248 + int32_t spread; // 0x124c + int32_t axe_damage; // 0x1250 + float duration; // 0x1254 + float min_throw_duration; // 0x1258 + float max_throw_duration; // 0x125c +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x1138 + float damage_amp; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: @@ -16997,33 +17352,33 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x1144 - int32_t m_iTickCount; // 0x1148 + Vector m_vDestination; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11c4 + int32_t m_iTickCount; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x1138 + float boar_bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -17031,24 +17386,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t movement_speed; // 0x113c + int32_t attack_speed; // 0x11b8 + int32_t movement_speed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -17056,32 +17411,32 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x1138 + Vector m_vVelocity; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -17089,7 +17444,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -17097,33 +17452,43 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t toss_damage; // 0x113c + int32_t radius; // 0x11b8 + int32_t toss_damage; // 0x11bc }; -// Alignment: 10 -// Size: 0x1160 +// Alignment: 12 +// Size: 0x11e8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - int32_t iRadius; // 0x1138 - int32_t base_damage; // 0x113c - int32_t base_heal; // 0x1140 - int32_t heal_pct; // 0x1144 - int32_t creep_heal_pct; // 0x1148 - float min_pulse_interval; // 0x114c - int32_t pulse_divisor; // 0x1150 - int32_t movespeed_slow; // 0x1154 - float attack_damage; // 0x1158 - ParticleIndex_t m_nFXIndexOverhead; // 0x115c + int32_t aura_radius; // 0x11b8 + int32_t radius; // 0x11bc + int32_t max_stacks; // 0x11c0 + float base_damage; // 0x11c4 + int32_t heal_pct; // 0x11c8 + int32_t creep_heal_pct; // 0x11cc + int32_t iCurrentAttacksAtMinInterval; // 0x11d0 + float stack_decay_time; // 0x11d4 + float max_drum_hit_interval; // 0x11d8 + float min_drum_hit_interval; // 0x11dc + GameTime_t m_flLastStackChangeTime; // 0x11e0 + GameTime_t m_flLastDrumHitTime; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -17131,15 +17496,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x1138 + int32_t bonus_ms; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -17147,48 +17512,48 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x1138 + int32_t bonus_hp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x1138 - int32_t duration_heal; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t duration_damage; // 0x11b8 + int32_t duration_heal; // 0x11bc + int32_t movement_slow; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_SlowInterval; // 0x1148 - float m_flSlowStep; // 0x1160 - float m_flSlowStepStep; // 0x1164 - float attack_buff_duration; // 0x1168 + CountdownTimer m_SlowInterval; // 0x11c8 + float m_flSlowStep; // 0x11e0 + float m_flSlowStepStep; // 0x11e4 + float attack_buff_duration; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x1138 + bool m_bIsMeleeAttack; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -17196,7 +17561,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -17204,7 +17569,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: @@ -17212,39 +17577,39 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t tick_damage; // 0x113c - float tick_interval; // 0x1140 - float duration; // 0x1144 + int32_t movement_slow; // 0x11b8 + int32_t tick_damage; // 0x11bc + float tick_interval; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t damage; // 0x113c + float duration; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t m_nTicksRemaining; // 0x1140 - float m_flAttackDamage; // 0x1144 - int32_t hp_regen_reduction; // 0x1148 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t m_nTicksRemaining; // 0x11c0 + float m_flAttackDamage; // 0x11c4 + int32_t hp_regen_reduction; // 0x11c8 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -17252,99 +17617,132 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t hp_regen_reduction; // 0x1140 - int32_t m_nTicksRemaining; // 0x1144 - float m_flAttackDamage; // 0x1148 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t hp_regen_reduction; // 0x11c0 + int32_t m_nTicksRemaining; // 0x11c4 + float m_flAttackDamage; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x1138 - int32_t ward_damage; // 0x113c + int32_t ward_hp; // 0x11b8 + int32_t ward_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 -}; - -// Alignment: 8 -// Size: 0x1170 -class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff -{ -public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - int32_t speed; // 0x1158 - int32_t radius; // 0x115c - int32_t start_radius; // 0x1160 - float duration; // 0x1164 - float duration_scepter; // 0x1168 -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff -{ -public: - float damage_scepter; // 0x1138 - float damage; // 0x113c - float base_damage; // 0x1140 - float m_fDamage; // 0x1144 - float aspd_slow; // 0x1148 -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff -{ -public: - int32_t duration_damage; // 0x1138 - int32_t movement_slow; // 0x113c - int32_t explosion_damage; // 0x1140 - float explosion_stun_duration; // 0x1144 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff -{ -public: - int32_t dodge_chance_pct; // 0x1138 -}; - -// Alignment: 10 -// Size: 0x1198 -class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff -{ -public: - float duration; // 0x1138 - float duration_creep; // 0x113c - float delay; // 0x1140 - int32_t chance_pct; // 0x1144 - int32_t bonus_damage; // 0x1148 - GameTime_t last_attack_time; // 0x114c - CUtlVector< int16 > m_ProcAttackRecords; // 0x1150 - GameTime_t apply_activity_modifier_until; // 0x1168 - GameTime_t disable_activity_modifier_until; // 0x116c - CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x1170 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x11e8 +class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff +{ +public: + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + int32_t speed; // 0x11d8 + int32_t radius; // 0x11dc + int32_t start_radius; // 0x11e0 + float duration; // 0x11e4 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff +{ +public: + float damage; // 0x11b8 + float magic_resist; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff +{ +public: + float health_damage; // 0x11b8 + float debuff_radius; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff +{ +public: + float attack_slow; // 0x11b8 + float movement_slow_max; // 0x11bc + float debuff_radius; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff +{ +public: + float health_damage; // 0x11b8 + float attack_slow; // 0x11bc + float movement_slow_max; // 0x11c0 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff +{ +public: + int32_t duration_damage; // 0x11b8 + int32_t movement_slow; // 0x11bc + int32_t explosion_damage; // 0x11c0 + float explosion_stun_duration; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff +{ +public: + int32_t dodge_chance_pct; // 0x11b8 +}; + +// Alignment: 10 +// Size: 0x1218 +class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff +{ +public: + float duration; // 0x11b8 + float duration_creep; // 0x11bc + float delay; // 0x11c0 + int32_t chance_pct; // 0x11c4 + int32_t bonus_damage; // 0x11c8 + GameTime_t last_attack_time; // 0x11cc + CUtlVector< int16 > m_ProcAttackRecords; // 0x11d0 + GameTime_t apply_activity_modifier_until; // 0x11e8 + GameTime_t disable_activity_modifier_until; // 0x11ec + CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x11f0 +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -17352,7 +17750,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -17360,7 +17758,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: @@ -17368,21 +17766,21 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t m_nAffectedAbilities; // 0x113c - GameTime_t m_flLastDamageTime; // 0x1140 - int32_t slow; // 0x1144 - int32_t cooldown_percentage; // 0x1148 - int32_t damage_per_stack; // 0x114c - int32_t base_damage; // 0x1150 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t m_nAffectedAbilities; // 0x11bc + GameTime_t m_flLastDamageTime; // 0x11c0 + int32_t slow; // 0x11c4 + int32_t cooldown_percentage; // 0x11c8 + int32_t damage_per_stack; // 0x11cc + int32_t base_damage; // 0x11d0 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -17390,35 +17788,35 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x1138 + Vector m_vStartLocation; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_creep; // 0x113c - int32_t bonus_damage; // 0x1140 - float delay; // 0x1144 - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x1148 + float duration; // 0x11b8 + float duration_creep; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float delay; // 0x11c4 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -17426,15 +17824,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -17442,7 +17840,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -17450,23 +17848,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -17474,15 +17872,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -17490,7 +17888,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -17498,15 +17896,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -17514,47 +17912,47 @@ public: }; // Alignment: 14 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - float flSmoothness; // 0x1138 - float damage; // 0x113c - float damage_pct; // 0x1140 - int32_t drain_range; // 0x1144 - float haunt_duration; // 0x1148 - int32_t siphon_buffer; // 0x114c - int32_t movement_steal; // 0x1150 - CHandle< C_BaseEntity > m_hTarget; // 0x1154 - ParticleIndex_t m_iLinkIndex; // 0x1158 - int32_t m_nSelfBuffSerialNumber; // 0x115c - int32_t m_nTargetDebuffSerialNumber; // 0x1160 - bool m_bAppliedFear; // 0x1164 + float flSmoothness; // 0x11b8 + float damage; // 0x11bc + float damage_pct; // 0x11c0 + int32_t drain_range; // 0x11c4 + float haunt_duration; // 0x11c8 + int32_t siphon_buffer; // 0x11cc + int32_t movement_steal; // 0x11d0 + CHandle< C_BaseEntity > m_hTarget; // 0x11d4 + ParticleIndex_t m_iLinkIndex; // 0x11d8 + int32_t m_nSelfBuffSerialNumber; // 0x11dc + int32_t m_nTargetDebuffSerialNumber; // 0x11e0 + bool m_bAppliedFear; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - float shard_fear_duration; // 0x1168 - float shard_consecutive_siphon_duration; // 0x116c + float shard_fear_duration; // 0x11e8 + float shard_consecutive_siphon_duration; // 0x11ec }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x1138 + int32_t movement_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -17562,7 +17960,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -17570,65 +17968,65 @@ public: }; // Alignment: 18 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t spirit_speed; // 0x113c - int32_t max_distance; // 0x1140 - int32_t give_up_distance; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_damage; // 0x114c - int32_t heal_percent; // 0x1150 - int32_t spirit_duration; // 0x1154 - float ghost_spawn_rate; // 0x1158 - int32_t movement_bonus; // 0x115c - int32_t m_iSpirits; // 0x1160 - GameTime_t m_fStartTime; // 0x1164 - GameTime_t m_fLastThinkTime; // 0x1168 - GameTime_t m_fSpawnTime; // 0x116c - bool m_bFirstSpawn; // 0x1170 - bool m_bCommentedOnExpired; // 0x1171 - bool m_bForceExpired; // 0x1172 + int32_t radius; // 0x11b8 + int32_t spirit_speed; // 0x11bc + int32_t max_distance; // 0x11c0 + int32_t give_up_distance; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_damage; // 0x11cc + int32_t heal_percent; // 0x11d0 + int32_t spirit_duration; // 0x11d4 + float ghost_spawn_rate; // 0x11d8 + int32_t movement_bonus; // 0x11dc + int32_t m_iSpirits; // 0x11e0 + GameTime_t m_fStartTime; // 0x11e4 + GameTime_t m_fLastThinkTime; // 0x11e8 + GameTime_t m_fSpawnTime; // 0x11ec + bool m_bFirstSpawn; // 0x11f0 + bool m_bCommentedOnExpired; // 0x11f1 + bool m_bForceExpired; // 0x11f2 private: - [[maybe_unused]] uint8_t __pad1173[0x5]; // 0x1173 + [[maybe_unused]] uint8_t __pad11f3[0x5]; // 0x11f3 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1178 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t spirit_speed; // 0x113c - int32_t max_distance; // 0x1140 - int32_t give_up_distance; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_damage; // 0x114c - int32_t heal_percent; // 0x1150 - int32_t spirit_duration; // 0x1154 - GameTime_t m_fStartTime; // 0x1158 - GameTime_t m_fLastThinkTime; // 0x115c - bool m_bExpired; // 0x1160 + int32_t radius; // 0x11b8 + int32_t spirit_speed; // 0x11bc + int32_t max_distance; // 0x11c0 + int32_t give_up_distance; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_damage; // 0x11cc + int32_t heal_percent; // 0x11d0 + int32_t spirit_duration; // 0x11d4 + GameTime_t m_fStartTime; // 0x11d8 + GameTime_t m_fLastThinkTime; // 0x11dc + bool m_bExpired; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - sSpiritInfo* m_SpiritInfo; // 0x1168 + sSpiritInfo* m_SpiritInfo; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -17636,7 +18034,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -17644,7 +18042,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -17652,72 +18050,73 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x1138 - int32_t bonus_spell_damage_pct_allies; // 0x113c - int32_t bonus_movement_speed; // 0x1140 - int32_t bonus_movement_speed_allies; // 0x1144 + int32_t bonus_spell_damage_pct; // 0x11b8 + int32_t bonus_heal_amp_pct_allies; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 + int32_t bonus_movement_speed_allies; // 0x11c4 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float mana_multiplier; // 0x113c - float mana_drained_per_attack; // 0x1140 + int32_t radius; // 0x11b8 + float mana_multiplier; // 0x11bc + float mana_drained_per_attack; // 0x11c0 + int32_t attacks_to_destroy; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - float spell_damage_reduction; // 0x113c + float mana_regen; // 0x11b8 + float spell_damage_reduction; // 0x11bc }; // Alignment: 14 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x1138 - float tick_rate; // 0x113c - bool m_bDoRangeCheck; // 0x1140 + int32_t health_drain; // 0x11b8 + float tick_rate; // 0x11bc + bool m_bDoRangeCheck; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - ParticleIndex_t m_nFXIndex; // 0x1144 - GameTime_t m_flElapsedTime; // 0x1148 - bool m_bPrimary; // 0x114c - bool m_bShard; // 0x114d - bool m_bFromWard; // 0x114e + ParticleIndex_t m_nFXIndex; // 0x11c4 + GameTime_t m_flElapsedTime; // 0x11c8 + bool m_bPrimary; // 0x11cc + bool m_bShard; // 0x11cd + bool m_bFromWard; // 0x11ce private: - [[maybe_unused]] uint8_t __pad114f[0x1]; // 0x114f + [[maybe_unused]] uint8_t __pad11cf[0x1]; // 0x11cf public: - CHandle< C_BaseEntity > m_hWard; // 0x1150 - float spell_amp_drain_duration; // 0x1154 - int32_t max_spell_amp_drain_pct; // 0x1158 - int32_t spell_amp_drain_rate; // 0x115c - int32_t spell_amp_drain_rate_ward; // 0x1160 - int32_t spell_amp_drain_max; // 0x1164 + CHandle< C_BaseEntity > m_hWard; // 0x11d0 + float spell_amp_drain_duration; // 0x11d4 + int32_t max_spell_amp_drain_pct; // 0x11d8 + int32_t spell_amp_drain_rate; // 0x11dc + int32_t spell_amp_drain_rate_ward; // 0x11e0 + int32_t spell_amp_drain_max; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x1138 + bool m_bIsFriendly; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: @@ -17725,40 +18124,40 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - int32_t attack_factor; // 0x113c + int32_t base_damage; // 0x11b8 + int32_t attack_factor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 9 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t projectile_speed; // 0x1170 - int32_t radius; // 0x1174 - float duration; // 0x1178 - float pct_health_damage_initial; // 0x117c - float max_damage_initial; // 0x1180 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t projectile_speed; // 0x11f0 + int32_t radius; // 0x11f4 + float duration; // 0x11f8 + float pct_health_damage_initial; // 0x11fc + float max_damage_initial; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: @@ -17766,66 +18165,66 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t lifesteal_pct; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t lifesteal_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float fade_duration; // 0x114c - float scepter_fade_duration; // 0x1150 - bool m_bDestroyNext; // 0x1154 + int32_t radius; // 0x11c8 + float fade_duration; // 0x11cc + float scepter_fade_duration; // 0x11d0 + bool m_bDestroyNext; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x1138 - int32_t crit_chance; // 0x113c - bool crit_active; // 0x1140 + int32_t crit_bonus; // 0x11b8 + int32_t crit_chance; // 0x11bc + bool crit_active; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff { public: - int32_t m_nEpitaph; // 0x1138 - PlayerID_t m_nVictimPlayerID; // 0x113c - int32_t m_nVictimHeroID; // 0x1140 - int32_t m_nCritDmg; // 0x1144 - int32_t m_nContractComplete; // 0x1148 + int32_t m_nEpitaph; // 0x11b8 + PlayerID_t m_nVictimPlayerID; // 0x11bc + int32_t m_nVictimHeroID; // 0x11c0 + int32_t m_nCritDmg; // 0x11c4 + int32_t m_nContractComplete; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x1138 - bool m_bContractGravestoneComplete; // 0x113c + int32_t m_nFXIndex; // 0x11b8 + bool m_bContractGravestoneComplete; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -17833,74 +18232,74 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t bonus_damage; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t bonus_damage; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 + int32_t damage_threshold; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x1138 + bool launched_attack; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - bool launched_attack; // 0x113c + int32_t bonus_damage; // 0x11b8 + bool launched_attack; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CHandle< C_BaseEntity > m_hTarget; // 0x1140 - int32_t m_nAttackRecord; // 0x1144 + CHandle< C_BaseEntity > m_hTarget; // 0x11c0 + int32_t m_nAttackRecord; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - float attack_spill_range; // 0x113c - int32_t attack_spill_width; // 0x1140 - int32_t attack_spill_pct; // 0x1144 - int32_t attack_spill_penalty; // 0x1148 + int32_t bonus_attack_range; // 0x11b8 + float attack_spill_range; // 0x11bc + int32_t attack_spill_width; // 0x11c0 + int32_t attack_spill_pct; // 0x11c4 + int32_t attack_spill_penalty; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -17908,84 +18307,84 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t shard_bonus_vision; // 0x1148 + int32_t shard_bonus_vision; // 0x11c8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_min; // 0x1138 - int32_t movement_speed_max; // 0x113c - int32_t trap_bonus_damage; // 0x1140 - float trap_max_charge_duration; // 0x1144 - float shard_min_silence_duration; // 0x1148 - float shard_max_silence_duration; // 0x114c - float stage; // 0x1150 + int32_t movement_speed_min; // 0x11b8 + int32_t movement_speed_max; // 0x11bc + int32_t trap_bonus_damage; // 0x11c0 + float trap_max_charge_duration; // 0x11c4 + float shard_min_silence_duration; // 0x11c8 + float shard_max_silence_duration; // 0x11cc + float stage; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t damage_absorb; // 0x113c - float m_flDamageAbsorbed; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t damage_absorb; // 0x11bc + float m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t shard_armor_reduction; // 0x113c - int32_t shard_building_dmg_pct; // 0x1140 - int32_t movement_speed; // 0x1144 - int32_t magic_resistance; // 0x1148 + float damage; // 0x11b8 + int32_t shard_armor_reduction; // 0x11bc + int32_t shard_building_dmg_pct; // 0x11c0 + int32_t movement_speed; // 0x11c4 + int32_t magic_resistance; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x1138 - int32_t max_damage; // 0x113c - float max_duration; // 0x1140 - float m_flDamageInterval; // 0x1144 - float m_flTimeIncrement; // 0x1148 + int32_t min_damage; // 0x11b8 + int32_t max_damage; // 0x11bc + float max_duration; // 0x11c0 + float m_flDamageInterval; // 0x11c4 + float m_flTimeIncrement; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -17993,60 +18392,60 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 + int32_t bonus_magic_resistance; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t damage; // 0x113c - int32_t effect_multiplier_distance; // 0x1140 - int32_t effect_multiplier; // 0x1144 - bool m_bEffectMultiplied; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t damage; // 0x11bc + int32_t effect_multiplier_distance; // 0x11c0 + int32_t effect_multiplier; // 0x11c4 + bool m_bEffectMultiplied; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t damage; // 0x1140 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - Vector m_vStart; // 0x1144 - float m_flZDelta; // 0x1150 - int32_t radius; // 0x1154 - int32_t corrosive_radius; // 0x1158 - float effect_duration; // 0x115c - int32_t dive_speed; // 0x1160 - float start_height; // 0x1164 + Vector m_vTargetPos; // 0x11b8 + Vector m_vStart; // 0x11c4 + float m_flZDelta; // 0x11d0 + int32_t radius; // 0x11d4 + int32_t corrosive_radius; // 0x11d8 + float effect_duration; // 0x11dc + int32_t dive_speed; // 0x11e0 + float start_height; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -18054,184 +18453,185 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x1138 + int32_t damage_buff_per_beam; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t bounces; // 0x113c - int32_t damage_reduction_percent; // 0x1140 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x1144 + int32_t range; // 0x11b8 + int32_t bounces; // 0x11bc + int32_t damage_reduction_percent; // 0x11c0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11c4 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - int32_t bonus_speed_day; // 0x1148 - int32_t bonus_speed_night; // 0x114c - int32_t break_distance_day; // 0x1150 - int32_t break_distance_night; // 0x1154 - int32_t visibility_radius; // 0x1158 - int32_t bonus_movement_speed; // 0x115c + int32_t bonus_speed_day; // 0x11c8 + int32_t bonus_speed_night; // 0x11cc + int32_t break_distance_day; // 0x11d0 + int32_t break_distance_night; // 0x11d4 + int32_t visibility_radius; // 0x11d8 + int32_t bonus_movement_speed; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t bonus_night_vision; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_night_vision; // 0x11bc }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_self; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - float night_multiplier; // 0x113c + int32_t attack_speed; // 0x11b8 + float night_multiplier; // 0x11bc }; // Alignment: 13 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float beam_interval; // 0x114c - float stun_duration; // 0x1150 - Vector vPosition; // 0x1154 - bool bAreaTarget; // 0x1160 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float beam_interval; // 0x11cc + float stun_duration; // 0x11d0 + Vector vPosition; // 0x11d4 + bool bAreaTarget; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_iTickCount; // 0x1164 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1168 + int32_t m_iTickCount; // 0x11e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1170 - float m_flBeamStun; // 0x1188 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x11f0 + float m_flBeamStun; // 0x1208 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x1138 + int32_t reduction; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_health_regen; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_damage; // 0x113c - int32_t bonus_attack_range; // 0x1140 - int32_t attack_projectile_speed_bonus; // 0x1144 - int32_t magic_resistance; // 0x1148 - int32_t model_scale; // 0x114c - int32_t iLevel; // 0x1150 - int32_t m_iOriginalAttackCapabilities; // 0x1154 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1158 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_damage; // 0x11bc + int32_t bonus_attack_range; // 0x11c0 + int32_t attack_projectile_speed_bonus; // 0x11c4 + int32_t magic_resistance; // 0x11c8 + int32_t model_scale; // 0x11cc + int32_t iLevel; // 0x11d0 + int32_t m_iOriginalAttackCapabilities; // 0x11d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x1138 + float corrosive_breath_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x1138 + int32_t corrosive_breath_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x1138 - int32_t splash_damage_percent; // 0x113c - float corrosive_breath_duration; // 0x1140 + int32_t splash_radius; // 0x11b8 + int32_t splash_damage_percent; // 0x11bc + float corrosive_breath_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x1138 - float frost_aoe; // 0x113c + float frost_duration; // 0x11b8 + float frost_aoe; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x1138 - int32_t frost_bonus_attack_speed; // 0x113c + int32_t frost_bonus_movement_speed; // 0x11b8 + int32_t frost_bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -18239,200 +18639,213 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float linger_duration; // 0x113c + int32_t radius; // 0x11b8 + float linger_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t damage; // 0x113c + float burn_interval; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x1138 - float item_cooldown_reduction; // 0x113c - float duration; // 0x1140 - int32_t radius; // 0x1144 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float armor_reduction; // 0x113c -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff -{ -public: - float armor_reduction; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff -{ -public: - int32_t radius; // 0x1138 - float interval; // 0x113c - float hex_chance; // 0x1140 - float hex_duration; // 0x1144 - int32_t damage; // 0x1148 -}; - -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff -{ -public: - int32_t slow; // 0x1138 - float bonus_slow; // 0x113c - int32_t bonus_damage; // 0x1140 - float flAccummulatedBonusSlow; // 0x1144 - int32_t iAccummulatedBonusDamage; // 0x1148 - int32_t attack_range_bonus; // 0x114c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff -{ -public: - int32_t attack_range_bonus; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff -{ -public: - int32_t heal_amplify; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff -{ -public: - float armor_per_second; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff -{ -public: - int32_t m_iCount; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c -}; - -// Alignment: 5 -// Size: 0x1158 -class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff -{ -public: - int32_t num_explosions; // 0x1138 - int32_t radius; // 0x113c - float m_fExplosions; // 0x1140 - float tower_bonus; // 0x1144 - bool m_bTalentActive; // 0x1148 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff -{ -public: - float interval_scepter; // 0x1138 -}; - -// Alignment: 7 -// Size: 0x1158 -class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff -{ -public: - int32_t damage; // 0x1138 - int32_t radius; // 0x113c - int32_t jump_count; // 0x1140 - float slow_duration; // 0x1144 - float jump_delay; // 0x1148 - CHandle< C_BaseEntity > hInitialTarget; // 0x114c - float m_flDamage; // 0x1150 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff -{ -public: - int32_t slow_movement_speed; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff -{ -public: - int32_t magic_amp; // 0x1138 - int32_t slow; // 0x113c -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff -{ -public: - int32_t magic_amp; // 0x1138 - int32_t slow; // 0x113c -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff -{ -public: - int32_t radius; // 0x1138 - float interval; // 0x113c -}; - -// Alignment: 1 -// Size: 0x1148 -class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff -{ -public: - bool m_bFirst; // 0x1138 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nOverclockFX; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t bonus_attack_speed; // 0x1140 + float cooldown_reduction; // 0x11b8 + float item_cooldown_reduction; // 0x11bc + float duration; // 0x11c0 + int32_t radius; // 0x11c4 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11b8 +class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + float armor_reduction; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff +{ +public: + float armor_reduction; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + float interval; // 0x11bc + float hex_chance; // 0x11c0 + float hex_duration; // 0x11c4 + int32_t damage; // 0x11c8 +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff +{ +public: + int32_t slow; // 0x11b8 + float bonus_slow; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float flAccummulatedBonusSlow; // 0x11c4 + int32_t iAccummulatedBonusDamage; // 0x11c8 + int32_t attack_range_bonus; // 0x11cc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff +{ +public: + int32_t attack_range_bonus; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff +{ +public: + int32_t heal_amplify; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff +{ +public: + float armor_per_second; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff +{ +public: + int32_t m_iCount; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 5 +// Size: 0x11d8 +class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff +{ +public: + int32_t num_explosions; // 0x11b8 + int32_t radius; // 0x11bc + float m_fExplosions; // 0x11c0 + float tower_bonus; // 0x11c4 + bool m_bTalentActive; // 0x11c8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff +{ +public: + float interval_scepter; // 0x11b8 +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff +{ +public: + int32_t damage; // 0x11b8 + int32_t radius; // 0x11bc + int32_t jump_count; // 0x11c0 + float slow_duration; // 0x11c4 + float jump_delay; // 0x11c8 + CHandle< C_BaseEntity > hInitialTarget; // 0x11cc + float m_flDamage; // 0x11d0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff +{ +public: + int32_t slow_movement_speed; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff +{ +public: + int32_t magic_amp; // 0x11b8 + int32_t slow; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff +{ +public: + int32_t magic_amp; // 0x11b8 + int32_t slow; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + float interval; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11d0 +class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff +{ +public: + bool m_bFirst; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11b9[0xb]; // 0x11b9 +public: + int32_t damage_resistance; // 0x11c4 + int32_t bonus_movespeed; // 0x11c8 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nOverclockFX; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -18440,16 +18853,25 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c0 +class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff +{ +public: + int32_t magic_barrier; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -18457,97 +18879,104 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x1138 + int32_t leash; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: // No members available }; -// Alignment: 10 -// Size: 0x1168 +// Alignment: 9 +// Size: 0x11e8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x1138 + bool m_bEnabled; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t trigger_distance; // 0x113c - int32_t push_length; // 0x1140 - float push_duration; // 0x1144 - int32_t cogs_radius; // 0x1148 - int32_t attacks_to_destroy; // 0x114c - int32_t m_iAttackCount; // 0x1150 - int32_t m_iCogIndex; // 0x1154 - ParticleIndex_t m_nFXIndex; // 0x1158 - Vector vCenter; // 0x115c + int32_t trigger_distance; // 0x11bc + int32_t push_length; // 0x11c0 + float push_duration; // 0x11c4 + int32_t cogs_radius; // 0x11c8 + int32_t attacks_to_destroy; // 0x11cc + int32_t m_iCogIndex; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + Vector vCenter; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - int32_t push_length; // 0x113c - float push_duration; // 0x1140 + GameTime_t m_flStartTime; // 0x11b8 + int32_t push_length; // 0x11bc + float push_duration; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff +{ +public: + float slow_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float duration; // 0x113c + float radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff { public: @@ -18555,50 +18984,50 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff { public: - float rocket_flare_interval; // 0x1138 - int32_t rocket_flare_offset_pct; // 0x113c - int32_t rocket_flare_rockets; // 0x1140 - int32_t m_nRocketsFired; // 0x1144 - int32_t radius; // 0x1148 - Vector m_vOriginalTarget; // 0x114c + float rocket_flare_interval; // 0x11b8 + int32_t rocket_flare_offset_pct; // 0x11bc + int32_t rocket_flare_rockets; // 0x11c0 + int32_t m_nRocketsFired; // 0x11c4 + int32_t radius; // 0x11c8 + Vector m_vOriginalTarget; // 0x11cc }; // Alignment: 10 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x1138 - float turn_rate; // 0x113c - GameTime_t m_flStartTime; // 0x1140 - float tick_interval; // 0x1144 - float m_flFacingTarget; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - CUtlVector< float32 > m_flTurnHistory; // 0x1150 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1168 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1180 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1198 + int32_t bonus_speed; // 0x11b8 + float turn_rate; // 0x11bc + GameTime_t m_flStartTime; // 0x11c0 + float tick_interval; // 0x11c4 + float m_flFacingTarget; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + CUtlVector< float32 > m_flTurnHistory; // 0x11d0 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x11e8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1200 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1218 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t speed; // 0x1140 - float stun_radius; // 0x1144 - float damage; // 0x1148 - float duration; // 0x114c + int32_t speed; // 0x11c0 + float stun_radius; // 0x11c4 + float damage; // 0x11c8 + float duration; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -18606,15 +19035,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -18622,23 +19051,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Furion_Sprout_Shard : public CDOTA_Buff -{ -public: - CHandle< C_BaseEntity > m_hTree; // 0x1138 -}; - // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -18646,27 +19067,45 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff +{ +public: + float damage_per_stack; // 0x11b8 + int32_t iMaxStacks; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff +{ +public: + float armor_per_stack; // 0x11b8 +}; + // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t max_targets; // 0x113c - int32_t damage_percent_add; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iFixedDamage; // 0x1148 + int32_t damage; // 0x11b8 + int32_t max_targets; // 0x11bc + int32_t damage_percent_add; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t m_iFixedDamage; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -18674,7 +19113,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -18682,7 +19121,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -18690,121 +19129,121 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_per_tree; // 0x113c - int32_t slow_per_tree; // 0x1140 - int32_t m_nSlow; // 0x1144 + int32_t radius; // 0x11b8 + int32_t damage_per_tree; // 0x11bc + int32_t slow_per_tree; // 0x11c0 + int32_t m_nSlow; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x1138 - int32_t treant_damage_bonus; // 0x113c + int32_t treant_hp_bonus; // 0x11b8 + int32_t treant_damage_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x1138 - int32_t treant_large_damage_bonus; // 0x113c + int32_t treant_large_hp_bonus; // 0x11b8 + int32_t treant_large_damage_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x1138 - float hp_damage_percent; // 0x113c + float hp_leech_percent; // 0x11b8 + float hp_damage_percent; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x1138 - int32_t movement_slow; // 0x113c + int32_t miss_pct; // 0x11b8 + int32_t movement_slow; // 0x11bc }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - int32_t slow_steps[8]; // 0x1138 - int32_t heal_percent; // 0x1158 - int32_t m_nDamageTracker; // 0x115c - int32_t damage_threshold; // 0x1160 - int32_t spread_radius; // 0x1164 - int32_t max_health_as_damage_pct; // 0x1168 + int32_t slow_steps[8]; // 0x11b8 + int32_t heal_percent; // 0x11d8 + int32_t m_nDamageTracker; // 0x11dc + int32_t damage_threshold; // 0x11e0 + int32_t spread_radius; // 0x11e4 + int32_t max_health_as_damage_pct; // 0x11e8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_nFXIndex; // 0x113c - float self_regen; // 0x1140 - int32_t m_nStartingHealth; // 0x1144 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc + float self_regen; // 0x11c0 + int32_t m_nStartingHealth; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x1138 + float attack_rate_enemy; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x1138 + bool m_bChangedTeams; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x1138 - GameTime_t m_fOrderLockDone; // 0x113c - int32_t m_nFXIndex; // 0x1140 + float order_lock_duration; // 0x11b8 + GameTime_t m_fOrderLockDone; // 0x11bc + int32_t m_nFXIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -18812,54 +19251,54 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t movement_speed_bonus; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 4 -// Size: 0x12b0 +// Size: 0x1330 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x1138 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x12a0 - float m_flDistanceTraveled; // 0x12a4 - bool m_bIsValidTarget; // 0x12a8 + Vector m_PositionIndex[30]; // 0x11b8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1320 + float m_flDistanceTraveled; // 0x1324 + bool m_bIsValidTarget; // 0x1328 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x1138 - int32_t speed; // 0x1144 - CHandle< C_BaseEntity > m_hTarget; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + Vector m_vecIllusionSpawnPosition; // 0x11b8 + int32_t speed; // 0x11c4 + CHandle< C_BaseEntity > m_hTarget; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 + float pull_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: @@ -18867,321 +19306,332 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x1138 - int32_t trail_radius; // 0x113c - float trail_duration; // 0x1140 - Vector m_vLastTrailThinkerLocation; // 0x1144 - bool m_bTrailStarted; // 0x1150 + int32_t speed_boost; // 0x11b8 + int32_t trail_radius; // 0x11bc + float trail_duration; // 0x11c0 + Vector m_vLastTrailThinkerLocation; // 0x11c4 + bool m_bTrailStarted; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t trail_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x1138 - int32_t trail_damage; // 0x113c - float trail_damage_interval; // 0x1140 + int32_t trail_move_slow; // 0x11b8 + int32_t trail_damage; // 0x11bc + float trail_damage_interval; // 0x11c0 }; // Alignment: 7 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x1138 - Vector m_vWallRight; // 0x1144 + Vector m_vWallDirection; // 0x11b8 + Vector m_vWallRight; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1150[0x18]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x18]; // 0x11d0 public: - CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1168 - int32_t width; // 0x1188 - float slow_duration; // 0x118c - int32_t replica_damage_incoming; // 0x1190 - int32_t replica_damage_outgoing; // 0x1194 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x11e8 + int32_t width; // 0x1208 + float slow_duration; // 0x120c + int32_t replica_damage_incoming; // 0x1210 + int32_t replica_damage_outgoing; // 0x1214 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x1138 + int32_t replica_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x1138 + int32_t replica_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x1138 + int32_t damage_bonus; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - bool m_bBonusAttack; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + bool m_bBonusAttack; // 0x11d8 }; -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_Passive : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_Debuff : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 4 -// Size: 0x1148 +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: - int32_t health_gain_pct; // 0x1138 - int32_t damage_gain_pct; // 0x113c - float m_flHealthGained; // 0x1140 - float m_flDamageGained; // 0x1144 + int32_t health_gain; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_Scepter : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + int32_t count; // 0x11bc + int32_t range; // 0x11c0 + Vector m_vFacePosition; // 0x11c4 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - int32_t damage_percent; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + float attack_rate; // 0x11b8 + int32_t damage_percent; // 0x11bc + int32_t skeleton_health; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + int32_t skeleton_building_damage_reduction; // 0x11c8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x1148 + int32_t move_speed_bonus_pct; // 0x11c8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t archer_attack_speed_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_PiercingArrow_DamageReduction : public CDOTA_Buff +// Size: 0x11b8 +class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: // No members available }; // Alignment: 13 -// Size: 0x1178 -class CDOTA_Modifier_Clinkz_PiercingArrow : public CDOTA_Buff +// Size: 0x11f8 +class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x1138 - Vector m_vOriginalTarget; // 0x113c - int32_t arrow_width; // 0x1148 - float arrow_speed; // 0x114c - float arrow_range_multiplier; // 0x1150 - int32_t wave_count; // 0x1154 - int32_t arrow_count_per_wave; // 0x1158 - int32_t arrow_angle; // 0x115c - int32_t m_iLoopCount; // 0x1160 - float m_flInterval; // 0x1164 - float m_flCycleDelay; // 0x1168 - float m_flTimeWaste; // 0x116c - GameTime_t m_flExpectedTime; // 0x1170 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff -{ -public: - int32_t movement_slow; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff -{ -public: - int32_t movement_speed; // 0x1138 - int32_t hp_regen; // 0x113c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff -{ -public: - int32_t spell_resistance_reduction; // 0x1138 + int32_t m_iArrowCount; // 0x11b8 + Vector m_vOriginalTarget; // 0x11bc + int32_t arrow_width; // 0x11c8 + float arrow_speed; // 0x11cc + float arrow_range_multiplier; // 0x11d0 + int32_t wave_count; // 0x11d4 + int32_t arrow_count_per_wave; // 0x11d8 + int32_t arrow_angle; // 0x11dc + int32_t m_iLoopCount; // 0x11e0 + float m_flInterval; // 0x11e4 + float m_flCycleDelay; // 0x11e8 + float m_flTimeWaste; // 0x11ec + GameTime_t m_flExpectedTime; // 0x11f0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 +class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + float slow_duration; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff +{ +public: + int32_t slow_movement_speed; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11e0 +class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff +{ +public: + int32_t damage_bonus; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + bool m_bBonusAttack; // 0x11d8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff +{ +public: + GameTime_t m_flNextAttackTime; // 0x11b8 + float attack_cooldown; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff +{ +public: + int32_t movement_slow; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff +{ +public: + int32_t movement_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff +{ +public: + int32_t spell_resistance_reduction; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 - float hp_regen; // 0x113c - int32_t bonus_str; // 0x1140 + int32_t status_resistance; // 0x11b8 + float hp_regen; // 0x11bc + int32_t bonus_str; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x1138 - int32_t base_hpregen; // 0x113c - int32_t strength_bonus; // 0x1140 - int32_t nDebuffAmount; // 0x1144 + int32_t base_strength; // 0x11b8 + int32_t base_hpregen; // 0x11bc + int32_t strength_bonus; // 0x11c0 + int32_t nDebuffAmount; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x1138 + int32_t scepter_status_resist; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c - GameTime_t m_flLastSeen; // 0x1150 + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc + GameTime_t m_flLastSeen; // 0x11d0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t bonus_move_speed; // 0x1148 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t bonus_move_speed; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: @@ -19189,7 +19639,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -19197,16 +19647,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + int32_t slow_attack_speed; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -19214,157 +19664,153 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t enchant_health; // 0x113c - int32_t enchant_armor; // 0x1140 - int32_t enchant_damage; // 0x1144 + int32_t bonus_movement_speed; // 0x11b8 + int32_t enchant_health; // 0x11bc + int32_t enchant_armor; // 0x11c0 + int32_t enchant_damage; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 + int32_t slow_movement_speed; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x1138 - float heal; // 0x113c - int32_t radius; // 0x1140 - int32_t shard_permanent_wisp_count; // 0x1144 - bool m_bActive; // 0x1148 + float heal_interval; // 0x11b8 + float heal; // 0x11bc + int32_t radius; // 0x11c0 + int32_t shard_permanent_wisp_count; // 0x11c4 + bool m_bActive; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nWispFXIndex; // 0x114c + ParticleIndex_t m_nWispFXIndex; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - float heal_interval; // 0x1138 - float heal; // 0x113c - int32_t radius; // 0x1140 - int32_t wisp_count; // 0x1144 - int32_t movespeed; // 0x1148 - ParticleIndex_t m_nWispFXIndex; // 0x114c + float heal_interval; // 0x11b8 + float heal; // 0x11bc + int32_t radius; // 0x11c0 + int32_t wisp_count; // 0x11c4 + int32_t movespeed; // 0x11c8 + ParticleIndex_t m_nWispFXIndex; // 0x11cc }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x1138 - int32_t distance_cap; // 0x113c - float creep_multiplier; // 0x1140 + float distance_damage_pct; // 0x11b8 + int32_t distance_cap; // 0x11bc + float creep_multiplier; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x1138 - float knockback_duration; // 0x113c - float effective_distance; // 0x1140 + float knockback_distance; // 0x11b8 + float knockback_duration; // 0x11bc + float effective_distance; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float attrib_bonus; // 0x113c - float hurt_attrib_bonus; // 0x1140 - float hurt_percent; // 0x1144 -}; - -// Alignment: 3 -// Size: 0x1160 -class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff -{ -public: - int32_t health_cost; // 0x1138 -private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - float duration; // 0x1158 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff -{ -public: - float duration; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff -{ -public: - int32_t burn_damage; // 0x1138 -}; - -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff -{ -public: - int32_t maximum_health_regen; // 0x1138 - int32_t maximum_attack_speed; // 0x113c - int32_t maximum_magic_resist; // 0x1140 - int32_t hp_threshold_max; // 0x1144 - ParticleIndex_t m_nFxHuskIndex; // 0x1148 - ParticleIndex_t m_nFxIndexA; // 0x114c + int32_t heal; // 0x11b8 + float attrib_bonus; // 0x11bc + float hurt_attrib_bonus; // 0x11c0 + float hurt_percent; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11d8 +class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + float duration; // 0x11d0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff +{ +public: + float duration; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff +{ +public: + int32_t burn_damage; // 0x11b8 +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff +{ +public: + int32_t maximum_health_regen; // 0x11b8 + int32_t maximum_attack_speed; // 0x11bc + int32_t maximum_magic_resist; // 0x11c0 + int32_t hp_threshold_max; // 0x11c4 + ParticleIndex_t m_nFxHuskIndex; // 0x11c8 + ParticleIndex_t m_nFxIndexA; // 0x11cc +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: @@ -19372,25 +19818,41 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; -// Alignment: 2 -// Size: 0x1148 -class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius_scepter; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11b8 +class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c8 +class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11c0 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { public: @@ -19398,89 +19860,89 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct_night; // 0x1138 - int32_t bonus_attack_speed_night; // 0x113c - int32_t bonus_status_resist_night; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t bonus_movement_speed_pct_night; // 0x11b8 + int32_t bonus_attack_speed_night; // 0x11bc + int32_t bonus_status_resist_night; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t status_resistance; // 0x113c - int32_t hp_regen; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t status_resistance; // 0x11bc + int32_t hp_regen; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x1138 - int32_t count; // 0x113c + float spiderling_duration; // 0x11b8 + int32_t count; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x1138 + float shard_spiderling_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x1138 - int32_t damage_bonus; // 0x113c + int32_t hp_bonus; // 0x11b8 + int32_t damage_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x1138 + float buff_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hParentSpider; // 0x1138 + CHandle< C_BaseEntity > m_hParentSpider; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_hero; // 0x113c + float duration; // 0x11b8 + float duration_hero; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t movement_speed; // 0x113c + int32_t damage_per_second; // 0x11b8 + int32_t movement_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -19488,16 +19950,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -19505,27 +19967,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x1138 - int32_t bonus_movespeed; // 0x113c - int32_t bonus_movespeed_scepter; // 0x1140 - float bonus_turn_rate; // 0x1144 - float flLastDamageTime; // 0x1148 + int32_t heath_regen; // 0x11b8 + int32_t bonus_movespeed; // 0x11bc + int32_t bonus_movespeed_scepter; // 0x11c0 + float bonus_turn_rate; // 0x11c4 + float flLastDamageTime; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -19533,85 +19995,85 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x1138 - int32_t bonus_movespeed; // 0x113c + int32_t miss_chance; // 0x11b8 + int32_t bonus_movespeed; // 0x11bc }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t lifesteal_pct; // 0x113c - float slow_duration; // 0x1140 - float bat_bonus; // 0x1144 - float shard_damage_tick_interval; // 0x1148 - int32_t damage_tick_count; // 0x114c - int32_t shard_damage_per_tick; // 0x1150 + int32_t bonus_damage; // 0x11b8 + int32_t lifesteal_pct; // 0x11bc + float slow_duration; // 0x11c0 + float bat_bonus; // 0x11c4 + float shard_damage_tick_interval; // 0x11c8 + int32_t damage_tick_count; // 0x11cc + int32_t shard_damage_per_tick; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t miss_chance; // 0x1140 - int32_t shard_miss_chance; // 0x1144 + int32_t attack_damage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t miss_chance; // 0x11c0 + int32_t shard_miss_chance; // 0x11c4 }; // Alignment: 14 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - Vector m_vOrigin; // 0x1138 - Vector m_vWallDirection; // 0x1144 - Vector m_vWallRight; // 0x1150 - int32_t width; // 0x115c - float root_duration; // 0x1160 - float formation_delay; // 0x1164 - bool m_bTouching; // 0x1168 + Vector m_vOrigin; // 0x11b8 + Vector m_vWallDirection; // 0x11c4 + Vector m_vWallRight; // 0x11d0 + int32_t width; // 0x11dc + float root_duration; // 0x11e0 + float formation_delay; // 0x11e4 + bool m_bTouching; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - CHandle< C_BaseEntity > m_hRight; // 0x116c - bool m_bParticle; // 0x1170 + CHandle< C_BaseEntity > m_hRight; // 0x11ec + bool m_bParticle; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - GameTime_t m_flStartingTime; // 0x1174 - int32_t m_nFoWID; // 0x1178 - int32_t m_nTeamID; // 0x117c - CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1180 - ParticleIndex_t m_nWarmupFXIndex; // 0x1198 + GameTime_t m_flStartingTime; // 0x11f4 + int32_t m_nFoWID; // 0x11f8 + int32_t m_nTeamID; // 0x11fc + CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1200 + ParticleIndex_t m_nWarmupFXIndex; // 0x1218 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - bool m_bFirstSecond; // 0x113c + float damage_per_second; // 0x11b8 + bool m_bFirstSecond; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -19619,107 +20081,107 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - int32_t m_nParentGold; // 0x113c - int32_t target_crit_multiplier; // 0x1140 + int32_t aura_radius; // 0x11b8 + int32_t m_nParentGold; // 0x11bc + int32_t target_crit_multiplier; // 0x11c0 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t gold_steal; // 0x113c - ParticleIndex_t m_nFXIndexA; // 0x1140 - ParticleIndex_t m_nFXIndexB; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t gold_steal; // 0x11bc + ParticleIndex_t m_nFXIndexA; // 0x11c0 + ParticleIndex_t m_nFXIndexB; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 3 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t shard_damage_reduction_pct; // 0x1148 - float shard_stun_duration; // 0x114c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + int32_t damage_reduction_pct; // 0x11c8 + float shard_stun_duration; // 0x11cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x1148 + bool m_bActivated; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: - int32_t bonus_move_speed_pct; // 0x1138 + int32_t bonus_move_speed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 + int32_t radius; // 0x11c8 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x1138 - int32_t m_iAttackCount; // 0x113c - int32_t destroy_attacks; // 0x1140 - Vector m_vDirection; // 0x1144 - Vector m_vStartLoc; // 0x1150 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x115c + int32_t m_iMaxDist; // 0x11b8 + int32_t m_iAttackCount; // 0x11bc + int32_t destroy_attacks; // 0x11c0 + Vector m_vDirection; // 0x11c4 + Vector m_vStartLoc; // 0x11d0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11dc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x1138 - int32_t damage; // 0x113c - float m_flCurrentArmorReduction; // 0x1140 + float armor_reduction; // 0x11b8 + int32_t damage; // 0x11bc + float m_flCurrentArmorReduction; // 0x11c0 }; // Alignment: 5 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t speed; // 0x1150 - float geminate_attack_mark_duration; // 0x1154 - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1158 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t speed; // 0x11d0 + float geminate_attack_mark_duration; // 0x11d4 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: @@ -19727,68 +20189,68 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 4 -// Size: 0x1218 +// Size: 0x1298 class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x1138 - float m_flLife[11]; // 0x11bc - float m_flMana[11]; // 0x11e8 - bool m_bHasValidHistory; // 0x1214 + Vector m_PositionIndex[11]; // 0x11b8 + float m_flLife[11]; // 0x123c + float m_flMana[11]; // 0x1268 + bool m_bHasValidHistory; // 0x1294 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x1138 - int32_t end_radius; // 0x113c - GameTime_t m_fStartTime; // 0x1140 - float m_fTotalTime; // 0x1144 - Vector m_vCastPosition; // 0x1148 + int32_t start_radius; // 0x11b8 + int32_t end_radius; // 0x11bc + GameTime_t m_fStartTime; // 0x11c0 + float m_fTotalTime; // 0x11c4 + Vector m_vCastPosition; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x1138 + bool m_bFirst; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t burn_damage; // 0x113c + int32_t burn_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -19796,257 +20258,262 @@ public: }; // Alignment: 9 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x1138 - int32_t path_radius; // 0x113c - int32_t m_nDamage; // 0x1140 - float m_flRadius; // 0x1144 - float stun_duration; // 0x1148 + float path_delay; // 0x11b8 + int32_t path_radius; // 0x11bc + int32_t m_nDamage; // 0x11c0 + float m_flRadius; // 0x11c4 + float stun_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x1150 - Vector m_vPathStart; // 0x1168 - Vector m_vPathEnd; // 0x1174 - GameTime_t m_fStartTime; // 0x1180 + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x11d0 + Vector m_vPathStart; // 0x11e8 + Vector m_vPathEnd; // 0x11f4 + GameTime_t m_fStartTime; // 0x1200 }; -// Alignment: 6 -// Size: 0x1168 +// Alignment: 5 +// Size: 0x11e8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x1138 - float stun_duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t radius; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bForceProc; // 0x1160 + float duration; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t radius; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bForceProc; // 0x11e0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - float pct_health_damage; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t base_damage; // 0x11b8 + float pct_health_damage; // 0x11bc + int32_t movement_slow; // 0x11c0 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t radius; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bForceProc; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t radius; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bForceProc; // 0x11e0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x1138 - int32_t damage; // 0x113c + int32_t slow_attack_speed_pct; // 0x11b8 + float damage; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - float burn_interval; // 0x1144 - int32_t path_radius; // 0x1148 - int32_t cast_range; // 0x114c - float linger_duration; // 0x1150 + Vector m_vPathDir; // 0x11b8 + float burn_interval; // 0x11c4 + int32_t path_radius; // 0x11c8 + int32_t cast_range; // 0x11cc + float linger_duration; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_scepter; // 0x113c - float burn_interval; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_scepter; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x1138 + bool m_bShouldApply; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - int32_t movement_speed_pct; // 0x1138 - int32_t turn_rate_pct; // 0x113c - int32_t damage; // 0x1140 - int32_t application_damage; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - ParticleIndex_t m_nFXStackIndex; // 0x114c + float movement_speed_pct; // 0x11b8 + int32_t turn_rate_pct; // 0x11bc + int32_t damage; // 0x11c0 + int32_t application_damage; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + ParticleIndex_t m_nFXStackIndex; // 0x11cc }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x1138 - int32_t damage_per_second; // 0x113c + int32_t damage_impact; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow; // 0x11c0 }; // Alignment: 12 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x1138 + bool m_bActive; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t radius; // 0x113c - int32_t m_ifirefly_Active; // 0x1140 - int32_t tree_radius; // 0x1144 - int32_t damage_per_second; // 0x1148 - int32_t movement_speed; // 0x114c - float tick_interval; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - ParticleIndex_t m_nFXIndexB; // 0x1158 - GameTime_t m_fNextDamageTick; // 0x115c - Vector m_vLastFirePoolLoc; // 0x1160 - int32_t bonus_vision; // 0x116c + int32_t radius; // 0x11bc + int32_t m_ifirefly_Active; // 0x11c0 + int32_t tree_radius; // 0x11c4 + int32_t damage_per_second; // 0x11c8 + int32_t movement_speed; // 0x11cc + float tick_interval; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + ParticleIndex_t m_nFXIndexB; // 0x11d8 + GameTime_t m_fNextDamageTick; // 0x11dc + Vector m_vLastFirePoolLoc; // 0x11e0 + int32_t bonus_vision; // 0x11ec }; -// Alignment: 4 -// Size: 0x1150 +// Alignment: 5 +// Size: 0x11d8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - int32_t drag_distance; // 0x1138 - int32_t break_distance; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 - Vector vPreviousLocation; // 0x1144 + float tick_rate; // 0x11b8 + int32_t drag_distance; // 0x11bc + int32_t break_distance; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + Vector vPreviousLocation; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - float damage; // 0x113c - float duration; // 0x1140 + int32_t max_ticks; // 0x11b8 + float damage; // 0x11bc + float duration; // 0x11c0 + float tick_rate; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_damage_taken; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_taken; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - float teleport_delay; // 0x1140 + float teleport_delay; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - float heal_rate; // 0x113c - int32_t creep_bonus; // 0x1140 + int32_t armor; // 0x11b8 + float heal_rate; // 0x11bc + int32_t creep_bonus; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - int32_t health_min; // 0x1138 - int32_t new_max; // 0x113c - int32_t health_bonus; // 0x1140 - int32_t damage_bonus; // 0x1144 - int32_t movement_speed_bonus; // 0x1148 + int32_t health_min; // 0x11b8 + int32_t new_max; // 0x11bc + int32_t health_bonus; // 0x11c0 + int32_t damage_bonus; // 0x11c4 + int32_t movement_speed_bonus; // 0x11c8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x1138 + bool bToChen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x1138 + int32_t heal_per_second; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -20054,51 +20521,51 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t radius; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 7 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x18]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x18]; // 0x11b8 public: - CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x1150 - int32_t path_radius; // 0x1168 - int32_t vision_radius; // 0x116c - int32_t dagger_radius; // 0x1170 - float buff_persistence; // 0x1174 - float dagger_grace_period; // 0x1178 - float dagger_path_duration; // 0x117c + CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x11d0 + int32_t path_radius; // 0x11e8 + int32_t vision_radius; // 0x11ec + int32_t dagger_radius; // 0x11f0 + float buff_persistence; // 0x11f4 + float dagger_grace_period; // 0x11f8 + float dagger_path_duration; // 0x11fc }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x1138 - float hero_path_duration; // 0x113c - Vector m_vLastPosition; // 0x1140 + int32_t path_radius; // 0x11b8 + float hero_path_duration; // 0x11bc + Vector m_vLastPosition; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 - CHandle< C_BaseEntity > m_hTrackingTarget; // 0x113c + int32_t bonus_movespeed; // 0x11b8 + CHandle< C_BaseEntity > m_hTrackingTarget; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -20106,7 +20573,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -20114,47 +20581,54 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 - int32_t min_radius; // 0x113c - int32_t max_radius; // 0x1140 - int32_t shard_dagger_damage; // 0x1144 - float shard_dagger_cooldown; // 0x1148 - GameTime_t m_flLastDispersionPulseEffectTime; // 0x114c - float m_fDamageCounter; // 0x1150 - float m_fLastTime; // 0x1154 + int32_t damage_reflection_pct; // 0x11b8 + int32_t min_radius; // 0x11bc + int32_t max_radius; // 0x11c0 + int32_t activation_bonus_pct; // 0x11c4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x11c8 + float m_fDamageCounter; // 0x11cc + float m_fLastTime; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff +{ +public: + // No members available +}; + // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x1138 - CHandle< C_BaseEntity > hTarget; // 0x113c + GameTime_t m_fStartAttackTime; // 0x11b8 + CHandle< C_BaseEntity > hTarget; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -20162,15 +20636,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -20178,16 +20652,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - int32_t magic_resist; // 0x113c + int32_t armor; // 0x11b8 + int32_t magic_resist; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: @@ -20195,7 +20669,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -20203,80 +20677,80 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x1138 + int32_t bonus_movement_speed_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c - int32_t radius; // 0x1140 - int32_t damage_per_hero; // 0x1144 + int32_t damage_per_second; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc + int32_t radius; // 0x11c0 + int32_t damage_per_hero; // 0x11c4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x1138 + bool m_bInfernalBladeAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c - float burn_duration; // 0x1140 - float ministun_duration; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11bc + float burn_duration; // 0x11c0 + float ministun_duration; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - float burn_damage_pct; // 0x113c + int32_t burn_damage; // 0x11b8 + float burn_damage_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x1138 - int32_t damage; // 0x113c + int32_t scepter_aura_radius; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x1138 - int32_t damage; // 0x113c + int32_t scepter_aura_radius; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float duration; // 0x113c - int32_t deniable_pct; // 0x1140 - float flElapsedTime; // 0x1144 - int32_t damage_amp; // 0x1148 - bool m_bDoesBreak; // 0x114c + int32_t damage; // 0x11b8 + float duration; // 0x11bc + int32_t deniable_pct; // 0x11c0 + float flElapsedTime; // 0x11c4 + int32_t damage_amp; // 0x11c8 + bool m_bDoesBreak; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -20284,17 +20758,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 - float damage; // 0x113c - float movespeed_duration; // 0x1140 + int32_t chance_pct; // 0x11b8 + float damage; // 0x11bc + float movespeed_duration; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -20302,108 +20776,109 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x1138 + int32_t bonus_movespeed_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c + int32_t movement_speed; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - CEntityIndex m_iChargeTargetEntityIndex; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x1138 + int32_t m_nFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t movement_speed; // 0x11b8 + int32_t status_resistance; // 0x11bc + float damage_barrier; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct_self; // 0x1138 - int32_t bonus_movespeed_pct_allies; // 0x113c - int32_t bonus_movespeed_pct_extra; // 0x1140 - int32_t duration; // 0x1144 + int32_t bonus_movespeed_pct_self; // 0x11b8 + int32_t bonus_movespeed_pct_allies; // 0x11bc + int32_t bonus_movespeed_pct_extra; // 0x11c0 + int32_t duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x1138 + int32_t invis_threshold_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - bool m_bStrikeLanded; // 0x113c + int32_t damage; // 0x11b8 + bool m_bStrikeLanded; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - Vector m_vCastLocation; // 0x1140 - CHandle< C_BaseEntity > m_hTarget; // 0x114c + Vector m_vCastLocation; // 0x11c0 + CHandle< C_BaseEntity > m_hTarget; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t magic_resistance; // 0x113c + int32_t radius; // 0x11b8 + int32_t magic_resistance; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: @@ -20411,16 +20886,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t bonus_movement_speed; // 0x113c + int32_t rocket_damage; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -20428,144 +20903,144 @@ public: }; // Alignment: 17 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t hero_damage; // 0x1140 - int32_t acceleration; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_distance; // 0x114c - int32_t shard_radius; // 0x1150 - float shard_delay; // 0x1154 - float pre_flight_time; // 0x1158 - float stun_duration; // 0x115c - int32_t m_nMissileDamage; // 0x1160 - int32_t m_nTeamNumber; // 0x1164 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t hero_damage; // 0x11c0 + int32_t acceleration; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_distance; // 0x11cc + int32_t shard_radius; // 0x11d0 + float shard_delay; // 0x11d4 + float pre_flight_time; // 0x11d8 + float stun_duration; // 0x11dc + int32_t m_nMissileDamage; // 0x11e0 + int32_t m_nTeamNumber; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1168[0x8]; // 0x1168 + [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: - float speed; // 0x1170 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1174 - Vector m_vStartPosition; // 0x1178 + float speed; // 0x11f0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f4 + Vector m_vStartPosition; // 0x11f8 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CountdownTimer m_EnemyVision; // 0x1188 - CountdownTimer m_MoveTime; // 0x11a0 + CountdownTimer m_EnemyVision; // 0x1208 + CountdownTimer m_MoveTime; // 0x1220 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t shard_radius; // 0x113c - CHandle< C_BaseEntity > m_hTarget; // 0x1140 + int32_t rocket_damage; // 0x11b8 + int32_t shard_radius; // 0x11bc + CHandle< C_BaseEntity > m_hTarget; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - int32_t projectile_speed; // 0x1144 - int32_t radius; // 0x1148 + int32_t max_attacks; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + int32_t radius; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t scepter_radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t scepter_radius; // 0x11bc }; // Alignment: 11 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x1138 - int32_t slow_duration_second; // 0x113c - int32_t damage_first; // 0x1140 - int32_t damage_second; // 0x1144 - int32_t damage_second_scepter; // 0x1148 - int32_t radius; // 0x114c - float slow_first; // 0x1150 - float slow_second; // 0x1154 - bool m_bFirstStrike; // 0x1158 - bool m_bDelayed; // 0x1159 - bool m_bHalfDamage; // 0x115a + int32_t slow_duration_first; // 0x11b8 + int32_t slow_duration_second; // 0x11bc + int32_t damage_first; // 0x11c0 + int32_t damage_second; // 0x11c4 + int32_t damage_second_scepter; // 0x11c8 + int32_t radius; // 0x11cc + float slow_first; // 0x11d0 + float slow_second; // 0x11d4 + bool m_bFirstStrike; // 0x11d8 + bool m_bDelayed; // 0x11d9 + bool m_bHalfDamage; // 0x11da }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t armor_allies; // 0x113c - int32_t radius; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t damage; // 0x11b8 + int32_t armor_allies; // 0x11bc + int32_t radius; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff { public: - float brew_time; // 0x1138 - float brew_explosion; // 0x113c - GameTime_t m_fStartTime; // 0x1140 - GameTime_t m_fLastAlertTime; // 0x1144 - ParticleIndex_t m_nConcoctionFXIndex; // 0x1148 - bool m_bHasStunned; // 0x114c + float brew_time; // 0x11b8 + float brew_explosion; // 0x11bc + GameTime_t m_fStartTime; // 0x11c0 + GameTime_t m_fLastAlertTime; // 0x11c4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x11c8 + bool m_bHasStunned; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - int32_t damage_resistance; // 0x1150 - int32_t move_speed; // 0x1154 + int32_t damage_resistance; // 0x11d0 + int32_t move_speed; // 0x11d4 }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_DeathList; // 0x1138 - float damage; // 0x1150 - float duration; // 0x1154 - int32_t bonus_gold; // 0x1158 - int32_t bonus_bonus_gold; // 0x115c - int32_t bonus_gold_cap; // 0x1160 + CUtlVector< GameTime_t > m_DeathList; // 0x11b8 + float damage; // 0x11d0 + float duration; // 0x11d4 + int32_t bonus_gold; // 0x11d8 + int32_t bonus_bonus_gold; // 0x11dc + int32_t bonus_gold_cap; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -20573,50 +21048,67 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - float base_attack_time; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_health_regen; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_movespeed; // 0x1148 - ParticleIndex_t m_nFXAlchemistCRIndex; // 0x114c + float base_attack_time; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_health_regen; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_movespeed; // 0x11c8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x1138 - int32_t scepter_spell_amp; // 0x113c + int32_t scepter_bonus_damage; // 0x11b8 + int32_t scepter_spell_amp; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t hp_regen; // 0x113c - int32_t move_speed; // 0x1140 -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff -{ -public: - float freeze_damage; // 0x1138 - float freeze_duration; // 0x113c - float freeze_cooldown; // 0x1140 - float damage_trigger; // 0x1144 + int32_t attack_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc + int32_t move_speed; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff +{ +public: + int32_t slow_per_stack; // 0x11b8 + float status_resist_per_stack; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff +{ +public: + float freeze_damage; // 0x11b8 + float freeze_duration; // 0x11bc + float freeze_cooldown; // 0x11c0 + float damage_trigger; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: @@ -20624,52 +21116,74 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - int32_t self_slow; // 0x1148 - int32_t area_of_effect; // 0x114c - float aura_fade_time; // 0x1150 + int32_t self_slow; // 0x11c8 + int32_t area_of_effect; // 0x11cc + float aura_fade_time; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x1138 + int32_t enemy_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 - int32_t mana_burned; // 0x113c - float damage_per_mana; // 0x1140 + int32_t area_of_effect; // 0x11b8 + int32_t mana_burned; // 0x11bc + float damage_per_mana; // 0x11c0 + CHandle< C_BaseEntity > m_hPullThinker; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff +{ +public: + int32_t area_of_effect; // 0x11b8 +}; + +// Alignment: 6 +// Size: 0x11d8 +class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff +{ +public: + int32_t shard_drag_speed; // 0x11b8 + float aura_origin_x; // 0x11bc + float aura_origin_y; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + Vector m_vCenter; // 0x11c8 + GameTime_t m_flLastThinkTime; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: @@ -20677,7 +21191,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: @@ -20685,97 +21199,97 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: - float damage; // 0x1138 + float damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 + int32_t area_of_effect; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 + int32_t area_of_effect; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff { public: - int32_t level; // 0x1138 - int32_t armor; // 0x113c - int32_t mana; // 0x1140 - float attack_range; // 0x1144 - float armor_per_attack; // 0x1148 + int32_t level; // 0x11b8 + int32_t armor; // 0x11bc + int32_t mana; // 0x11c0 + float attack_range; // 0x11c4 + float armor_per_attack; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: - float armor_removed; // 0x1138 + float armor_removed; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - int32_t num_wall_elements; // 0x113c - int32_t wall_element_spacing; // 0x1140 - int32_t wall_element_radius; // 0x1144 - Vector m_vWallDir; // 0x1148 + float damage_per_second; // 0x11b8 + int32_t num_wall_elements; // 0x11bc + int32_t wall_element_spacing; // 0x11c0 + int32_t wall_element_radius; // 0x11c4 + Vector m_vWallDir; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t slow; // 0x113c - float slow_duration; // 0x1140 + int32_t radius; // 0x11b8 + int32_t slow; // 0x11bc + float slow_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x1138 + float disarm_duration; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -20783,7 +21297,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: @@ -20791,7 +21305,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: @@ -20799,7 +21313,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: @@ -20807,7 +21321,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: @@ -20815,7 +21329,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: @@ -20823,34 +21337,34 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - ParticleIndex_t nFxIndex; // 0x113c - int32_t penalty_duration; // 0x1140 - float penalty_multiplier; // 0x1144 - int32_t movespeed; // 0x1148 - int32_t undispellable; // 0x114c + int32_t damage; // 0x11b8 + ParticleIndex_t nFxIndex; // 0x11bc + int32_t penalty_duration; // 0x11c0 + float penalty_multiplier; // 0x11c4 + int32_t movespeed; // 0x11c8 + int32_t undispellable; // 0x11cc }; // Alignment: 4 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x1138 + float intellect_damage_pct; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x1158 - CDOTA_Buff* m_pAttackCounterBuff; // 0x1170 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x11d8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -20858,15 +21372,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x1138 + int32_t int_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -20874,15 +21388,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x1138 + int32_t int_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -20890,23 +21404,23 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x1138 - bool spellcast; // 0x113c + int32_t duration; // 0x11b8 + bool spellcast; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t damage; // 0x1140 - float debuff_duration; // 0x1144 - float int_multiplier; // 0x1148 - int32_t scepter_bonus_damage; // 0x114c + int32_t damage; // 0x11c0 + float debuff_duration; // 0x11c4 + float int_multiplier; // 0x11c8 + int32_t scepter_bonus_damage; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -20914,7 +21428,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -20922,93 +21436,106 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x1138 + float mana_pool_damage_pct; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x1138 - bool m_bAllowMovement; // 0x113c + int32_t allied_movement_speed_pct; // 0x11b8 + bool m_bAllowMovement; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x1138 - int32_t radius; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t restore_chance; // 0x113c - float restore_amount; // 0x1140 + int32_t radius; // 0x11b8 + int32_t restore_chance; // 0x11bc + float restore_amount; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 9 +// Size: 0x11e0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - int32_t mana_restore; // 0x113c - float mana_capacity_steal; // 0x1140 - float mana_capacity_duration; // 0x1144 - float shard_mana_duration; // 0x1148 + int32_t proc_chance; // 0x11b8 + int32_t mana_restore; // 0x11bc + float mana_capacity_steal; // 0x11c0 + float mana_capacity_duration; // 0x11c4 + float shard_mana_duration; // 0x11c8 + float scepter_barrier_threshold; // 0x11cc + float scepter_barrier_duration; // 0x11d0 + float scepter_barrier_cooldown; // 0x11d4 + float scepter_max_mana_barrier_pct; // 0x11d8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff +{ +public: + float barrier_amt; // 0x11b8 + int32_t m_nDamageAbsorbed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x1138 + int32_t shard_bonus_mana; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x1138 - float m_flCurrentMana; // 0x113c + int32_t mana_steal; // 0x11b8 + float m_flCurrentMana; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x1138 - float m_flCurrentMana; // 0x113c + int32_t mana_steal; // 0x11b8 + float m_flCurrentMana; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -21016,7 +21543,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -21024,25 +21551,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_speed_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_speed_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t miss_chance; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t miss_chance; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: @@ -21050,70 +21577,70 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - bool m_bIgniteActive; // 0x113c + int32_t movement_slow; // 0x11b8 + bool m_bIgniteActive; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flDamagePerTick; // 0x1140 + float m_flDamagePerTick; // 0x11c0 }; // Alignment: 13 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff { public: - int32_t dodge_chance; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 - int32_t active_multiplier; // 0x1144 - int32_t stun_chance; // 0x1148 - float bash_cooldown; // 0x114c - float stun_duration; // 0x1150 - float slow_duration; // 0x1154 - int32_t bonus_move_speed; // 0x1158 - int32_t bonus_status_resist; // 0x115c - int32_t armor; // 0x1160 - int32_t magic_resist; // 0x1164 - float m_flLastBash; // 0x1168 + int32_t dodge_chance; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 + int32_t active_multiplier; // 0x11c4 + int32_t stun_chance; // 0x11c8 + float bash_cooldown; // 0x11cc + float stun_duration; // 0x11d0 + float slow_duration; // 0x11d4 + int32_t bonus_move_speed; // 0x11d8 + int32_t bonus_status_resist; // 0x11dc + int32_t armor; // 0x11e0 + int32_t magic_resist; // 0x11e4 + float m_flLastBash; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t active_multiplier; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t active_multiplier; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndexB; // 0x113c - int32_t min_movement; // 0x1140 - int32_t max_movement; // 0x1144 - int32_t m_iMovementBonus; // 0x1148 - GameTime_t m_flNextUpdateTime; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndexB; // 0x11bc + int32_t min_movement; // 0x11c0 + int32_t max_movement; // 0x11c4 + int32_t m_iMovementBonus; // 0x11c8 + GameTime_t m_flNextUpdateTime; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -21121,52 +21648,53 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t bonus_brewling_hp; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x113c - CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x1140 - CHandle< C_BaseEntity > m_hFourthTarget; // 0x1144 - CHandle< C_BaseEntity > m_hReturnBrewling; // 0x1148 - int32_t m_nFXIndex; // 0x114c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11bc + CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x11c0 + CHandle< C_BaseEntity > m_hFourthTarget; // 0x11c4 + CHandle< C_BaseEntity > m_hReturnBrewling; // 0x11c8 + int32_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -21174,23 +21702,23 @@ public: }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 + int32_t bonus_building_damage; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -21198,32 +21726,32 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x1148 - int32_t bonus_damage; // 0x114c + int32_t bonus_movement_speeed; // 0x11c8 + int32_t bonus_damage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: @@ -21231,51 +21759,61 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - float cooldown_on_death; // 0x1138 - float cooldown_on_take_damage; // 0x113c - int32_t disable_distance; // 0x1140 - int32_t movement_slow_when_out_of_range; // 0x1144 - bool m_bCanAttack; // 0x1148 + float cooldown_on_death; // 0x11b8 + float cooldown_on_take_damage; // 0x11bc + int32_t disable_distance; // 0x11c0 + int32_t movement_slow_when_out_of_range; // 0x11c4 + bool m_bCanAttack; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nFxIndex; // 0x114c - int32_t cooldown_penalty_pct; // 0x1150 - int32_t value; // 0x1154 + ParticleIndex_t m_nFxIndex; // 0x11cc + int32_t cooldown_penalty_pct; // 0x11d0 + int32_t bonus_brewling_hp; // 0x11d4 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11c8 +class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff +{ +public: + int32_t pull_distance; // 0x11b8 + int32_t damage; // 0x11bc + float pull_duration; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11d8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x1138 - int32_t lifesteal_range; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x1140 + int32_t lifesteal_percent; // 0x11b8 + int32_t lifesteal_range; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x1138 + int32_t attack_range; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x1138 + float m_flNextSpawn; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -21283,52 +21821,52 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x1138 - float bash_duration; // 0x113c + int32_t bash_chance; // 0x11b8 + float bash_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: - CountdownTimer m_CooldownTimer; // 0x1138 - int32_t maim_chance; // 0x1150 - float maim_duration; // 0x1154 + CountdownTimer m_CooldownTimer; // 0x11b8 + int32_t maim_chance; // 0x11d0 + float maim_duration; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x1138 - int32_t maim_attack_speed; // 0x113c - int32_t maim_damage; // 0x1140 + int32_t maim_movement_speed; // 0x11b8 + int32_t maim_attack_speed; // 0x11bc + int32_t maim_damage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -21336,34 +21874,34 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x1138 - int32_t total_attack_damage_reduction; // 0x113c - int32_t armor; // 0x1140 + int32_t attack_damage_reduction; // 0x11b8 + int32_t total_attack_damage_reduction; // 0x11bc + int32_t armor; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t bonus_hp_regen; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -21371,7 +21909,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -21379,28 +21917,28 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - int32_t m_iOriginalAttackCapability; // 0x1140 + int32_t bonus_night_vision; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + int32_t m_iOriginalAttackCapability; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 - int32_t health_bonus; // 0x1144 + int32_t speed; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 + int32_t health_bonus; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -21408,7 +21946,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -21416,53 +21954,53 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x1138 - float m_flDisseminate_Duration; // 0x113c - CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x1140 + float m_flHealth; // 0x11b8 + float m_flDisseminate_Duration; // 0x11bc + CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x1138 + int32_t actual_health_lost; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x1138 - int32_t bonus_spell_amp; // 0x113c + int32_t num_heroes; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > hTarget; // 0x1138 + CHandle< C_BaseEntity > hTarget; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x1138 - float bonus_stack_damage; // 0x113c - int32_t max_multiply_stacks; // 0x1140 - ParticleIndex_t m_nFXStackIndex; // 0x1144 + float stack_damage; // 0x11b8 + float bonus_stack_damage; // 0x11bc + int32_t max_multiply_stacks; // 0x11c0 + ParticleIndex_t m_nFXStackIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -21470,7 +22008,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -21478,31 +22016,31 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 - int32_t radius; // 0x113c - GameTime_t m_flLastDispersionPulseEffectTime; // 0x1140 + int32_t damage_reflection_pct; // 0x11b8 + int32_t radius; // 0x11bc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x1138 - bool m_bCanAttack; // 0x1139 + bool m_bCanBeResummoned; // 0x11b8 + bool m_bCanAttack; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - ParticleIndex_t m_nFxIndex; // 0x113c - ParticleIndex_t m_nStatusFxIndex; // 0x1140 + ParticleIndex_t m_nFxIndex; // 0x11bc + ParticleIndex_t m_nStatusFxIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff { public: @@ -21510,7 +22048,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: @@ -21518,7 +22056,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -21526,74 +22064,74 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x1138 + int32_t damage_share; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x1138 + int32_t attack_amp; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x1138 - int32_t hero_entangle_chance; // 0x113c - float hero_duration; // 0x1140 + int32_t entangle_chance; // 0x11b8 + int32_t hero_entangle_chance; // 0x11bc + float hero_duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x1138 - float interval_rate; // 0x113c - int32_t damage; // 0x1140 + int32_t m_iEntangleDamage; // 0x11b8 + float interval_rate; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 - int32_t true_form_bonus_building_damage; // 0x113c - int32_t spell_resistance; // 0x1140 + int32_t bonus_building_damage; // 0x11b8 + int32_t true_form_bonus_building_damage; // 0x11bc + int32_t spell_resistance; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x1138 - int32_t shard_attack_speed; // 0x113c + int32_t shard_movement_speed_pct; // 0x11b8 + int32_t shard_attack_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t lifesteal_percent; // 0x113c - int32_t armor; // 0x1140 - int32_t armor_sharing; // 0x1144 - CHandle< C_BaseEntity > m_hTarget; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t lifesteal_percent; // 0x11bc + int32_t armor; // 0x11c0 + int32_t armor_sharing; // 0x11c4 + CHandle< C_BaseEntity > m_hTarget; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -21601,17 +22139,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_hp; // 0x113c - float base_attack_time; // 0x1140 + int32_t bonus_armor; // 0x11b8 + int32_t bonus_hp; // 0x11bc + float base_attack_time; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -21619,24 +22157,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x1138 + int32_t bonus_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: @@ -21644,36 +22182,37 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff { public: - float creep_multiplier; // 0x1138 - int32_t crit_min; // 0x113c - int32_t crit_max; // 0x1140 - int32_t lifesteal; // 0x1144 - float chance; // 0x1148 - int32_t m_nNextCrit; // 0x114c + float creep_multiplier; // 0x11b8 + float creep_lifesteal_reduction_pct; // 0x11bc + int32_t crit_min; // 0x11c0 + int32_t crit_max; // 0x11c4 + int32_t lifesteal; // 0x11c8 + float chance; // 0x11cc + int32_t m_nNextCrit; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x1138 + int32_t maim_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -21681,7 +22220,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -21689,24 +22228,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: // No members available }; -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t hp_restore; // 0x113c -}; - // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -21714,7 +22244,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -21722,7 +22252,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -21730,58 +22260,67 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x1138 + int32_t m_nHandle; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x1138 - float magic_resist; // 0x113c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x1138 + float respawn; // 0x11b8 + float magic_resist; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff +{ +public: + int32_t damage_share_percentage; // 0x11b8 + int32_t damage_share_radius; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x1138 - int32_t health_steal_creeps; // 0x113c + int32_t health_steal_heroes; // 0x11b8 + int32_t health_steal_creeps; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: @@ -21789,7 +22328,59 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x11e0 +class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + Vector m_vStartLocation; // 0x11cc + float animation_rate; // 0x11d8 + bool m_bInterrupted; // 0x11dc + bool m_bHasBeenDestroyed; // 0x11dd + bool m_bIsHighestMeepo; // 0x11de +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff +{ +public: + int32_t base_strength; // 0x11b8 + int32_t base_int; // 0x11bc + int32_t base_agi; // 0x11c0 + int32_t stats_pct; // 0x11c4 + CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x11c8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t hp_restore; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: @@ -21797,46 +22388,46 @@ public: }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - float creation_interval; // 0x1138 - float vines_duration; // 0x113c - int32_t vine_spawn_interval; // 0x1140 - Vector m_vInitialLoc; // 0x1144 - Vector m_vFinalLoc; // 0x1150 - int32_t m_iVineCount; // 0x115c - int32_t m_iVinesIndex; // 0x1160 - bool m_bFoundTree; // 0x1164 + float creation_interval; // 0x11b8 + float vines_duration; // 0x11bc + int32_t vine_spawn_interval; // 0x11c0 + Vector m_vInitialLoc; // 0x11c4 + Vector m_vFinalLoc; // 0x11d0 + int32_t m_iVineCount; // 0x11dc + int32_t m_iVinesIndex; // 0x11e0 + bool m_bFoundTree; // 0x11e4 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 - int32_t latch_vision; // 0x113c - float initial_latch_delay; // 0x1140 + int32_t latch_range; // 0x11b8 + int32_t latch_vision; // 0x11bc + float initial_latch_delay; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - bool m_bBonus; // 0x114c + bool m_bBonus; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t damage_per_second; // 0x113c - float tick_interval; // 0x1140 + int32_t movement_slow; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float tick_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -21844,34 +22435,34 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x1138 + GameTime_t flStartTime; // 0x11b8 }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x1138 - CountdownTimer m_InvisAttackTimer; // 0x1150 - CountdownTimer m_CooldownTimer; // 0x1168 + CountdownTimer m_RevealTimer; // 0x11b8 + CountdownTimer m_InvisAttackTimer; // 0x11d0 + CountdownTimer m_CooldownTimer; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x1138 - int32_t regen_amp; // 0x113c + int32_t movement_bonus; // 0x11b8 + int32_t regen_amp; // 0x11bc }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -21879,7 +22470,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -21887,54 +22478,54 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x1138 + float m_flEntangleDamage; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x1138 - int32_t leech_damage; // 0x113c - int32_t movement_slow; // 0x1140 - int32_t radius; // 0x1144 - int32_t projectile_speed; // 0x1148 + float damage_interval; // 0x11b8 + int32_t leech_damage; // 0x11bc + int32_t movement_slow; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t projectile_speed; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t heal_per_second; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t mute; // 0x113c - bool bPurgable; // 0x1140 + float damage; // 0x11b8 + int32_t mute; // 0x11bc + bool bPurgable; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: @@ -21942,7 +22533,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -21950,37 +22541,37 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x1138 - float multicast_delay; // 0x113c - int32_t m_nMultiCastCount; // 0x1140 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11b8 + float multicast_delay; // 0x11bc + int32_t m_nMultiCastCount; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t burn_damage; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t burn_damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x1138 - float multicast_delay; // 0x113c - int32_t m_nMultiCastCount; // 0x1140 - int32_t ignite_multicast_aoe; // 0x1144 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11b8 + float multicast_delay; // 0x11bc + int32_t m_nMultiCastCount; // 0x11c0 + int32_t ignite_multicast_aoe; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -21988,18 +22579,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t self_bonus; // 0x1140 - float modelscale; // 0x1144 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t self_bonus; // 0x11c0 + float modelscale; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -22007,38 +22598,58 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t attacks; // 0x113c - int32_t damage; // 0x1140 -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff -{ -public: - int32_t radius; // 0x1138 - float health_threshold_pct; // 0x113c - float duration; // 0x1140 - CHandle< C_BaseEntity > m_hTombstoneSourceAbility; // 0x1144 - CHandle< C_BaseEntity > m_hChaseUnit; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t attacks; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff +{ +public: + float mana_per_str; // 0x11b8 + float mana_regen_per_str; // 0x11bc +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + float health_threshold_pct; // 0x11bc + float duration; // 0x11c0 + CHandle< C_BaseEntity > m_hTombstoneSourceAbility; // 0x11c4 + CHandle< C_BaseEntity > m_hChaseUnit; // 0x11c8 +}; + +// Alignment: 2 +// Size: 0x11d8 +class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff +{ +public: + float shard_buff_duration; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x1138 - int32_t str_steal_scepter; // 0x113c + int32_t str_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -22046,51 +22657,50 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x1138 - int32_t str_steal_scepter; // 0x113c - int32_t str_scale_up; // 0x1140 + int32_t str_steal; // 0x11b8 + int32_t str_scale_up; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float m_flDecrementTime; // 0x113c + int32_t slow; // 0x11b8 + float m_flDecrementTime; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -22098,53 +22708,78 @@ public: }; // Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x1138 - int32_t bonus_health; // 0x113c + float bunker_heal_pct; // 0x11b8 + float tombstone_grab_radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float zombie_interval; // 0x113c + int32_t radius; // 0x11b8 + float zombie_interval; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t str_percentage; // 0x1138 - int32_t movement_bonus; // 0x113c -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff -{ -public: - int32_t damage_amp; // 0x1138 - int32_t slow; // 0x113c -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff -{ -public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c - float tick_rate; // 0x1140 + int32_t tombstone_health; // 0x11b8 + int32_t zombie_damage_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff +{ +public: + int32_t str_percentage; // 0x11b8 + int32_t movement_bonus; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff +{ +public: + int32_t damage_amp; // 0x11b8 + int32_t slow; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff +{ +public: + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc + float tick_rate; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -22152,41 +22787,41 @@ public: }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x1138 - GameTime_t m_fEndTime; // 0x113c - float m_fTargetHeight; // 0x1140 - float m_fCurHeight; // 0x1144 - Vector m_vStartLoc; // 0x1148 - Vector m_vCurLoc; // 0x1154 - int32_t max_land_distance; // 0x1160 - float fall_duration; // 0x1164 - bool m_bOverrideDuration; // 0x1168 + GameTime_t m_fStartTime; // 0x11b8 + GameTime_t m_fEndTime; // 0x11bc + float m_fTargetHeight; // 0x11c0 + float m_fCurHeight; // 0x11c4 + Vector m_vStartLoc; // 0x11c8 + Vector m_vCurLoc; // 0x11d4 + int32_t max_land_distance; // 0x11e0 + float fall_duration; // 0x11e4 + bool m_bOverrideDuration; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - float m_flOverrideDuration; // 0x116c + float m_flOverrideDuration; // 0x11ec }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - int32_t jump_damage_reduction_pct; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1158 + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + int32_t jump_damage_reduction_pct; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -22194,15 +22829,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x1138 + int32_t attack_damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -22210,148 +22845,148 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x1138 - int32_t attack_damage_reduction; // 0x113c + int32_t attack_damage_bonus; // 0x11b8 + int32_t attack_damage_reduction; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: - int32_t magic_damage_reduction_pct; // 0x1138 - bool m_bWasHidden; // 0x113c + int32_t magic_damage_reduction_pct; // 0x11b8 + bool m_bWasHidden; // 0x11bc }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: - CUtlString m_strActivityModifier; // 0x1138 - int32_t stolen_debuff_amp; // 0x1140 + CUtlString m_strActivityModifier; // 0x11b8 + int32_t stolen_debuff_amp; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: - int32_t cast_range; // 0x1138 - int32_t spell_amp; // 0x113c + int32_t cast_range; // 0x11b8 + int32_t spell_amp; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t strike_damage; // 0x1140 + float strike_interval; // 0x11b8 + int32_t radius; // 0x11bc + float strike_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff { public: - int32_t shard_movement_speed_bonus; // 0x1138 - int32_t shard_attack_speed_bonus; // 0x113c + int32_t shard_movement_speed_bonus; // 0x11b8 + int32_t shard_attack_speed_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1210 +// Size: 0x1290 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x1138 + Vector m_PositionIndex[18]; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - CHandle< C_BaseEntity > m_hEntity; // 0x1144 - float m_flDistance; // 0x1148 + Vector m_vStartLoc; // 0x11b8 + CHandle< C_BaseEntity > m_hEntity; // 0x11c4 + float m_flDistance; // 0x11c8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float formation_time; // 0x11bc + bool m_bActive; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0xb]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0xb]; // 0x11c1 public: - int32_t m_nFXIndex; // 0x114c + int32_t m_nFXIndex; // 0x11cc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vOriginLoc; // 0x113c - bool m_bTruesight; // 0x1148 + int32_t radius; // 0x11b8 + Vector m_vOriginLoc; // 0x11bc + bool m_bTruesight; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float damage_per_second; // 0x114c + float damage_per_second; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x1138 - int32_t radius; // 0x113c - int32_t damage_max; // 0x1140 - int32_t pulses; // 0x1144 - float duration; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + int32_t m_nCurrentPulse; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_max; // 0x11c0 + int32_t pulses; // 0x11c4 + float duration; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t movement_speed_reduction; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - bool m_bHasScepter; // 0x1144 + int32_t miss_rate; // 0x11b8 + int32_t movement_speed_reduction; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + bool m_bHasScepter; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -22359,57 +22994,58 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x1138 + int32_t impale_damage; // 0x11b8 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x1148 - float mana_regen_rate; // 0x114c - int32_t damage_reduction; // 0x1150 - Vector m_vecInitialPos; // 0x1154 + float health_regen_rate; // 0x11c8 + float mana_regen_rate; // 0x11cc + int32_t damage_reduction; // 0x11d0 + Vector m_vecInitialPos; // 0x11d4 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x1138 + float stun_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x1140 + CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x11c0 }; -// Alignment: 4 -// Size: 0x1158 +// Alignment: 5 +// Size: 0x11e0 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - int32_t bonus_damage; // 0x1148 - int32_t movement_speed; // 0x114c - int32_t shard_movement_speed_bonus; // 0x1150 - bool m_bFreePathing; // 0x1154 + int32_t bonus_damage; // 0x11c8 + int32_t movement_speed; // 0x11cc + int32_t shard_movement_speed_bonus; // 0x11d0 + int32_t mana_removal_pct; // 0x11d4 + bool m_bFreePathing; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x1138 + int32_t shard_magic_resist_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: @@ -22417,7 +23053,23 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11d0 +class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff +{ +public: + int32_t resist_debuff; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -22425,7 +23077,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -22433,7 +23085,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -22441,7 +23093,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -22449,15 +23101,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -22465,34 +23117,34 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x1138 - int32_t crit; // 0x113c + int32_t chance; // 0x11b8 + int32_t crit; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nAffectedEnemies; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x1140 + int32_t radius; // 0x11b8 + int32_t m_nAffectedEnemies; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x1138 + float animation_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -22500,169 +23152,178 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nAffectedAllies; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x1140 + int32_t radius; // 0x11b8 + int32_t m_nAffectedAllies; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x1138 + int32_t heal_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x1138 - int32_t min_pull_distance; // 0x113c - GameTime_t m_flLastThinkTime; // 0x1140 + float pull_strength; // 0x11b8 + int32_t min_pull_distance; // 0x11bc + GameTime_t m_flLastThinkTime; // 0x11c0 }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t total_damage; // 0x113c - int32_t radius; // 0x1140 - int32_t channel_vision_radius; // 0x1144 - float channel_vision_interval; // 0x1148 - float channel_vision_duration; // 0x114c - int32_t channel_vision_step; // 0x1150 - GameTime_t m_flLastChantTime; // 0x1154 - Vector m_vNextVisionLocation; // 0x1158 - Vector m_vCastDirection; // 0x1164 + int32_t range; // 0x11b8 + int32_t total_damage; // 0x11bc + int32_t radius; // 0x11c0 + int32_t channel_vision_radius; // 0x11c4 + float channel_vision_interval; // 0x11c8 + float channel_vision_duration; // 0x11cc + int32_t channel_vision_step; // 0x11d0 + GameTime_t m_flLastChantTime; // 0x11d4 + Vector m_vNextVisionLocation; // 0x11d8 + Vector m_vCastDirection; // 0x11e4 }; // Alignment: 21 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t vision_radius; // 0x113c - int32_t radius; // 0x1140 - int32_t total_damage; // 0x1144 - float max_channel_time; // 0x1148 - float speed; // 0x114c - float vision_duration; // 0x1150 - int32_t channel_vision_radius; // 0x1154 - float channel_vision_interval; // 0x1158 - float channel_vision_duration; // 0x115c - int32_t channel_vision_step; // 0x1160 - Vector m_vCastLoc; // 0x1164 - Vector m_vTargetLoc; // 0x1170 - GameTime_t m_fStartTime; // 0x117c - float m_fPower; // 0x1180 - QAngle m_qCastAngle; // 0x1184 - int32_t m_iProjectile; // 0x1190 - ParticleIndex_t m_nFXIndex; // 0x1194 - ParticleIndex_t m_nFXIndexB; // 0x1198 - Vector m_vNextVisionLocation; // 0x119c - Vector m_vCastDirection; // 0x11a8 + int32_t range; // 0x11b8 + int32_t vision_radius; // 0x11bc + int32_t radius; // 0x11c0 + int32_t total_damage; // 0x11c4 + float max_channel_time; // 0x11c8 + float speed; // 0x11cc + float vision_duration; // 0x11d0 + int32_t channel_vision_radius; // 0x11d4 + float channel_vision_interval; // 0x11d8 + float channel_vision_duration; // 0x11dc + int32_t channel_vision_step; // 0x11e0 + Vector m_vCastLoc; // 0x11e4 + Vector m_vTargetLoc; // 0x11f0 + GameTime_t m_fStartTime; // 0x11fc + float m_fPower; // 0x1200 + QAngle m_qCastAngle; // 0x1204 + int32_t m_iProjectile; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x1214 + ParticleIndex_t m_nFXIndexB; // 0x1218 + Vector m_vNextVisionLocation; // 0x121c + Vector m_vCastDirection; // 0x1228 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x1138 - Vector vLastPos; // 0x113c - bool bResetPosition; // 0x1148 + float mana_leak_pct; // 0x11b8 + Vector vLastPos; // 0x11bc + bool bResetPosition; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float m_fAccumulatedManaLeak; // 0x114c + float m_fAccumulatedManaLeak; // 0x11cc }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x1138 - int32_t magic_resistance; // 0x113c - Vector vLastPos; // 0x1140 - bool bResetPosition; // 0x114c + float slow; // 0x11b8 + int32_t magic_resistance; // 0x11bc + Vector vLastPos; // 0x11c0 + bool bResetPosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fAccumulatedDistance; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - ParticleIndex_t m_nStatusFXIndex; // 0x1158 + float m_fAccumulatedDistance; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + ParticleIndex_t m_nStatusFXIndex; // 0x11d8 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float off_duration; // 0x113c - float off_duration_initial; // 0x1140 - float on_duration; // 0x1144 - int32_t hit_count; // 0x1148 - int32_t m_iAttackCount; // 0x114c - GameTime_t m_flNextTimeOn; // 0x1150 - bool m_bActive; // 0x1154 + int32_t radius; // 0x11b8 + float off_duration; // 0x11bc + float off_duration_initial; // 0x11c0 + float on_duration; // 0x11c4 + int32_t hit_count; // 0x11c8 + int32_t m_iAttackCount; // 0x11cc + GameTime_t m_flNextTimeOn; // 0x11d0 + bool m_bActive; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - ParticleIndex_t m_nFXIndex; // 0x1158 - ParticleIndex_t m_nFXIndexB; // 0x115c - GameTime_t m_flNextTime; // 0x1160 - float m_flCorrectionTime; // 0x1164 + ParticleIndex_t m_nFXIndex; // 0x11d8 + ParticleIndex_t m_nFXIndexB; // 0x11dc + GameTime_t m_flNextTime; // 0x11e0 + float m_flCorrectionTime; // 0x11e4 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x1138 - Vector m_vSource; // 0x113c + int32_t fixed_movement_speed; // 0x11b8 + Vector m_vSource; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t cast_range; // 0x1140 - bool m_bDidSwapSpiritForm; // 0x1144 + ParticleIndex_t m_nFXIndexA; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t cast_range; // 0x11c0 + bool m_bDidSwapSpiritForm; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x1138 + bool m_bWasAttacked; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -22670,51 +23331,51 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - CHandle< C_BaseEntity > hCurrentEntity; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + CHandle< C_BaseEntity > hCurrentEntity; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x1138 + float shard_bonus_spell_lifesteal; // 0x11b8 }; // Alignment: 14 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x1138 + bool m_bInManaGained; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - CHandle< C_BaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x1140 - float stun_duration; // 0x1158 - int32_t movespeed; // 0x115c - int32_t self_bonus; // 0x1160 - bool m_bIsInRange; // 0x1164 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11c0 + float stun_duration; // 0x11d8 + int32_t movespeed; // 0x11dc + int32_t self_bonus; // 0x11e0 + bool m_bIsInRange; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - int32_t radius; // 0x1168 - int32_t latch_distance; // 0x116c - float m_flHealthHealed; // 0x1170 - float m_flManaHealed; // 0x1174 - float tether_heal_amp; // 0x1178 - GameTime_t m_flHealMessageTime; // 0x117c - GameTime_t m_flManaMessageTime; // 0x1180 + int32_t radius; // 0x11e8 + int32_t latch_distance; // 0x11ec + float m_flHealthHealed; // 0x11f0 + float m_flManaHealed; // 0x11f4 + float tether_heal_amp; // 0x11f8 + GameTime_t m_flHealMessageTime; // 0x11fc + GameTime_t m_flManaMessageTime; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -22722,24 +23383,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x1138 - float shard_bonus_spell_lifesteal; // 0x113c + float movespeed; // 0x11b8 + float shard_bonus_spell_lifesteal; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -22747,7 +23408,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -22755,148 +23416,148 @@ public: }; // Alignment: 14 -// Size: 0x1208 +// Size: 0x1288 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - int32_t creep_damage; // 0x1138 - int32_t hero_damage; // 0x113c - int32_t hit_radius; // 0x1140 - int32_t hero_hit_radius; // 0x1144 - int32_t explode_radius; // 0x1148 - int32_t min_range; // 0x114c - int32_t max_range; // 0x1150 - int32_t default_radius; // 0x1154 - int32_t spirit_amount; // 0x1158 - float m_flRotation; // 0x115c - float m_flSpiritRadius; // 0x1160 - int32_t spirit_movement_rate; // 0x1164 - GameTime_t m_flNextSpawn; // 0x1168 + int32_t creep_damage; // 0x11b8 + int32_t hero_damage; // 0x11bc + int32_t hit_radius; // 0x11c0 + int32_t hero_hit_radius; // 0x11c4 + int32_t explode_radius; // 0x11c8 + int32_t min_range; // 0x11cc + int32_t max_range; // 0x11d0 + int32_t default_radius; // 0x11d4 + int32_t spirit_amount; // 0x11d8 + float m_flRotation; // 0x11dc + float m_flSpiritRadius; // 0x11e0 + int32_t spirit_movement_rate; // 0x11e4 + GameTime_t m_flNextSpawn; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlString m_strSpiritsOutSwapAbility; // 0x1170 + CUtlString m_strSpiritsOutSwapAbility; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x1138 + int32_t scepter_slow_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_spell_amp; // 0x113c - int32_t shard_bonus_spell_amp; // 0x1140 - float hp_regen; // 0x1144 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc + int32_t shard_bonus_spell_amp; // 0x11c0 + float hp_regen; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x1138 - ParticleIndex_t m_nFXIndexEndTeam; // 0x113c - ParticleIndex_t m_nFXIndexChannel; // 0x1140 + float cast_delay; // 0x11b8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x11bc + ParticleIndex_t m_nFXIndexChannel; // 0x11c0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - Vector m_vecReturnPosition; // 0x113c - float return_time; // 0x1148 - ParticleIndex_t m_nFXTimeRemaining; // 0x114c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + Vector m_vecReturnPosition; // 0x11bc + float return_time; // 0x11c8 + ParticleIndex_t m_nFXTimeRemaining; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 - int32_t attackspeed_bonus; // 0x113c + int32_t movespeed_bonus; // 0x11b8 + int32_t attackspeed_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 - int32_t attackspeed_bonus; // 0x113c + int32_t movespeed_bonus; // 0x11b8 + int32_t attackspeed_bonus; // 0x11bc }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t stack_limit; // 0x113c - int32_t damage_limit; // 0x1140 - float stack_duration; // 0x1144 - float damage_min; // 0x1148 - float damage_max; // 0x114c - ParticleIndex_t m_nFxIndexA; // 0x1150 - ParticleIndex_t m_nFxIndexB; // 0x1154 - int32_t iCur_stack; // 0x1158 + int32_t radius; // 0x11b8 + int32_t stack_limit; // 0x11bc + int32_t damage_limit; // 0x11c0 + float stack_duration; // 0x11c4 + float damage_min; // 0x11c8 + float damage_max; // 0x11cc + ParticleIndex_t m_nFxIndexA; // 0x11d0 + ParticleIndex_t m_nFxIndexB; // 0x11d4 + int32_t iCur_stack; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x1c]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x1c]; // 0x11dc public: - float m_fTotalDamage; // 0x1178 + float m_fTotalDamage; // 0x11f8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x1138 + bool m_bIsRecovering; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nFXIndex[4]; // 0x113c + int32_t m_nFXIndex[4]; // 0x11bc }; // Alignment: 9 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t max_layers; // 0x113c - float minimum_damage; // 0x1140 - int32_t recovery_time; // 0x1144 - int32_t radius; // 0x1148 - int32_t max_damage_reduction; // 0x114c - ParticleIndex_t m_nFXIndex[4]; // 0x1150 - ParticleIndex_t m_nFXIndexB; // 0x1160 + int32_t damage_reduction; // 0x11b8 + int32_t max_layers; // 0x11bc + float minimum_damage; // 0x11c0 + int32_t recovery_time; // 0x11c4 + int32_t radius; // 0x11c8 + int32_t max_damage_reduction; // 0x11cc + ParticleIndex_t m_nFXIndex[4]; // 0x11d0 + ParticleIndex_t m_nFXIndexB; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1168 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -22904,7 +23565,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -22912,21 +23573,21 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x1138 - int32_t m_nFXIndex; // 0x113c - int32_t m_nFXIndexB; // 0x1140 + int32_t familiar_speed; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc + int32_t m_nFXIndexB; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_ctTimer; // 0x1148 + CountdownTimer m_ctTimer; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -22934,71 +23595,71 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - int32_t stun_radius; // 0x1138 - int32_t stun_damage; // 0x113c - float stun_delay; // 0x1140 - float stun_duration; // 0x1144 - float stone_duration; // 0x1148 - int32_t m_iIntervalCount; // 0x114c + int32_t stun_radius; // 0x11b8 + int32_t stun_damage; // 0x11bc + float stun_delay; // 0x11c0 + float stun_duration; // 0x11c4 + float stone_duration; // 0x11c8 + int32_t m_iIntervalCount; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x1138 - int32_t stun_radius; // 0x113c + float hp_regen; // 0x11b8 + int32_t stun_radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - GameTime_t m_flReadyTime; // 0x1138 + GameTime_t m_flReadyTime; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: - float stone_duration; // 0x1138 - GameTime_t m_fStartTime; // 0x113c + float stone_duration; // 0x11b8 + GameTime_t m_fStartTime; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: - bool m_bHasMadeAttack; // 0x1148 + bool m_bHasMadeAttack; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x1138 - float duration; // 0x113c + int32_t agi_gain; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -23006,19 +23667,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t total_damage; // 0x113c - int32_t total_pulses; // 0x1140 - int32_t self_damage_pct; // 0x1144 - float pulse_interval; // 0x1148 + int32_t radius; // 0x11b8 + int32_t total_damage; // 0x11bc + int32_t total_pulses; // 0x11c0 + int32_t self_damage_pct; // 0x11c4 + float pulse_interval; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -23026,32 +23687,32 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x1138 - int32_t pounce_distance_scepter; // 0x113c - float pounce_speed; // 0x1140 - float pounce_acceleration; // 0x1144 - int32_t pounce_radius; // 0x1148 - int32_t pounce_damage; // 0x114c - float leash_duration; // 0x1150 + int32_t pounce_distance; // 0x11b8 + int32_t pounce_distance_scepter; // 0x11bc + float pounce_speed; // 0x11c0 + float pounce_acceleration; // 0x11c4 + int32_t pounce_radius; // 0x11c8 + int32_t pounce_damage; // 0x11cc + float leash_duration; // 0x11d0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x1138 - Vector vLeashLocation; // 0x113c - bool m_bEscaped; // 0x1148 - bool m_bFishBait; // 0x1149 + int32_t leash_radius; // 0x11b8 + Vector vLeashLocation; // 0x11bc + bool m_bEscaped; // 0x11c8 + bool m_bFishBait; // 0x11c9 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -23059,15 +23720,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x1138 + int32_t stat_loss; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -23075,7 +23736,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -23083,7 +23744,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -23091,187 +23752,180 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x1138 + int32_t scepter_aoe; // 0x11b8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x1138 - float neutral_disable; // 0x113c - bool m_bPendingRefresh; // 0x1140 + float activation_delay; // 0x11b8 + float neutral_disable; // 0x11bc + bool m_bPendingRefresh; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - GameTime_t m_fPendingStateChangeTime; // 0x1144 - CountdownTimer m_NeutralHitTimer; // 0x1148 + GameTime_t m_fPendingStateChangeTime; // 0x11c4 + CountdownTimer m_NeutralHitTimer; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - float bonus_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + float bonus_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x1138 + bool m_bScepter; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - CHandle< C_BaseEntity > m_hVisibleEntity; // 0x113c + int32_t radius; // 0x11b8 + CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x1148 - int32_t bonus_movement_speed; // 0x114c - float bonus_regen; // 0x1150 + ParticleIndex_t m_nFXIndex; // 0x11c8 + int32_t bonus_movement_speed; // 0x11cc + float bonus_regen; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 5 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t range; // 0x113c - int32_t arrow_count; // 0x1140 - int32_t projectile_speed; // 0x1144 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x1148 + int32_t damage_modifier; // 0x11b8 + int32_t range; // 0x11bc + int32_t arrow_count; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t turn_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t turn_slow; // 0x11bc }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Medusa_ManaShield_Bonus_Mana : public CDOTA_Buff -{ -public: - int32_t bonus_mana; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - float absorption_pct; // 0x1138 - float damage_per_mana; // 0x113c + int32_t bonus_mana; // 0x11b8 + float absorption_pct; // 0x11bc + float damage_per_mana; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x1138 - bool m_bAnyInvisible; // 0x113c + int32_t m_nNumStoned; // 0x11b8 + bool m_bAnyInvisible; // 0x11bc }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float vision_cone; // 0x113c - float duration; // 0x1140 - int32_t speed_boost; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1148 + int32_t radius; // 0x11b8 + float vision_cone; // 0x11bc + float duration; // 0x11c0 + int32_t speed_boost; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x1138 - float stone_duration; // 0x113c - float duration; // 0x1140 - float vision_cone; // 0x1144 - float m_flAccumulatedTime; // 0x1148 + float face_duration; // 0x11b8 + float stone_duration; // 0x11bc + float duration; // 0x11c0 + float vision_cone; // 0x11c4 + float m_flAccumulatedTime; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CountdownTimer ctFacing; // 0x1150 - bool m_bAlreadyStoned; // 0x1168 + CountdownTimer ctFacing; // 0x11d0 + bool m_bAlreadyStoned; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - ParticleIndex_t m_nFXIndex; // 0x116c + ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x1138 + int32_t bonus_physical_damage; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -23279,30 +23933,30 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t attack_speed; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t bonus_hp; // 0x1140 - int32_t bonus_armor; // 0x1144 - int32_t ensnare_chance; // 0x1148 - float ensnare_duration; // 0x114c - float base_attack_time; // 0x1150 + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t bonus_hp; // 0x11c0 + int32_t bonus_armor; // 0x11c4 + int32_t ensnare_chance; // 0x11c8 + float ensnare_duration; // 0x11cc + float base_attack_time; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -23310,52 +23964,52 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x1138 + int32_t maim_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 16 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t hit_radius; // 0x113c - int32_t axe_movement_speed; // 0x1140 - float whirl_duration; // 0x1144 - float max_range; // 0x1148 - float blind_duration; // 0x114c - float m_flRotation; // 0x1150 - float m_flAxeRadius; // 0x1154 - GameTime_t m_flDieTime; // 0x1158 - float m_bPiercesMagicImmunity; // 0x115c - int32_t m_nSwapIndex; // 0x1160 - bool m_bReturning; // 0x1164 + int32_t damage; // 0x11b8 + int32_t hit_radius; // 0x11bc + int32_t axe_movement_speed; // 0x11c0 + float whirl_duration; // 0x11c4 + float max_range; // 0x11c8 + float blind_duration; // 0x11cc + float m_flRotation; // 0x11d0 + float m_flAxeRadius; // 0x11d4 + GameTime_t m_flDieTime; // 0x11d8 + float m_bPiercesMagicImmunity; // 0x11dc + int32_t m_nSwapIndex; // 0x11e0 + bool m_bReturning; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1168 - int32_t m_nHeroesHitForRelic; // 0x1170 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x11e8 + int32_t m_nHeroesHitForRelic; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1178 - CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1190 + CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1210 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -23363,36 +24017,36 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t max_stacks; // 0x113c - CHandle< C_BaseEntity > m_hUnit; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t max_stacks; // 0x11bc + CHandle< C_BaseEntity > m_hUnit; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t lifesteal; // 0x1140 - CHandle< C_BaseEntity > m_hTarget; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t lifesteal; // 0x11c0 + CHandle< C_BaseEntity > m_hTarget; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -23400,7 +24054,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -23408,40 +24062,40 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x1138 + int32_t shard_movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x1138 + int32_t shard_str_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x1138 - int32_t return_damage_str; // 0x113c + int32_t return_damage; // 0x11b8 + int32_t return_damage_str; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -23449,54 +24103,54 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x1138 + float damage_gain_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x1138 - int32_t slow_movement_speed; // 0x113c + int32_t cast_time_increase; // 0x11b8 + int32_t slow_movement_speed; // 0x11bc }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_reduction; // 0x113c - int32_t has_flying_movement; // 0x1140 + int32_t radius; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t has_flying_movement; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1148 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11c8 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hUnit; // 0x1138 - bool m_bWasMoving; // 0x113c - bool m_bSpawnDone; // 0x113d + CHandle< C_BaseEntity > m_hUnit; // 0x11b8 + bool m_bWasMoving; // 0x11bc + bool m_bSpawnDone; // 0x11bd private: - [[maybe_unused]] uint8_t __pad113e[0x2]; // 0x113e + [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be public: - Vector m_vecOldForward; // 0x1140 - int32_t break_distance; // 0x114c - Vector m_vecPreviousLocation; // 0x1150 + Vector m_vecOldForward; // 0x11c0 + int32_t break_distance; // 0x11cc + Vector m_vecPreviousLocation; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -23504,7 +24158,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: @@ -23512,15 +24166,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x1138 + int32_t melee_attack_range; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: @@ -23528,97 +24182,98 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x1138 + int32_t horn_toss_slow_pct; // 0x11b8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x1138 - float scepter_duration; // 0x113c - bool play_particle; // 0x1140 + int32_t scepter_width; // 0x11b8 + float scepter_duration; // 0x11bc + bool play_particle; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - Vector m_vStart; // 0x1144 - Vector m_vEnd; // 0x1150 + Vector m_vStart; // 0x11c4 + Vector m_vEnd; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x1138 - int32_t scepter_armor_pct; // 0x113c + int32_t scepter_slow_pct; // 0x11b8 + int32_t scepter_armor_pct; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float pull_duration; // 0x114c - float effective_distance; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float pull_duration; // 0x11cc + float effective_distance; // 0x11d0 }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - float self_multiplier; // 0x114c + int32_t bonus_damage_pct; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + float self_multiplier; // 0x11cc + int32_t secondary_cleave_distance; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - int32_t skewer_damage; // 0x113c + float slow_duration; // 0x11b8 + int32_t skewer_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -23626,77 +24281,108 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Magnataur_ReversePolarity_Strength : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x1138 + int32_t stats_per_stack; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff +// Size: 0x11c8 +class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: - int32_t stat_loss_pct; // 0x1138 - int32_t iPrimaryAttribute; // 0x113c - float flStatLoss; // 0x1140 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff -{ -public: - int32_t speed; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 -}; - -// Alignment: 4 -// Size: 0x1158 -class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff -{ -public: - int32_t stack_limit; // 0x1138 - float stack_duration; // 0x113c - GameTime_t m_flStackDieTime; // 0x1140 - ParticleIndex_t m_pFXIndex[4]; // 0x1144 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff -{ -public: - float bonus_armor; // 0x1138 - float bonus_hp_regen; // 0x113c + int32_t strength_per_stack; // 0x11b8 + int32_t max_stacks; // 0x11bc + float stack_duration; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff +// Size: 0x11d0 +class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float mana_per_second; // 0x113c - float radius; // 0x1140 - float break_distance; // 0x1144 - float damage_interval; // 0x1148 - int32_t scepter_bonus_damage; // 0x114c + int32_t stat_loss_pct; // 0x11b8 + int32_t stat_loss_univ; // 0x11bc + int32_t iPrimaryAttribute; // 0x11c0 + float flStatLossStr; // 0x11c4 + float flStatLossAgi; // 0x11c8 + float flStatLossInt; // 0x11cc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff +{ +public: + int32_t speed; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 +}; + +// Alignment: 12 +// Size: 0x11e8 +class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff +{ +public: + float initial_shield; // 0x11b8 + float max_shield; // 0x11bc + float shield_per_sec; // 0x11c0 + float shield_per_sec_per_enemy; // 0x11c4 + float duration; // 0x11c8 + float base_explosion; // 0x11cc + int32_t radius; // 0x11d0 + int32_t explosion_radius; // 0x11d4 + int32_t m_nDamageAbsorbed; // 0x11d8 + GameTime_t m_timeLastTick; // 0x11dc + GameTime_t m_StartTime; // 0x11e0 + int32_t m_nLastParticleTime; // 0x11e4 +}; + +// Alignment: 4 +// Size: 0x11d8 +class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff +{ +public: + int32_t stack_limit; // 0x11b8 + float stack_duration; // 0x11bc + GameTime_t m_flStackDieTime; // 0x11c0 + ParticleIndex_t m_pFXIndex[4]; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff +{ +public: + float bonus_armor; // 0x11b8 + float bonus_hp_regen; // 0x11bc +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff +{ +public: + int32_t damage_per_second; // 0x11b8 + float mana_per_second; // 0x11bc + float radius; // 0x11c0 + float break_distance; // 0x11c4 + float damage_interval; // 0x11c8 +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t slow_health_percentage; // 0x113c + int32_t slow; // 0x11b8 + int32_t slow_health_percentage; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -23704,7 +24390,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -23712,56 +24398,76 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x1138 - bool m_bCleanupWhenEmpty; // 0x1150 + CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11b8 + bool m_bCleanupWhenEmpty; // 0x11d0 }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - int32_t length; // 0x1138 - int32_t width; // 0x113c - int32_t damage_per_second; // 0x1140 - ParticleIndex_t m_nBeamFXIndex; // 0x1144 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1148 - GameTime_t m_flLastHit; // 0x114c - CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1150 + int32_t length; // 0x11b8 + int32_t width; // 0x11bc + int32_t damage_per_second; // 0x11c0 + ParticleIndex_t m_nBeamFXIndex; // 0x11c4 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x11c8 + GameTime_t m_flLastHit; // 0x11cc + CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x11d0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nActiveFXIndex; // 0x113c - ParticleIndex_t m_nActiveStatusFXIndex; // 0x1140 - float damage_per_second; // 0x1144 - int32_t building_dmg_pct; // 0x1148 - int32_t move_slow_pct; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nActiveFXIndex; // 0x11bc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x11c0 + float damage_per_second; // 0x11c4 + int32_t building_dmg_pct; // 0x11c8 + int32_t move_slow_pct; // 0x11cc }; -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: - float base_armor; // 0x1138 - float armor_per_stack; // 0x113c - int32_t base_move_slow; // 0x1140 - int32_t move_slow_per_stack; // 0x1144 - int32_t stack_limit; // 0x1148 - ParticleIndex_t m_nFXStackIndex; // 0x114c + int32_t damage_per_stack; // 0x11b8 + int32_t move_speed_per_stack; // 0x11bc + int32_t max_stacks; // 0x11c0 + float stack_duration; // 0x11c4 + float m_flDuration; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff +{ +public: + float base_armor; // 0x11b8 + float armor_per_stack; // 0x11bc + int32_t base_move_slow; // 0x11c0 + int32_t move_slow_per_stack; // 0x11c4 + int32_t stack_limit; // 0x11c8 + ParticleIndex_t m_nFXStackIndex; // 0x11cc +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: @@ -23769,74 +24475,56 @@ public: }; // Alignment: 6 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t projectile_speed; // 0x1170 - int32_t radius; // 0x1174 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t projectile_speed; // 0x11f0 + int32_t radius; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: // No members available }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 10 +// Size: 0x11e0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - int32_t side_damage_reduction; // 0x1138 - int32_t back_damage_reduction; // 0x113c - int32_t side_angle; // 0x1140 - int32_t back_angle; // 0x1144 - float quill_release_threshold; // 0x1148 - bool m_bRearHit; // 0x114c - bool m_bSideHit; // 0x114d + int32_t side_damage_reduction; // 0x11b8 + int32_t back_damage_reduction; // 0x11bc + int32_t side_angle; // 0x11c0 + int32_t back_angle; // 0x11c4 + float quill_release_threshold; // 0x11c8 + float quill_release_interval; // 0x11cc + bool m_bRearHit; // 0x11d0 + bool m_bSideHit; // 0x11d1 private: - [[maybe_unused]] uint8_t __pad114e[0x2]; // 0x114e + [[maybe_unused]] uint8_t __pad11d2[0x2]; // 0x11d2 public: - float m_flDamageAccumulated; // 0x1150 -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff -{ -public: - int32_t damage_per_stack; // 0x1138 - int32_t move_speed_per_stack; // 0x113c - int32_t max_stacks; // 0x1140 - float stack_duration; // 0x1144 - float m_flDuration; // 0x1148 + float m_flDamageAccumulated; // 0x11d4 + int32_t m_nAccumulatedHits; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -23844,7 +24532,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -23852,7 +24540,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -23860,7 +24548,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -23868,7 +24556,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -23876,7 +24564,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -23884,159 +24572,167 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x1138 - ParticleIndex_t m_iIndex; // 0x113c + int32_t sigil_radius; // 0x11b8 + ParticleIndex_t m_iIndex; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x1138 - int32_t aghs_shard_damage; // 0x113c - int32_t attack_slow; // 0x1140 - int32_t turn_rate_slow; // 0x1144 + int32_t aghs_shard_move_slow; // 0x11b8 + int32_t aghs_shard_damage; // 0x11bc + int32_t attack_slow; // 0x11c0 + int32_t turn_rate_slow; // 0x11c4 }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< C_BaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< C_BaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x1138 - int32_t radius; // 0x113c + ParticleIndex_t m_iIndex; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x1138 + float stack_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_intelligence; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_intelligence; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff +{ +public: + float lifesteal_amt; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x1138 + int32_t resist_debuff; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - float duration; // 0x1140 - float damage_interval; // 0x1144 + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + float duration; // 0x11c0 + float damage_interval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -24044,115 +24740,131 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float damage_absorb; // 0x113c - int32_t m_flDamageAbsorbed; // 0x1140 + int32_t radius; // 0x11b8 + float damage_absorb; // 0x11bc + int32_t m_nDamageAbsorbed; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - float curse_duration; // 0x113c - int32_t hit_count; // 0x1140 + float slow_duration; // 0x11b8 + float curse_duration; // 0x11bc + int32_t hit_count; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - ParticleIndex_t m_nFXStackIndex; // 0x113c + int32_t movement_speed; // 0x11b8 + ParticleIndex_t m_nFXStackIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x1138 + int32_t curse_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c + int32_t curse_attack_speed; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t redirect_range_scepter; // 0x1138 + int32_t redirect_range_scepter; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x1138 - int32_t ally_threshold_scepter; // 0x113c + float m_fDamageTaken; // 0x11b8 + int32_t ally_threshold_scepter; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff +{ +public: + int32_t immolate_aoe; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff +{ +public: + float immolate_damage; // 0x11b8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x1138 - int32_t radius; // 0x113c - int32_t m_nCreepsHit; // 0x1140 - int32_t m_nHeroesHit; // 0x1144 - float m_flSpeed; // 0x1148 + int32_t pass_damage; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_nCreepsHit; // 0x11c0 + int32_t m_nHeroesHit; // 0x11c4 + float m_flSpeed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x1150 - int32_t m_nBonusMoveSpeed; // 0x1168 + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11d0 + int32_t m_nBonusMoveSpeed; // 0x11e8 }; // Alignment: 13 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - float move_pct_creeps; // 0x1138 - int32_t move_pct_heroes; // 0x113c - int32_t damage_creeps; // 0x1140 - int32_t damage_heroes; // 0x1144 - float armor_creeps; // 0x1148 - float armor_heroes; // 0x114c - float move_pct_cap; // 0x1150 - int32_t m_nCreepsHit; // 0x1154 - int32_t m_nHeroesHit; // 0x1158 - float m_fSpeedPercentage; // 0x115c - int32_t m_nDamage; // 0x1160 - int32_t m_nArmor; // 0x1164 - bool m_bSpellImmunity; // 0x1168 + float move_pct_creeps; // 0x11b8 + int32_t move_pct_heroes; // 0x11bc + int32_t damage_creeps; // 0x11c0 + int32_t damage_heroes; // 0x11c4 + float armor_creeps; // 0x11c8 + float armor_heroes; // 0x11cc + float move_pct_cap; // 0x11d0 + int32_t m_nCreepsHit; // 0x11d4 + int32_t m_nHeroesHit; // 0x11d8 + float m_fSpeedPercentage; // 0x11dc + int32_t m_nDamage; // 0x11e0 + int32_t m_nArmor; // 0x11e4 + bool m_bSpellImmunity; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -24160,7 +24872,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -24168,7 +24880,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -24176,101 +24888,101 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x1138 - float animation_rate; // 0x113c - float initial_stun_duration; // 0x1140 + int32_t wake_damage_limit; // 0x11b8 + float animation_rate; // 0x11bc + float initial_stun_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer ctStunTimer; // 0x1148 - float m_flDamageTaken; // 0x1160 + CountdownTimer ctStunTimer; // 0x11c8 + float m_flDamageTaken; // 0x11e0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x1138 - float m_flArmorReduction; // 0x113c + int32_t armor_reduction_pct; // 0x11b8 + float m_flArmorReduction; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x1138 + int32_t magic_resistance_pct; // 0x11b8 }; // Alignment: 11 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x1138 - int32_t vision_width; // 0x1150 - float vision_interval; // 0x1154 - float vision_duration; // 0x1158 - int32_t vision_step; // 0x115c - int32_t total_steps; // 0x1160 - int32_t m_nCompletedSteps; // 0x1164 - Vector m_vStart; // 0x1168 - Vector m_vEnd; // 0x1174 - Vector m_vNextVisionLocation; // 0x1180 - Vector m_vCastDirection; // 0x118c + CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11b8 + int32_t vision_width; // 0x11d0 + float vision_interval; // 0x11d4 + float vision_duration; // 0x11d8 + int32_t vision_step; // 0x11dc + int32_t total_steps; // 0x11e0 + int32_t m_nCompletedSteps; // 0x11e4 + Vector m_vStart; // 0x11e8 + Vector m_vEnd; // 0x11f4 + Vector m_vNextVisionLocation; // 0x1200 + Vector m_vCastDirection; // 0x120c }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x1138 - int32_t damage_pct; // 0x113c - float slow_duration; // 0x1140 - float slow_duration_scepter; // 0x1144 - CDOTA_Buff* m_pParentModifier; // 0x1148 + int32_t crack_width; // 0x11b8 + int32_t damage_pct; // 0x11bc + float slow_duration; // 0x11c0 + float slow_duration_scepter; // 0x11c4 + CDOTA_Buff* m_pParentModifier; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -24278,7 +24990,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -24286,54 +24998,54 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - int32_t bonus_speed_creeps; // 0x1138 - int32_t bonus_speed_heroes; // 0x113c - float armor_per_creep; // 0x1140 - float armor_per_hero; // 0x1144 - int32_t m_nTotalBonus; // 0x1148 - float m_flBonusArmor; // 0x114c + int32_t bonus_attack_speed_creeps; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + float armor_per_creep; // 0x11c0 + float armor_per_hero; // 0x11c4 + int32_t m_nTotalBonus; // 0x11c8 + float m_flBonusArmor; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t move_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x1138 - float buff_duration; // 0x113c + int32_t trigger_chance; // 0x11b8 + float buff_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x1138 + int32_t hp_leech_percent; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -24341,35 +25053,35 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - int32_t bonus_armor_per_hero; // 0x1138 - int32_t bonus_damage_per_hero; // 0x113c - int32_t lifesteal_per_hero; // 0x1140 - int32_t scepter_damage_reduction_pct; // 0x1144 + int32_t bonus_armor_per_hero; // 0x11b8 + int32_t bonus_damage_per_hero; // 0x11bc + int32_t lifesteal_per_hero; // 0x11c0 + int32_t scepter_damage_reduction_pct; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x1138 + int32_t m_nSuicideKillCount; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -24377,21 +25089,21 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t bonus_ms; // 0x1140 - int32_t stun_radius; // 0x1144 - float stun_duration; // 0x1148 - int32_t damage_percent; // 0x114c - int32_t m_nDamageRemaining; // 0x1150 + int32_t bonus_ms; // 0x11c0 + int32_t stun_radius; // 0x11c4 + float stun_duration; // 0x11c8 + int32_t damage_percent; // 0x11cc + int32_t m_nDamageRemaining; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -24399,94 +25111,94 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: - int32_t acceleration; // 0x1138 - int32_t m_nTeamNumber; // 0x113c - float speed; // 0x1140 - float pre_chase_time; // 0x1144 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1148 - Vector m_vStartPosition; // 0x114c - CountdownTimer m_MoveTime; // 0x1158 + int32_t acceleration; // 0x11b8 + int32_t m_nTeamNumber; // 0x11bc + float speed; // 0x11c0 + float pre_chase_time; // 0x11c4 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11c8 + Vector m_vStartPosition; // 0x11cc + CountdownTimer m_MoveTime; // 0x11d8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: - Vector m_vLastLoc; // 0x1138 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1144 + Vector m_vLastLoc; // 0x11b8 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: - int32_t secondary_slow; // 0x1138 + int32_t secondary_slow; // 0x11b8 }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float proximity_threshold; // 0x114c - float damage; // 0x1150 - float activation_delay; // 0x1154 - float outer_damage; // 0x1158 - int32_t min_distance; // 0x115c - bool bActivated; // 0x1160 + int32_t radius; // 0x11c8 + float proximity_threshold; // 0x11cc + float damage; // 0x11d0 + float activation_delay; // 0x11d4 + float outer_damage; // 0x11d8 + int32_t min_distance; // 0x11dc + bool bActivated; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - CountdownTimer m_Timer; // 0x1168 + CountdownTimer m_Timer; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: - int32_t mres_reduction; // 0x1138 + int32_t mres_reduction; // 0x11b8 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - int32_t activation_radius; // 0x1148 - int32_t stun_radius; // 0x114c - float stun_duration; // 0x1150 - float explode_delay; // 0x1154 - float activation_time; // 0x1158 - bool m_bActivated; // 0x115c - bool m_bTriggered; // 0x115d + int32_t activation_radius; // 0x11c8 + int32_t stun_radius; // 0x11cc + float stun_duration; // 0x11d0 + float explode_delay; // 0x11d4 + float activation_time; // 0x11d8 + bool m_bActivated; // 0x11dc + bool m_bTriggered; // 0x11dd }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -24494,7 +25206,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -24502,7 +25214,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: @@ -24510,7 +25222,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -24518,38 +25230,61 @@ public: }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t radius_scepter; // 0x1150 - int32_t damage_scepter; // 0x1154 - int32_t vision_radius; // 0x1158 - float vision_duration; // 0x115c - int32_t model_scale; // 0x1160 - bool bExploding; // 0x1164 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t radius_scepter; // 0x11d0 + int32_t damage_scepter; // 0x11d4 + int32_t vision_radius; // 0x11d8 + float vision_duration; // 0x11dc + int32_t model_scale; // 0x11e0 + bool bExploding; // 0x11e4 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 + float trigger_radius; // 0x11bc + float minefield_duration; // 0x11c0 + bool m_bTriggered; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff +{ +public: + int32_t aura_radius; // 0x11b8 + float minefield_duration; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff +{ +public: + float aura_radius; // 0x11b8 + float scepter_move_damage; // 0x11bc + float scepter_move_amt; // 0x11c0 + float minefield_duration; // 0x11c4 +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -24557,18 +25292,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float tick_interval; // 0x113c - float tick_damage; // 0x1140 - float duration; // 0x1144 + int32_t damage_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float tick_damage; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -24576,7 +25311,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -24584,7 +25319,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -24592,48 +25327,49 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x1138 - int32_t creep_damage_penalty; // 0x113c - int32_t radius; // 0x1140 - float attack_interval; // 0x1144 + int32_t bonus_hero_damage; // 0x11b8 + int32_t creep_damage_penalty; // 0x11bc + int32_t radius; // 0x11c0 + float attack_interval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: // No members available }; -// Alignment: 7 -// Size: 0x1160 +// Alignment: 8 +// Size: 0x11e0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t radius; // 0x1140 - float tick_interval; // 0x1144 - int32_t shield_pct_absorb; // 0x1148 - int32_t m_nAbsorbRemaining; // 0x114c - float m_flShowParticleInterval; // 0x1150 + int32_t absorb_amount; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t radius; // 0x11c0 + float tick_interval; // 0x11c4 + int32_t shield_pct_absorb; // 0x11c8 + int32_t m_nAbsorbRemaining; // 0x11cc + float m_flShowParticleInterval; // 0x11d0 + bool m_bDestroy; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -24641,42 +25377,42 @@ public: }; // Alignment: 3 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x1138 - CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x1150 - int32_t shard_charge_radius; // 0x1168 + CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x11b8 + CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x11d0 + int32_t shard_charge_radius; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x1138 - bool m_bIsShardRemnant; // 0x113c + int32_t m_nProjectileHandle; // 0x11b8 + bool m_bIsShardRemnant; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x1138 + int32_t shard_damage_per_second; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -24684,7 +25420,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -24692,7 +25428,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -24700,49 +25436,49 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x1138 + Vector m_vDir; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - CNewParticleEffect* m_pVisionRangeFX; // 0x1138 - int32_t vision_radius; // 0x1140 - bool m_bHasBeenMagnetized; // 0x1144 + CNewParticleEffect* m_pVisionRangeFX; // 0x11b8 + int32_t vision_radius; // 0x11c0 + bool m_bHasBeenMagnetized; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - ParticleIndex_t m_nFXIndex; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x1138 + bool m_bInterrupted; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nProjectileID; // 0x113c + int32_t m_nProjectileID; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -24750,71 +25486,71 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t rock_damage; // 0x113c - float pull_units_per_second; // 0x1140 - float pull_units_per_second_heroes; // 0x1144 - float total_pull_distance; // 0x1148 - float duration; // 0x114c - bool m_bUsedStone; // 0x1150 + int32_t radius; // 0x11b8 + int32_t rock_damage; // 0x11bc + float pull_units_per_second; // 0x11c0 + float pull_units_per_second_heroes; // 0x11c4 + float total_pull_distance; // 0x11c8 + float duration; // 0x11cc + bool m_bUsedStone; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - Vector m_vDestination; // 0x1154 - Vector m_vLocation; // 0x1160 + Vector m_vDestination; // 0x11d4 + Vector m_vLocation; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1170 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - bool m_bHasBeenMagnetized; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + bool m_bHasBeenMagnetized; // 0x11bc }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x1138 - int32_t damage_per_second; // 0x113c - float damage_interval; // 0x1140 - float rock_explosion_delay; // 0x1144 - float damage_duration; // 0x1148 - int32_t cast_radius; // 0x114c - int32_t rock_explosion_radius; // 0x1150 + int32_t rock_search_radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float damage_interval; // 0x11c0 + float rock_explosion_delay; // 0x11c4 + float damage_duration; // 0x11c8 + int32_t cast_radius; // 0x11cc + int32_t rock_explosion_radius; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1158 - float duration; // 0x1170 - bool m_bShowOverhead; // 0x1174 + CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x11d8 + float duration; // 0x11f0 + bool m_bShowOverhead; // 0x11f4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float damage_interval; // 0x113c - float damage_duration; // 0x1140 - int32_t rock_search_radius; // 0x1144 - CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x1148 + int32_t damage_per_second; // 0x11b8 + float damage_interval; // 0x11bc + float damage_duration; // 0x11c0 + int32_t rock_search_radius; // 0x11c4 + CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -24822,44 +25558,44 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x1138 - int32_t wave_count; // 0x113c - int32_t radius; // 0x1140 - float wave_interval; // 0x1144 - float burn_duration; // 0x1148 - float burn_interval; // 0x114c - float first_wave_delay; // 0x1150 - float building_damage; // 0x1154 - CHandle< C_BaseEntity > m_hTarget; // 0x1158 + int32_t wave_damage; // 0x11b8 + int32_t wave_count; // 0x11bc + int32_t radius; // 0x11c0 + float wave_interval; // 0x11c4 + float burn_duration; // 0x11c8 + float burn_interval; // 0x11cc + float first_wave_delay; // 0x11d0 + float building_damage; // 0x11d4 + CHandle< C_BaseEntity > m_hTarget; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - float burn_interval; // 0x113c - float building_damage; // 0x1140 + float burn_damage; // 0x11b8 + float burn_interval; // 0x11bc + float building_damage; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x1138 - int32_t radius; // 0x113c - float pit_interval; // 0x1140 - float ensnare_duration; // 0x1144 + int32_t pit_damage; // 0x11b8 + int32_t radius; // 0x11bc + float pit_interval; // 0x11c0 + float ensnare_duration; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -24867,15 +25603,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -24883,38 +25619,38 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 - float bonus_damage_duration; // 0x113c - int32_t bonus_damage_from_creep; // 0x1140 - int32_t bonus_damage_from_hero; // 0x1144 - bool m_bWasHidden; // 0x1148 + int32_t damage_reduction_pct; // 0x11b8 + float bonus_damage_duration; // 0x11bc + int32_t bonus_damage_from_creep; // 0x11c0 + int32_t bonus_damage_from_hero; // 0x11c4 + bool m_bWasHidden; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x1138 - float bonus_shared_by_allies_pct; // 0x113c - float m_flModifier; // 0x1140 + int32_t bonus_damage_from_hero; // 0x11b8 + float bonus_shared_by_allies_pct; // 0x11bc + float m_flModifier; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -24922,17 +25658,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x1138 - float bonus_shared_by_allies_pct; // 0x113c - float m_flModifier; // 0x1140 + int32_t bonus_damage_from_creep; // 0x11b8 + float bonus_shared_by_allies_pct; // 0x11bc + float m_flModifier; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -24940,95 +25676,96 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x1138 + int32_t bonus_damage_from_creep; // 0x11b8 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - int32_t radius; // 0x113c - int32_t duration; // 0x1140 - ParticleIndex_t m_nfxAmbientFx; // 0x1144 - bool bPointTarget; // 0x1148 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + int32_t radius; // 0x11bc + int32_t duration; // 0x11c0 + ParticleIndex_t m_nfxAmbientFx; // 0x11c4 + bool bPointTarget; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - Vector vDestination; // 0x114c + Vector vDestination; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x1138 + int32_t scepter_health_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x1138 - float m_fPortalRadius; // 0x113c + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 + float m_fPortalRadius; // 0x11bc }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - ParticleIndex_t m_nfxTargetTp2; // 0x113c - ParticleIndex_t m_nfxAmbientFx; // 0x1140 - ParticleIndex_t m_nfxPortal1; // 0x1144 - ParticleIndex_t m_nfxPortal2; // 0x1148 - float animation_rate; // 0x114c - int32_t stop_distance; // 0x1150 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 + float animation_rate; // 0x11cc + int32_t stop_distance; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t bonus_ms; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t bonus_ms; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< C_BaseEntity > hTarget; // 0x1138 + CHandle< C_BaseEntity > hTarget; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: @@ -25036,25 +25773,25 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c - int32_t melee_bonus; // 0x1140 + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc + int32_t melee_bonus; // 0x11c0 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -25062,7 +25799,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -25070,7 +25807,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -25078,46 +25815,46 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - float base_attack_time; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t m_iOriginalAttackCapabilities; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t speed_loss; // 0x1148 - int32_t attack_projectile_speed_bonus; // 0x114c - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1150 - CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x1158 + float base_attack_time; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t m_iOriginalAttackCapabilities; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t speed_loss; // 0x11c8 + int32_t attack_projectile_speed_bonus; // 0x11cc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x11d8 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1148 - int32_t scepter_speed; // 0x1160 - int32_t scepter_radius; // 0x1164 - bool m_bFirstThink; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t scepter_speed; // 0x11e0 + int32_t scepter_radius; // 0x11e4 + bool m_bFirstThink; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -25125,95 +25862,95 @@ public: }; // Alignment: 21 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - float m_flCurrentTime; // 0x115c - float m_flAccumulatedSelfDamage; // 0x1160 - bool m_bMovingForward; // 0x1164 - bool m_bTurningFast; // 0x1165 + int32_t hp_cost_perc_per_second; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + float m_flCurrentTime; // 0x11dc + float m_flAccumulatedSelfDamage; // 0x11e0 + bool m_bMovingForward; // 0x11e4 + bool m_bTurningFast; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - float m_flFacingTarget; // 0x1168 - float hp_perc_damage; // 0x116c - float hp_perc_heal; // 0x1170 - ParticleIndex_t m_nBeamFXIndex; // 0x1174 - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1178 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1198 - bool m_bCreatedVisionThinkers; // 0x119c + float m_flFacingTarget; // 0x11e8 + float hp_perc_damage; // 0x11ec + float hp_perc_heal; // 0x11f0 + ParticleIndex_t m_nBeamFXIndex; // 0x11f4 + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x11f8 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1218 + bool m_bCreatedVisionThinkers; // 0x121c private: - [[maybe_unused]] uint8_t __pad119d[0x3]; // 0x119d + [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x11a0 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1220 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x1138 + int32_t shard_move_slow_pct; // 0x11b8 }; // Alignment: 11 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x1138 - Vector m_vTarget; // 0x1144 - Vector m_vDirection; // 0x1150 - QAngle m_angDirection; // 0x115c - float m_flCurrentTime; // 0x1168 - int32_t dash_length; // 0x116c - int32_t dash_width; // 0x1170 - int32_t hit_radius; // 0x1174 - float burn_duration; // 0x1178 - float dive_duration; // 0x117c - CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1180 + Vector m_vSource; // 0x11b8 + Vector m_vTarget; // 0x11c4 + Vector m_vDirection; // 0x11d0 + QAngle m_angDirection; // 0x11dc + float m_flCurrentTime; // 0x11e8 + int32_t dash_length; // 0x11ec + int32_t dash_width; // 0x11f0 + int32_t hit_radius; // 0x11f4 + float burn_duration; // 0x11f8 + float dive_duration; // 0x11fc + CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1200 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t slow_movement_speed_pct; // 0x1140 + float burn_tick_interval; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow_movement_speed_pct; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t attackspeed_slow; // 0x113c - int32_t damage_per_second; // 0x1140 + float tick_interval; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc + int32_t damage_per_second; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -25221,29 +25958,29 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t max_hero_attacks; // 0x1140 - int32_t max_hero_attacks_scepter; // 0x1144 - int32_t max_hero_attacks_required; // 0x1148 - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x114c - int32_t m_iAttackCount; // 0x1150 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t max_hero_attacks; // 0x11c0 + int32_t max_hero_attacks_scepter; // 0x11c4 + int32_t max_hero_attacks_required; // 0x11c8 + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11cc + int32_t m_iAttackCount; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 + int32_t damage_per_sec; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -25251,7 +25988,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -25259,7 +25996,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -25267,303 +26004,338 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x1138 - float tick_rate; // 0x113c + float heal_per_second; // 0x11b8 + float tick_rate; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11d0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - // No members available + float shard_spell_amp_bonus; // 0x11c8 + float shard_bat_bonus; // 0x11cc }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x30]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x30]; // 0x11b8 public: - bool m_bWaitingForInvulnerability; // 0x1168 - bool m_bDisableHealing; // 0x1169 + bool m_bWaitingForInvulnerability; // 0x11e8 + bool m_bDisableHealing; // 0x11e9 private: - [[maybe_unused]] uint8_t __pad116a[0x2]; // 0x116a + [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea public: - float m_flHealthOnCreated; // 0x116c - ParticleIndex_t m_nFXIndex; // 0x1170 - ParticleIndex_t m_nFXIndexB; // 0x1174 - float m_flRunningDmg; // 0x1178 - float m_flRunningHealth; // 0x117c - int32_t bonus_armor; // 0x1180 + float m_flHealthOnCreated; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x11f0 + ParticleIndex_t m_nFXIndexB; // 0x11f4 + float m_flRunningDmg; // 0x11f8 + float m_flRunningHealth; // 0x11fc + int32_t bonus_armor; // 0x1200 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + float damage; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x1138 + int32_t heal_amp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x1138 - int32_t attack_range_bonus; // 0x113c - int32_t projectile_speed_bonus; // 0x1140 - int32_t night_vision_bonus; // 0x1144 - int32_t movement_scepter; // 0x1148 + float attack_point; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t projectile_speed_bonus; // 0x11c0 + int32_t night_vision_bonus; // 0x11c4 + int32_t movement_scepter; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1150 - int32_t max_attacks; // 0x1158 - int32_t m_iNumAttacks; // 0x115c + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d0 + int32_t max_attacks; // 0x11d8 + int32_t m_iNumAttacks; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x1138 - int32_t move_slow; // 0x113c + float percent_damage; // 0x11b8 + int32_t move_slow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t heal_additive; // 0x1140 - float heal_percentage; // 0x1144 + int32_t heal_additive; // 0x11c0 + float heal_percentage; // 0x11c4 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c - GameTime_t m_flLastSeen; // 0x1150 + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc + GameTime_t m_flLastSeen; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - CHandle< C_BaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 13 +// Size: 0x11f0 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t search_radius; // 0x1140 - int32_t move_speed_slow_pct; // 0x1144 - float think_interval; // 0x1148 - int32_t m_nCurrentSlow; // 0x114c - bool m_bAlone; // 0x1150 + int32_t m_nCasterTeam; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t tempest_damage_per_second; // 0x11c0 + int32_t search_radius; // 0x11c4 + int32_t move_speed_slow_pct; // 0x11c8 + int32_t tempest_move_speed_slow_pct; // 0x11cc + int32_t status_resist; // 0x11d0 + float think_interval; // 0x11d4 + int32_t m_nCurrentMovementSlow; // 0x11d8 + int32_t m_nCurrentStatusResistance; // 0x11dc + bool m_bAlone; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - ParticleIndex_t m_nFXIndex; // 0x1154 + ParticleIndex_t m_nFXIndex; // 0x11e4 + bool m_bIsTempestVersion; // 0x11e8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 - Vector m_vPos; // 0x1144 + int32_t radius; // 0x11c0 + Vector m_vPos; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c - int32_t shard_magic_resist; // 0x1140 - int32_t shard_slow_pct; // 0x1144 - float aura_origin_x; // 0x1148 - float aura_origin_y; // 0x114c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff -{ -public: - int32_t attack_speed_bonus; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff -{ -public: - int32_t move_speed_slow_pct; // 0x1138 -}; - -// Alignment: 11 -// Size: 0x1168 -class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff -{ -public: - int32_t radius; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t wraith_vision_radius; // 0x1140 - int32_t wraith_speed; // 0x1144 -private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 -public: - float activation_delay; // 0x1150 - float scepter_activation_delay; // 0x1154 - float think_interval; // 0x1158 - int32_t m_nSparkDamage; // 0x115c - int32_t m_nViewerID; // 0x1160 - bool m_bActive; // 0x1164 - bool m_bOriginal; // 0x1165 + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc + int32_t shard_magic_resist; // 0x11c0 + int32_t shard_slow_pct; // 0x11c4 + float aura_origin_x; // 0x11c8 + float aura_origin_y; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff +// Size: 0x11d0 +class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 +public: + int32_t radius; // 0x11c0 + Vector m_vPos; // 0x11c4 +}; + +// Alignment: 8 +// Size: 0x11f0 +class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x1138 - int32_t attack_damage_penalty; // 0x113c + int32_t attack_range_bonus; // 0x11b8 + int32_t attack_magic_damage; // 0x11bc + int32_t radius; // 0x11c0 + int32_t shard_magic_resist; // 0x11c4 + int32_t shard_slow_pct; // 0x11c8 + float aura_origin_x; // 0x11cc + float aura_origin_y; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hRune; // 0x1138 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Banana : public CDOTA_Buff -{ -public: - int32_t slide_distance; // 0x1138 - int32_t radius; // 0x113c - float slide_duration; // 0x1140 + int32_t move_speed_slow_pct; // 0x11b8 }; // Alignment: 11 -// Size: 0x1188 +// Size: 0x11e8 +class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t wraith_vision_radius; // 0x11c0 + int32_t wraith_speed; // 0x11c4 +private: + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 +public: + float activation_delay; // 0x11d0 + float scepter_activation_delay; // 0x11d4 + float think_interval; // 0x11d8 + int32_t m_nSparkDamage; // 0x11dc + int32_t m_nViewerID; // 0x11e0 + bool m_bActive; // 0x11e4 + bool m_bOriginal; // 0x11e5 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff +{ +public: + int32_t penalty_distance; // 0x11b8 + int32_t attack_damage_penalty; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff +{ +public: + int32_t attack_damage_penalty; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff +{ +public: + CHandle< C_BaseEntity > m_hRune; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Banana : public CDOTA_Buff +{ +public: + int32_t slide_distance; // 0x11b8 + int32_t radius; // 0x11bc + float slide_duration; // 0x11c0 +}; + +// Alignment: 11 +// Size: 0x1208 class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff { public: - Vector m_vCenter; // 0x1138 - int32_t knockback_distance; // 0x1144 - int32_t knockback_height; // 0x1148 - float knockback_duration; // 0x114c - Vector m_vHorizOffset; // 0x1150 - Vector m_vStartPosition; // 0x115c - Vector m_vDir; // 0x1168 - float m_fCurrentTimeHoriz; // 0x1174 - float m_fCurrentTimeVert; // 0x1178 - bool m_bShouldStun; // 0x117c + Vector m_vCenter; // 0x11b8 + int32_t knockback_distance; // 0x11c4 + int32_t knockback_height; // 0x11c8 + float knockback_duration; // 0x11cc + Vector m_vHorizOffset; // 0x11d0 + Vector m_vStartPosition; // 0x11dc + Vector m_vDir; // 0x11e8 + float m_fCurrentTimeHoriz; // 0x11f4 + float m_fCurrentTimeVert; // 0x11f8 + bool m_bShouldStun; // 0x11fc private: - [[maybe_unused]] uint8_t __pad117d[0x3]; // 0x117d + [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: - float flTimeSinceChange; // 0x1180 + float flTimeSinceChange; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -25571,44 +26343,44 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x1138 + int32_t strike_crit_mult; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x1138 + float jump_damage_cooldown; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - float give_up_distance; // 0x1138 - float ground_jump_distance; // 0x113c - float m_flZDelta; // 0x1140 - float perched_day_vision; // 0x1144 - float perched_night_vision; // 0x1148 + float give_up_distance; // 0x11b8 + float ground_jump_distance; // 0x11bc + float m_flZDelta; // 0x11c0 + float perched_day_vision; // 0x11c4 + float perched_night_vision; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x1138 - float m_bIsSpring; // 0x113c + float m_fAbilityRangePct; // 0x11b8 + float m_bIsSpring; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -25616,24 +26388,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x1138 - int32_t m_nSlowPct; // 0x113c + int32_t impact_movement_slow; // 0x11b8 + int32_t m_nSlowPct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -25641,7 +26413,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -25649,95 +26421,95 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - float leap_speed; // 0x1138 - float give_up_distance; // 0x113c - float attackspeed_duration; // 0x1140 - float m_flOriginalZDelta; // 0x1144 - float m_flZDelta; // 0x1148 + float leap_speed; // 0x11b8 + float give_up_distance; // 0x11bc + float attackspeed_duration; // 0x11c0 + float m_flOriginalZDelta; // 0x11c4 + float m_flZDelta; // 0x11c8 }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - CUtlString m_strDisguise; // 0x1138 - int32_t movespeed; // 0x1140 - int32_t m_nDisguisedSpeed; // 0x1144 - int32_t reveal_radius; // 0x1148 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x114c - CHandle< C_BaseEntity > m_hCourierToClone; // 0x1150 - CHandle< C_BaseEntity > m_hCreepToClone; // 0x1154 - CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x1158 - bool m_bIsFlyingCourier; // 0x1170 - bool m_bIsRune; // 0x1171 - bool m_bIsBanana; // 0x1172 - bool m_bIsFakeAlly; // 0x1173 - uint32_t m_nMischiefUnitType; // 0x1174 - int32_t m_nMischiefHealthbarOffset; // 0x1178 - float invul_duration; // 0x117c + CUtlString m_strDisguise; // 0x11b8 + int32_t movespeed; // 0x11c0 + int32_t m_nDisguisedSpeed; // 0x11c4 + int32_t reveal_radius; // 0x11c8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x11cc + CHandle< C_BaseEntity > m_hCourierToClone; // 0x11d0 + CHandle< C_BaseEntity > m_hCreepToClone; // 0x11d4 + CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x11d8 + bool m_bIsFlyingCourier; // 0x11f0 + bool m_bIsRune; // 0x11f1 + bool m_bIsBanana; // 0x11f2 + bool m_bIsFakeAlly; // 0x11f3 + uint32_t m_nMischiefUnitType; // 0x11f4 + int32_t m_nMischiefHealthbarOffset; // 0x11f8 + float invul_duration; // 0x11fc }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - float m_fDuration; // 0x1138 - GameTime_t m_fTimeThinkerCreated; // 0x113c - CUtlVector< Vector > m_vTargetPositions; // 0x1140 - Vector m_vInitialPos; // 0x1158 - int32_t first_radius; // 0x1164 - int32_t num_first_soldiers; // 0x1168 - int32_t second_radius; // 0x116c - int32_t num_second_soldiers; // 0x1170 - ParticleIndex_t m_nRingFXIndex; // 0x1174 - int32_t final_radius; // 0x1178 + float m_fDuration; // 0x11b8 + GameTime_t m_fTimeThinkerCreated; // 0x11bc + CUtlVector< Vector > m_vTargetPositions; // 0x11c0 + Vector m_vInitialPos; // 0x11d8 + int32_t first_radius; // 0x11e4 + int32_t num_first_soldiers; // 0x11e8 + int32_t second_radius; // 0x11ec + int32_t num_second_soldiers; // 0x11f0 + ParticleIndex_t m_nRingFXIndex; // 0x11f4 + int32_t final_radius; // 0x11f8 }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - Vector m_vDirection; // 0x1144 - int32_t move_speed; // 0x1150 - CHandle< C_BaseEntity > m_hThinker; // 0x1154 - bool m_bIsInPosition; // 0x1158 + Vector m_vTargetPos; // 0x11b8 + Vector m_vDirection; // 0x11c4 + int32_t move_speed; // 0x11d0 + CHandle< C_BaseEntity > m_hThinker; // 0x11d4 + bool m_bIsInPosition; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bAutoSpawn; // 0x1160 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bAutoSpawn; // 0x11e0 }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - CHandle< C_BaseEntity > m_hAttackTarget; // 0x1144 - float attack_speed; // 0x1148 - int32_t second_radius; // 0x114c - int32_t outer_attack_buffer; // 0x1150 - CHandle< C_BaseEntity > m_hThinker; // 0x1154 - bool m_bDisarmed; // 0x1158 + Vector m_vTargetPos; // 0x11b8 + CHandle< C_BaseEntity > m_hAttackTarget; // 0x11c4 + float attack_speed; // 0x11c8 + int32_t second_radius; // 0x11cc + int32_t outer_attack_buffer; // 0x11d0 + CHandle< C_BaseEntity > m_hThinker; // 0x11d4 + bool m_bDisarmed; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - GameTime_t m_flNextAttackTime; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 - bool m_bAutoSpawn; // 0x1164 + GameTime_t m_flNextAttackTime; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 + bool m_bAutoSpawn; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -25745,7 +26517,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -25753,7 +26525,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -25761,46 +26533,46 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x1138 - int32_t required_hits; // 0x113c - int32_t max_duration; // 0x1140 + int32_t counter_duration; // 0x11b8 + int32_t required_hits; // 0x11bc + int32_t max_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - int32_t charges; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t lifesteal; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - int32_t m_nIgnoreStrikeIndex; // 0x1148 - bool m_bIsAttackAnim; // 0x114c + int32_t charges; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t lifesteal; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + int32_t m_nIgnoreStrikeIndex; // 0x11c8 + bool m_bIsAttackAnim; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -25808,7 +26580,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: @@ -25816,69 +26588,69 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - int32_t acceleration_z; // 0x1138 - int32_t min_height_above_lowest; // 0x113c - int32_t min_height_above_highest; // 0x1140 - int32_t max_horizontal_acceleration; // 0x1144 + int32_t acceleration_z; // 0x11b8 + int32_t min_height_above_lowest; // 0x11bc + int32_t min_height_above_highest; // 0x11c0 + int32_t max_horizontal_acceleration; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x1138 - int32_t chance_pct; // 0x113c + float debuff_delay; // 0x11b8 + int32_t chance_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x1138 - float debuff_delay; // 0x113c + float duration; // 0x11b8 + float debuff_delay; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 + int32_t chance_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t armor; // 0x113c + int32_t slow; // 0x11b8 + int32_t armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -25886,23 +26658,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -25910,27 +26682,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x1138 - float attack_interval; // 0x113c - Vector m_vSpawnPos; // 0x1140 - Vector m_vStrikeDir; // 0x114c - Vector m_vDashDir; // 0x1158 + int32_t m_nStrikesLeft; // 0x11b8 + float attack_interval; // 0x11bc + Vector m_vSpawnPos; // 0x11c0 + Vector m_vStrikeDir; // 0x11cc + Vector m_vDashDir; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -25938,40 +26710,40 @@ public: }; // Alignment: 20 -// Size: 0x11d8 -class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_MagicImmune +// Size: 0x1258 +class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x1138 - float tick_interval; // 0x113c - float forward_move_speed; // 0x1140 - float turn_rate_boosted; // 0x1144 - float turn_rate; // 0x1148 - int32_t hit_radius; // 0x114c - int32_t knockback_radius; // 0x1150 - bool m_bHitFirstUpdate; // 0x1154 + int32_t mp_cost_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float forward_move_speed; // 0x11c0 + float turn_rate_boosted; // 0x11c4 + float turn_rate; // 0x11c8 + int32_t hit_radius; // 0x11cc + int32_t knockback_radius; // 0x11d0 + bool m_bHitFirstUpdate; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - GameTime_t m_flHitEndTime; // 0x1158 - float hit_recover_time; // 0x115c - GameTime_t m_flJumpEndTime; // 0x1160 - float jump_recover_time; // 0x1164 - float m_flTurnBoostProgress; // 0x1168 - float m_flFacingTarget; // 0x116c - bool m_bIsJumping; // 0x1170 + GameTime_t m_flHitEndTime; // 0x11d8 + float hit_recover_time; // 0x11dc + GameTime_t m_flJumpEndTime; // 0x11e0 + float jump_recover_time; // 0x11e4 + float m_flTurnBoostProgress; // 0x11e8 + float m_flFacingTarget; // 0x11ec + bool m_bIsJumping; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - ParticleIndex_t m_nFXIndex; // 0x1174 - CUtlVector< float32 > m_flTurnHistory; // 0x1178 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1190 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x11a8 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11f4 + CUtlVector< float32 > m_flTurnHistory; // 0x11f8 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1210 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1228 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1240 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: @@ -25979,7 +26751,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -25987,7 +26759,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: @@ -25995,7 +26767,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -26003,69 +26775,69 @@ public: }; // Alignment: 22 -// Size: 0x11e0 -class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_MagicImmune +// Size: 0x1260 +class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x1138 - float tick_interval; // 0x113c - float forward_move_speed; // 0x1140 - float turn_rate_boosted; // 0x1144 - float turn_rate; // 0x1148 - int32_t hit_radius; // 0x114c - int32_t knockback_radius; // 0x1150 - bool m_bHitFirstUpdate; // 0x1154 + int32_t mp_cost_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float forward_move_speed; // 0x11c0 + float turn_rate_boosted; // 0x11c4 + float turn_rate; // 0x11c8 + int32_t hit_radius; // 0x11cc + int32_t knockback_radius; // 0x11d0 + bool m_bHitFirstUpdate; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - GameTime_t m_flHitEndTime; // 0x1158 - float hit_recover_time; // 0x115c - GameTime_t m_flJumpEndTime; // 0x1160 - float jump_recover_time; // 0x1164 - float m_flTurnBoostProgress; // 0x1168 - float m_flFacingTarget; // 0x116c - GameTime_t m_flLastHeroAttackTime; // 0x1170 - bool m_bIsJumping; // 0x1174 + GameTime_t m_flHitEndTime; // 0x11d8 + float hit_recover_time; // 0x11dc + GameTime_t m_flJumpEndTime; // 0x11e0 + float jump_recover_time; // 0x11e4 + float m_flTurnBoostProgress; // 0x11e8 + float m_flFacingTarget; // 0x11ec + GameTime_t m_flLastHeroAttackTime; // 0x11f0 + bool m_bIsJumping; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - ParticleIndex_t m_nFXIndex; // 0x1178 - float m_flGyroshellDurationRemaining; // 0x117c - CUtlVector< float32 > m_flTurnHistory; // 0x1180 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1198 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x11b0 - CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11f8 + float m_flGyroshellDurationRemaining; // 0x11fc + CUtlVector< float32 > m_flTurnHistory; // 0x1200 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1218 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1230 + CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1248 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x1138 - float initial_creation_delay; // 0x113c - int32_t placement_count; // 0x1140 - float placement_duration; // 0x1144 - int32_t m_iBramblesIndex; // 0x1148 + float latch_creation_interval; // 0x11b8 + float initial_creation_delay; // 0x11bc + int32_t placement_count; // 0x11c0 + float placement_duration; // 0x11c4 + int32_t m_iBramblesIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 - int32_t latch_vision; // 0x113c - float latch_creation_delay; // 0x1140 - float latch_duration; // 0x1144 + int32_t latch_range; // 0x11b8 + int32_t latch_vision; // 0x11bc + float latch_creation_delay; // 0x11c0 + float latch_duration; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - bool m_bActive; // 0x1150 + bool m_bActive; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -26073,7 +26845,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -26081,96 +26853,97 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float max_damage_duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float max_damage_duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - bool bAttackRange; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + bool bAttackRange; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - GameTime_t m_flStartTime; // 0x1164 - GameTime_t m_flFadeTime; // 0x1168 - float m_flDamageScale; // 0x116c - float duration; // 0x1170 + GameTime_t m_flStartTime; // 0x11e4 + GameTime_t m_flFadeTime; // 0x11e8 + float m_flDamageScale; // 0x11ec + float duration; // 0x11f0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t m_iRecord; // 0x113c - float m_flDamageScale; // 0x1140 + int32_t damage; // 0x11b8 + int32_t m_iRecord; // 0x11bc + float m_flDamageScale; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x1138 - float stun_duration; // 0x113c - int32_t stun_radius; // 0x1140 - GameTime_t m_fStartTime; // 0x1144 + float delay; // 0x11b8 + float stun_duration; // 0x11bc + int32_t stun_radius; // 0x11c0 + GameTime_t m_fStartTime; // 0x11c4 }; -// Alignment: 7 -// Size: 0x1158 +// Alignment: 8 +// Size: 0x11d8 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< C_BaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - int32_t roaming_radius; // 0x1144 - int32_t attack_radius; // 0x1148 - float roaming_seconds_per_rotation; // 0x114c - float attack_interval; // 0x1150 + float m_flRotation; // 0x11b8 + CHandle< C_BaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + int32_t roaming_radius; // 0x11c4 + int32_t attack_radius; // 0x11c8 + float roaming_seconds_per_rotation; // 0x11cc + float attack_interval; // 0x11d0 + int32_t target_count; // 0x11d4 }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hWisp; // 0x1138 - int32_t destination_travel_speed; // 0x113c - int32_t return_travel_speed; // 0x1140 - int32_t destination_radius; // 0x1144 - float destination_status_duration; // 0x1148 - float initial_delay; // 0x114c - float starting_height; // 0x1150 - Vector m_vAttackLocation; // 0x1154 - bool m_bAttacking; // 0x1160 - bool m_bReturning; // 0x1161 + CHandle< C_BaseEntity > m_hWisp; // 0x11b8 + int32_t destination_travel_speed; // 0x11bc + int32_t return_travel_speed; // 0x11c0 + int32_t destination_radius; // 0x11c4 + float destination_status_duration; // 0x11c8 + float initial_delay; // 0x11cc + float starting_height; // 0x11d0 + Vector m_vAttackLocation; // 0x11d4 + bool m_bAttacking; // 0x11e0 + bool m_bReturning; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0x2]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2 public: - float m_fCurHeight; // 0x1164 - float m_fEstimatedTravelTime; // 0x1168 - float think_interval; // 0x116c - bool m_bInFlight; // 0x1170 + float m_fCurHeight; // 0x11e4 + float m_fEstimatedTravelTime; // 0x11e8 + float think_interval; // 0x11ec + bool m_bInFlight; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x1138 + bool m_bDidGiveOrder; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: @@ -26178,158 +26951,158 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1138 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11b8 }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nAmbientFXIndex; // 0x113c - int32_t m_nAttackCount; // 0x1140 - bool m_bIsLatched; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nAmbientFXIndex; // 0x11bc + int32_t m_nAttackCount; // 0x11c0 + bool m_bIsLatched; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1148 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CountdownTimer m_EnemyVision; // 0x1150 - float latch_duration; // 0x1168 - float speed; // 0x116c - int32_t destroy_attacks; // 0x1170 - int32_t hero_attack_multiplier; // 0x1174 + CountdownTimer m_EnemyVision; // 0x11d0 + float latch_duration; // 0x11e8 + float speed; // 0x11ec + int32_t destroy_attacks; // 0x11f0 + int32_t hero_attack_multiplier; // 0x11f4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x1138 - CHandle< C_BaseEntity > m_hLatchedCreature; // 0x113c - float tick_interval; // 0x1140 - int32_t damage_per_second; // 0x1144 + float m_flCurrentArmorReduction; // 0x11b8 + CHandle< C_BaseEntity > m_hLatchedCreature; // 0x11bc + float tick_interval; // 0x11c0 + int32_t damage_per_second; // 0x11c4 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1138 - float m_fZOffset; // 0x113c - bool m_bRemovedByEnemy; // 0x1140 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11b8 + float m_fZOffset; // 0x11bc + bool m_bRemovedByEnemy; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float latch_duration; // 0x1144 - int32_t pop_damage; // 0x1148 - int32_t latched_unit_offset; // 0x114c - int32_t latched_unit_offset_short; // 0x1150 + float latch_duration; // 0x11c4 + int32_t pop_damage; // 0x11c8 + int32_t latched_unit_offset; // 0x11cc + int32_t latched_unit_offset_short; // 0x11d0 }; // Alignment: 14 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x1138 - int32_t m_nHeroTickDamageApplied; // 0x113c - GameTime_t m_fLastEffectsTime; // 0x1140 - int32_t radius; // 0x1144 - float buff_duration; // 0x1148 - float debuff_duration; // 0x114c - int32_t max_damage; // 0x1150 - float max_stun; // 0x1154 - int32_t movespeed_bonus_pct; // 0x1158 - int32_t damage_per_tick; // 0x115c - float tick_rate; // 0x1160 - float max_threshold_duration; // 0x1164 - int32_t shard_bonus_damage_pct; // 0x1168 - int32_t shard_heal_pct; // 0x116c + GameTime_t m_fStartTime; // 0x11b8 + int32_t m_nHeroTickDamageApplied; // 0x11bc + GameTime_t m_fLastEffectsTime; // 0x11c0 + int32_t radius; // 0x11c4 + float buff_duration; // 0x11c8 + float debuff_duration; // 0x11cc + int32_t max_damage; // 0x11d0 + float max_stun; // 0x11d4 + int32_t movespeed_bonus_pct; // 0x11d8 + int32_t damage_per_tick; // 0x11dc + float tick_rate; // 0x11e0 + float max_threshold_duration; // 0x11e4 + int32_t shard_bonus_damage_pct; // 0x11e8 + int32_t shard_heal_pct; // 0x11ec }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 17 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hPartner; // 0x1138 - bool m_bIsPrimary; // 0x113c - bool m_bEscaped; // 0x113d - bool m_bTethered; // 0x113e + CHandle< C_BaseEntity > m_hPartner; // 0x11b8 + bool m_bIsPrimary; // 0x11bc + bool m_bEscaped; // 0x11bd + bool m_bTethered; // 0x11be private: - [[maybe_unused]] uint8_t __pad113f[0x1]; // 0x113f + [[maybe_unused]] uint8_t __pad11bf[0x1]; // 0x11bf public: - ParticleIndex_t m_nFXIndex; // 0x1140 - ParticleIndex_t m_nFXIndexA; // 0x1144 - ParticleIndex_t m_nFXIndexB; // 0x1148 - bool m_bStartedLeashSound; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11c0 + ParticleIndex_t m_nFXIndexA; // 0x11c4 + ParticleIndex_t m_nFXIndexB; // 0x11c8 + bool m_bStartedLeashSound; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fLeashDistance; // 0x1150 - GameTime_t m_fOriginalStartTime; // 0x1154 - ParticleIndex_t m_nOverheadFXIndex; // 0x1158 - int32_t chain_latch_radius; // 0x115c - int32_t chain_break_distance; // 0x1160 - float leash_limit_multiplier; // 0x1164 - float chain_duration; // 0x1168 - float creep_duration_pct; // 0x116c - int32_t bonus_reflected_spell_damage; // 0x1170 + float m_fLeashDistance; // 0x11d0 + GameTime_t m_fOriginalStartTime; // 0x11d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x11d8 + int32_t chain_latch_radius; // 0x11dc + int32_t chain_break_distance; // 0x11e0 + float leash_limit_multiplier; // 0x11e4 + float chain_duration; // 0x11e8 + float creep_duration_pct; // 0x11ec + int32_t bonus_reflected_spell_damage; // 0x11f0 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAbility; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x1140 - Vector m_vLocation; // 0x1158 - GameTime_t m_fChannelEnd; // 0x1164 - bool m_bInterrupt; // 0x1168 - bool m_bExpired; // 0x1169 + CHandle< C_BaseEntity > m_hAbility; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x11c0 + Vector m_vLocation; // 0x11d8 + GameTime_t m_fChannelEnd; // 0x11e4 + bool m_bInterrupt; // 0x11e8 + bool m_bExpired; // 0x11e9 }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x1138 + int32_t images_movespeed_bonus; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t move_speed; // 0x1140 - float m_flInterval; // 0x1144 + int32_t total_damage; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t move_speed; // 0x11c0 + float m_flInterval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: @@ -26337,28 +27110,28 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t shard_trail_radius; // 0x1144 - float shard_debuff_linger_duration; // 0x1148 - float shard_interval; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t shard_trail_radius; // 0x11c4 + float shard_debuff_linger_duration; // 0x11c8 + float shard_interval; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x1138 - int32_t shard_move_slow_pct; // 0x113c - float shard_interval; // 0x1140 + int32_t shard_dps; // 0x11b8 + int32_t shard_move_slow_pct; // 0x11bc + float shard_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -26366,26 +27139,26 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float formation_time; // 0x113c - float m_flInitialZ; // 0x1140 - float m_flFinalZ; // 0x1144 + float radius; // 0x11b8 + float formation_time; // 0x11bc + float m_flInitialZ; // 0x11c0 + float m_flFinalZ; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -26393,40 +27166,40 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 + int32_t health_regen; // 0x11b8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t width; // 0x113c - int32_t spear_damage; // 0x1140 - int32_t spear_distance_from_wall; // 0x1144 - float spear_attack_interval; // 0x1148 + int32_t radius; // 0x11b8 + int32_t width; // 0x11bc + int32_t spear_damage; // 0x11c0 + int32_t spear_distance_from_wall; // 0x11c4 + float spear_attack_interval; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x1c]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x1c]; // 0x11cc public: - float warrior_fade_min_dist; // 0x1168 - float warrior_fade_max_dist; // 0x116c + float warrior_fade_min_dist; // 0x11e8 + float warrior_fade_max_dist; // 0x11ec }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -26434,17 +27207,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float width; // 0x113c - Vector m_vOriginLoc; // 0x1140 + int32_t radius; // 0x11b8 + float width; // 0x11bc + Vector m_vOriginLoc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -26452,65 +27225,65 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 }; // Alignment: 13 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x1138 - int32_t redirect_range; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 - int32_t redirect_speed_penatly; // 0x1148 - int32_t redirect_close_range; // 0x114c - int32_t m_nPoseParameterWE; // 0x1150 - int32_t m_nPoseParameterNS; // 0x1154 - float m_flLastPoseX; // 0x1158 - float m_flLastPoseY; // 0x115c - int32_t m_nLastMaxDirection; // 0x1160 - Vector m_vLastOrigin; // 0x1164 - GameTime_t m_flLastGameTime; // 0x1170 + int32_t redirect_chance; // 0x11b8 + int32_t redirect_range; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 + int32_t redirect_speed_penatly; // 0x11c8 + int32_t redirect_close_range; // 0x11cc + int32_t m_nPoseParameterWE; // 0x11d0 + int32_t m_nPoseParameterNS; // 0x11d4 + float m_flLastPoseX; // 0x11d8 + float m_flLastPoseY; // 0x11dc + int32_t m_nLastMaxDirection; // 0x11e0 + Vector m_vLastOrigin; // 0x11e4 + GameTime_t m_flLastGameTime; // 0x11f0 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t m_nPoseParameterWE; // 0x1138 - int32_t m_nPoseParameterNS; // 0x113c - float m_flLastPoseX; // 0x1140 - float m_flLastPoseY; // 0x1144 - int32_t m_nLastMaxDirection; // 0x1148 - Vector m_vLastOrigin; // 0x114c - GameTime_t m_flLastGameTime; // 0x1158 + int32_t m_nPoseParameterWE; // 0x11b8 + int32_t m_nPoseParameterNS; // 0x11bc + float m_flLastPoseX; // 0x11c0 + float m_flLastPoseY; // 0x11c4 + int32_t m_nLastMaxDirection; // 0x11c8 + Vector m_vLastOrigin; // 0x11cc + GameTime_t m_flLastGameTime; // 0x11d8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - GameTime_t m_NextAttack; // 0x1138 - CHandle< C_BaseEntity > m_hSoldier1; // 0x113c - CHandle< C_BaseEntity > m_hSoldier2; // 0x1140 - CHandle< C_BaseEntity > m_hSoldier3; // 0x1144 - CHandle< C_BaseEntity > m_hSoldier4; // 0x1148 - CHandle< C_BaseEntity > m_hSoldier5; // 0x114c + GameTime_t m_NextAttack; // 0x11b8 + CHandle< C_BaseEntity > m_hSoldier1; // 0x11bc + CHandle< C_BaseEntity > m_hSoldier2; // 0x11c0 + CHandle< C_BaseEntity > m_hSoldier3; // 0x11c4 + CHandle< C_BaseEntity > m_hSoldier4; // 0x11c8 + CHandle< C_BaseEntity > m_hSoldier5; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -26518,73 +27291,73 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x1138 + int32_t scepter_movement_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x1138 + int32_t scepter_bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 21 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x1138 - float m_flFacingTarget; // 0x113c - ParticleIndex_t m_nBeamFXIndex; // 0x1140 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x1144 - float m_flCurDistance; // 0x1148 - Vector m_vAimTarget; // 0x114c - float m_fLastTurnAmount; // 0x1158 - int32_t m_nProjectilesLaunched; // 0x115c - bool m_bDestroyOnNextThink; // 0x1160 + float m_fIntervalPerRocket; // 0x11b8 + float m_flFacingTarget; // 0x11bc + ParticleIndex_t m_nBeamFXIndex; // 0x11c0 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x11c4 + float m_flCurDistance; // 0x11c8 + Vector m_vAimTarget; // 0x11cc + float m_fLastTurnAmount; // 0x11d8 + int32_t m_nProjectilesLaunched; // 0x11dc + bool m_bDestroyOnNextThink; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nProjectilesToLaunch; // 0x1164 - bool m_bHasProjectileTalent; // 0x1168 + int32_t m_nProjectilesToLaunch; // 0x11e4 + bool m_bHasProjectileTalent; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - int32_t projectile_count; // 0x116c - int32_t projectile_speed; // 0x1170 - int32_t projectile_width; // 0x1174 - int32_t projectile_vision; // 0x1178 - float turn_rate; // 0x117c - int32_t min_range; // 0x1180 - int32_t impact_radius; // 0x1184 - float min_lob_travel_time; // 0x1188 - float max_lob_travel_time; // 0x118c - float delay_after_last_projectile; // 0x1190 + int32_t projectile_count; // 0x11ec + int32_t projectile_speed; // 0x11f0 + int32_t projectile_width; // 0x11f4 + int32_t projectile_vision; // 0x11f8 + float turn_rate; // 0x11fc + int32_t min_range; // 0x1200 + int32_t impact_radius; // 0x1204 + float min_lob_travel_time; // 0x1208 + float max_lob_travel_time; // 0x120c + float delay_after_last_projectile; // 0x1210 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -26592,44 +27365,44 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t impact_radius; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_linger_duration; // 0x1144 - ParticleIndex_t m_nPathEffectIndex; // 0x1148 + float burn_interval; // 0x11b8 + int32_t impact_radius; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_linger_duration; // 0x11c4 + ParticleIndex_t m_nPathEffectIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x1138 - float m_fBurnDamagePerTick; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_interval; // 0x1144 - int32_t burn_damage; // 0x1148 + int32_t m_nMoveSlowPct; // 0x11b8 + float m_fBurnDamagePerTick; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_interval; // 0x11c4 + int32_t burn_damage; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x1138 + bool m_bIsPointBlank; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t movement_slow_pct; // 0x113c - int32_t attack_slow_pct; // 0x1140 + int32_t movement_slow_pct; // 0x11bc + int32_t attack_slow_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -26637,15 +27410,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 + float jump_duration; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: @@ -26653,7 +27426,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -26661,7 +27434,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -26669,44 +27442,44 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t m_nIsActive; // 0x1158 - bool m_bHasAttackTalent; // 0x115c - bool m_bBonusAttack; // 0x115d + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t m_nIsActive; // 0x11d8 + bool m_bHasAttackTalent; // 0x11dc + bool m_bBonusAttack; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - int32_t attack_range_bonus; // 0x1160 - int32_t buffed_attacks; // 0x1164 - float base_attack_time; // 0x1168 - int32_t attack_speed_bonus; // 0x116c - float armor_duration; // 0x1170 + int32_t attack_range_bonus; // 0x11e0 + int32_t buffed_attacks; // 0x11e4 + float base_attack_time; // 0x11e8 + int32_t attack_speed_bonus; // 0x11ec + float armor_duration; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x1138 + float armor_reduction_per_attack; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -26714,108 +27487,108 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hGobbledUnit; // 0x1138 - PlayerID_t m_nOriginalControllingUnit; // 0x113c - bool m_bUnitWasLaunched; // 0x1140 + CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11b8 + PlayerID_t m_nOriginalControllingUnit; // 0x11bc + bool m_bUnitWasLaunched; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float max_time_in_belly; // 0x1144 + float max_time_in_belly; // 0x11c4 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - int32_t min_range; // 0x1138 - float min_lob_travel_time; // 0x113c - float max_lob_travel_time; // 0x1140 - int32_t impact_radius; // 0x1144 - int32_t projectile_vision; // 0x1148 - float stun_duration; // 0x114c - float min_height_above_lowest; // 0x1150 - float min_height_above_highest; // 0x1154 - float min_acceleration; // 0x1158 - float max_acceleration; // 0x115c + int32_t min_range; // 0x11b8 + float min_lob_travel_time; // 0x11bc + float max_lob_travel_time; // 0x11c0 + int32_t impact_radius; // 0x11c4 + int32_t projectile_vision; // 0x11c8 + float stun_duration; // 0x11cc + float min_height_above_lowest; // 0x11d0 + float min_height_above_highest; // 0x11d4 + float min_acceleration; // 0x11d8 + float max_acceleration; // 0x11dc }; // Alignment: 13 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x1138 + Vector m_vFacingDir; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 - bool m_bPiercesCreeps; // 0x119c + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 + bool m_bPiercesCreeps; // 0x121c private: - [[maybe_unused]] uint8_t __pad119d[0x3]; // 0x119d + [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: - CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x11a0 + CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1220 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x1138 + int32_t remnant_watch_radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float think_interval; // 0x1140 + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< C_BaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< C_BaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -26823,67 +27596,67 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - int32_t movement_slow_pct; // 0x113c - int32_t pop_damage; // 0x1140 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + int32_t movement_slow_pct; // 0x11bc + int32_t pop_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x1138 - int32_t attack_chance_pct; // 0x113c - float pop_damage_delay; // 0x1140 + int32_t ability_chance_pct; // 0x11b8 + int32_t attack_chance_pct; // 0x11bc + float pop_damage_delay; // 0x11c0 }; // Alignment: 19 -// Size: 0x11d8 +// Size: 0x1258 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -26891,31 +27664,31 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1148 - int32_t speed; // 0x1160 - int32_t radius; // 0x1164 - int32_t damage; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t speed; // 0x11e0 + int32_t radius; // 0x11e4 + int32_t damage; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -26923,7 +27696,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -26931,79 +27704,79 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x1138 - int32_t base_damage_pct; // 0x113c + int32_t acorn_shot_damage; // 0x11b8 + int32_t base_damage_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x1138 - float animation_rate; // 0x113c - ParticleIndex_t m_iIndex; // 0x1140 - bool m_bPullComplete; // 0x1144 + int32_t visual_height; // 0x11b8 + float animation_rate; // 0x11bc + ParticleIndex_t m_iIndex; // 0x11c0 + bool m_bPullComplete; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - uint32_t m_TreeId; // 0x1148 - float m_flDamagePerTick; // 0x114c - int32_t m_nDamageTicks; // 0x1150 + uint32_t m_TreeId; // 0x11c8 + float m_flDamagePerTick; // 0x11cc + int32_t m_nDamageTicks; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x1138 - int32_t radius; // 0x113c - int32_t bonus_active_evasion; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t evasion; // 0x11b8 + int32_t radius; // 0x11bc + int32_t bonus_active_evasion; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - int32_t arrow_vision; // 0x1138 - float max_charge_time; // 0x113c - float turn_rate; // 0x1140 - float base_power; // 0x1144 + int32_t arrow_vision; // 0x11b8 + float max_charge_time; // 0x11bc + float turn_rate; // 0x11c0 + float base_power; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x1138 + int32_t arrow_width; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: @@ -27011,7 +27784,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -27019,33 +27792,33 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x1138 + int32_t slow_move_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x1138 - GameTime_t m_flFadeTime; // 0x113c - bool m_bInvisLastThink; // 0x1140 + float fade_time; // 0x11b8 + GameTime_t m_flFadeTime; // 0x11bc + bool m_bInvisLastThink; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: @@ -27053,78 +27826,78 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x1138 - int32_t tick_damage; // 0x113c + int32_t movespeed_pct; // 0x11b8 + int32_t tick_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 2 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x1148 + int32_t movement_speed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1150 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - int32_t bonus_projectile_speed_pct; // 0x1138 - int32_t bonus_attack_range; // 0x113c - int32_t deadly_blow_multiplier; // 0x1140 - float maim_duration; // 0x1144 + int32_t bonus_projectile_speed_pct; // 0x11b8 + int32_t bonus_attack_range; // 0x11bc + int32_t deadly_blow_multiplier; // 0x11c0 + float maim_duration; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t slow_pct; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t max_stacks; // 0x113c - float debuff_duration; // 0x1140 + int32_t bonus_attack_range; // 0x11b8 + int32_t max_stacks; // 0x11bc + float debuff_duration; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x1138 - int32_t critical_damage_pct; // 0x113c - int32_t stack_slow_pct; // 0x1140 - ParticleIndex_t m_nFXStackIndex; // 0x1144 + int32_t stack_crit_chance_pct; // 0x11b8 + int32_t critical_damage_pct; // 0x11bc + int32_t stack_slow_pct; // 0x11c0 + ParticleIndex_t m_nFXStackIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -27132,7 +27905,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -27140,27 +27913,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x1138 - int32_t iEffectRadius; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - ParticleIndex_t m_nThinkerFXIndex; // 0x1148 + float pulse_interval; // 0x11b8 + int32_t iEffectRadius; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + ParticleIndex_t m_nThinkerFXIndex; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: @@ -27168,16 +27941,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -27185,76 +27958,76 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t attack_count; // 0x113c - bool m_bShouldIncrement; // 0x1140 + int32_t attack_count; // 0x11bc + bool m_bShouldIncrement; // 0x11c0 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x1138 + bool m_bIsBuffedAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t heal_pct; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t heal_radius; // 0x1144 - int32_t heal_from_creeps; // 0x1148 - int32_t allied_healing_pct; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x1150 - float m_flTotalToHeal; // 0x1168 + int32_t heal_pct; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t heal_radius; // 0x11c4 + int32_t heal_from_creeps; // 0x11c8 + int32_t allied_healing_pct; // 0x11cc + CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x11d0 + float m_flTotalToHeal; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t flare_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t travel_speed_pct; // 0x1140 - int32_t m_nMaxRange; // 0x1144 - Vector m_vStartPoint; // 0x1148 - Vector m_vLastTrailThinkerLocation; // 0x1154 - Vector m_vEndPointShard; // 0x1160 - ParticleIndex_t m_nStatusFXIndex; // 0x116c - int32_t flare_radius; // 0x1170 - bool bHasStartedBurning; // 0x1174 + int32_t m_nProjectileID; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t travel_speed_pct; // 0x11c0 + int32_t m_nMaxRange; // 0x11c4 + Vector m_vStartPoint; // 0x11c8 + Vector m_vLastTrailThinkerLocation; // 0x11d4 + Vector m_vEndPointShard; // 0x11e0 + ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t flare_radius; // 0x11f0 + bool bHasStartedBurning; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - float flare_debuff_duration; // 0x1178 + float flare_debuff_duration; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -27262,7 +28035,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -27270,134 +28043,134 @@ public: }; // Alignment: 20 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t shard_movement_penalty; // 0x113c - int32_t swipe_radius; // 0x1140 - int32_t swipe_damage; // 0x1144 - int32_t smash_radius; // 0x1148 - int32_t smash_damage; // 0x114c - int32_t m_nCurrentSpeed; // 0x1150 - float flSwipeInterval; // 0x1154 - GameTime_t m_flNextHit; // 0x1158 - int32_t iCurrentAttack; // 0x115c - int32_t total_attacks; // 0x1160 - float smash_stun_duration; // 0x1164 - float sweep_stun_duration; // 0x1168 - bool m_bHasCompletedMove; // 0x116c + int32_t movement_speed; // 0x11b8 + int32_t shard_movement_penalty; // 0x11bc + int32_t swipe_radius; // 0x11c0 + int32_t swipe_damage; // 0x11c4 + int32_t smash_radius; // 0x11c8 + int32_t smash_damage; // 0x11cc + int32_t m_nCurrentSpeed; // 0x11d0 + float flSwipeInterval; // 0x11d4 + GameTime_t m_flNextHit; // 0x11d8 + int32_t iCurrentAttack; // 0x11dc + int32_t total_attacks; // 0x11e0 + float smash_stun_duration; // 0x11e4 + float sweep_stun_duration; // 0x11e8 + bool m_bHasCompletedMove; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - float duration; // 0x1170 - Vector m_vTargetHorizontalDirection; // 0x1174 - int32_t smash_distance_from_hero; // 0x1180 - float animation_rate; // 0x1184 - float turn_rate; // 0x1188 - float m_flFacingTarget; // 0x118c + float duration; // 0x11f0 + Vector m_vTargetHorizontalDirection; // 0x11f4 + int32_t smash_distance_from_hero; // 0x1200 + float animation_rate; // 0x1204 + float turn_rate; // 0x1208 + float m_flFacingTarget; // 0x120c }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 - int32_t creep_damage_penalty; // 0x113c + int32_t attack_damage; // 0x11b8 + int32_t creep_damage_penalty; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x1138 + int32_t swipe_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t burn_damage; // 0x113c - float burn_interval; // 0x1140 + int32_t move_slow; // 0x11b8 + int32_t burn_damage; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - int32_t impact_damage; // 0x1138 - float debuff_duration; // 0x113c - int32_t landing_radius; // 0x1140 + int32_t impact_damage; // 0x11b8 + float debuff_duration; // 0x11bc + int32_t landing_radius; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t m_nMaxJumpDistance; // 0x113c - int32_t landing_radius; // 0x1140 - int32_t max_jump_distance; // 0x1144 - int32_t min_jump_distance; // 0x1148 - int32_t target_abort_distance; // 0x114c - int32_t impact_position_offset; // 0x1150 - float m_flCastDistance; // 0x1154 - ParticleIndex_t m_nAoEFXIndex; // 0x1158 - Vector m_vDestination; // 0x115c - CHandle< C_BaseEntity > m_hBounceEntity; // 0x1168 - CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x116c + int32_t m_nProjectileID; // 0x11b8 + int32_t m_nMaxJumpDistance; // 0x11bc + int32_t landing_radius; // 0x11c0 + int32_t max_jump_distance; // 0x11c4 + int32_t min_jump_distance; // 0x11c8 + int32_t target_abort_distance; // 0x11cc + int32_t impact_position_offset; // 0x11d0 + float m_flCastDistance; // 0x11d4 + ParticleIndex_t m_nAoEFXIndex; // 0x11d8 + Vector m_vDestination; // 0x11dc + CHandle< C_BaseEntity > m_hBounceEntity; // 0x11e8 + CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x11ec }; // Alignment: 15 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - bool m_bTriggeredLandingAnim; // 0x1138 + bool m_bTriggeredLandingAnim; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nMaxJumpDistance; // 0x113c - int32_t min_jump_distance; // 0x1140 - int32_t max_jump_distance; // 0x1144 - float min_lob_travel_time; // 0x1148 - float max_lob_travel_time; // 0x114c - int32_t landing_radius; // 0x1150 - float debuff_duration; // 0x1154 - float min_height_above_lowest; // 0x1158 - float min_height_above_highest; // 0x115c - float min_acceleration; // 0x1160 - float max_acceleration; // 0x1164 - float impact_damage; // 0x1168 - int32_t impact_position_offset; // 0x116c - float ally_buff_duration; // 0x1170 + int32_t m_nMaxJumpDistance; // 0x11bc + int32_t min_jump_distance; // 0x11c0 + int32_t max_jump_distance; // 0x11c4 + float min_lob_travel_time; // 0x11c8 + float max_lob_travel_time; // 0x11cc + int32_t landing_radius; // 0x11d0 + float debuff_duration; // 0x11d4 + float min_height_above_lowest; // 0x11d8 + float min_height_above_highest; // 0x11dc + float min_acceleration; // 0x11e0 + float max_acceleration; // 0x11e4 + float impact_damage; // 0x11e8 + int32_t impact_position_offset; // 0x11ec + float ally_buff_duration; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -27405,192 +28178,193 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x1138 + float ally_movespeed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x1138 + int32_t scepter_armor; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff { public: - float lifesteal_pct; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_attack_range; // 0x1140 - float m_fLifestealPct; // 0x1144 - float m_fDamageAbsorbed; // 0x1148 + float lifesteal_pct; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_attack_range; // 0x11c0 + float m_fLifestealPct; // 0x11c4 + float m_fDamageAbsorbed; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff { public: - int32_t shard_push_length; // 0x1138 + int32_t shard_push_length; // 0x11b8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff { public: - float time_between_flurries; // 0x1138 - int32_t charges_per_flurry; // 0x113c - int32_t flurry_charge_increment; // 0x1140 - int32_t bonus_movespeed; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + float time_between_flurries; // 0x11b8 + int32_t charges_per_flurry; // 0x11bc + int32_t flurry_charge_increment; // 0x11c0 + int32_t bonus_movespeed; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 9 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff { public: - int32_t flurry_bonus_attack_speed; // 0x1138 - float time_between_flurries; // 0x113c - float debuff_duration; // 0x1140 - float max_time_window_per_hit; // 0x1144 - bool m_bBonusSpeed; // 0x1148 + int32_t flurry_bonus_attack_speed; // 0x11b8 + float time_between_flurries; // 0x11bc + float debuff_duration; // 0x11c0 + float max_time_window_per_hit; // 0x11c4 + bool m_bBonusSpeed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nFXStackIndex; // 0x114c - bool m_bIsDoingFlurryAttack; // 0x1150 - bool m_bIsDoingFlurryPulseAttack; // 0x1151 + ParticleIndex_t m_nFXStackIndex; // 0x11cc + bool m_bIsDoingFlurryAttack; // 0x11d0 + bool m_bIsDoingFlurryPulseAttack; // 0x11d1 private: - [[maybe_unused]] uint8_t __pad1152[0x2]; // 0x1152 + [[maybe_unused]] uint8_t __pad11d2[0x2]; // 0x11d2 public: - GameTime_t m_fLastAttackTime; // 0x1154 + GameTime_t m_fLastAttackTime; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x1138 - float time_between_flurries; // 0x113c - float recovery_fixed_attack_rate; // 0x1140 + int32_t charges_per_flurry; // 0x11b8 + float time_between_flurries; // 0x11bc + float recovery_fixed_attack_rate; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x1138 - float pulse_attack_slow_pct; // 0x113c + float pulse_move_slow_pct; // 0x11b8 + float pulse_attack_slow_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: // No members available }; -// Alignment: 5 -// Size: 0x1158 +// Alignment: 6 +// Size: 0x11d8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - int32_t effect_radius; // 0x1138 - Vector vLastPos; // 0x113c - float flCurrentDistance; // 0x1148 - int32_t step_distance; // 0x114c - int32_t bonus_magic_resistance; // 0x1150 + int32_t effect_radius; // 0x11b8 + Vector vLastPos; // 0x11bc + float flCurrentDistance; // 0x11c8 + int32_t step_distance; // 0x11cc + int32_t bonus_magic_resistance; // 0x11d0 + bool m_bIsUnslowable; // 0x11d4 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float m_flOffset; // 0x113c - QAngle m_vStartAngles; // 0x1140 - Vector m_vStartLocation; // 0x114c - float animation_rate; // 0x1158 - bool m_bInterrupted; // 0x115c - bool m_bHasBeenDestroyed; // 0x115d + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + Vector m_vStartLocation; // 0x11cc + float animation_rate; // 0x11d8 + bool m_bInterrupted; // 0x11dc + bool m_bHasBeenDestroyed; // 0x11dd }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x1138 - Vector m_vPulverizeCenter; // 0x113c - Vector m_vCasterStartPos; // 0x1148 - int32_t splash_radius; // 0x1154 - float interval; // 0x1158 - float ministun; // 0x115c - int32_t damage; // 0x1160 + CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11b8 + Vector m_vPulverizeCenter; // 0x11bc + Vector m_vCasterStartPos; // 0x11c8 + int32_t splash_radius; // 0x11d4 + float interval; // 0x11d8 + float ministun; // 0x11dc + int32_t damage; // 0x11e0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - int32_t max_distance; // 0x1138 - float max_charge_time; // 0x113c - float turn_rate; // 0x1140 - float base_power; // 0x1144 - int32_t charge_speed; // 0x1148 + int32_t max_distance; // 0x11b8 + float max_charge_time; // 0x11bc + float turn_rate; // 0x11c0 + float base_power; // 0x11c4 + int32_t charge_speed; // 0x11c8 }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float charge_speed; // 0x113c - float movement_turn_rate; // 0x1140 - int32_t knockback_radius; // 0x1144 - float knockback_distance; // 0x1148 - int32_t knockback_damage; // 0x114c - int32_t m_nEnemyHeroesHit; // 0x1150 - float m_flFacingTarget; // 0x1154 - ParticleIndex_t m_nFXIndex; // 0x1158 + float tick_interval; // 0x11b8 + float charge_speed; // 0x11bc + float movement_turn_rate; // 0x11c0 + int32_t knockback_radius; // 0x11c4 + float knockback_distance; // 0x11c8 + int32_t knockback_damage; // 0x11cc + int32_t m_nEnemyHeroesHit; // 0x11d0 + float m_flFacingTarget; // 0x11d4 + ParticleIndex_t m_nFXIndex; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1160 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: @@ -27598,121 +28372,122 @@ public: }; // Alignment: 12 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - int32_t stack_limit; // 0x1138 - int32_t damage_limit; // 0x113c - float stack_duration; // 0x1140 - float damage_min; // 0x1144 - float damage_max; // 0x1148 - int32_t bonus_damage_per_stack; // 0x114c - ParticleIndex_t m_nFxIndexA; // 0x1150 - int32_t iCur_stack; // 0x1154 - int32_t bonus_damage; // 0x1158 - float slow_duration; // 0x115c + int32_t stack_limit; // 0x11b8 + int32_t damage_limit; // 0x11bc + float stack_duration; // 0x11c0 + float damage_min; // 0x11c4 + float damage_max; // 0x11c8 + int32_t bonus_damage_per_stack; // 0x11cc + ParticleIndex_t m_nFxIndexA; // 0x11d0 + int32_t iCur_stack; // 0x11d4 + int32_t bonus_damage; // 0x11d8 + float slow_duration; // 0x11dc private: - [[maybe_unused]] uint8_t __pad1160[0x18]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x18]; // 0x11e0 public: - float m_fTotalDamage; // 0x1178 - GameTime_t m_flLastStackTime; // 0x117c + float m_fTotalDamage; // 0x11f8 + GameTime_t m_flLastStackTime; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x1138 + int32_t move_slow_per_stack; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x1138 - int32_t roared_bonus_armor; // 0x113c - int32_t m_nBuffStackCount; // 0x1140 + int32_t roared_bonus_attack_speed; // 0x11b8 + int32_t roared_bonus_armor; // 0x11bc + int32_t m_nBuffStackCount; // 0x11c0 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - int32_t projectiles_per_stack; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t projectile_distance; // 0x1140 - int32_t projectile_width; // 0x1144 - int32_t splinter_angle; // 0x1148 - float split_delay; // 0x114c - int32_t projectile_waves; // 0x1150 - int32_t m_nCurrentWaveCount; // 0x1154 - int32_t tectonic_shift_projectiles; // 0x1158 + int32_t projectiles_per_stack; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t projectile_distance; // 0x11c0 + int32_t projectile_width; // 0x11c4 + int32_t splinter_angle; // 0x11c8 + float split_delay; // 0x11cc + int32_t projectile_waves; // 0x11d0 + int32_t m_nCurrentWaveCount; // 0x11d4 + int32_t tectonic_shift_projectiles; // 0x11d8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x1138 - float target_search_bonus_range; // 0x113c + float double_shot_chance; // 0x11b8 + float target_search_bonus_range; // 0x11bc }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x1138 + int32_t impact_slow_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x1138 + Vector m_vFearDir; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - int32_t modelscale; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t attack_projectile_speed_bonus; // 0x1140 - int32_t attack_range_bonus; // 0x1144 - int32_t m_iOriginalAttackCapabilities; // 0x1148 - ParticleIndex_t m_nScreenFXIndex; // 0x114c + int32_t modelscale; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t spell_lifesteal; // 0x11c0 + int32_t attack_projectile_speed_bonus; // 0x11c4 + int32_t attack_range_bonus; // 0x11c8 + int32_t m_iOriginalAttackCapabilities; // 0x11cc + ParticleIndex_t m_nScreenFXIndex; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -27720,7 +28495,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -27728,162 +28511,198 @@ public: }; // Alignment: 13 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t hit_radius; // 0x113c - int32_t dead_zone_distance; // 0x1140 - float speed_initial; // 0x1144 - float speed_max; // 0x1148 - float acceleration; // 0x114c - int32_t num_revenants; // 0x1150 - int32_t rotation_direction; // 0x1154 - int32_t radius; // 0x1158 - float rotation_initial; // 0x115c - int32_t show_warning; // 0x1160 - ParticleIndex_t m_nWarningFX; // 0x1164 - CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1168 + int32_t damage; // 0x11b8 + int32_t hit_radius; // 0x11bc + int32_t dead_zone_distance; // 0x11c0 + float speed_initial; // 0x11c4 + float speed_max; // 0x11c8 + float acceleration; // 0x11cc + int32_t num_revenants; // 0x11d0 + int32_t rotation_direction; // 0x11d4 + int32_t radius; // 0x11d8 + float rotation_initial; // 0x11dc + int32_t show_warning; // 0x11e0 + ParticleIndex_t m_nWarningFX; // 0x11e4 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x1138 - int32_t aura_attackspeed_slow; // 0x113c + int32_t aura_movespeed_slow; // 0x11b8 + int32_t aura_attackspeed_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: // No members available }; -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item +// Alignment: 0 +// Size: 0x11e8 +class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t clock_time; // 0x1144 - float bonus_health_regen; // 0x1148 - int32_t bonus_damage; // 0x114c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item -{ -public: - int32_t bonus_all_stats; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item -{ -public: - int32_t bonus_agility; // 0x1138 -}; - -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t clock_time; // 0x1148 - float bonus_armor; // 0x114c -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item -{ -public: - int32_t bonus_intellect; // 0x1138 -}; - -// Alignment: 6 -// Size: 0x1150 -class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_max_mana_percentage; // 0x1148 - int32_t clock_time; // 0x114c -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_TangoHeal : public CDOTA_Buff -{ -public: - float health_regen; // 0x1138 - bool superheal; // 0x113c -private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d -public: - float m_fHealingDone; // 0x1140 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff -{ -public: - float mana_regen; // 0x1138 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff -{ -public: - int32_t health_regen; // 0x1138 - int32_t break_on_hero_damage; // 0x113c - float m_fHealingDone; // 0x1140 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item -{ -public: - int32_t bonus_movement_speed; // 0x1138 + // No members available }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11b8 +class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff +{ +public: + int32_t ethereal_damage_bonus; // 0x11b8 + int32_t movement_slow; // 0x11bc + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11c0 + ParticleIndex_t m_nTetherFXIndex; // 0x11c4 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff +{ +public: + int32_t m_nProjectileHandle; // 0x11b8 + CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11bc +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t clock_time; // 0x11c4 + float bonus_health_regen; // 0x11c8 + int32_t bonus_damage; // 0x11cc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x11b8 +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t clock_time; // 0x11c8 + float bonus_armor; // 0x11cc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item +{ +public: + int32_t bonus_intellect; // 0x11b8 +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_max_mana_percentage; // 0x11c8 + int32_t clock_time; // 0x11cc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_TangoHeal : public CDOTA_Buff +{ +public: + float health_regen; // 0x11b8 + bool superheal; // 0x11bc +private: + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd +public: + float m_fHealingDone; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff +{ +public: + float mana_regen; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff +{ +public: + int32_t health_regen; // 0x11b8 + int32_t break_on_hero_damage; // 0x11bc + float m_fHealingDone; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -27891,119 +28710,204 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_stat; // 0x1140 - int32_t bonus_damage; // 0x1144 + int32_t bonus_movement_speed_ranged; // 0x11b8 + int32_t bonus_movement_speed_melee; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_stat; // 0x11c4 + int32_t bonus_damage; // 0x11c8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_damage_melee; // 0x113c - int32_t bonus_damage_range; // 0x1140 - int32_t damage_block_melee; // 0x1144 - int32_t damage_block_ranged; // 0x1148 - int32_t block_chance; // 0x114c - int32_t bonus_attack_speed; // 0x1150 - int32_t bonus_armor; // 0x1154 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_melee; // 0x11bc + int32_t bonus_damage_range; // 0x11c0 + int32_t damage_block_melee; // 0x11c4 + int32_t damage_block_ranged; // 0x11c8 + int32_t block_chance; // 0x11cc + int32_t bonus_attack_speed; // 0x11d0 + int32_t bonus_armor; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x1138 - int32_t phase_movement_speed_range; // 0x113c + int32_t phase_movement_speed; // 0x11b8 + int32_t phase_movement_speed_range; // 0x11bc }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t broken_movement_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 - int32_t break_threshold; // 0x1148 - int32_t break_time; // 0x114c - int32_t break_count; // 0x1150 - float m_flResetTime; // 0x1154 + int32_t bonus_movement_speed; // 0x11b8 + int32_t broken_movement_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 + int32_t break_threshold; // 0x11c8 + int32_t break_time; // 0x11cc + int32_t break_count; // 0x11d0 + float m_flResetTime; // 0x11d4 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t broken_movement_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 - int32_t break_threshold; // 0x1148 - int32_t break_time; // 0x114c - int32_t break_count; // 0x1150 + int32_t bonus_movement_speed; // 0x11b8 + int32_t broken_movement_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 + int32_t break_threshold; // 0x11c8 + int32_t break_time; // 0x11cc + int32_t break_count; // 0x11d0 +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_melee; // 0x11bc + int32_t bonus_damage_range; // 0x11c0 + int32_t bonus_armor; // 0x11c4 + int32_t bonus_agility; // 0x11c8 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff +{ +public: + int32_t phase_movement_speed; // 0x11b8 + int32_t phase_movement_speed_range; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 + bool m_bWasRooted; // 0x11c4 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 + int32_t bonus_damage; // 0x11c4 +}; + +// Alignment: 11 +// Size: 0x11f8 +class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + float base_interval; // 0x11c0 + int32_t max_tick_count; // 0x11c4 + float str_root_duration; // 0x11c8 + float str_root_cooldown; // 0x11cc + int32_t str_root_chance; // 0x11d0 + float str_bonus_damage; // 0x11d4 + int32_t iCurrentTickCount; // 0x11d8 + GameTime_t m_flLastRootTime; // 0x11dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 +}; + +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + float base_interval; // 0x11bc + int32_t max_tick_count; // 0x11c0 + int32_t bonus_all_stats; // 0x11c4 + int32_t agi_counter_chance; // 0x11c8 + float agi_counter_cooldown; // 0x11cc + GameTime_t m_flLastCounterTime; // 0x11d0 + int32_t iCurrentTickCount; // 0x11d4 +}; + +// Alignment: 10 +// Size: 0x11e0 +class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + float base_interval; // 0x11bc + int32_t max_tick_count; // 0x11c0 + float int_damage_interval; // 0x11c4 + float int_damage_range; // 0x11c8 + float int_damage; // 0x11cc + int32_t iCurrentTickCount; // 0x11d0 + int32_t int_max_targets; // 0x11d4 + GameTime_t m_flNextHit; // 0x11d8 + int32_t bonus_all_stats; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -28011,269 +28915,269 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - int32_t health_restore; // 0x1138 - int32_t mana_restore; // 0x113c - int32_t health_restore_pct; // 0x1140 - int32_t mana_restore_pct; // 0x1144 - int32_t break_on_hero_damage; // 0x1148 - float m_fHealingDone; // 0x114c + int32_t health_restore; // 0x11b8 + int32_t mana_restore; // 0x11bc + int32_t health_restore_pct; // 0x11c0 + int32_t mana_restore_pct; // 0x11c4 + int32_t break_on_hero_damage; // 0x11c8 + float m_fHealingDone; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 + float bonus_health_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 + float bonus_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 + int32_t bonus_mana; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_speed; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_speed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x1138 + float bonus_armor; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x1138 - int32_t damage_block_ranged; // 0x113c - int32_t block_chance; // 0x1140 + int32_t damage_block_melee; // 0x11b8 + int32_t damage_block_ranged; // 0x11bc + int32_t block_chance; // 0x11c0 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x1138 - int32_t bonus_chance_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_chance; // 0x11b8 + int32_t bonus_chance_damage; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float bonus_regen; // 0x113c + int32_t bonus_armor; // 0x11b8 + float bonus_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x1138 - int32_t damage_bonus_ranged; // 0x113c + int32_t damage_bonus; // 0x11b8 + int32_t damage_bonus_ranged; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x1138 - int32_t creep_lifesteal_reduction_pct; // 0x113c + int32_t lifesteal_percent; // 0x11b8 + int32_t creep_lifesteal_reduction_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 + float bonus_health_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 + float blink_damage_cooldown; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -28281,130 +29185,140 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 + float bonus_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x1138 - float duration; // 0x113c + int32_t active_radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x1138 - int32_t max_charges; // 0x113c + int32_t charge_radius; // 0x11b8 + int32_t max_charges; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x1138 - int32_t max_charges; // 0x113c - int32_t bonus_all_stats; // 0x1140 + int32_t charge_radius; // 0x11b8 + int32_t max_charges; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x1138 + int32_t extra_spell_damage_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float bonus_mana_regen; // 0x1144 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float bonus_mana_regen; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x1138 - int32_t damage_block_ranged; // 0x113c - int32_t block_chance; // 0x1140 - int32_t bonus_agility; // 0x1144 + int32_t damage_block_melee; // 0x11b8 + int32_t damage_block_ranged; // 0x11bc + int32_t block_chance; // 0x11c0 + int32_t bonus_agility; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff +{ +public: + float radius; // 0x11b8 + float duration; // 0x11bc + float linger_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -28412,7 +29326,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -28420,7 +29334,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -28428,160 +29342,160 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x1138 + int32_t true_sight_range; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_chance; // 0x113c - int32_t bonus_chance_damage; // 0x1140 - int32_t bonus_damage; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_chance; // 0x11bc + int32_t bonus_chance_damage; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t evasion; // 0x113c - int32_t upgrade_day_vision; // 0x1140 - int32_t aura_radius; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t evasion; // 0x11bc + int32_t upgrade_day_vision; // 0x11c0 + int32_t aura_radius; // 0x11c4 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t aura_damage; // 0x1140 - int32_t aura_damage_upgrade_bonus; // 0x1144 - int32_t aura_damage_illusions; // 0x1148 - int32_t blind_pct; // 0x114c + int32_t aura_damage; // 0x11c0 + int32_t aura_damage_upgrade_bonus; // 0x11c4 + int32_t aura_damage_illusions; // 0x11c8 + int32_t blind_pct; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 + int32_t bonus_move_speed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_evasion; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_evasion; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bash_chance_melee; // 0x113c - int32_t bash_chance_ranged; // 0x1140 - float bash_duration; // 0x1144 - float bash_cooldown; // 0x1148 - int32_t bonus_chance_damage; // 0x114c - int32_t bonus_damage; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t bash_chance_melee; // 0x11bc + int32_t bash_chance_ranged; // 0x11c0 + float bash_duration; // 0x11c4 + float bash_cooldown; // 0x11c8 + int32_t bonus_chance_damage; // 0x11cc + int32_t bonus_damage; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 13 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bash_chance_melee; // 0x113c - int32_t bash_chance_ranged; // 0x1140 - float bash_duration; // 0x1144 - float bash_cooldown; // 0x1148 - int32_t bonus_chance_damage; // 0x114c - int32_t bonus_damage; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t bash_chance_melee; // 0x11bc + int32_t bash_chance_ranged; // 0x11c0 + float bash_duration; // 0x11c4 + float bash_cooldown; // 0x11c8 + int32_t bonus_chance_damage; // 0x11cc + int32_t bonus_damage; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - int32_t bonus_health; // 0x1170 - float bonus_health_regen; // 0x1174 - int32_t block_damage_ranged; // 0x1178 - int32_t block_damage_melee; // 0x117c - int32_t block_chance; // 0x1180 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + int32_t bonus_health; // 0x11f0 + float bonus_health_regen; // 0x11f4 + int32_t block_damage_ranged; // 0x11f8 + int32_t block_damage_melee; // 0x11fc + int32_t block_chance; // 0x1200 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 - int32_t cleave_damage_percent; // 0x1144 - int32_t cleave_damage_percent_creep; // 0x1148 - int32_t cleave_starting_width; // 0x114c - int32_t cleave_ending_width; // 0x1150 - int32_t cleave_distance; // 0x1154 - int32_t upgraded_cleave_bonus; // 0x1158 - int32_t upgraded_damage_bonus; // 0x115c - int32_t quelling_bonus; // 0x1160 - int32_t quelling_bonus_ranged; // 0x1164 + int32_t bonus_damage; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t cleave_damage_percent; // 0x11c4 + int32_t cleave_damage_percent_creep; // 0x11c8 + int32_t cleave_starting_width; // 0x11cc + int32_t cleave_ending_width; // 0x11d0 + int32_t cleave_distance; // 0x11d4 + int32_t upgraded_cleave_bonus; // 0x11d8 + int32_t upgraded_damage_bonus; // 0x11dc + int32_t quelling_bonus; // 0x11e0 + int32_t quelling_bonus_ranged; // 0x11e4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t bonus_movement_speed; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t bonus_movement_speed; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -28589,7 +29503,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -28597,113 +29511,114 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - int32_t unholy_bonus_damage; // 0x1138 - int32_t unholy_bonus_attack_speed; // 0x113c - int32_t unholy_bonus_strength; // 0x1140 - int32_t unholy_bonus_armor; // 0x1144 - int32_t unholy_health_drain_per_second; // 0x1148 - int32_t str_tick_count; // 0x114c - float tick_interval; // 0x1150 - float m_flDamageRemainder; // 0x1154 + int32_t unholy_bonus_damage; // 0x11b8 + int32_t unholy_bonus_attack_speed; // 0x11bc + int32_t unholy_bonus_strength; // 0x11c0 + int32_t unholy_bonus_armor; // 0x11c4 + int32_t unholy_health_drain_per_second; // 0x11c8 + int32_t str_tick_count; // 0x11cc + float tick_interval; // 0x11d0 + float m_flDamageRemainder; // 0x11d4 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x1148 - int32_t windwalk_movement_speed; // 0x114c -}; - -// Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item -{ -public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - float bonus_mana_regen; // 0x1144 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed -{ -public: - float sheep_movement_speed; // 0x1138 + int32_t windwalk_bonus_damage; // 0x11c8 + int32_t windwalk_movement_speed; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 +class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item +{ +public: + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_mana; // 0x11c8 + int32_t cast_range_bonus; // 0x11cc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed +{ +public: + float sheep_movement_speed; // 0x11b8 +}; + +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + float bonus_health_regen; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x1138 - float m_flDamageTaken; // 0x113c + float silence_damage_percent; // 0x11b8 + float m_flDamageTaken; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -28711,25 +29626,25 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_movement_speed; // 0x1140 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< C_BaseEntity > m_hBlocker; // 0x1140 + CHandle< C_BaseEntity > m_hBlocker; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -28737,62 +29652,73 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_intellect; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - float push_length; // 0x1138 + float push_length; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Item_ForceStaff_Dizzy : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 - int32_t bonus_str; // 0x113c - int32_t bonus_agi; // 0x1140 + int32_t bonus_int; // 0x11b8 + int32_t bonus_str; // 0x11bc + int32_t bonus_agi; // 0x11c0 + float passive_spell_lifesteal; // 0x11c4 + float dagon_spell_lifesteal; // 0x11c8 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + int32_t bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_all_stats; // 0x113c - int32_t bonus_health; // 0x1140 - int32_t bonus_mana; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + int32_t bonus_health; // 0x11c0 + int32_t bonus_mana; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -28800,18 +29726,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_all_stats; // 0x113c - int32_t bonus_health; // 0x1140 - int32_t bonus_mana; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + int32_t bonus_health; // 0x11c0 + int32_t bonus_mana; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -28819,16 +29745,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x1138 - int32_t aura_positive_armor; // 0x113c + int32_t aura_attack_speed; // 0x11b8 + int32_t aura_positive_armor; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -28836,60 +29762,61 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x1138 + int32_t aura_negative_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_health; // 0x113c - float health_regen_pct; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_health; // 0x11bc + float health_regen_pct; // 0x11c0 }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_MagicImmune +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 + int32_t magic_resist; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_damage; // 0x113c - float duration; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x1138 + float reincarnate_time; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -28897,49 +29824,49 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t aura_radius; // 0x1140 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x1138 - int32_t hp_regen_degen_aura; // 0x113c + int32_t aura_attack_speed; // 0x11b8 + int32_t hp_regen_degen_aura; // 0x11bc }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t blast_speed; // 0x1170 - int32_t blast_radius; // 0x1174 - int32_t blast_damage; // 0x1178 - float blast_debuff_duration; // 0x117c + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t blast_speed; // 0x11f0 + int32_t blast_radius; // 0x11f4 + int32_t blast_damage; // 0x11f8 + float blast_debuff_duration; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x1138 + int32_t blast_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -28947,18 +29874,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - float spell_lifesteal; // 0x1140 - float lifesteal_multiplier; // 0x1144 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float spell_lifesteal; // 0x11c0 + float lifesteal_multiplier; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -28966,130 +29893,131 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t hp_regen_amp; // 0x1148 - int32_t status_resistance; // 0x114c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t hp_regen_amp; // 0x11c8 + int32_t status_resistance; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t creep_lifesteal_reduction_pct; // 0x1144 + int32_t lifesteal_percent; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t creep_lifesteal_reduction_pct; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c - int32_t berserk_armor_reduction; // 0x1140 + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc + int32_t berserk_armor_reduction; // 0x11c0 }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 - float block_cooldown; // 0x1144 - float upgrade_absorb_duration; // 0x1148 + int32_t bonus_all_stats; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + float block_cooldown; // 0x11c8 + float upgrade_absorb_duration; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x1138 + float upgrade_absorb_duration; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x1138 - bool m_bStartedTimer; // 0x113c + int32_t damage_absorb; // 0x11b8 + bool m_bStartedTimer; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t m_flDamageAbsorbed; // 0x1140 + int32_t m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_health_regen; // 0x113c - int32_t block_damage_ranged; // 0x1140 - int32_t block_damage_melee; // 0x1144 - int32_t block_chance; // 0x1148 + int32_t bonus_health; // 0x11b8 + float bonus_health_regen; // 0x11bc + int32_t block_damage_ranged; // 0x11c0 + int32_t block_damage_melee; // 0x11c4 + int32_t block_chance; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x1138 - int32_t block_damage_ranged_active; // 0x113c - int32_t block_damage_melee_active; // 0x1140 + int32_t block_chance_active; // 0x11b8 + int32_t block_damage_active; // 0x11bc + int32_t strength_pct; // 0x11c0 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_armor; // 0x1140 - int32_t block_damage_ranged; // 0x1144 - int32_t block_damage_melee; // 0x1148 - int32_t block_chance; // 0x114c - int32_t bonus_aoe_radius; // 0x1150 + int32_t bonus_health; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_armor; // 0x11c0 + int32_t block_damage_ranged; // 0x11c4 + int32_t block_damage_melee; // 0x11c8 + int32_t block_chance; // 0x11cc + int32_t bonus_aoe_radius; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -29097,7 +30025,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -29105,64 +30033,65 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t passive_reflection_constant; // 0x1144 - int32_t passive_reflection_pct; // 0x1148 - int32_t active_reflection_pct; // 0x114c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t passive_reflection_constant; // 0x11c4 + int32_t passive_reflection_pct; // 0x11c8 + int32_t active_reflection_pct; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_magical_armor; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_magical_armor; // 0x11c0 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x1138 - float bonus_health_regen; // 0x113c + int32_t bonus_spell_resist; // 0x11b8 + float bonus_health_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t aura_radius; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -29170,95 +30099,95 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - int32_t lifesteal_aura; // 0x1138 - int32_t damage_aura; // 0x113c - float armor_aura; // 0x1140 - float mana_regen_aura; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t lifesteal_aura; // 0x11b8 + int32_t damage_aura; // 0x11bc + float armor_aura; // 0x11c0 + float mana_regen_aura; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t bonus_aoe_radius; // 0x113c - float armor; // 0x1140 + int32_t bonus_aoe_radius; // 0x11bc + float armor; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x1138 + float bonus_aoe_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - float mana_regen; // 0x113c + int32_t aura_radius; // 0x11b8 + float mana_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float health_regen; // 0x113c - int32_t magic_resistance; // 0x1140 - int32_t aura_radius; // 0x1144 + int32_t bonus_all_stats; // 0x11b8 + float health_regen; // 0x11bc + int32_t magic_resistance; // 0x11c0 + int32_t aura_radius; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 - int32_t magic_resistance_aura; // 0x113c + float aura_health_regen; // 0x11b8 + int32_t magic_resistance_aura; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x1138 - int32_t barrier_block; // 0x113c - int32_t barrier_block_creep; // 0x1140 + int32_t barrier_amount; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t barrier_block_creep; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -29266,81 +30195,81 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x1138 - int32_t bonus_all_stats; // 0x113c - float bonus_armor; // 0x1140 + float mana_regen; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + float bonus_armor; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t soul_heal_amount; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x1138 + int32_t soul_damage_amount; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x1138 - int32_t aura_radius; // 0x113c + float health_regen; // 0x11b8 + int32_t aura_radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t lifesteal_percent; // 0x1140 - int32_t unholy_lifesteal_percent; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t lifesteal_percent; // 0x11c0 + int32_t unholy_lifesteal_percent; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x1138 + int32_t unholy_lifesteal_percent; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x1138 - int32_t bonus_armor; // 0x113c - float bonus_regen; // 0x1140 + int32_t bonus_stats; // 0x11b8 + int32_t bonus_armor; // 0x11bc + float bonus_regen; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -29348,63 +30277,63 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - int32_t health_min; // 0x1138 - int32_t new_max; // 0x113c - int32_t health_bonus; // 0x1140 - int32_t model_scale; // 0x1144 - int32_t creep_bonus_damage; // 0x1148 - int32_t creep_bonus_hp_regen; // 0x114c - int32_t creep_bonus_mp_regen; // 0x1150 - int32_t creep_bonus_armor; // 0x1154 + int32_t health_min; // 0x11b8 + int32_t new_max; // 0x11bc + int32_t health_bonus; // 0x11c0 + int32_t model_scale; // 0x11c4 + int32_t creep_bonus_damage; // 0x11c8 + int32_t creep_bonus_hp_regen; // 0x11cc + int32_t creep_bonus_mp_regen; // 0x11d0 + int32_t creep_bonus_armor; // 0x11d4 }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_damage_per_kill; // 0x113c - int32_t bonus_damage_per_assist; // 0x1140 - int32_t max_damage; // 0x1144 - float corruption_duration; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_per_kill; // 0x11bc + int32_t bonus_damage_per_assist; // 0x11c0 + int32_t max_damage; // 0x11c4 + float corruption_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t mana_cost; // 0x1148 - int32_t slow_duration; // 0x114c - int32_t damage_penalty; // 0x1150 - int32_t passive_cooldown; // 0x1154 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1170 + int32_t bonus_armor; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t mana_cost; // 0x11c8 + int32_t slow_duration; // 0x11cc + int32_t damage_penalty; // 0x11d0 + int32_t passive_cooldown; // 0x11d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: @@ -29412,15 +30341,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x1138 + float active_attack_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: @@ -29428,648 +30357,675 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_agi; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_agi; // 0x11bc }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bash_chance_melee; // 0x1140 - int32_t bash_chance_ranged; // 0x1144 - float bash_duration; // 0x1148 - float bash_cooldown; // 0x114c - int32_t bonus_chance_damage; // 0x1150 - int32_t bonus_damage; // 0x1154 - int32_t weaken_per_hit; // 0x1158 - float weaken_duration; // 0x115c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bash_chance_melee; // 0x11c0 + int32_t bash_chance_ranged; // 0x11c4 + float bash_duration; // 0x11c8 + float bash_cooldown; // 0x11cc + int32_t bonus_chance_damage; // 0x11d0 + int32_t bonus_damage; // 0x11d4 + int32_t weaken_per_hit; // 0x11d8 + float weaken_duration; // 0x11dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: - int32_t weaken_per_hit; // 0x1138 + int32_t weaken_per_hit; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t bonus_health_regen; // 0x1140 - int32_t bonus_str; // 0x1144 - int32_t bonus_int; // 0x1148 + int32_t radius; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t bonus_health_regen; // 0x11c0 + int32_t bonus_str; // 0x11c4 + int32_t bonus_int; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x1138 + int32_t aura_movement_speed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c - float bonus_ms_duration; // 0x1140 + int32_t bonus_attack_speed_pct; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc + float bonus_ms_duration; // 0x11c0 }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t attacks; // 0x113c - int32_t bonus_damage; // 0x1140 - float buff_duration; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - int32_t m_nCounter; // 0x1160 + int32_t bonus_agility; // 0x11b8 + int32_t attacks; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float buff_duration; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + int32_t m_nCounter; // 0x11e0 }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float max_damage_duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float max_damage_duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - bool bAttackRange; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + bool bAttackRange; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - float m_flStartTime; // 0x1164 - float m_flFadeTime; // 0x1168 - float m_flDamageScale; // 0x116c - float duration; // 0x1170 + float m_flStartTime; // 0x11e4 + float m_flFadeTime; // 0x11e8 + float m_flDamageScale; // 0x11ec + float duration; // 0x11f0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_health; // 0x1140 + int32_t aura_radius; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_health; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff { public: - int32_t pact_aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - float aura_dps; // 0x1140 + int32_t pact_aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + float aura_dps; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff { public: - int32_t armor_penalty_aura; // 0x1138 - int32_t damage_penalty_aura; // 0x113c - float aura_dps; // 0x1140 + int32_t armor_penalty_aura; // 0x11b8 + int32_t damage_penalty_aura; // 0x11bc + float aura_dps; // 0x11c0 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - float cold_duration; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_mana; // 0x11c0 + float cold_duration; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff { public: - int32_t cold_slow_melee; // 0x1138 - int32_t cold_attack_slow_melee; // 0x113c - int32_t cold_slow_ranged; // 0x1140 - int32_t cold_attack_slow_ranged; // 0x1144 - int32_t heal_reduction; // 0x1148 + int32_t cold_slow_melee; // 0x11b8 + int32_t cold_attack_slow_melee; // 0x11bc + int32_t cold_slow_ranged; // 0x11c0 + int32_t cold_attack_slow_ranged; // 0x11c4 + int32_t heal_reduction; // 0x11c8 }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t chain_damage_per_charge; // 0x1148 - int32_t m_iCurJumpCount; // 0x114c - Vector m_vCurTargetLoc; // 0x1150 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t chain_damage_per_charge; // 0x11c8 + int32_t m_iCurJumpCount; // 0x11cc + Vector m_vCurTargetLoc; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1160 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t chain_chance; // 0x1140 - int32_t chain_strikes; // 0x1144 - int32_t chain_damage; // 0x1148 - int32_t chain_radius; // 0x114c - int32_t chain_damage_per_charge; // 0x1150 - int32_t max_charges; // 0x1154 - float chain_cooldown; // 0x1158 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t chain_chance; // 0x11c0 + int32_t chain_strikes; // 0x11c4 + int32_t chain_damage; // 0x11c8 + int32_t chain_radius; // 0x11cc + int32_t chain_damage_per_charge; // 0x11d0 + int32_t max_charges; // 0x11d4 + float chain_cooldown; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 - CountdownTimer m_ChainTimer; // 0x1178 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 + CountdownTimer m_ChainTimer; // 0x11f8 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t static_chance; // 0x1140 - int32_t static_strikes; // 0x1144 - int32_t static_damage; // 0x1148 - int32_t static_primary_radius; // 0x114c - int32_t static_seconary_radius; // 0x1150 - int32_t static_radius; // 0x1154 - float static_cooldown; // 0x1158 - int32_t chain_damage_per_charge; // 0x115c + int32_t static_chance; // 0x11c0 + int32_t static_strikes; // 0x11c4 + int32_t static_damage; // 0x11c8 + int32_t static_primary_radius; // 0x11cc + int32_t static_seconary_radius; // 0x11d0 + int32_t static_radius; // 0x11d4 + float static_cooldown; // 0x11d8 + int32_t chain_damage_per_charge; // 0x11dc }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1158 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t chain_chance; // 0x113c - int32_t chain_strikes; // 0x1140 - int32_t chain_damage; // 0x1144 - int32_t chain_radius; // 0x1148 - float chain_cooldown; // 0x114c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 - CountdownTimer m_ChainTimer; // 0x1168 + int32_t bonus_damage; // 0x11b8 + int32_t chain_chance; // 0x11bc + int32_t chain_strikes; // 0x11c0 + int32_t chain_damage; // 0x11c4 + int32_t chain_radius; // 0x11c8 + float chain_cooldown; // 0x11cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 + CountdownTimer m_ChainTimer; // 0x11e8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_intellect; // 0x113c - float damage_per_burn; // 0x1140 - int32_t feedback_mana_burn; // 0x1144 - int32_t feedback_mana_burn_illusion_melee; // 0x1148 - int32_t feedback_mana_burn_illusion_ranged; // 0x114c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float damage_per_burn; // 0x11c0 + int32_t feedback_mana_burn; // 0x11c4 + int32_t feedback_mana_burn_illusion_melee; // 0x11c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t spell_amp; // 0x1144 - int32_t spell_lifesteal_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t spell_amp; // 0x11c4 + int32_t spell_lifesteal_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x1138 + int32_t ethereal_damage_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff { public: - int32_t blast_movement_slow; // 0x1138 + int32_t blast_movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_strength; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff { public: - int32_t m_iTempExtraMaxMana; // 0x1138 - int32_t m_iManaToRemove; // 0x113c - float duration; // 0x1140 + int32_t m_iTempExtraMaxMana; // 0x11b8 + int32_t m_iManaToRemove; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_mana_regen; // 0x113c + int32_t bonus_strength; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t aura_radius; // 0x1140 + float bonus_mana_regen; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t aura_radius; // 0x1140 + float bonus_mana_regen; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff { public: - int32_t burn_amount; // 0x1138 + int32_t burn_amount; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff { public: - int32_t explosion; // 0x1138 + int32_t explosion; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff { public: - int32_t ms_bonus; // 0x1138 + int32_t ms_bonus; // 0x11b8 +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff +{ +public: + float shield; // 0x11b8 + float regen; // 0x11bc + float idle; // 0x11c0 + int32_t m_nDamageAbsorbed; // 0x11c4 + GameTime_t m_timeLastTick; // 0x11c8 + GameTime_t m_timeLastDamage; // 0x11cc + ParticleIndex_t nFXIndex; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_mana; // 0x113c + int32_t bonus_movement; // 0x11b8 + int32_t bonus_mana; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x1138 - int32_t poison_movement_speed_range; // 0x113c - float poison_duration; // 0x1140 - float poison_damage_melee; // 0x1144 - float poison_damage_range; // 0x1148 + int32_t poison_movement_speed_melee; // 0x11b8 + int32_t poison_movement_speed_range; // 0x11bc + float poison_duration; // 0x11c0 + float poison_damage_melee; // 0x11c4 + float poison_damage_range; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t slow; // 0x113c - int32_t damage; // 0x1140 + float duration; // 0x11b8 + float slow; // 0x11bc + float damage; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_str; // 0x113c - int32_t bonus_int; // 0x1140 + int32_t radius; // 0x11b8 + int32_t bonus_str; // 0x11bc + int32_t bonus_int; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x1138 + int32_t aura_movement_speed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c + int32_t bonus_attack_speed_pct; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float bonus_mana_regen_pct; // 0x113c + int32_t bonus_armor; // 0x11b8 + float bonus_mana_regen_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speed; // 0x1148 - int32_t visibility_radius; // 0x114c + int32_t bonus_movement_speed; // 0x11c8 + int32_t visibility_radius; // 0x11cc +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t debuff_radius; // 0x11bc + float resist_debuff_duration; // 0x11c0 + int32_t m_nHeroesHit; // 0x11c4 + bool m_bHitInvisibleHero; // 0x11c8 + bool m_bFirstPulse; // 0x11c9 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_all_stats; // 0x113c + int32_t aura_radius; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 + int32_t spell_amp; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t bonus_evasion; // 0x1140 - int32_t status_resistance; // 0x1144 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t bonus_evasion; // 0x11c0 + int32_t status_resistance; // 0x11c4 }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: - // No members available + bool m_bPierceDebuffImmunity; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t aura_radius; // 0x113c + int32_t aura_radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_bonus_armor; // 0x1138 - float aura_mana_regen; // 0x113c + int32_t aura_bonus_armor; // 0x11b8 + float aura_mana_regen; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_armor; // 0x1148 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_armor; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: - float fade_time; // 0x1138 - GameTime_t m_flFadeTime; // 0x113c - bool m_bFaded; // 0x1140 + float fade_time; // 0x11b8 + GameTime_t m_flFadeTime; // 0x11bc + bool m_bFaded; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_night_vision; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_night_vision; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: - int32_t consumed_bonus; // 0x1138 - int32_t consumed_bonus_night_vision; // 0x113c + int32_t consumed_bonus; // 0x11b8 + int32_t consumed_bonus_night_vision; // 0x11bc }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_attack_speed; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t crit_chance; // 0x1148 - int32_t crit_multiplier; // 0x114c - float backstab_duration; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t crit_chance; // 0x11c8 + int32_t crit_multiplier; // 0x11cc + float backstab_duration; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x1148 - int32_t windwalk_movement_speed; // 0x114c + int32_t windwalk_bonus_damage; // 0x11c8 + int32_t windwalk_movement_speed; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: @@ -30077,7 +31033,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: @@ -30085,63 +31041,70 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1150 -class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Modifier_PersistentInvisibility +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: - int32_t active_magical_armor; // 0x1148 + int32_t active_movement_speed; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t barrier_amount; // 0x11c0 + float initial_fade_delay; // 0x11c4 + float secondary_fade_delay; // 0x11c8 + float m_flFadeTime; // 0x11cc + float m_flCurentFadeDelay; // 0x11d0 + GameTime_t m_flLastActionTime; // 0x11d4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: - float bonus_mana_regen_pct; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_all_stats; // 0x1140 - int32_t self_movement_speed; // 0x1144 - ParticleIndex_t nFXIndex; // 0x1148 + float bonus_mana_regen_pct; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 + int32_t self_movement_speed; // 0x11c4 + ParticleIndex_t nFXIndex; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t target_attack_speed; // 0x113c - int32_t target_movement_speed; // 0x1140 + int32_t target_armor; // 0x11b8 + int32_t target_attack_speed; // 0x11bc + int32_t target_movement_speed; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t target_attack_speed; // 0x113c - int32_t target_movement_speed; // 0x1140 + int32_t target_armor; // 0x11b8 + int32_t target_attack_speed; // 0x11bc + int32_t target_movement_speed; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: @@ -30149,66 +31112,66 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t aura_radius; // 0x1144 + int32_t bonus_movement; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t aura_radius; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 - float aura_armor; // 0x113c - float aura_health_regen_bonus; // 0x1140 - float aura_armor_bonus; // 0x1144 - int32_t aura_bonus_threshold; // 0x1148 + float aura_health_regen; // 0x11b8 + float aura_armor; // 0x11bc + float aura_health_regen_bonus; // 0x11c0 + float aura_armor_bonus; // 0x11c4 + int32_t aura_bonus_threshold; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: - float hp_regen; // 0x1138 + float hp_regen; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_mana; // 0x1144 - float block_cooldown; // 0x1148 + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_mana; // 0x11c4 + float block_cooldown; // 0x11c8 }; // Alignment: 1 -// Size: 0x1300 +// Size: 0x1390 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x1138 + CModifierParams m_LastParams; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: @@ -30216,149 +31179,150 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hAbility; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c - Vector m_vLocation; // 0x1140 - GameTime_t m_fChannelEnd; // 0x114c - bool m_bInterrupt; // 0x1150 - bool m_bExpired; // 0x1151 + CHandle< C_BaseEntity > m_hAbility; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + Vector m_vLocation; // 0x11c0 + GameTime_t m_fChannelEnd; // 0x11cc + bool m_bInterrupt; // 0x11d0 + bool m_bExpired; // 0x11d1 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - float bonus_cooldown; // 0x1144 - int32_t cast_range_bonus; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_cooldown; // 0x11c0 + float bonus_health_regen; // 0x11c4 + float bonus_mana_regen; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t base_attack_range; // 0x1140 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t base_attack_range; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t cast_range_bonus; // 0x1140 + int32_t bonus_mana; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t cast_range_bonus; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + float bonus_armor; // 0x11bc }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 9 +// Size: 0x11e0 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c - int32_t bonus_magic_resist; // 0x1150 - float duration; // 0x1154 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t spell_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc + int32_t bonus_magic_resist; // 0x11d0 + float duration; // 0x11d4 + float bonus_health_regen; // 0x11d8 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: - float target_crit_multiplier; // 0x1138 - float silence_damage_percent; // 0x113c - float m_flDamageTaken; // 0x1140 + float target_crit_multiplier; // 0x11b8 + float silence_damage_percent; // 0x11bc + float m_flDamageTaken; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_vRecords; // 0x1148 + CUtlVector< int16 > m_vRecords; // 0x11c8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_strength; // 0x1148 - float slow_duration; // 0x114c - bool bonus_speed; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_strength; // 0x11c8 + float slow_duration; // 0x11cc + bool bonus_speed; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_speed_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_speed_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: - float corruption_duration; // 0x1138 + float corruption_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: @@ -30366,7 +31330,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: @@ -30374,424 +31338,558 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_intellect; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t base_attack_range; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t base_attack_range; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: - float push_length; // 0x1138 + float push_length; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: - float enemy_length; // 0x1138 + float enemy_length; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t max_attacks; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - bool bActive; // 0x1144 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t max_attacks; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + bool bActive; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t bonus_attack_speed; // 0x1148 + int32_t bonus_attack_speed; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: - float mana_regen; // 0x1138 - float bonus_armor; // 0x113c - int32_t bonus_magical_armor; // 0x1140 - int32_t magic_damage_block; // 0x1144 - int32_t min_damage; // 0x1148 + float mana_regen; // 0x11b8 + float bonus_armor; // 0x11bc + int32_t bonus_magical_armor; // 0x11c0 + int32_t magic_damage_block; // 0x11c4 + int32_t min_damage; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 + int32_t bonus_all_stats; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x1138 - int32_t burn_dps_units; // 0x113c - float burn_interval; // 0x1140 + int32_t burn_dps_buildings; // 0x11b8 + int32_t burn_dps_units; // 0x11bc + float burn_interval; // 0x11c0 + int32_t burn_slow; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_regen; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t bonus_armor; // 0x11b8 + int32_t bonus_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: - float slow_interval_duration; // 0x1138 + float slow_interval_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_mana_regen; // 0x113c - float bonus_armor; // 0x1140 - int32_t bonus_all_stats; // 0x1144 + int32_t bonus_health; // 0x11b8 + float bonus_mana_regen; // 0x11bc + float bonus_armor; // 0x11c0 + int32_t bonus_all_stats; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t soul_heal_amount; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: - int32_t hp_regen_reduction_enemy; // 0x1138 - int32_t soul_damage_amount; // 0x113c - float enemy_hp_drain; // 0x1140 + int32_t hp_regen_reduction_enemy; // 0x11b8 + int32_t soul_damage_amount; // 0x11bc + float enemy_hp_drain; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t health_threshold_pct; // 0x1140 - float buff_duration; // 0x1144 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t health_threshold_pct; // 0x11c0 + float buff_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t mana_regen_multiplier; // 0x1140 - int32_t spell_lifesteal_amp; // 0x1144 + int32_t bonus_intellect; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t mana_regen_multiplier; // 0x11c0 + int32_t spell_lifesteal_amp; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - int32_t heal_increase; // 0x1144 - int32_t charge_radius; // 0x1148 - int32_t max_charges; // 0x114c - int32_t bonus_all_stats; // 0x1150 - int32_t charge_gain_timer; // 0x1154 + int32_t aura_radius; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_mana; // 0x11c0 + int32_t heal_increase; // 0x11c4 + int32_t charge_radius; // 0x11c8 + int32_t max_charges; // 0x11cc + int32_t bonus_all_stats; // 0x11d0 + int32_t charge_gain_timer; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t spell_amp; // 0x1144 - int32_t mana_regen_multiplier; // 0x1148 - int32_t status_resistance; // 0x114c - int32_t spell_lifesteal_amp; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t spell_amp; // 0x11c4 + int32_t mana_regen_multiplier; // 0x11c8 + int32_t status_resistance; // 0x11cc + int32_t spell_lifesteal_amp; // 0x11d0 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c - int32_t spell_lifesteal_amp; // 0x1150 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t spell_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc + int32_t spell_lifesteal_amp; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x1138 - int32_t maim_slow_attack; // 0x113c - int32_t maim_slow_movement_range; // 0x1140 - int32_t maim_slow_attack_range; // 0x1144 + int32_t maim_slow_movement; // 0x11b8 + int32_t maim_slow_attack; // 0x11bc + int32_t maim_slow_movement_range; // 0x11c0 + int32_t maim_slow_attack_range; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - int32_t bonus_health; // 0x113c + float bonus_health_regen; // 0x11b8 + int32_t bonus_health; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x11b8 +}; + +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff +{ +public: + int32_t speed; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_over_time; // 0x11c0 + int32_t impact_damage; // 0x11c4 + float debuff_duration; // 0x11c8 + int32_t movespeed_slow; // 0x11cc + float tick_rate; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff +{ +public: + int32_t movespeed_slow; // 0x11b8 + float damage_over_time; // 0x11bc +}; + +// Alignment: 7 +// Size: 0x11e8 +class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t bonus_spell_damage; // 0x11c4 + float slow_duration; // 0x11c8 + int32_t bonus_all_stats; // 0x11cc + CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x11d0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x11b8 +}; + +// Alignment: 9 +// Size: 0x11e0 +class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + float damage_per_burn; // 0x11cc + int32_t feedback_mana_burn; // 0x11d0 + int32_t feedback_mana_burn_illusion_melee; // 0x11d4 + int32_t feedback_mana_burn_illusion_ranged; // 0x11d8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff +{ +public: + int32_t purge_bonus_miss_rate; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff +{ +public: + int32_t attack_speed_slow; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff +{ +public: + int32_t movement_speed_buff_rate; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_health; // 0x11c0 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff +{ +public: + int32_t absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t cast_range_bonus; // 0x113c + float bonus_mana_regen; // 0x11b8 + int32_t cast_range_bonus; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x1138 - int32_t attack_speed_bonus; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t attack_range_bonus; // 0x11b8 + int32_t attack_speed_bonus; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x1138 + int32_t magic_resistance_reduction; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: - int32_t bonus_cooldown; // 0x1138 - int32_t bonus_health_regen; // 0x113c + int32_t bonus_cooldown; // 0x11b8 + int32_t bonus_health_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_gpm; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t bonus_mana; // 0x11b8 + int32_t bonus_gpm; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: - int32_t push_length; // 0x1138 - float push_duration; // 0x113c + int32_t push_length; // 0x11b8 + float push_duration; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - float corruption_duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_damage; // 0x11b8 + float corruption_duration; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: - int32_t health_pct; // 0x1138 + int32_t health_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c + int32_t radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x1138 - int32_t vision_bonus; // 0x113c - int32_t mana_regen; // 0x1140 + int32_t cast_range_bonus; // 0x11b8 + int32_t vision_bonus; // 0x11bc + int32_t mana_regen; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c - float duration; // 0x1140 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item -{ -public: - int32_t attack_lifesteal; // 0x1138 - int32_t spell_lifesteal; // 0x113c - int32_t night_vision; // 0x1140 -}; - -// Alignment: 3 -// Size: 0x1148 -class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item -{ -public: - int32_t armor_bonus; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t bonus_health; // 0x1140 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item -{ -public: - int32_t bonus_damage; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item -{ -public: - int32_t spell_amp; // 0x1138 - int32_t debuff_amp; // 0x113c + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 4 -// Size: 0x1310 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item +{ +public: + int32_t attack_lifesteal; // 0x11b8 + int32_t spell_lifesteal; // 0x11bc + int32_t night_vision; // 0x11c0 + int32_t creep_lifesteal_reduction_pct; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item +{ +public: + int32_t armor_bonus; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t bonus_health; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item +{ +public: + int32_t bonus_damage; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item +{ +public: + int32_t spell_amp; // 0x11b8 + int32_t debuff_amp; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x13a0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: - CModifierParams m_LastParams; // 0x1138 - int32_t all_stats; // 0x1300 - int32_t reflect_chance; // 0x1304 - bool m_bProcSuccessful; // 0x1308 + CModifierParams m_LastParams; // 0x11b8 + int32_t all_stats; // 0x1390 + int32_t reflect_chance; // 0x1394 + bool m_bProcSuccessful; // 0x1398 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: @@ -30799,32 +31897,32 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: - float health_regen; // 0x1138 - float mana_regen; // 0x113c + float health_regen; // 0x11b8 + float mana_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: - int32_t secondary_stats; // 0x1138 + int32_t secondary_stats; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: @@ -30832,55 +31930,55 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: - int32_t hp_regen; // 0x1138 + int32_t hp_regen; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: - float health_regen; // 0x1138 - int32_t armor_bonus; // 0x113c - int32_t multishot_count; // 0x1140 + float health_regen; // 0x11b8 + int32_t armor_bonus; // 0x11bc + int32_t multishot_count; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: - int32_t magic_damage; // 0x1138 - int32_t attack_speed; // 0x113c - float duration; // 0x1140 + int32_t magic_damage; // 0x11b8 + int32_t attack_speed; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: - int32_t truesight_radius; // 0x1138 - int32_t bonus_vision; // 0x113c - int32_t bonus_all_stats; // 0x1140 + int32_t truesight_radius; // 0x11b8 + int32_t bonus_vision; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_cooldown; // 0x113c - float mana_regen; // 0x1140 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_cooldown; // 0x11bc + float mana_regen; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: @@ -30888,126 +31986,137 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t health_regen; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: - float duration; // 0x1138 - int32_t projectile_bonus; // 0x113c + float duration; // 0x11b8 + int32_t projectile_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t turn_rate; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t turn_rate; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: - int32_t bonus_movement_speed_active; // 0x1138 + int32_t bonus_movement_speed_active; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float duration; // 0x113c + int32_t bonus_armor; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 3 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: - CHandle< C_BaseEntity > m_hTree; // 0x1138 + CHandle< C_BaseEntity > m_hTree; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CountdownTimer m_Timer; // 0x1140 - float seconds; // 0x1158 + CountdownTimer m_Timer; // 0x11c0 + float seconds; // 0x11d8 }; -// Alignment: 5 -// Size: 0x1178 +// Alignment: 7 +// Size: 0x1200 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTree; // 0x1138 - int32_t m_nMangoSeconds; // 0x113c - CountdownTimer m_MangoTimer; // 0x1140 - int32_t m_nRespawnSeconds; // 0x1158 + CHandle< C_BaseEntity > m_hTree; // 0x11b8 + int32_t m_nMangoSeconds; // 0x11bc + CountdownTimer m_MangoTimer; // 0x11c0 + int32_t m_nRespawnSeconds; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CountdownTimer m_RespawnTimer; // 0x1160 + CountdownTimer m_RespawnTimer; // 0x11e0 + int32_t m_nMangosAvailable; // 0x11f8 + int32_t m_nChannelCount; // 0x11fc +}; + +// Alignment: 2 +// Size: 0x11c0 +class Modifier_Pluck_Famango_Channel : public CDOTA_Buff +{ +public: + float famango_rate; // 0x11b8 + CHandle< C_BaseEntity > m_hMangoTree; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: - int32_t bonus_primary_stat; // 0x1138 - int32_t bonus_secondary_stat; // 0x113c - int32_t bonus_magic_resistance; // 0x1140 - int32_t bonus_spell_amp; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t m_iStat; // 0x114c + int32_t bonus_primary_stat; // 0x11b8 + int32_t bonus_secondary_stat; // 0x11bc + int32_t bonus_magic_resistance; // 0x11c0 + int32_t bonus_spell_amp; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t m_iStat; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: - int32_t max_health; // 0x1138 - int32_t max_mana; // 0x113c + int32_t max_health; // 0x11b8 + int32_t max_mana; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t crit_multiplier; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: @@ -31015,98 +32124,98 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: - int32_t scan_cooldown_reduction; // 0x1138 - int32_t aura_range; // 0x113c + int32_t scan_cooldown_reduction; // 0x11b8 + int32_t aura_range; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: - int32_t attack_range; // 0x1138 - int32_t cast_range; // 0x113c + int32_t attack_range; // 0x11b8 + int32_t cast_range; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: - float water_hp_regen; // 0x1138 - float water_mp_regen; // 0x113c - int32_t all_stats; // 0x1140 - bool m_bInRiver; // 0x1144 + float water_hp_regen; // 0x11b8 + float water_mp_regen; // 0x11bc + int32_t all_stats; // 0x11c0 + bool m_bInRiver; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: - int32_t melee_attack_range; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t melee_attack_range; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: - int32_t bonus_magic_resistance; // 0x1138 - int32_t bonus_spell_amp; // 0x113c - int32_t bonus_armor; // 0x1140 + int32_t bonus_magic_resistance; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc + int32_t bonus_armor; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_hp_regen; // 0x113c + int32_t bonus_armor; // 0x11b8 + int32_t bonus_hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 + int32_t damage_per_sec; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 - float mp_regen; // 0x113c + int32_t bonus_int; // 0x11b8 + float mp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: - int32_t health_gain; // 0x1138 + int32_t health_gain; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -31114,35 +32223,39 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t mana_regen; // 0x113c + int32_t all_stats; // 0x11b8 + int32_t mana_regen; // 0x11bc }; -// Alignment: 3 -// Size: 0x1158 +// Alignment: 4 +// Size: 0x11e0 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: - int32_t bonus_attack_range; // 0x1138 - int32_t bonus_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_attack_range; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t active_bonus_attack_range; // 0x11c0 +private: + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t passive_movement_bonus; // 0x113c + int32_t bonus_agility; // 0x11b8 + int32_t passive_movement_bonus; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: @@ -31150,410 +32263,411 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: - int32_t bonus_agi; // 0x1138 - int32_t bonus_str; // 0x113c + int32_t bonus_agi; // 0x11b8 + int32_t bonus_str; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: - int32_t attack_damage_aura; // 0x1138 + int32_t attack_damage_aura; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float health_threshold; // 0x113c + int32_t bonus_health; // 0x11b8 + float health_threshold; // 0x11bc }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: - int32_t primary_stat; // 0x1138 + int32_t primary_stat; // 0x11b8 + int32_t primary_stat_universal; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x1138 - float knockback_distance; // 0x113c - float knockback_duration; // 0x1140 + int32_t attack_range_bonus; // 0x11b8 + float knockback_distance; // 0x11bc + float knockback_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_hp_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: - float tree_duration; // 0x1138 + float tree_duration; // 0x11b8 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t hp_regen_amp; // 0x1148 - int32_t status_resistance; // 0x114c - int32_t bonus_intellect; // 0x1150 - int32_t spell_amp; // 0x1154 - int32_t mana_regen_multiplier; // 0x1158 - int32_t magic_damage_attack; // 0x115c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t hp_regen_amp; // 0x11c8 + int32_t status_resistance; // 0x11cc + int32_t bonus_intellect; // 0x11d0 + int32_t spell_amp; // 0x11d4 + int32_t mana_regen_multiplier; // 0x11d8 + int32_t magic_damage_attack; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_intellect; // 0x113c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x1138 - int32_t damage_bonus; // 0x113c + int32_t hp_bonus; // 0x11b8 + int32_t damage_bonus; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_intellect; // 0x113c - float bonus_health_regen; // 0x1140 - float bonus_mana_regen; // 0x1144 - float blink_damage_cooldown; // 0x1148 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float bonus_health_regen; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + float blink_damage_cooldown; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x1138 - int32_t burn_dps_units; // 0x113c - float burn_interval; // 0x1140 + int32_t burn_dps_buildings; // 0x11b8 + int32_t burn_dps_units; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_ms; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_ms; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_movement_speed; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_lifesteal; // 0x113c - int32_t bonus_spell_lifesteal; // 0x1140 - int32_t bonus_amp; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_lifesteal; // 0x11bc + int32_t bonus_spell_lifesteal; // 0x11c0 + int32_t bonus_amp; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - int32_t slow_melee; // 0x113c - int32_t slow_range; // 0x1140 - bool bCasterRanged; // 0x1144 + int32_t armor_reduction; // 0x11b8 + int32_t slow_melee; // 0x11bc + int32_t slow_range; // 0x11c0 + bool bCasterRanged; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t demolish; // 0x1140 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t demolish; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_intelligence; // 0x113c + int32_t bonus_armor; // 0x11b8 + int32_t bonus_intelligence; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: - int32_t base_attack_damage; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t base_attack_damage; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: - float spell_lifesteal; // 0x1138 + float spell_lifesteal; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - float slow_duration; // 0x1144 - int32_t projectile_speed; // 0x1148 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float slow_duration; // 0x11c4 + int32_t projectile_speed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float int_damage_multiplier; // 0x113c + int32_t slow; // 0x11b8 + float int_damage_multiplier; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_armor; // 0x113c - int32_t spell_lifesteal; // 0x1140 + int32_t bonus_strength; // 0x11b8 + float bonus_armor; // 0x11bc + int32_t spell_lifesteal; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: - int32_t berserk_spell_amp; // 0x1138 - int32_t berserk_manacost_reduction; // 0x113c - int32_t berserk_magic_resistance; // 0x1140 + int32_t berserk_spell_amp; // 0x11b8 + int32_t berserk_manacost_reduction; // 0x11bc + int32_t berserk_magic_resistance; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: - float hp_regen; // 0x1138 - int32_t damage_return_hero; // 0x113c - int32_t damage_return_creep; // 0x1140 + float hp_regen; // 0x11b8 + int32_t damage_return_hero; // 0x11bc + int32_t damage_return_creep; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: - int32_t armor; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t radius; // 0x1140 + int32_t armor; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_illusions; // 0x113c + int32_t damage; // 0x11b8 + int32_t damage_illusions; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x1138 - int32_t evasion; // 0x113c - int32_t movment; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t evasion; // 0x11bc + int32_t movment; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: - int32_t health_bonus; // 0x1138 - float duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t health_bonus; // 0x11b8 + float duration; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - int32_t slow_melee; // 0x113c - int32_t slow_range; // 0x1140 - bool bCasterRanged; // 0x1144 + int32_t armor; // 0x11b8 + int32_t slow_melee; // 0x11bc + int32_t slow_range; // 0x11c0 + bool bCasterRanged; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t damage; // 0x1148 + int32_t damage; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: - int32_t mana_regen_amp; // 0x1138 - int32_t spell_amp_creeps; // 0x113c + int32_t mana_regen_amp; // 0x11b8 + int32_t spell_amp_creeps; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: - int32_t evasion; // 0x1138 - int32_t magic_resistance; // 0x113c - float debuff_limit; // 0x1140 + int32_t evasion; // 0x11b8 + int32_t magic_resistance; // 0x11bc + float debuff_limit; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: @@ -31561,39 +32675,39 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x1138 - int32_t debuff_amp; // 0x113c - float duration; // 0x1140 + int32_t primary_attribute; // 0x11b8 + int32_t debuff_amp; // 0x11bc + float duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t degen; // 0x113c + int32_t damage; // 0x11b8 + int32_t degen; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: - int32_t debuff_amp; // 0x1138 - int32_t cooldown_reduction; // 0x113c + int32_t debuff_amp; // 0x11b8 + int32_t cooldown_reduction; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: @@ -31601,155 +32715,155 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t armor; // 0x113c - int32_t movement_speed; // 0x1140 + int32_t damage; // 0x11b8 + int32_t armor; // 0x11bc + int32_t movement_speed; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x1138 - int32_t lifesteal; // 0x113c + int32_t primary_attribute; // 0x11b8 + int32_t lifesteal; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t debuff_duration; // 0x1150 - int32_t bonus_attack_speed; // 0x1154 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t debuff_duration; // 0x11d0 + int32_t bonus_attack_speed; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: - int32_t armor_debuff; // 0x1138 + int32_t armor_debuff; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float hp_regen; // 0x113c + int32_t bonus_health; // 0x11b8 + float hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: - int32_t base_gold; // 0x1138 - int32_t gold_per_level; // 0x113c - int32_t strength_penalty; // 0x1140 + int32_t base_gold; // 0x11b8 + int32_t gold_per_level; // 0x11bc + int32_t strength_penalty; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: - float move_speed; // 0x1138 + float move_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - float blind_duration; // 0x1144 + int32_t bonus_armor; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + float blind_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: - float blind_pct; // 0x1138 + float blind_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 + int32_t bonus_int; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: - int32_t health_per_tree; // 0x1138 - int32_t hp_bonus; // 0x113c + int32_t health_per_tree; // 0x11b8 + int32_t hp_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: - float damage; // 0x1138 - int32_t attack_speed; // 0x113c + float damage; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float bat; // 0x113c - float stun_duration; // 0x1140 - int32_t stun_chance; // 0x1144 - int32_t m_nAttack; // 0x1148 + float bat; // 0x11bc + float stun_duration; // 0x11c0 + int32_t stun_chance; // 0x11c4 + int32_t m_nAttack; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: @@ -31757,71 +32871,71 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float hp_regen; // 0x113c + int32_t bonus_health; // 0x11b8 + float hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_intellect; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_intellect; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: - int32_t leap_distance; // 0x1138 - float leap_speed; // 0x113c - float leap_acceleration; // 0x1140 - int32_t leap_radius; // 0x1144 - float leap_bonus_duration; // 0x1148 - bool m_bLaunched; // 0x114c + int32_t leap_distance; // 0x11b8 + float leap_speed; // 0x11bc + float leap_acceleration; // 0x11c0 + int32_t leap_radius; // 0x11c4 + float leap_bonus_duration; // 0x11c8 + bool m_bLaunched; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: - int32_t dps; // 0x1138 + int32_t dps; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 + int32_t all_stats; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: @@ -31829,24 +32943,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: - int32_t health_penalty; // 0x1138 - int32_t attack_speed; // 0x113c + int32_t health_penalty; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: - int32_t bonus_aoe_radius; // 0x1138 + int32_t bonus_aoe_radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: @@ -31854,187 +32968,189 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t bonus_aoe_radius; // 0x113c - int32_t self_armor; // 0x1140 - int32_t self_mres; // 0x1144 + int32_t bonus_aoe_radius; // 0x11bc + int32_t self_armor; // 0x11c0 + int32_t self_mres; // 0x11c4 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x1138 - float bonus_aoe_ms; // 0x113c - float bonus_aoe_mres; // 0x1140 - float self_mres; // 0x1144 - float self_armor; // 0x1148 - int32_t active_reflection_pct; // 0x114c + float bonus_aoe_armor; // 0x11b8 + float bonus_aoe_ms; // 0x11bc + float bonus_aoe_mres; // 0x11c0 + float self_mres; // 0x11c4 + float self_armor; // 0x11c8 + int32_t active_reflection_pct; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t missing_hp; // 0x113c - int32_t damage; // 0x1140 - int32_t aspd; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t missing_hp; // 0x11bc + int32_t damage; // 0x11c0 + int32_t aspd; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: - int32_t damage; // 0x1138 - int32_t hp_regen; // 0x113c - int32_t mana_regen_amp; // 0x1140 + int32_t damage; // 0x11b8 + int32_t hp_regen; // 0x11bc + int32_t mana_regen_amp; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: - int32_t strength; // 0x1138 + int32_t strength; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float duration; // 0x113c - float regen; // 0x1140 + int32_t heal; // 0x11b8 + float duration; // 0x11bc + float regen; // 0x11c0 }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 8 +// Size: 0x11d8 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: - GameTime_t m_flNextHit; // 0x1138 - int32_t range; // 0x113c - float interval; // 0x1140 - int32_t damage; // 0x1144 - float slow_duration; // 0x1148 - float bonus_mana_regen; // 0x114c + GameTime_t m_flNextHit; // 0x11b8 + int32_t passive_movement_bonus; // 0x11bc + int32_t range; // 0x11c0 + float interval; // 0x11c4 + int32_t damage; // 0x11c8 + float slow_duration; // 0x11cc + float bonus_mana_regen; // 0x11d0 + int32_t max_targets; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t manacost_reduction; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t manacost_reduction; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x1138 - int32_t poison_movement_speed_range; // 0x113c - float poison_duration; // 0x1140 - float poison_damage; // 0x1144 - int32_t armor; // 0x1148 - float hp_regen; // 0x114c + int32_t poison_movement_speed_melee; // 0x11b8 + int32_t poison_movement_speed_range; // 0x11bc + float poison_duration; // 0x11c0 + float poison_damage; // 0x11c4 + int32_t armor; // 0x11c8 + float hp_regen; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t slow; // 0x113c - float damage; // 0x1140 + float duration; // 0x11b8 + int32_t slow; // 0x11bc + float damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_damage_per_kill; // 0x113c - int32_t bonus_damage_per_assist; // 0x1140 - int32_t bonus_health; // 0x1144 - int32_t max_damage; // 0x1148 - float bonus_mana_regen; // 0x114c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_per_kill; // 0x11bc + int32_t bonus_damage_per_assist; // 0x11c0 + int32_t bonus_health; // 0x11c4 + int32_t max_damage; // 0x11c8 + float bonus_mana_regen; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float duration; // 0x1144 - float bonus_mana_regen; // 0x1148 - int32_t bonus_intellect; // 0x114c + int32_t bonus_magical_armor; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float duration; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + int32_t bonus_intellect; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: - int32_t spell_amp_debuff; // 0x1138 + int32_t spell_amp_debuff; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float blink_damage_cooldown; // 0x113c + int32_t bonus_strength; // 0x11b8 + float blink_damage_cooldown; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: @@ -32042,25 +33158,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 - int32_t bonus_agility; // 0x113c + float blink_damage_cooldown; // 0x11b8 + int32_t bonus_agility; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: @@ -32068,25 +33184,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_agi_active; // 0x113c + int32_t bonus_movement; // 0x11b8 + int32_t bonus_agi_active; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 - int32_t bonus_intellect; // 0x113c + float blink_damage_cooldown; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: @@ -32094,38 +33210,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: - int32_t cast_pct_improvement; // 0x1138 - int32_t manacost_reduction; // 0x113c - int32_t debuff_amp; // 0x1140 + int32_t cast_pct_improvement; // 0x11b8 + int32_t manacost_reduction; // 0x11bc + int32_t debuff_amp; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_movement_speed; // 0x1140 - int32_t bonus_mana; // 0x1144 - int32_t cast_range_bonus; // 0x1148 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 + int32_t bonus_mana; // 0x11c4 + int32_t cast_range_bonus; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hBlocker; // 0x1138 - GameTime_t m_flStartTime; // 0x113c + CHandle< C_BaseEntity > m_hBlocker; // 0x11b8 + GameTime_t m_flStartTime; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: @@ -32133,101 +33249,104 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x1138 - float bonus_health_regen; // 0x113c - float spell_lifesteal; // 0x1140 + int32_t bonus_spell_resist; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float bonus_health_regen; // 0x11c4 + int32_t mana_restore_pct; // 0x11c8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: - int32_t movement_speed_pct; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t cleave_damage_percent; // 0x1140 - int32_t cleave_starting_width; // 0x1144 - int32_t cleave_ending_width; // 0x1148 - int32_t cleave_distance; // 0x114c + int32_t movement_speed_pct; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t cleave_damage_percent; // 0x11c0 + int32_t cleave_starting_width; // 0x11c4 + int32_t cleave_ending_width; // 0x11c8 + int32_t cleave_distance; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: - int32_t damage; // 0x1138 - int32_t maim_chance; // 0x113c - float maim_duration; // 0x1140 - int32_t melee_attack_range; // 0x1144 + int32_t damage; // 0x11b8 + int32_t maim_chance; // 0x11bc + float maim_duration; // 0x11c0 + int32_t melee_attack_range; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x1138 - int32_t maim_slow_attack; // 0x113c + int32_t maim_slow_movement; // 0x11b8 + int32_t maim_slow_attack; // 0x11bc }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_GungirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1158 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t chain_chance; // 0x1148 - int32_t chain_strikes; // 0x114c - int32_t chain_damage; // 0x1150 - int32_t chain_radius; // 0x1154 - float chain_cooldown; // 0x1158 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t chain_chance; // 0x11c8 + int32_t chain_strikes; // 0x11cc + int32_t chain_damage; // 0x11d0 + int32_t chain_radius; // 0x11d4 + float chain_cooldown; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 - CountdownTimer m_ChainTimer; // 0x1178 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 + CountdownTimer m_ChainTimer; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -32235,147 +33354,147 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - float bonus_mana_regen; // 0x1140 - int32_t cast_range_bonus; // 0x1144 - int32_t bonus_magical_armor; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t cast_range_bonus; // 0x11c4 + int32_t bonus_magical_armor; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t xp_gain; // 0x113c + int32_t bonus_all_stats; // 0x11b8 + int32_t xp_gain; // 0x11bc }; // Alignment: 19 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - int32_t sange_bonus_strength; // 0x1138 - int32_t sange_status_resistance; // 0x113c - int32_t sange_hp_regen_amp; // 0x1140 - int32_t kaya_bonus_intellect; // 0x1144 - int32_t kaya_spell_amp; // 0x1148 - int32_t kaya_mana_regen_multiplier; // 0x114c - int32_t kaya_magic_damage_attack; // 0x1150 - int32_t yasha_bonus_agility; // 0x1154 - int32_t yasha_bonus_attack_speed; // 0x1158 - int32_t yasha_movement_speed_percent_bonus; // 0x115c - int32_t m_iCurrentStance; // 0x1160 - int32_t bonus_strength; // 0x1164 - int32_t bash_chance_melee; // 0x1168 - int32_t bash_chance_ranged; // 0x116c - float bash_duration; // 0x1170 - float bash_cooldown; // 0x1174 - int32_t bonus_chance_damage; // 0x1178 - int32_t bonus_damage; // 0x117c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1180 + int32_t sange_bonus_strength; // 0x11b8 + int32_t sange_status_resistance; // 0x11bc + int32_t sange_hp_regen_amp; // 0x11c0 + int32_t kaya_bonus_intellect; // 0x11c4 + int32_t kaya_spell_amp; // 0x11c8 + int32_t kaya_mana_regen_multiplier; // 0x11cc + int32_t kaya_magic_damage_attack; // 0x11d0 + int32_t yasha_bonus_agility; // 0x11d4 + int32_t yasha_bonus_attack_speed; // 0x11d8 + int32_t yasha_movement_speed_percent_bonus; // 0x11dc + int32_t m_iCurrentStance; // 0x11e0 + int32_t bonus_strength; // 0x11e4 + int32_t bash_chance_melee; // 0x11e8 + int32_t bash_chance_ranged; // 0x11ec + float bash_duration; // 0x11f0 + float bash_cooldown; // 0x11f4 + int32_t bonus_chance_damage; // 0x11f8 + int32_t bonus_damage; // 0x11fc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x1138 + int32_t agi_stance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x1138 + int32_t str_stance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x1138 + int32_t int_stance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x1138 - int32_t cast_range; // 0x113c + int32_t intelligence_pct; // 0x11b8 + int32_t cast_range; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - int32_t push_length; // 0x1138 - float push_duration; // 0x113c + int32_t push_length; // 0x11b8 + float push_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t aura_radius; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t aura_radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 - int32_t magic_resistance; // 0x113c + int32_t status_resistance; // 0x11b8 + int32_t magic_resistance; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t night_vision; // 0x113c + int32_t bonus_all_stats; // 0x11b8 + int32_t night_vision; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: @@ -32383,29 +33502,29 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t model_scale; // 0x1140 - int32_t damage_radius; // 0x1144 - int32_t pct_str_damage_per_second; // 0x1148 - float tick_rate; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t model_scale; // 0x11c0 + int32_t damage_radius; // 0x11c4 + int32_t pct_str_damage_per_second; // 0x11c8 + float tick_rate; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t damage_return; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t damage_return; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: @@ -32413,274 +33532,304 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - CHandle< C_BaseEntity > m_hTarget; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + int32_t speed; // 0x11b8 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t speed; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - int32_t base_attack; // 0x1138 - int32_t bonus_attack; // 0x113c - int32_t base_movement; // 0x1140 - int32_t bonus_movement; // 0x1144 - int32_t projectile_increase; // 0x1148 - int32_t anim_increase; // 0x114c + int32_t base_attack; // 0x11b8 + int32_t bonus_attack; // 0x11bc + int32_t base_movement; // 0x11c0 + int32_t bonus_movement; // 0x11c4 + int32_t projectile_increase; // 0x11c8 + int32_t anim_increase; // 0x11cc }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_health; // 0x1144 - float bonus_mana_regen; // 0x1148 - int32_t cooldown_reduction_percent; // 0x114c - int32_t bonus_chance; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t bonus_health; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + int32_t cooldown_reduction_percent; // 0x11cc + int32_t bonus_chance; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x1138 + int32_t aura_health_regen; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t backstab_damage; // 0x1140 - int32_t backstab_angle; // 0x1144 - float slow_duration; // 0x1148 - bool m_bBackstab; // 0x114c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t backstab_damage; // 0x11c0 + int32_t backstab_angle; // 0x11c4 + float slow_duration; // 0x11c8 + bool m_bBackstab; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x1138 - int32_t slow_pct_ranged; // 0x113c + int32_t slow_pct_melee; // 0x11b8 + int32_t slow_pct_ranged; // 0x11bc }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t stack_limit; // 0x113c - float stack_duration; // 0x1140 - GameTime_t m_flStackDieTime; // 0x1144 + int32_t bonus_all_stats; // 0x11b8 + int32_t stack_limit; // 0x11bc + float stack_duration; // 0x11c0 + GameTime_t m_flStackDieTime; // 0x11c4 + int32_t magic_resistance; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x1138 + float mana_regen; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_xpm; // 0x113c - int32_t bonus_armor; // 0x1140 + int32_t bonus_mana; // 0x11b8 + int32_t bonus_xpm; // 0x11bc + int32_t bonus_armor; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - int32_t m_nCurrentBounce; // 0x1138 - int32_t leap_distance; // 0x113c - float leap_speed; // 0x1140 - float leap_acceleration; // 0x1144 - int32_t leap_radius; // 0x1148 - float leap_bonus_duration; // 0x114c - bool m_bLaunched; // 0x1150 + int32_t m_nCurrentBounce; // 0x11b8 + int32_t leap_distance; // 0x11bc + float leap_speed; // 0x11c0 + float leap_acceleration; // 0x11c4 + int32_t leap_radius; // 0x11c8 + float leap_bonus_duration; // 0x11cc + bool m_bLaunched; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x1138 + int32_t heal_increase; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t heal; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t movement_speed; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t heal; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x1138 + int32_t health_regen; // 0x11b8 }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t spill_speed; // 0x1170 - int32_t spill_radius; // 0x1174 - int32_t spill_damage; // 0x1178 - float spill_debuff_duration; // 0x117c + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t spill_speed; // 0x11f0 + int32_t spill_radius; // 0x11f4 + int32_t spill_damage; // 0x11f8 + float spill_debuff_duration; // 0x11fc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x1138 - int32_t spill_attack_speed; // 0x113c - int32_t spill_self_bonus_armor; // 0x1140 + int32_t spill_movement_speed; // 0x11b8 + int32_t spill_attack_speed; // 0x11bc + int32_t spill_self_bonus_armor; // 0x11c0 }; -// Alignment: 5 -// Size: 0x1160 +// Alignment: 9 +// Size: 0x11f0 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x1138 - float duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 - int32_t bonus_damage; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_chance; // 0x11b8 + int32_t bonus_chance_damage; // 0x11bc + int32_t bonus_strength; // 0x11c0 + int32_t bonus_agility; // 0x11c4 + int32_t bonus_intellect; // 0x11c8 + float bonus_mana_regen; // 0x11cc + int32_t bonus_damage; // 0x11d0 + int32_t bonus_speed; // 0x11d4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x11d8 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item +{ +public: + float slow_duration; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + bool bonus_speed; // 0x11c0 +private: + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 +public: + float passive_cooldown; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - float m_flDistance; // 0x1138 + float m_flDistance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item -{ -public: - int32_t all_stats; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item -{ -public: - int32_t vision_bonus; // 0x1138 - int32_t magic_resist; // 0x113c + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item +{ +public: + int32_t all_stats; // 0x11b8 + int32_t bonus_armor; // 0x11bc + float counter_cooldown; // 0x11c0 + GameTime_t m_flLastCounterTime; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item +{ +public: + int32_t vision_bonus; // 0x11b8 + int32_t magic_resist; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -32688,27 +33837,27 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x1138 - int32_t sight_range; // 0x113c + int32_t scout_movespeed; // 0x11b8 + int32_t sight_range; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x1138 - int32_t width; // 0x113c - int32_t max_hits; // 0x1140 - int32_t m_iCurrentHits; // 0x1144 + int32_t length; // 0x11b8 + int32_t width; // 0x11bc + int32_t max_hits; // 0x11c0 + int32_t m_iCurrentHits; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -32716,187 +33865,312 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x1138 - int32_t mana_reduction_pct; // 0x113c + int32_t cast_range_bonus; // 0x11b8 + int32_t mana_reduction_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hPartner; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - float leash_distance; // 0x1140 - float leash_limit_multiplier; // 0x1144 - CHandle< C_BaseEntity > m_hAnchor; // 0x1148 + CHandle< C_BaseEntity > m_hPartner; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + float leash_distance; // 0x11c0 + float leash_limit_multiplier; // 0x11c4 + CHandle< C_BaseEntity > m_hAnchor; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x1138 - float recharge_time; // 0x113c - bool m_bFull; // 0x1140 + int32_t max_charges_per_kill; // 0x11b8 + float recharge_time; // 0x11bc + bool m_bFull; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t bonus_intellect; // 0x1144 - int32_t movement_speed; // 0x1148 + int32_t bonus_intellect; // 0x11c4 + int32_t movement_speed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t cast_range_bonus; // 0x113c + int32_t all_stats; // 0x11b8 + int32_t cast_range_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t count; // 0x1140 + int32_t all_stats; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t count; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x1138 + int32_t aspd; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - int32_t bonus_mana_regen; // 0x113c - int32_t bonus_spell_resist; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t bonus_spell_resist; // 0x11c0 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 - float m_flDamageTotal; // 0x113c -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item -{ -public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c - float spell_lifesteal; // 0x1140 - int32_t bonus_spell_damage; // 0x1144 - float slow_duration; // 0x1148 + int32_t barrier_block; // 0x11b8 + float m_flDamageTotal; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x1138 -}; - -// Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_intellect; // 0x113c - float damage_per_burn; // 0x1140 - int32_t feedback_mana_burn; // 0x1144 - int32_t feedback_mana_burn_illusion_melee; // 0x1148 - int32_t feedback_mana_burn_illusion_ranged; // 0x114c - int32_t aura_radius; // 0x1150 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float damage_per_burn; // 0x11c0 + int32_t feedback_mana_burn; // 0x11c4 + int32_t feedback_mana_burn_illusion_melee; // 0x11c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x11cc + int32_t aura_radius; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t max_slow_pct; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t aura_radius; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x11b8 + float aura_health_regen; // 0x11bc + int32_t aura_armor; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item +{ +public: + int32_t damage; // 0x11b8 + int32_t armor; // 0x11bc + int32_t health_pct; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_armor; // 0x11c0 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item +{ +public: + int32_t move_speed; // 0x11b8 + int32_t mana; // 0x11bc + int32_t magic_block; // 0x11c0 + int32_t min_damage; // 0x11c4 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item +{ +public: + int32_t magic_resist; // 0x11b8 + float duration; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff +{ +public: + int32_t damage_per_second; // 0x11b8 + int32_t heal_reduction; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float radius; // 0x11c0 + int32_t actual_attack_speed; // 0x11c4 +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item +{ +public: + int32_t distance; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t attack_lifesteal; // 0x11c0 + int32_t spell_lifesteal; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item +{ +public: + int32_t armor; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11d0 +class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item +{ +public: + int32_t damage_reduction; // 0x11b8 + Vector m_vecPosition; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item +{ +public: + float duration; // 0x11b8 + int32_t magic_resist; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item +{ +public: + int32_t aura_radius; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item +{ +public: + int32_t damage_redirection; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item +{ +public: + float movement_speed; // 0x11b8 }; // Alignment: 45 @@ -33311,7 +34585,7 @@ public: float m_flLastCastClickTime; // 0x598 }; -// Alignment: 45 +// Alignment: 46 // Size: 0x630 class C_DOTA_Item : public C_DOTABaseAbility { @@ -33332,8 +34606,10 @@ public: int32_t m_iStackableMax; // 0x5a4 // MNetworkEnable bool m_bRecipe; // 0x5a8 + // MNetworkEnable + bool m_bRecipeConsumesCharges; // 0x5a9 private: - [[maybe_unused]] uint8_t __pad05a9[0x3]; // 0x5a9 + [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa public: // MNetworkEnable // MNetworkPriority "32" @@ -33449,7 +34725,7 @@ public: }; // Alignment: 25 -// Size: 0x3280 +// Size: 0x32d8 class C_DOTA_PlayerResource : public C_BaseEntity { private: @@ -33490,16 +34766,16 @@ public: bool m_bWorldTreeModelsChanged; // 0x2554 bool m_bSwapWillingness[24]; // 0x2555 private: - [[maybe_unused]] uint8_t __pad256d[0x3]; // 0x256d + [[maybe_unused]] uint8_t __pad256d[0x43]; // 0x256d public: - CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hTeamCouriers[14]; // 0x2570 - CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x26c0 - CUtlVector< uint32 > m_vecOnstageHomeTeams; // 0x2cc0 - PlayerSeatAssignment_t* m_pPlayerIDToOnstageSlot[24]; // 0x2cd8 - CUtlVector< PlayerSeatAssignment_t > m_vecOnstagePlayerSeats; // 0x2d98 - int32_t m_nEventNPCReplaced; // 0x2db0 - int32_t m_nEventPlayerInfo; // 0x2db4 - int32_t m_nInventoryUpdated; // 0x2db8 + CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x25b0 + CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x2718 + CUtlVector< uint32 > m_vecOnstageHomeTeams; // 0x2d18 + PlayerSeatAssignment_t* m_pPlayerIDToOnstageSlot[24]; // 0x2d30 + CUtlVector< PlayerSeatAssignment_t > m_vecOnstagePlayerSeats; // 0x2df0 + int32_t m_nEventNPCReplaced; // 0x2e08 + int32_t m_nEventPlayerInfo; // 0x2e0c + int32_t m_nInventoryUpdated; // 0x2e10 }; // Alignment: 8 @@ -33527,6 +34803,22 @@ public: int32_t m_nAgreeState[24]; // 0x50 }; +// Alignment: 2 +// Size: 0x50 +struct TierNeutralInfo_t +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 +public: + // MNetworkEnable + int32_t m_nTier; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: + // MNetworkEnable + C_NetworkUtlVectorBase< AbilityID_t > m_nAbilityID; // 0x38 +}; + // Alignment: 3 // Size: 0x40 struct PlayerResourcePlayerPeriodicResourceData_t @@ -33628,7 +34920,7 @@ public: int32_t m_nEntIndex; // 0x34 }; -// Alignment: 74 +// Alignment: 76 // Size: 0x1d8 struct PlayerResourcePlayerTeamData_t { @@ -33719,6 +35011,7 @@ public: // MNetworkEnable int32_t m_UnitShareMasks; // 0xf4 // MNetworkEnable + // MNetworkChangeCallback "OnTeamChanged" int32_t m_iTeamSlot; // 0xf8 // MNetworkEnable uint8_t m_iBattleCupWinStreak; // 0xfc @@ -33799,9 +35092,10 @@ public: uint8_t m_eHeroStickerQuality; // 0x1a8 // MNetworkEnable uint8_t m_eLaneSelectionFlags; // 0x1a9 -private: - [[maybe_unused]] uint8_t __pad01aa[0x2]; // 0x1aa -public: + // MNetworkEnable + uint8_t m_nPlayerDraftPreferredRoles; // 0x1aa + // MNetworkEnable + int8_t m_nPlayerDraftPreferredTeam; // 0x1ab // MNetworkEnable // MNetworkAlias "m_iEventPoints" // MNetworkChangeCallback "OnObsoleteEvent" @@ -33855,8 +35149,8 @@ public: uint32_t m_iObsoleteSaluteAmounts; // 0x1d4 }; -// Alignment: 26 -// Size: 0xd0 +// Alignment: 27 +// Size: 0xd8 struct PlayerResourcePlayerData_t { private: @@ -33939,6 +35233,8 @@ public: CPlayerSlot m_nPlayerSlot; // 0xc8 // MNetworkEnable bool m_bIsBot; // 0xcc + // MNetworkEnable + bool m_bHasNeutralTier[5]; // 0xcd }; // Alignment: 3 @@ -34156,8 +35452,8 @@ public: char m_szModel[512]; // 0x34 }; -// Alignment: 19 -// Size: 0xf40 +// Alignment: 20 +// Size: 0xf90 class C_DOTA_DataNonSpectator : public C_BaseEntity { public: @@ -34196,20 +35492,22 @@ private: [[maybe_unused]] uint8_t __pad0e8e[0x2]; // 0xe8e public: // MNetworkEnable - C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xe90 + C_UtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xe90 + // MNetworkEnable + C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xee0 // MNetworkEnable // MNetworkChangeCallback "OnTeamNeutralStashItemsChanged" - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecNeutralStashItems; // 0xea8 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecNeutralStashItems; // 0xef8 // MNetworkEnable - C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xec0 + C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xf10 // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xed8 + C_UtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xf28 // MNetworkEnable - C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecKnownClearCamps; // 0xf28 + C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecKnownClearCamps; // 0xf78 }; // Alignment: 0 -// Size: 0xf40 +// Size: 0xf90 class C_DOTA_DataRadiant : public C_DOTA_DataNonSpectator { public: @@ -34217,7 +35515,7 @@ public: }; // Alignment: 0 -// Size: 0xf40 +// Size: 0xf90 class C_DOTA_DataDire : public C_DOTA_DataNonSpectator { public: @@ -34225,81 +35523,85 @@ public: }; // Alignment: 0 -// Size: 0xf40 +// Size: 0xf90 class C_DOTA_DataCustomTeam : public C_DOTA_DataNonSpectator { public: // No members available }; -// Alignment: 16 -// Size: 0x12b0 +// Alignment: 18 +// Size: 0x1308 class C_DOTA_DataSpectator : public C_DOTA_DataNonSpectator { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hPowerupRune_1; // 0xf40 + CHandle< C_BaseEntity > m_hPowerupRune_1; // 0xf90 // MNetworkEnable - CHandle< C_BaseEntity > m_hPowerupRune_2; // 0xf44 + CHandle< C_BaseEntity > m_hPowerupRune_2; // 0xf94 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_1; // 0xf48 + CHandle< C_BaseEntity > m_hBountyRune_1; // 0xf98 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_2; // 0xf4c + CHandle< C_BaseEntity > m_hBountyRune_2; // 0xf9c // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_3; // 0xf50 + CHandle< C_BaseEntity > m_hBountyRune_3; // 0xfa0 // MNetworkEnable - CHandle< C_BaseEntity > m_hBountyRune_4; // 0xf54 + CHandle< C_BaseEntity > m_hBountyRune_4; // 0xfa4 // MNetworkEnable - int32_t m_iNetWorth[24]; // 0xf58 + CHandle< C_BaseEntity > m_hXPRune_1; // 0xfa8 // MNetworkEnable - float m_fRadiantWinProbability; // 0xfb8 + CHandle< C_BaseEntity > m_hXPRune_2; // 0xfac // MNetworkEnable - int32_t m_iGoldSpentOnSupport[24]; // 0xfbc + int32_t m_iNetWorth[24]; // 0xfb0 // MNetworkEnable - int32_t m_iHeroDamage[24]; // 0x101c + float m_fRadiantWinProbability; // 0x1010 // MNetworkEnable - int32_t m_nWardsPurchased[24]; // 0x107c + int32_t m_iGoldSpentOnSupport[24]; // 0x1014 // MNetworkEnable - int32_t m_nWardsPlaced[24]; // 0x10dc + int32_t m_iHeroDamage[24]; // 0x1074 // MNetworkEnable - int32_t m_nWardsDestroyed[24]; // 0x113c + int32_t m_nWardsPurchased[24]; // 0x10d4 // MNetworkEnable - int32_t m_nRunesActivated[24]; // 0x119c + int32_t m_nWardsPlaced[24]; // 0x1134 // MNetworkEnable - int32_t m_nCampsStacked[24]; // 0x11fc + int32_t m_nWardsDestroyed[24]; // 0x1194 + // MNetworkEnable + int32_t m_nRunesActivated[24]; // 0x11f4 + // MNetworkEnable + int32_t m_nCampsStacked[24]; // 0x1254 private: - [[maybe_unused]] uint8_t __pad125c[0x4]; // 0x125c + [[maybe_unused]] uint8_t __pad12b4[0x4]; // 0x12b4 public: // MNetworkEnable - C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1260 + C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x12b8 }; // Alignment: 4 -// Size: 0xd80 +// Size: 0xdc0 class CBasePortraitData { private: - [[maybe_unused]] uint8_t __pad0000[0x3b0]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x3f0]; // 0x0 public: - CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3b0 - CUtlStringToken m_skin; // 0x3b8 + CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3f0 + CUtlStringToken m_skin; // 0x3f8 private: - [[maybe_unused]] uint8_t __pad03bc[0x9a0]; // 0x3bc + [[maybe_unused]] uint8_t __pad03fc[0x9a0]; // 0x3fc public: - bool m_bHasSetupView; // 0xd5c + bool m_bHasSetupView; // 0xd9c private: - [[maybe_unused]] uint8_t __pad0d5d[0x1b]; // 0xd5d + [[maybe_unused]] uint8_t __pad0d9d[0x1b]; // 0xd9d public: - float m_flRotation; // 0xd78 + float m_flRotation; // 0xdb8 }; // Alignment: 2 -// Size: 0xdb0 +// Size: 0xdf0 class CPortraitData : public CBasePortraitData { public: - CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xd80 - CHandle< C_BaseEntity > m_hHero; // 0xd98 + CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xdc0 + CHandle< C_BaseEntity > m_hHero; // 0xdd8 }; // Alignment: 0 @@ -34677,7 +35979,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -35236,6 +36538,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Special_Bonus_Attack_Speed_225 : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_250 : public C_DOTABaseAbility @@ -42349,271 +43659,271 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -42621,7 +43931,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -42629,25 +43939,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x1138 - float value2; // 0x113c + float value; // 0x11b8 + float value2; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x1138 - float crit_multiplier; // 0x113c + float crit_chance; // 0x11b8 + float crit_multiplier; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -42655,62 +43965,62 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x1138 - int32_t burn_illusions_ranged; // 0x113c - int32_t burn_illusions_melee; // 0x1140 - float damage_per_burn; // 0x1144 + int32_t value; // 0x11b8 + int32_t burn_illusions_ranged; // 0x11bc + int32_t burn_illusions_melee; // 0x11c0 + float damage_per_burn; // 0x11c4 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x1138 + float block_cooldown; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CountdownTimer m_CooldownTimer; // 0x1140 + CountdownTimer m_CooldownTimer; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -42718,15 +44028,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -42734,33 +44044,33 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x1138 - float reincarnate_time; // 0x113c - GameTime_t m_fLastReincarnationTime; // 0x1140 + float value; // 0x11b8 + float reincarnate_time; // 0x11bc + GameTime_t m_fLastReincarnationTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -42768,7 +44078,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -42974,13 +44284,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 0 @@ -43016,7 +44326,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -43024,11 +44334,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x1138 + int32_t heal_amount; // 0x11b8 }; // Alignment: 0 @@ -43048,13 +44358,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 1 @@ -43066,47 +44376,47 @@ public: }; // Alignment: 31 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - float m_fLifetimeGained; // 0x1138 - Vector m_vTargetPos; // 0x113c - int32_t m_nCurrentSpeed; // 0x1148 - GameTime_t m_fLastBumpTime; // 0x114c - Vector m_vLastPos; // 0x1150 - CHandle< C_BaseEntity > m_hLastHit; // 0x115c - Vector m_vDir; // 0x1160 - Vector m_vRunEndPos; // 0x116c - bool m_bIsInInitialRun; // 0x1178 + float m_fLifetimeGained; // 0x11b8 + Vector m_vTargetPos; // 0x11bc + int32_t m_nCurrentSpeed; // 0x11c8 + GameTime_t m_fLastBumpTime; // 0x11cc + Vector m_vLastPos; // 0x11d0 + CHandle< C_BaseEntity > m_hLastHit; // 0x11dc + Vector m_vDir; // 0x11e0 + Vector m_vRunEndPos; // 0x11ec + bool m_bIsInInitialRun; // 0x11f8 private: - [[maybe_unused]] uint8_t __pad1179[0x3]; // 0x1179 + [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: - Vector m_vJumpEndPos; // 0x117c - bool m_bPlayedVroomSinceLastCrash; // 0x1188 + Vector m_vJumpEndPos; // 0x11fc + bool m_bPlayedVroomSinceLastCrash; // 0x1208 private: - [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: - ParticleIndex_t m_nVroomFX; // 0x118c - GameTime_t m_fLastSpeedStepTime; // 0x1190 - GameTime_t m_fLastSpeechTime; // 0x1194 - ParticleIndex_t m_nFXStackIndex; // 0x1198 - int32_t m_nBumpsSinceLastCrash; // 0x119c - CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x11a0 - int32_t initial_speed; // 0x11a4 - int32_t max_speed; // 0x11a8 - int32_t speed_step; // 0x11ac - float speed_step_interval; // 0x11b0 - float bump_delay; // 0x11b4 - float bump_delay_absolute; // 0x11b8 - int32_t bump_collision_radius; // 0x11bc - int32_t run_distance; // 0x11c0 - int32_t jump_distance; // 0x11c4 - int32_t speed_after_crash; // 0x11c8 - int32_t speed_gain_per_hero_bump; // 0x11cc - float max_gainable_lifetime; // 0x11d0 - float lifetime_gain_per_hero_bump; // 0x11d4 - float min_speech_repeat_time; // 0x11d8 + ParticleIndex_t m_nVroomFX; // 0x120c + GameTime_t m_fLastSpeedStepTime; // 0x1210 + GameTime_t m_fLastSpeechTime; // 0x1214 + ParticleIndex_t m_nFXStackIndex; // 0x1218 + int32_t m_nBumpsSinceLastCrash; // 0x121c + CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1220 + int32_t initial_speed; // 0x1224 + int32_t max_speed; // 0x1228 + int32_t speed_step; // 0x122c + float speed_step_interval; // 0x1230 + float bump_delay; // 0x1234 + float bump_delay_absolute; // 0x1238 + int32_t bump_collision_radius; // 0x123c + int32_t run_distance; // 0x1240 + int32_t jump_distance; // 0x1244 + int32_t speed_after_crash; // 0x1248 + int32_t speed_gain_per_hero_bump; // 0x124c + float max_gainable_lifetime; // 0x1250 + float lifetime_gain_per_hero_bump; // 0x1254 + float min_speech_repeat_time; // 0x1258 }; // Alignment: 0 @@ -43126,7 +44436,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -43142,7 +44452,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -43158,13 +44468,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 0 @@ -43184,24 +44494,24 @@ public: }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - Vector m_vLastPos; // 0x1158 - Vector m_vDir; // 0x1164 - float m_flSpeed; // 0x1170 - float m_flDistRemaining; // 0x1174 - float m_flTreeTimeRemaining; // 0x1178 - CHandle< C_BaseEntity > m_hLastHit; // 0x117c + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + Vector m_vLastPos; // 0x11d8 + Vector m_vDir; // 0x11e4 + float m_flSpeed; // 0x11f0 + float m_flDistRemaining; // 0x11f4 + float m_flTreeTimeRemaining; // 0x11f8 + CHandle< C_BaseEntity > m_hLastHit; // 0x11fc }; // Alignment: 0 @@ -43213,24 +44523,24 @@ public: }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - Vector m_vLastPos; // 0x1158 - Vector m_vDir; // 0x1164 - float m_flSpeed; // 0x1170 - float m_flDistRemaining; // 0x1174 - float m_flTreeTimeRemaining; // 0x1178 - CHandle< C_BaseEntity > m_hLastHit; // 0x117c + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + Vector m_vLastPos; // 0x11d8 + Vector m_vDir; // 0x11e4 + float m_flSpeed; // 0x11f0 + float m_flDistRemaining; // 0x11f4 + float m_flTreeTimeRemaining; // 0x11f8 + CHandle< C_BaseEntity > m_hLastHit; // 0x11fc }; // Alignment: 0 @@ -43242,7 +44552,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { public: @@ -43258,11 +44568,11 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< C_BaseEntity > m_hHero; // 0x1148 + CHandle< C_BaseEntity > m_hHero; // 0x11c8 }; // Alignment: 0 @@ -43274,20 +44584,20 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x1138 + bool m_bFirstThink; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flStartTime; // 0x113c - Vector m_vecStartingPos; // 0x1140 + GameTime_t m_flStartTime; // 0x11bc + Vector m_vecStartingPos; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: @@ -43295,7 +44605,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -43319,16 +44629,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - int32_t pounce_distance; // 0x1138 - float pounce_speed; // 0x113c - float pounce_acceleration; // 0x1140 - int32_t pounce_radius; // 0x1144 - int32_t pounce_damage; // 0x1148 - float leash_duration; // 0x114c + int32_t pounce_distance; // 0x11b8 + float pounce_speed; // 0x11bc + float pounce_acceleration; // 0x11c0 + int32_t pounce_radius; // 0x11c4 + int32_t pounce_damage; // 0x11c8 + float leash_duration; // 0x11cc }; // Alignment: 0 @@ -43340,12 +44650,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc }; // Alignment: 0 @@ -43357,15 +44667,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t ticks_to_revive; // 0x113c - float tick_interval; // 0x1140 - CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x1144 - int32_t m_nCurrentTicks; // 0x1148 + int32_t radius; // 0x11b8 + int32_t ticks_to_revive; // 0x11bc + float tick_interval; // 0x11c0 + CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x11c4 + int32_t m_nCurrentTicks; // 0x11c8 }; // Alignment: 0 @@ -43419,12 +44729,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nPathEffectIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nPathEffectIndex; // 0x11bc }; // Alignment: 0 @@ -43436,11 +44746,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x1138 + int32_t total_mana; // 0x11b8 }; // Alignment: 0 @@ -43452,11 +44762,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x1138 + int32_t bonus_per_upgrade; // 0x11b8 }; // Alignment: 0 @@ -43468,28 +44778,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x1138 - int32_t hp_bonus_per_upgrade; // 0x113c + int32_t armor_bonus_per_upgrade; // 0x11b8 + int32_t hp_bonus_per_upgrade; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: - CountdownTimer m_ctTimer; // 0x1138 + CountdownTimer m_ctTimer; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x1138 + float m_flOriginalAvoidance; // 0x11b8 }; // Alignment: 0 @@ -43501,7 +44811,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: @@ -43509,7 +44819,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: @@ -43533,22 +44843,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - int32_t taunt_radius; // 0x113c - float taunt_duration; // 0x1140 + float tick_rate; // 0x11b8 + int32_t taunt_radius; // 0x11bc + float taunt_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< C_BaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 0 @@ -43560,13 +44870,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x1138 - int32_t radius; // 0x113c - float m_fExplosions; // 0x1140 + int32_t num_explosions; // 0x11b8 + int32_t radius; // 0x11bc + float m_fExplosions; // 0x11c0 }; // Alignment: 0 @@ -43578,7 +44888,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -43586,31 +44896,31 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - float tick_interval; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + float tick_interval; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x1138 - float tick_interval; // 0x113c + int32_t damage_per_tick; // 0x11b8 + float tick_interval; // 0x11bc }; // Alignment: 0 @@ -43622,23 +44932,23 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_creep; // 0x113c - int32_t chance_pct; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t radius; // 0x1148 + float duration; // 0x11b8 + float duration_creep; // 0x11bc + int32_t chance_pct; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t radius; // 0x11c8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x1138 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11b8 }; // Alignment: 2 @@ -43678,31 +44988,31 @@ public: }; // Alignment: 15 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float m_flBeamStun; // 0x114c - Vector vPosition; // 0x1150 - int32_t lucent_beam_radius; // 0x115c - bool bAreaTarget; // 0x1160 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float m_flBeamStun; // 0x11cc + Vector vPosition; // 0x11d0 + int32_t lucent_beam_radius; // 0x11dc + bool bAreaTarget; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_iTickCount; // 0x1164 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1168 + int32_t m_iTickCount; // 0x11e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1170 - float beam_interval; // 0x1188 - float beam_interval_scepter; // 0x118c - float m_flInterval; // 0x1190 + CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x11f0 + float beam_interval; // 0x1208 + float beam_interval_scepter; // 0x120c + float m_flInterval; // 0x1210 }; // Alignment: 0 @@ -43714,14 +45024,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 - int32_t attack_spill_width; // 0x113c - int32_t attack_spill_range; // 0x1140 - float spill_damage_multiplier; // 0x1144 + int32_t attack_speed_bonus_pct; // 0x11b8 + int32_t attack_spill_width; // 0x11bc + int32_t attack_spill_range; // 0x11c0 + float spill_damage_multiplier; // 0x11c4 }; // Alignment: 0 @@ -43733,19 +45043,19 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - bool m_bBonusAttack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + bool m_bBonusAttack; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t damage_bonus; // 0x1154 - int32_t attack_spill_width; // 0x1158 - int32_t attack_spill_range; // 0x115c - float spill_damage_multiplier; // 0x1160 + int32_t damage_bonus; // 0x11d4 + int32_t attack_spill_width; // 0x11d8 + int32_t attack_spill_range; // 0x11dc + float spill_damage_multiplier; // 0x11e0 }; // Alignment: 0 @@ -43757,36 +45067,36 @@ public: }; // Alignment: 7 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1148 - bool m_bFreePathing; // 0x1160 + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11c8 + bool m_bFreePathing; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t move_speed_bonus_pct; // 0x1164 - int32_t radius; // 0x1168 - int32_t attack_steal_amount; // 0x116c - float attack_steal_duration; // 0x1170 - int32_t max_stacks; // 0x1174 + int32_t move_speed_bonus_pct; // 0x11e4 + int32_t radius; // 0x11e8 + int32_t attack_steal_amount; // 0x11ec + float attack_steal_duration; // 0x11f0 + int32_t max_stacks; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x1138 + int32_t bonus_base_dmg_per_stack; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x1138 + int32_t attack_steal_amount; // 0x11b8 }; // Alignment: 1 @@ -43798,25 +45108,25 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + Vector m_vFacePosition; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + float attack_rate; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: @@ -43838,7 +45148,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: @@ -43846,7 +45156,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: @@ -43862,19 +45172,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 4 @@ -43900,27 +45210,27 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - float damage; // 0x113c - float max_damage_duration; // 0x1140 - float slow_radius; // 0x1144 - float burn_duration; // 0x1148 - float burn_damage; // 0x114c - float slow_attack_speed_pct; // 0x1150 + GameTime_t m_flStartTime; // 0x11b8 + float damage; // 0x11bc + float max_damage_duration; // 0x11c0 + float slow_radius; // 0x11c4 + float burn_duration; // 0x11c8 + float burn_damage; // 0x11cc + float slow_attack_speed_pct; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - int32_t move_slow; // 0x113c - float m_flDamageScale; // 0x1140 + float burn_damage; // 0x11b8 + int32_t move_slow; // 0x11bc + float m_flDamageScale; // 0x11c0 }; // Alignment: 0 @@ -43932,35 +45242,35 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x1138 - float initial_creation_delay; // 0x113c - int32_t placement_count; // 0x1140 - float placement_duration; // 0x1144 - int32_t m_iBramblesIndex; // 0x1148 + float latch_creation_interval; // 0x11b8 + float initial_creation_delay; // 0x11bc + int32_t placement_count; // 0x11c0 + float placement_duration; // 0x11c4 + int32_t m_iBramblesIndex; // 0x11c8 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x1138 - int32_t latch_range; // 0x113c - int32_t latch_vision; // 0x1140 - float latch_creation_delay; // 0x1144 - float latch_duration; // 0x1148 + int32_t latch_count; // 0x11b8 + int32_t latch_range; // 0x11bc + int32_t latch_vision; // 0x11c0 + float latch_creation_delay; // 0x11c4 + float latch_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - bool m_bActive; // 0x1154 + bool m_bActive; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_nLatchedEnemies; // 0x1158 + int32_t m_nLatchedEnemies; // 0x11d8 }; // Alignment: 0 @@ -43972,18 +45282,18 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< C_BaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - int32_t roaming_radius; // 0x1144 - int32_t attack_radius; // 0x1148 - float roaming_seconds_per_rotation; // 0x114c - float attack_interval; // 0x1150 - int32_t attack_targets; // 0x1154 + float m_flRotation; // 0x11b8 + CHandle< C_BaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + int32_t roaming_radius; // 0x11c4 + int32_t attack_radius; // 0x11c8 + float roaming_seconds_per_rotation; // 0x11cc + float attack_interval; // 0x11d0 + int32_t attack_targets; // 0x11d4 }; // Alignment: 1 @@ -43995,27 +45305,27 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x1138 - int32_t coil_radius; // 0x1150 - int32_t coil_break_radius; // 0x1154 - float coil_stun_duration; // 0x1158 - float coil_stun_duration_scepter; // 0x115c - float coil_slow; // 0x1160 - int32_t coil_break_damage; // 0x1164 - int32_t coil_break_damage_scepter; // 0x1168 - bool m_bHasScepter; // 0x116c + CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11b8 + int32_t coil_radius; // 0x11d0 + int32_t coil_break_radius; // 0x11d4 + float coil_stun_duration; // 0x11d8 + float coil_stun_duration_scepter; // 0x11dc + float coil_slow; // 0x11e0 + int32_t coil_break_damage; // 0x11e4 + int32_t coil_break_damage_scepter; // 0x11e8 + bool m_bHasScepter; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1170 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -44032,34 +45342,34 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 + int32_t damage_reflection_pct; // 0x11b8 }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x1138 - float m_fLastRadius; // 0x113c - float m_fCurRadius; // 0x1140 - GameTime_t m_fLastThink; // 0x1144 - bool m_bContracting; // 0x1148 + float m_fDamage; // 0x11b8 + float m_fLastRadius; // 0x11bc + float m_fCurRadius; // 0x11c0 + GameTime_t m_fLastThink; // 0x11c4 + bool m_bContracting; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_ViewerTimer; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1168 + CountdownTimer m_ViewerTimer; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1170 - int32_t speed; // 0x1188 - int32_t radius; // 0x118c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f0 + int32_t speed; // 0x1208 + int32_t radius; // 0x120c }; // Alignment: 8 @@ -44078,29 +45388,29 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 + int32_t slow_movement_speed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_reduction; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1140 + int32_t radius; // 0x11b8 + int32_t damage_reduction; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x1138 + int32_t bonus_base_armor_per_stack; // 0x11b8 }; // Alignment: 0 @@ -44112,30 +45422,30 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x1138 - float strength_gain_duration; // 0x113c - int32_t max_stacks; // 0x1140 - int32_t ally_factor; // 0x1144 + int32_t return_damage; // 0x11b8 + float strength_gain_duration; // 0x11bc + int32_t max_stacks; // 0x11c0 + int32_t ally_factor; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 @@ -44155,7 +45465,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -44163,13 +45473,13 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x1138 - int32_t spear_aoe; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t health_cost; // 0x11b8 + int32_t spear_aoe; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 0 @@ -44181,20 +45491,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - float tick_rate; // 0x113c + int32_t burn_damage; // 0x11b8 + float tick_rate; // 0x11bc }; // Alignment: 4 @@ -44228,20 +45538,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t bonus_health_regen; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t bonus_health_regen; // 0x11bc }; // Alignment: 0 @@ -44253,11 +45563,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 5 @@ -44273,11 +45583,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 @@ -44289,7 +45599,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: @@ -44305,21 +45615,21 @@ public: }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t lifesteal; // 0x1140 - int32_t bonus_damage_pct; // 0x1144 - float cleave_damage_pct; // 0x1148 - int32_t cleave_starting_width; // 0x114c - int32_t cleave_ending_width; // 0x1150 - int32_t cleave_distance; // 0x1154 - float splash_damage_pct; // 0x1158 - int32_t splash_radius; // 0x115c - CHandle< C_BaseEntity > m_hTarget; // 0x1160 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t lifesteal; // 0x11c0 + int32_t bonus_damage_pct; // 0x11c4 + float cleave_damage_pct; // 0x11c8 + int32_t cleave_starting_width; // 0x11cc + int32_t cleave_ending_width; // 0x11d0 + int32_t cleave_distance; // 0x11d4 + float splash_damage_pct; // 0x11d8 + int32_t splash_radius; // 0x11dc + CHandle< C_BaseEntity > m_hTarget; // 0x11e0 }; // Alignment: 0 @@ -44331,23 +45641,23 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t max_stacks; // 0x113c - CHandle< C_BaseEntity > m_hUnit; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t max_stacks; // 0x11bc + CHandle< C_BaseEntity > m_hUnit; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x1138 - float stun_duration; // 0x113c - int32_t ability_damage; // 0x1140 + int32_t aftershock_range; // 0x11b8 + float stun_duration; // 0x11bc + int32_t ability_damage; // 0x11c0 }; // Alignment: 7 @@ -44373,17 +45683,17 @@ public: }; // Alignment: 4 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc private: - [[maybe_unused]] uint8_t __pad1140[0x38]; // 0x1140 + [[maybe_unused]] uint8_t __pad11c0[0x38]; // 0x11c0 public: - int32_t arrow_count; // 0x1178 - int32_t bonus_range; // 0x117c + int32_t arrow_count; // 0x11f8 + int32_t bonus_range; // 0x11fc }; // Alignment: 7 @@ -44409,7 +45719,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -44417,11 +45727,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hInvader; // 0x1138 + CHandle< C_BaseEntity > m_hInvader; // 0x11b8 }; // Alignment: 4 @@ -44445,19 +45755,19 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 1 @@ -44469,7 +45779,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -44477,7 +45787,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -44485,13 +45795,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x1138 - float BOMB_FAST_TICK_START; // 0x113c - float BOMB_DEFAULT_TICK; // 0x1140 + float BOMB_DURATION; // 0x11b8 + float BOMB_FAST_TICK_START; // 0x11bc + float BOMB_DEFAULT_TICK; // 0x11c0 }; // Alignment: 1 @@ -44512,31 +45822,31 @@ public: }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage; // 0x1188 - float windup_time; // 0x118c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + int32_t damage; // 0x1208 + float windup_time; // 0x120c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -44553,24 +45863,24 @@ public: }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 + float damage_pct; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 }; // Alignment: 0 @@ -44582,21 +45892,21 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: - int32_t corpse_explosion_radius; // 0x1138 - int32_t corpse_explosion_damage_pct; // 0x113c - int32_t corpse_explosion_chance_pct; // 0x1140 + int32_t corpse_explosion_radius; // 0x11b8 + int32_t corpse_explosion_damage_pct; // 0x11bc + int32_t corpse_explosion_chance_pct; // 0x11c0 }; // Alignment: 0 @@ -44608,19 +45918,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x1138 + float bonus_hp; // 0x11b8 }; // Alignment: 0 @@ -44632,20 +45942,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: - int32_t crit_chance; // 0x1138 - int32_t crit_multiplier; // 0x113c + int32_t crit_chance; // 0x11b8 + int32_t crit_multiplier; // 0x11bc }; // Alignment: 0 @@ -44657,19 +45967,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; // Alignment: 0 @@ -44681,19 +45991,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -44705,39 +46015,39 @@ public: }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage_min; // 0x1188 - int32_t damage_max; // 0x118c - int32_t slow_min; // 0x1190 - int32_t slow_max; // 0x1194 - float slow_duration; // 0x1198 - float windup_time; // 0x119c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + int32_t damage_min; // 0x1208 + int32_t damage_max; // 0x120c + int32_t slow_min; // 0x1210 + int32_t slow_max; // 0x1214 + float slow_duration; // 0x1218 + float windup_time; // 0x121c }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 0 @@ -44749,14 +46059,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 }; // Alignment: 0 @@ -44768,21 +46078,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + int32_t damage; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -44794,41 +46104,41 @@ public: }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: - float pool_duration; // 0x1138 - int32_t radius; // 0x113c - int32_t m_ifirefly_Active; // 0x1140 - int32_t tree_radius; // 0x1144 - int32_t damage_pct_per_second; // 0x1148 - int32_t movement_speed; // 0x114c - float trail_placement_duration; // 0x1150 - float burn_linger_duration; // 0x1154 - bool m_bActive; // 0x1158 + float pool_duration; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_ifirefly_Active; // 0x11c0 + int32_t tree_radius; // 0x11c4 + int32_t damage_pct_per_second; // 0x11c8 + int32_t movement_speed; // 0x11cc + float trail_placement_duration; // 0x11d0 + float burn_linger_duration; // 0x11d4 + bool m_bActive; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nFXIndex; // 0x115c - ParticleIndex_t m_nFXIndexB; // 0x1160 - GameTime_t m_flStartTime; // 0x1164 - Vector m_vLastFirePoolLoc; // 0x1168 + ParticleIndex_t m_nFXIndex; // 0x11dc + ParticleIndex_t m_nFXIndexB; // 0x11e0 + GameTime_t m_flStartTime; // 0x11e4 + Vector m_vLastFirePoolLoc; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x1178 + CUtlVector< Vector > m_vFirePoolLocations; // 0x11f8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x1138 - int32_t movement_speed; // 0x113c - float tick_interval; // 0x1140 - GameTime_t m_fNextDamageTick; // 0x1144 + int32_t damage_pct_per_second; // 0x11b8 + int32_t movement_speed; // 0x11bc + float tick_interval; // 0x11c0 + GameTime_t m_fNextDamageTick; // 0x11c4 }; // Alignment: 0 @@ -44840,7 +46150,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -44848,7 +46158,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -44856,7 +46166,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -44872,22 +46182,22 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 + int32_t radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 @@ -44899,7 +46209,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -44907,7 +46217,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -44915,17 +46225,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -44951,14 +46261,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t height; // 0x113c - int32_t damage; // 0x1140 - int32_t damage_radius; // 0x1144 + float duration; // 0x11b8 + int32_t height; // 0x11bc + int32_t damage; // 0x11c0 + int32_t damage_radius; // 0x11c4 }; // Alignment: 0 @@ -44970,44 +46280,44 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFX; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - int32_t vision_radius; // 0x1144 - float vision_duration; // 0x1148 - int32_t model_scale; // 0x114c - bool bExploding; // 0x1150 + ParticleIndex_t m_nPreviewFX; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + int32_t vision_radius; // 0x11c4 + float vision_duration; // 0x11c8 + int32_t model_scale; // 0x11cc + bool bExploding; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - float stun_duration; // 0x1154 + float stun_duration; // 0x11d4 }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: - itemid_t m_nCourierItemId; // 0x1138 - CUtlString m_ModelNameOfDisguise; // 0x1140 + itemid_t m_nCourierItemId; // 0x11b8 + CUtlString m_ModelNameOfDisguise; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - int32_t m_nMoveSpeed; // 0x1150 - int32_t m_nDisguisedSpeed; // 0x1154 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x1158 - CHandle< C_BaseEntity > m_hCourier; // 0x115c - bool m_bIsFlyingCourier; // 0x1160 + int32_t m_nMoveSpeed; // 0x11d0 + int32_t m_nDisguisedSpeed; // 0x11d4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x11d8 + CHandle< C_BaseEntity > m_hCourier; // 0x11dc + bool m_bIsFlyingCourier; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - char* s_pszDonkeyDisguise; // 0x1168 - float invul_duration; // 0x1170 - bool m_bParticlesSpawned; // 0x1174 + char* s_pszDonkeyDisguise; // 0x11e8 + float invul_duration; // 0x11f0 + bool m_bParticlesSpawned; // 0x11f4 }; // Alignment: 4 @@ -45022,7 +46332,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: @@ -45044,23 +46354,23 @@ public: }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x1138 + int32_t m_iOriginalAttackCapabilities; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1140 - int32_t bonus_movement_speed; // 0x1148 - int32_t bonus_attack_damage; // 0x114c - int32_t bonus_attack_range; // 0x1150 - int32_t attack_projectile_speed; // 0x1154 - int32_t magic_resistance; // 0x1158 - int32_t model_scale; // 0x115c - int32_t skin_number; // 0x1160 - bool flying_movement; // 0x1164 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c0 + int32_t bonus_movement_speed; // 0x11c8 + int32_t bonus_attack_damage; // 0x11cc + int32_t bonus_attack_range; // 0x11d0 + int32_t attack_projectile_speed; // 0x11d4 + int32_t magic_resistance; // 0x11d8 + int32_t model_scale; // 0x11dc + int32_t skin_number; // 0x11e0 + bool flying_movement; // 0x11e4 }; // Alignment: 2 @@ -45073,12 +46383,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x1138 - int32_t m_nManaCostReductionPct; // 0x113c + int32_t m_nCooldownReductionPct; // 0x11b8 + int32_t m_nManaCostReductionPct; // 0x11bc }; // Alignment: 6 @@ -45095,7 +46405,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -45103,7 +46413,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -45111,33 +46421,33 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - float m_fProcChance; // 0x1138 - int32_t m_nRadius; // 0x113c - int32_t m_nMovespeedBonus; // 0x1140 - float m_fStunDuration; // 0x1144 - float m_fSlowDuration; // 0x1148 - float m_fDelay; // 0x114c - int32_t m_nTorrentDamage; // 0x1150 + float m_fProcChance; // 0x11b8 + int32_t m_nRadius; // 0x11bc + int32_t m_nMovespeedBonus; // 0x11c0 + float m_fStunDuration; // 0x11c4 + float m_fSlowDuration; // 0x11c8 + float m_fDelay; // 0x11cc + int32_t m_nTorrentDamage; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x1138 + int32_t m_nTorrentDamage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x1138 + int32_t m_nMovespeedBonus; // 0x11b8 }; // Alignment: 0 @@ -45149,19 +46459,19 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - int32_t m_iCurJumpCount; // 0x1138 - Vector m_vCurTargetLoc; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1148 - float m_fProcChance; // 0x1160 - int32_t m_nCastRange; // 0x1164 - int32_t m_nBounceRadius; // 0x1168 - int32_t m_nDamageRadius; // 0x116c - int32_t m_nDamage; // 0x1170 - int32_t m_nMaxTargets; // 0x1174 + int32_t m_iCurJumpCount; // 0x11b8 + Vector m_vCurTargetLoc; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11c8 + float m_fProcChance; // 0x11e0 + int32_t m_nCastRange; // 0x11e4 + int32_t m_nBounceRadius; // 0x11e8 + int32_t m_nDamageRadius; // 0x11ec + int32_t m_nDamage; // 0x11f0 + int32_t m_nMaxTargets; // 0x11f4 }; // Alignment: 0 @@ -45181,30 +46491,30 @@ public: }; // Alignment: 16 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_primary_stat; // 0x113c - int32_t bonus_movespeed; // 0x1140 - int32_t bonus_hp_regen; // 0x1144 - int32_t bonus_armor; // 0x1148 - int32_t bonus_attack_damage; // 0x114c - int32_t bonus_cast_range; // 0x1150 - int32_t bonus_spell_amp; // 0x1154 - int32_t bonus_health; // 0x1158 - int32_t bonus_mana; // 0x115c - int32_t bonus_attack_speed; // 0x1160 - int32_t bonus_heal_amp; // 0x1164 - int32_t bonus_mana_regen; // 0x1168 - int32_t bonus_evasion; // 0x116c - int32_t bonus_magic_resist; // 0x1170 - int32_t bonus_lifesteal; // 0x1174 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_primary_stat; // 0x11bc + int32_t bonus_movespeed; // 0x11c0 + int32_t bonus_hp_regen; // 0x11c4 + int32_t bonus_armor; // 0x11c8 + int32_t bonus_attack_damage; // 0x11cc + int32_t bonus_cast_range; // 0x11d0 + int32_t bonus_spell_amp; // 0x11d4 + int32_t bonus_health; // 0x11d8 + int32_t bonus_mana; // 0x11dc + int32_t bonus_attack_speed; // 0x11e0 + int32_t bonus_heal_amp; // 0x11e4 + int32_t bonus_mana_regen; // 0x11e8 + int32_t bonus_evasion; // 0x11ec + int32_t bonus_magic_resist; // 0x11f0 + int32_t bonus_lifesteal; // 0x11f4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -45228,12 +46538,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x1138 - bool m_bInRiver; // 0x113c + int32_t slow_percent; // 0x11b8 + bool m_bInRiver; // 0x11bc }; // Alignment: 0 @@ -45245,21 +46555,21 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t heal; // 0x113c - int32_t vision_radius; // 0x1140 - float vision_duration; // 0x1144 - int32_t model_scale; // 0x1148 - bool bExploding; // 0x114c + int32_t radius; // 0x11b8 + int32_t heal; // 0x11bc + int32_t vision_radius; // 0x11c0 + float vision_duration; // 0x11c4 + int32_t model_scale; // 0x11c8 + bool bExploding; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float stun_duration; // 0x1150 - ParticleIndex_t m_nFXAmbient; // 0x1154 + float stun_duration; // 0x11d0 + ParticleIndex_t m_nFXAmbient; // 0x11d4 }; // Alignment: 6 @@ -45276,44 +46586,44 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t max_steps; // 0x113c - float damage_interval; // 0x1140 - int32_t m_nNumSteps; // 0x1144 - int32_t m_nRadiusStep; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - Vector m_vDir; // 0x1150 + int32_t radius; // 0x11b8 + int32_t max_steps; // 0x11bc + float damage_interval; // 0x11c0 + int32_t m_nNumSteps; // 0x11c4 + int32_t m_nRadiusStep; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + Vector m_vDir; // 0x11d0 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< C_BaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - bool reversed; // 0x1144 + float m_flRotation; // 0x11b8 + CHandle< C_BaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + bool reversed; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t roaming_radius; // 0x1148 - int32_t attack_radius; // 0x114c - float roaming_seconds_per_rotation; // 0x1150 - float attack_interval; // 0x1154 - bool m_bSetupWarning; // 0x1158 + int32_t roaming_radius; // 0x11c8 + int32_t attack_radius; // 0x11cc + float roaming_seconds_per_rotation; // 0x11d0 + float attack_interval; // 0x11d4 + bool m_bSetupWarning; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nPreviewFX; // 0x115c + ParticleIndex_t m_nPreviewFX; // 0x11dc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -45330,34 +46640,34 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 + int32_t damage_reflection_pct; // 0x11b8 }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x1138 - float m_fLastRadius; // 0x113c - float m_fCurRadius; // 0x1140 - GameTime_t m_fLastThink; // 0x1144 - bool m_bContracting; // 0x1148 + float m_fDamage; // 0x11b8 + float m_fLastRadius; // 0x11bc + float m_fCurRadius; // 0x11c0 + GameTime_t m_fLastThink; // 0x11c4 + bool m_bContracting; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_ViewerTimer; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1168 + CountdownTimer m_ViewerTimer; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1170 - int32_t speed; // 0x1188 - int32_t radius; // 0x118c + CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f0 + int32_t speed; // 0x1208 + int32_t radius; // 0x120c }; // Alignment: 3 @@ -45374,7 +46684,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -45382,17 +46692,17 @@ public: }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x1138 - int32_t radius; // 0x1150 - float total_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t tick_count; // 0x115c - int32_t m_damage; // 0x1160 - int32_t m_nTicks; // 0x1164 + CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11b8 + int32_t radius; // 0x11d0 + float total_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t tick_count; // 0x11dc + int32_t m_damage; // 0x11e0 + int32_t m_nTicks; // 0x11e4 }; // Alignment: 1 @@ -45404,12 +46714,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t spirit_count; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 @@ -45433,18 +46743,18 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t max_hero_attacks; // 0x1140 - int32_t max_hero_attacks_scepter; // 0x1144 - int32_t max_hero_attacks_required; // 0x1148 - float caster_life_pct; // 0x114c - CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x1150 - int32_t m_iAttackCount; // 0x1154 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t max_hero_attacks; // 0x11c0 + int32_t max_hero_attacks_scepter; // 0x11c4 + int32_t max_hero_attacks_required; // 0x11c8 + float caster_life_pct; // 0x11cc + CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11d0 + int32_t m_iAttackCount; // 0x11d4 }; // Alignment: 0 @@ -45456,14 +46766,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t maxhp_percent_damage; // 0x113c - int32_t every_n_attacks; // 0x1140 - bool crit_active; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t maxhp_percent_damage; // 0x11bc + int32_t every_n_attacks; // 0x11c0 + bool crit_active; // 0x11c4 }; // Alignment: 0 @@ -45475,25 +46785,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x1138 - float stack_duration; // 0x113c + float armor_reduction_per_stack; // 0x11b8 + float stack_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x1138 - float stack_duration; // 0x113c + float armor_reduction_per_stack; // 0x11b8 + float stack_duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -45511,15 +46821,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x1138 + float disarm_duration; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -45535,12 +46845,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - float leap_speed; // 0x1138 - float leap_acceleration; // 0x113c + float leap_speed; // 0x11b8 + float leap_acceleration; // 0x11bc }; // Alignment: 0 @@ -45552,7 +46862,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -45572,7 +46882,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: @@ -45588,11 +46898,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x1138 + float stun_duration; // 0x11b8 }; // Alignment: 0 @@ -45604,7 +46914,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -45612,7 +46922,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -45628,25 +46938,25 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float ground_burn_duration; // 0x113c - float damage; // 0x1140 - int32_t vision_distance; // 0x1144 - float vision_duration; // 0x1148 + int32_t impact_radius; // 0x11b8 + float ground_burn_duration; // 0x11bc + float damage; // 0x11c0 + int32_t vision_distance; // 0x11c4 + float vision_duration; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t burn_radius; // 0x113c - int32_t burn_dps; // 0x1140 + float burn_interval; // 0x11b8 + int32_t burn_radius; // 0x11bc + int32_t burn_dps; // 0x11c0 }; // Alignment: 5 @@ -45662,7 +46972,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -45686,19 +46996,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 5 @@ -45716,7 +47026,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: @@ -45724,7 +47034,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: @@ -45732,20 +47042,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x1138 - int32_t base_damage_pct; // 0x113c + int32_t acorn_shot_damage; // 0x11b8 + int32_t base_damage_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -45757,11 +47067,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 11 @@ -45786,11 +47096,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x1138 + int32_t m_iSlow; // 0x11b8 }; // Alignment: 0 @@ -45802,15 +47112,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x1138 + float reincarnate_time; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -45834,15 +47144,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x1138 - float bonus_stack_damage; // 0x113c - int32_t max_multiply_stacks; // 0x1140 - int32_t release_at_max_stacks; // 0x1144 - ParticleIndex_t m_nFXStackIndex; // 0x1148 + float stack_damage; // 0x11b8 + float bonus_stack_damage; // 0x11bc + int32_t max_multiply_stacks; // 0x11c0 + int32_t release_at_max_stacks; // 0x11c4 + ParticleIndex_t m_nFXStackIndex; // 0x11c8 }; // Alignment: 0 @@ -45864,13 +47174,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float total_damage; // 0x113c - float channel_time; // 0x1140 + float tick_interval; // 0x11b8 + float total_damage; // 0x11bc + float channel_time; // 0x11c0 }; // Alignment: 5 @@ -45890,41 +47200,41 @@ public: }; // Alignment: 14 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x1138 + bool m_bInManaGained; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - CHandle< C_BaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x1140 - float slow_duration; // 0x1158 - int32_t movespeed; // 0x115c - int32_t self_bonus; // 0x1160 - bool m_bIsInRange; // 0x1164 + CHandle< C_BaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11c0 + float slow_duration; // 0x11d8 + int32_t movespeed; // 0x11dc + int32_t self_bonus; // 0x11e0 + bool m_bIsInRange; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - int32_t radius; // 0x1168 - int32_t latch_distance; // 0x116c - float m_flHealthHealed; // 0x1170 - float m_flManaHealed; // 0x1174 - float tether_heal_amp; // 0x1178 - GameTime_t m_flHealMessageTime; // 0x117c - GameTime_t m_flManaMessageTime; // 0x1180 + int32_t radius; // 0x11e8 + int32_t latch_distance; // 0x11ec + float m_flHealthHealed; // 0x11f0 + float m_flManaHealed; // 0x11f4 + float tether_heal_amp; // 0x11f8 + GameTime_t m_flHealMessageTime; // 0x11fc + GameTime_t m_flManaMessageTime; // 0x1200 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t health_regen; // 0x1140 - int32_t status_resist; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t health_regen; // 0x11c0 + int32_t status_resist; // 0x11c4 }; // Alignment: 0 @@ -45936,11 +47246,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 3 @@ -45954,11 +47264,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 + GameTime_t m_flStartTime; // 0x11b8 }; // Alignment: 0 @@ -45970,26 +47280,26 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x1138 - CountdownTimer m_InvisAttackTimer; // 0x1150 - CountdownTimer m_CooldownTimer; // 0x1168 + CountdownTimer m_RevealTimer; // 0x11b8 + CountdownTimer m_InvisAttackTimer; // 0x11d0 + CountdownTimer m_CooldownTimer; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x1138 - int32_t regen_amp; // 0x113c + int32_t movement_bonus; // 0x11b8 + int32_t regen_amp; // 0x11bc }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -45997,7 +47307,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -46005,11 +47315,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x1138 + float m_iEntangleDamage; // 0x11b8 }; // Alignment: 2 @@ -46022,25 +47332,25 @@ public: }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x1140 - int32_t speed; // 0x1158 - int32_t radius; // 0x115c - int32_t start_radius; // 0x1160 - float duration; // 0x1164 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11c0 + int32_t speed; // 0x11d8 + int32_t radius; // 0x11dc + int32_t start_radius; // 0x11e0 + float duration; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 0 @@ -46052,23 +47362,23 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t damage; // 0x113c + float duration; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t m_nTicksRemaining; // 0x1140 - float m_flAttackDamage; // 0x1144 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t m_nTicksRemaining; // 0x11c0 + float m_flAttackDamage; // 0x11c4 }; // Alignment: 1 @@ -46080,26 +47390,26 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x1138 - int32_t wave_count; // 0x113c - int32_t radius; // 0x1140 - int32_t summon_count; // 0x1144 - float wave_interval; // 0x1148 - float burn_duration; // 0x114c - float first_wave_delay; // 0x1150 + int32_t wave_damage; // 0x11b8 + int32_t wave_count; // 0x11bc + int32_t radius; // 0x11c0 + int32_t summon_count; // 0x11c4 + float wave_interval; // 0x11c8 + float burn_duration; // 0x11cc + float first_wave_delay; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - float burn_interval; // 0x113c + float burn_damage; // 0x11b8 + float burn_interval; // 0x11bc }; // Alignment: 1 @@ -46111,7 +47421,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -46119,17 +47429,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - ParticleIndex_t m_nfxTargetTp2; // 0x113c - ParticleIndex_t m_nfxAmbientFx; // 0x1140 - ParticleIndex_t m_nfxPortal1; // 0x1144 - ParticleIndex_t m_nfxPortal2; // 0x1148 - float animation_rate; // 0x114c - int32_t stop_distance; // 0x1150 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 + float animation_rate; // 0x11cc + int32_t stop_distance; // 0x11d0 }; // Alignment: 1 @@ -46141,11 +47451,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x1138 + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 }; // Alignment: 1 @@ -46158,7 +47468,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -46166,7 +47476,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -46202,11 +47512,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 1 @@ -46218,7 +47528,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: @@ -46234,13 +47544,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float mana_multiplier; // 0x113c - float mana_drained_per_attack; // 0x1140 + int32_t radius; // 0x11b8 + float mana_multiplier; // 0x11bc + float mana_drained_per_attack; // 0x11c0 }; // Alignment: 0 @@ -46260,64 +47570,64 @@ public: }; // Alignment: 23 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - int32_t self_turn_rate_percent; // 0x115c - float m_flCurrentTime; // 0x1160 - GameTime_t m_flLastDamageTime; // 0x1164 - float m_flAccumulatedSelfDamage; // 0x1168 - bool m_bMovingForward; // 0x116c - bool m_bTurningFast; // 0x116d + int32_t hp_cost_perc_per_second; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + int32_t self_turn_rate_percent; // 0x11dc + float m_flCurrentTime; // 0x11e0 + GameTime_t m_flLastDamageTime; // 0x11e4 + float m_flAccumulatedSelfDamage; // 0x11e8 + bool m_bMovingForward; // 0x11ec + bool m_bTurningFast; // 0x11ed private: - [[maybe_unused]] uint8_t __pad116e[0x2]; // 0x116e + [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: - float m_flFacingTarget; // 0x1170 - float hp_perc_damage; // 0x1174 - float hp_perc_heal; // 0x1178 - ParticleIndex_t m_nBeamFXIndex; // 0x117c - CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1180 - CHandle< C_BaseEntity > m_hBeamEnd; // 0x11a0 - bool m_bCreatedVisionThinkers; // 0x11a4 + float m_flFacingTarget; // 0x11f0 + float hp_perc_damage; // 0x11f4 + float hp_perc_heal; // 0x11f8 + ParticleIndex_t m_nBeamFXIndex; // 0x11fc + CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1200 + CHandle< C_BaseEntity > m_hBeamEnd; // 0x1220 + bool m_bCreatedVisionThinkers; // 0x1224 private: - [[maybe_unused]] uint8_t __pad11a5[0x3]; // 0x11a5 + [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 public: - CHandle< C_BaseEntity > m_hBeamEndSound; // 0x11a8 + CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1228 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x1138 - int32_t freeze_damage; // 0x113c - float freeze_debuff_duration; // 0x1140 - float freeze_delay; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t freeze_radius; // 0x11b8 + int32_t freeze_damage; // 0x11bc + float freeze_debuff_duration; // 0x11c0 + float freeze_delay; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x1138 - int32_t linger_damage; // 0x113c + int32_t linger_movement_slow; // 0x11b8 + int32_t linger_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -46335,14 +47645,14 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t speed; // 0x1140 - float duration; // 0x1144 + int32_t speed; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 0 @@ -46354,7 +47664,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -46362,7 +47672,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -46370,7 +47680,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -46399,7 +47709,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -46407,28 +47717,28 @@ public: }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - TowerState_t m_nState; // 0x1138 - float m_flYaw; // 0x113c - int32_t m_nCaptureDuration; // 0x1140 - GameTime_t m_flEffectiveCaptureStartTime; // 0x1144 - int32_t m_nCapturingPlayerCount; // 0x1148 - float m_flCaptureProgress; // 0x114c - int32_t m_iCapturingTeam; // 0x1150 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1154 - GameTime_t m_flDestroyTime; // 0x1158 - GameTime_t m_flAutoChannelCompleteTime; // 0x115c - bool m_bAscensionLevelPicker; // 0x1160 + TowerState_t m_nState; // 0x11b8 + float m_flYaw; // 0x11bc + int32_t m_nCaptureDuration; // 0x11c0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x11c4 + int32_t m_nCapturingPlayerCount; // 0x11c8 + float m_flCaptureProgress; // 0x11cc + int32_t m_iCapturingTeam; // 0x11d0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x11d4 + GameTime_t m_flDestroyTime; // 0x11d8 + GameTime_t m_flAutoChannelCompleteTime; // 0x11dc + bool m_bAscensionLevelPicker; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nEliteChallengeLevel; // 0x1164 - CUtlString m_strNextRoomName; // 0x1168 - CUtlString m_strNextEncounterName; // 0x1170 - bool m_bStartedBeamFacing; // 0x1178 + int32_t m_nEliteChallengeLevel; // 0x11e4 + CUtlString m_strNextRoomName; // 0x11e8 + CUtlString m_strNextEncounterName; // 0x11f0 + bool m_bStartedBeamFacing; // 0x11f8 }; // Alignment: 0 @@ -46440,19 +47750,19 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 0 @@ -46464,41 +47774,41 @@ public: }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - Vector m_vSpawnPos; // 0x1138 + Vector m_vSpawnPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecEmissions; // 0x1148 - bool m_bChatSent; // 0x1160 + CUtlVector< Vector > m_vecEmissions; // 0x11c8 + bool m_bChatSent; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nPhase; // 0x1164 - int32_t m_nNumEmitted; // 0x1168 - int32_t m_nNumDrops; // 0x116c - GameTime_t m_flStartTime; // 0x1170 - GameTime_t m_flLastEmitTime; // 0x1174 - bool m_bIsOnRadiant; // 0x1178 - bool m_bUseLargeEmit; // 0x1179 + int32_t m_nPhase; // 0x11e4 + int32_t m_nNumEmitted; // 0x11e8 + int32_t m_nNumDrops; // 0x11ec + GameTime_t m_flStartTime; // 0x11f0 + GameTime_t m_flLastEmitTime; // 0x11f4 + bool m_bIsOnRadiant; // 0x11f8 + bool m_bUseLargeEmit; // 0x11f9 private: - [[maybe_unused]] uint8_t __pad117a[0x2]; // 0x117a + [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa public: - int32_t m_nOutcome; // 0x117c + int32_t m_nOutcome; // 0x11fc private: - [[maybe_unused]] uint8_t __pad1180[0x10]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x10]; // 0x1200 public: - int32_t PHASE_OPEN; // 0x1190 - int32_t PHASE_EMIT; // 0x1194 - int32_t PHASE_EMIT_DONE; // 0x1198 - int32_t PHASE_CLOSE; // 0x119c + int32_t PHASE_OPEN; // 0x1210 + int32_t PHASE_EMIT; // 0x1214 + int32_t PHASE_EMIT_DONE; // 0x1218 + int32_t PHASE_CLOSE; // 0x121c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -46525,12 +47835,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t m_nGesture; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t m_nGesture; // 0x11bc }; // Alignment: 1 @@ -46552,56 +47862,56 @@ public: }; // Alignment: 39 -// Size: 0x1200 +// Size: 0x1280 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - Vector m_vPost1; // 0x1138 - Vector m_vPost2; // 0x1144 - Vector m_vPostForward; // 0x1150 - ParticleIndex_t m_nPost1FXIndex; // 0x115c - ParticleIndex_t m_nPost2FXIndex; // 0x1160 - ParticleIndex_t m_nPost3FXIndex; // 0x1164 - int32_t PHASE_START; // 0x1168 - int32_t PHASE_GESTURE; // 0x116c - int32_t PHASE_FX; // 0x1170 - int32_t PHASE_MOTION; // 0x1174 - int32_t PHASE_IMPACT; // 0x1178 - int32_t PHASE_FAIL; // 0x117c - int32_t PHASE_CROSSED_GOAL; // 0x1180 - int32_t PHASE_GOAL; // 0x1184 - float tick_interval; // 0x1188 - float forward_move_speed; // 0x118c - float magnus_coefficient; // 0x1190 - float magnus_falloff; // 0x1194 - float drag_coefficient; // 0x1198 - float min_delay; // 0x119c - float max_delay; // 0x11a0 - int32_t hit_radius; // 0x11a4 - ParticleIndex_t m_nFXIndex; // 0x11a8 - Vector m_vVelocity; // 0x11ac - Vector m_vSpawnPos; // 0x11b8 - Vector m_vTargetPos; // 0x11c4 - int32_t m_nPhase; // 0x11d0 - int32_t m_nHits; // 0x11d4 - float m_flMagnusValue; // 0x11d8 - GameTime_t m_flStartTime; // 0x11dc - float m_flDelay; // 0x11e0 - GameTime_t m_flStateChangeTime; // 0x11e4 - bool m_bFirstThink; // 0x11e8 - bool m_bGroundHit; // 0x11e9 + Vector m_vPost1; // 0x11b8 + Vector m_vPost2; // 0x11c4 + Vector m_vPostForward; // 0x11d0 + ParticleIndex_t m_nPost1FXIndex; // 0x11dc + ParticleIndex_t m_nPost2FXIndex; // 0x11e0 + ParticleIndex_t m_nPost3FXIndex; // 0x11e4 + int32_t PHASE_START; // 0x11e8 + int32_t PHASE_GESTURE; // 0x11ec + int32_t PHASE_FX; // 0x11f0 + int32_t PHASE_MOTION; // 0x11f4 + int32_t PHASE_IMPACT; // 0x11f8 + int32_t PHASE_FAIL; // 0x11fc + int32_t PHASE_CROSSED_GOAL; // 0x1200 + int32_t PHASE_GOAL; // 0x1204 + float tick_interval; // 0x1208 + float forward_move_speed; // 0x120c + float magnus_coefficient; // 0x1210 + float magnus_falloff; // 0x1214 + float drag_coefficient; // 0x1218 + float min_delay; // 0x121c + float max_delay; // 0x1220 + int32_t hit_radius; // 0x1224 + ParticleIndex_t m_nFXIndex; // 0x1228 + Vector m_vVelocity; // 0x122c + Vector m_vSpawnPos; // 0x1238 + Vector m_vTargetPos; // 0x1244 + int32_t m_nPhase; // 0x1250 + int32_t m_nHits; // 0x1254 + float m_flMagnusValue; // 0x1258 + GameTime_t m_flStartTime; // 0x125c + float m_flDelay; // 0x1260 + GameTime_t m_flStateChangeTime; // 0x1264 + bool m_bFirstThink; // 0x1268 + bool m_bGroundHit; // 0x1269 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad126a[0x2]; // 0x126a public: - PlayerID_t m_nTargetPlayerID; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flAirTime; // 0x11f8 - float m_flHeight; // 0x11fc + PlayerID_t m_nTargetPlayerID; // 0x126c + float m_flCurTime; // 0x1270 + float m_flStartZ; // 0x1274 + float m_flAirTime; // 0x1278 + float m_flHeight; // 0x127c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: @@ -46609,7 +47919,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -46617,7 +47927,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -46653,19 +47963,19 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 0 @@ -46677,40 +47987,40 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x1138 - float think_interval; // 0x113c + float input_duration; // 0x11b8 + float think_interval; // 0x11bc }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x1138 - float reveal_duration; // 0x113c - float reveal_delay; // 0x1140 - float completed_cooldown; // 0x1144 - float think_interval; // 0x1148 - float acknowledge_range; // 0x114c + float challenge_duration; // 0x11b8 + float reveal_duration; // 0x11bc + float reveal_delay; // 0x11c0 + float completed_cooldown; // 0x11c4 + float think_interval; // 0x11c8 + float acknowledge_range; // 0x11cc private: - [[maybe_unused]] uint8_t __pad1150[0x4]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x4]; // 0x11d0 public: - GameTime_t m_flRevealTime; // 0x1154 - ParticleIndex_t m_nOverheadFXIndex; // 0x1158 + GameTime_t m_flRevealTime; // 0x11d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x1138 - int32_t max_charges; // 0x113c - int32_t m_nChargesUsed; // 0x1140 + float think_interval; // 0x11b8 + int32_t max_charges; // 0x11bc + int32_t m_nChargesUsed; // 0x11c0 }; // Alignment: 0 @@ -46773,38 +48083,38 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x1138 - bool m_bIsRadiant; // 0x113c + float model_scale_per_stack; // 0x11b8 + bool m_bIsRadiant; // 0x11bc }; // Alignment: 19 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - int32_t max_bounces; // 0x1158 - float max_model_scale; // 0x115c - float power_growth_exponent; // 0x1160 - Vector m_vLastPos; // 0x1164 - Vector m_vDir; // 0x1170 - float m_flSpeed; // 0x117c - float m_flDistRemaining; // 0x1180 - float m_flTreeTimeRemaining; // 0x1184 - int32_t m_nTimesBounced; // 0x1188 - float m_flModelScale; // 0x118c - CHandle< C_BaseEntity > m_hLastHit; // 0x1190 + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + int32_t max_bounces; // 0x11d8 + float max_model_scale; // 0x11dc + float power_growth_exponent; // 0x11e0 + Vector m_vLastPos; // 0x11e4 + Vector m_vDir; // 0x11f0 + float m_flSpeed; // 0x11fc + float m_flDistRemaining; // 0x1200 + float m_flTreeTimeRemaining; // 0x1204 + int32_t m_nTimesBounced; // 0x1208 + float m_flModelScale; // 0x120c + CHandle< C_BaseEntity > m_hLastHit; // 0x1210 }; // Alignment: 1 @@ -46816,15 +48126,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x1138 + PlayerID_t m_nDuelOpponent; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: @@ -46832,7 +48142,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -46840,11 +48150,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x1138 + float m_flMaxSpeed; // 0x11b8 }; // Alignment: 1 @@ -46864,19 +48174,19 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 0 @@ -46900,30 +48210,30 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_cast_pct; // 0x113c - int32_t bonus_spell_amp; // 0x1140 - int32_t health_pct_penalty; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_cast_pct; // 0x11bc + int32_t bonus_spell_amp; // 0x11c0 + int32_t health_pct_penalty; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x1138 + int32_t impact_slow_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x1138 + Vector m_vFearDir; // 0x11b8 }; // Alignment: 0 @@ -46935,7 +48245,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: @@ -46975,36 +48285,36 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x1138 - float restore_duration; // 0x113c - float m_flDrainAmount; // 0x1140 + int32_t mana_cost_percentage; // 0x11b8 + float restore_duration; // 0x11bc + float m_flDrainAmount; // 0x11c0 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t mana_regen_multiplier; // 0x1140 - float regen_per_charge; // 0x1144 - float amp_per_charge; // 0x1148 - int32_t death_charges; // 0x114c - int32_t kill_charges; // 0x1150 - float hero_lifesteal; // 0x1154 - float creep_lifesteal; // 0x1158 - int32_t bonus_intellect; // 0x115c - int32_t spell_amp; // 0x1160 - int32_t spell_lifesteal_amp; // 0x1164 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t mana_regen_multiplier; // 0x11c0 + float regen_per_charge; // 0x11c4 + float amp_per_charge; // 0x11c8 + int32_t death_charges; // 0x11cc + int32_t kill_charges; // 0x11d0 + float hero_lifesteal; // 0x11d4 + float creep_lifesteal; // 0x11d8 + int32_t bonus_intellect; // 0x11dc + int32_t spell_amp; // 0x11e0 + int32_t spell_lifesteal_amp; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -47241,24 +48551,24 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x1138 - bool bAcceptingGems; // 0x1150 + CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11b8 + bool bAcceptingGems; // 0x11d0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: - float m_flOriginalModelScale; // 0x1138 - int32_t m_nHealthBarOffsetOverride; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 - float m_fScaleGainPerGem; // 0x1144 - int32_t m_nLevel; // 0x1148 + float m_flOriginalModelScale; // 0x11b8 + int32_t m_nHealthBarOffsetOverride; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 + float m_fScaleGainPerGem; // 0x11c4 + int32_t m_nLevel; // 0x11c8 }; // Alignment: 0 @@ -47270,23 +48580,23 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x1138 - int32_t m_nAlliesNearby; // 0x1150 - int32_t stat_reduction_pct; // 0x1154 - int32_t armor_reduction; // 0x1158 - int32_t radius; // 0x115c + CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x11b8 + int32_t m_nAlliesNearby; // 0x11d0 + int32_t stat_reduction_pct; // 0x11d4 + int32_t armor_reduction; // 0x11d8 + int32_t radius; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x1138 + GameTime_t m_flLastHowl; // 0x11b8 }; // Alignment: 0 @@ -47298,29 +48608,29 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x1138 + int32_t distance_from_shrine; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x1138 - int32_t mana_restore; // 0x113c - float regen_interval; // 0x1140 + int32_t health_restore; // 0x11b8 + int32_t mana_restore; // 0x11bc + float regen_interval; // 0x11c0 }; // Alignment: 0 @@ -47332,7 +48642,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -47356,23 +48666,23 @@ public: }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - int32_t beam_count; // 0x1138 - int32_t beam_range; // 0x113c - int32_t beam_radius; // 0x1140 - int32_t beam_buffer; // 0x1144 - int32_t turn_rate; // 0x1148 - int32_t hp_per_second; // 0x114c - GameTime_t m_flLastThinkTime; // 0x1150 + int32_t beam_count; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t beam_radius; // 0x11c0 + int32_t beam_buffer; // 0x11c4 + int32_t turn_rate; // 0x11c8 + int32_t hp_per_second; // 0x11cc + GameTime_t m_flLastThinkTime; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x1c]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x1c]; // 0x11d4 public: - CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x1170 - float flLastTreeDestroyed; // 0x1188 - float flTreeDestructionCooldown; // 0x118c + CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x11f0 + float flLastTreeDestroyed; // 0x1208 + float flTreeDestructionCooldown; // 0x120c }; // Alignment: 0 @@ -47447,7 +48757,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -47487,43 +48797,43 @@ public: }; // Alignment: 12 -// Size: 0x11c8 +// Size: 0x1248 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1138 - CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x1150 - int32_t projectile_distance; // 0x1168 - int32_t projectile_radius; // 0x116c - int32_t projectile_amount; // 0x1170 - float projectile_duration; // 0x1174 - float delay; // 0x1178 - GameTime_t m_flDieTime; // 0x117c - GameTime_t m_flStartTime; // 0x1180 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11b8 + CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x11d0 + int32_t projectile_distance; // 0x11e8 + int32_t projectile_radius; // 0x11ec + int32_t projectile_amount; // 0x11f0 + float projectile_duration; // 0x11f4 + float delay; // 0x11f8 + GameTime_t m_flDieTime; // 0x11fc + GameTime_t m_flStartTime; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< Vector > m_vLeftControl; // 0x1188 - CUtlVector< Vector > m_vSourceLoc; // 0x11a0 - Vector m_vTargetLoc; // 0x11b8 + CUtlVector< Vector > m_vLeftControl; // 0x1208 + CUtlVector< Vector > m_vSourceLoc; // 0x1220 + Vector m_vTargetLoc; // 0x1238 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 + GameTime_t m_flStartTime; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x1138 - int32_t projectile_radius; // 0x113c - int32_t projectile_destruction_radius; // 0x1140 + ParticleIndex_t nFXIndex; // 0x11b8 + int32_t projectile_radius; // 0x11bc + int32_t projectile_destruction_radius; // 0x11c0 }; // Alignment: 0 @@ -47551,7 +48861,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -47559,7 +48869,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -47567,7 +48877,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -47575,7 +48885,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -47583,7 +48893,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -47591,11 +48901,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 + int32_t damage_modifier; // 0x11b8 }; // Alignment: 0 @@ -47607,14 +48917,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t projectile_speed; // 0x113c - float turn_rate; // 0x1140 - CHandle< C_BaseEntity > m_hAttachTarget; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t projectile_speed; // 0x11bc + float turn_rate; // 0x11c0 + CHandle< C_BaseEntity > m_hAttachTarget; // 0x11c4 }; // Alignment: 0 @@ -48385,114 +49695,16 @@ public: float m_flCrouchTime; // 0x174 }; -// Alignment: 14 -// Size: 0x178 -class CBaseVehicleVData : public CEntitySubclassVDataBase -{ -public: - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Identifier for this vehicle in player's animgraph" - CUtlString m_sAnimGraphPropEnumValue; // 0x108 - // MPropertyDescription "Scales the use range for players near this vehicle, so they can enter from farther away" - float m_flUseRangeScale; // 0x110 - float m_flMaximumSpeedToEnterExit; // 0x114 - bool m_bAllowBlockedExits; // 0x118 - bool m_bAllowMidairExits; // 0x119 -private: - [[maybe_unused]] uint8_t __pad011a[0x6]; // 0x11a -public: - // MPropertyDescription "Attachment name indicating the start location of the trace we perform to determine where a player can exit" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sExitTraceOriginAttachmentName; // 0x120 - // MPropertyDescription "What angle from upright does this vehicle need to be to be considered overturned if it has a passenger? Determines when player is kicked out of an overturned vehicle. (0 == never is overturned)" - float m_flOverturnedAngleWithPassenger; // 0x128 - // MPropertyDescription "What angle from upright does this vehicle need to be to be considered overturned if there are no passengers? Determines what happens when a player tries to enter an overturned vehicle. (0 == never is overturned)" - float m_flOverturnedAngleNoPassenger; // 0x12c - // MPropertyDescription "Should we automatically enter the vehicle after flipping it upright" - bool m_bAutoEnterAfterFlip; // 0x130 -private: - [[maybe_unused]] uint8_t __pad0131[0x3]; // 0x131 -public: - // MPropertyDescription "Minimum delay from the time we start flipping the vehicle to the time we auto-enter" - float m_flMinTimeAfterFlipToAutoEnter; // 0x134 - // MPropertyDescription "Maximum delay from the time we start flipping the vehicle to the time we auto-enter (if we can't enter at this point, we cancel the auto-enter attempt)" - float m_flMaxTimeAfterFlipToAutoEnter; // 0x138 -private: - [[maybe_unused]] uint8_t __pad013c[0x4]; // 0x13c -public: - CUtlVector< BaseVehicleRole_t > m_vecPassengerRoles; // 0x140 - // MPropertyFriendlyName "Fallback Exit Animgraph Parameter" - // MPropertyDescription "If none of the actual animations are appropriate, we just teleport -- need to inform the graph." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamExitFallback; // 0x158 -}; - -// Alignment: 0 -// Size: 0x178 -class CVehicleEntityIOVData : public CBaseVehicleVData -{ -public: - // No members available -}; - -// Alignment: 16 -// Size: 0x3d8 -class CWheeledPhysicsVehicleVData : public CBaseVehicleVData -{ -public: - // MPropertyGroupName "Visuals" - // MPropertyDescription "A particle effect that releases smoke when the wheels are slipping heavily" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szWheelSmokeEffect; // 0x178 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Exponential moving average time constant used to smooth increases in the wheel smoke intensity -- i.e. time to reach 63% of target intensity" - float m_flWheelSmokeIntensityRiseTimeConstant; // 0x258 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Exponential moving average time constant used to smooth decreases in the wheel smoke intensity -- i.e. time to reach 63% of target intensity" - float m_flWheelSmokeIntensityDecayTimeConstant; // 0x25c - // MPropertyGroupName "Airborne" - // MPropertyDescription "Subclass we switch to when the vehicle gets airborne" - CUtlString m_sAirborneSubclass; // 0x260 - // MPropertyGroupName "Airborne" - // MPropertyDescription "Time with wheels off the ground before we enter airborne mode" - float m_flTimeOffGroundToEnterAirborne; // 0x268 - // MPropertyGroupName "Airborne" - // MPropertyDescription "Time with wheels on the ground before we leave airborne mode" - float m_flTimeOnGroundToExitAirborne; // 0x26c - // MPropertyDescription "Angular velocity delta (degrees / sec) to apply when flipping a vehicle that's on its side" - float m_flFlipFromSidewaysAngularVelocityDelta; // 0x270 - // MPropertyDescription "Vertical (upward) velocity delta to apply when flipping a vehicle that's on its side" - float m_flFlipFromSidewaysVerticalVelocityDelta; // 0x274 - // MPropertyDescription "Angular velocity delta (degrees / sec) to apply when flipping a vehicle that's upside down" - float m_flFlipFromUpsideDownAngularVelocityDelta; // 0x278 - // MPropertyDescription "Vertical (upward) velocity delta to apply when flipping a vehicle that's upside down" - float m_flFlipFromUpsideDownVerticalVelocityDelta; // 0x27c - // MPropertyDescription "Velocity delta to apply in the direction away from the player when flipping a vehicle" - float m_flFlipPushVelocityDelta; // 0x280 - // MPropertyDescription "Minimum time between attempts to flip the vehicle" - float m_flMinTimeBetweenFlipAttempts; // 0x284 - // MPropertyDescription "If vehicle is overturned for this amount of time, the player will be ejected" - float m_flOverturnedExitWaitTime; // 0x288 -private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c -public: - WheeledPhysicsVehiclePhysicsData_t m_PhysicsData; // 0x290 - WheeledPhysicsVehicleControlsData_t m_ControlsData; // 0x368 - WheeledPhysicsVehicleCameraData_t m_CameraData; // 0x3c4 -}; - // Alignment: 2 -// Size: 0x610 +// Size: 0x560 class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimGraphController m_animationController; // 0x480 + CBaseAnimGraphController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x5e0 + CNetworkVarChainer __m_pChainEntity; // 0x530 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; @@ -48730,6 +49942,14 @@ public: C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5e8 }; +// Alignment: 0 +// Size: 0x630 +class C_PathParticleRopeAlias_path_particle_rope_clientside : public C_PathParticleRope +{ +public: + // No members available +}; + // Alignment: 7 // Size: 0x7d0 class C_DynamicLight : public C_BaseModelEntity @@ -49249,16 +50469,6 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x7d8 -class C_TriggerBuoyancy : public C_BaseTrigger -{ -public: - CBuoyancyHelper m_BuoyancyHelper; // 0x7b0 - // MNetworkEnable - float m_flFluidDensity; // 0x7d0 -}; - // Alignment: 13 // Size: 0x30 class CClientAlphaProperty : public IClientAlphaProperty @@ -49753,7 +50963,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -49761,17 +50971,17 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - bool m_bEverFound; // 0x113c - bool m_bBonus; // 0x113d + int32_t radius; // 0x11b8 + bool m_bEverFound; // 0x11bc + bool m_bBonus; // 0x11bd }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -49779,7 +50989,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -49787,7 +50997,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -49870,7 +51080,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -49886,14 +51096,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - int32_t distance; // 0x1138 - float speed; // 0x113c - float acceleration; // 0x1140 - int32_t radius; // 0x1144 + int32_t distance; // 0x11b8 + float speed; // 0x11bc + float acceleration; // 0x11c0 + int32_t radius; // 0x11c4 }; // Alignment: 1 @@ -49905,42 +51115,42 @@ public: }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - int32_t scepter_move_speed_pct; // 0x1138 - int32_t scepter_attack_speed; // 0x113c - CHandle< C_BaseEntity > m_hTarget; // 0x1140 - bool m_bPassive; // 0x1144 - bool m_bKillAtEnd; // 0x1145 + int32_t scepter_move_speed_pct; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc + CHandle< C_BaseEntity > m_hTarget; // 0x11c0 + bool m_bPassive; // 0x11c4 + bool m_bKillAtEnd; // 0x11c5 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 - bool m_bPassive; // 0x113c + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 + bool m_bPassive; // 0x11bc }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x1138 - int32_t scepter_damage_reduction_pct; // 0x113c - bool m_bAttacked; // 0x1140 - bool m_bHadAVictor; // 0x1141 + int32_t reward_damage; // 0x11b8 + int32_t scepter_damage_reduction_pct; // 0x11bc + bool m_bAttacked; // 0x11c0 + bool m_bHadAVictor; // 0x11c1 private: - [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 + [[maybe_unused]] uint8_t __pad11c2[0x2]; // 0x11c2 public: - GameTime_t m_flTimeDuelStart; // 0x1144 - CHandle< C_BaseEntity > m_hPartner; // 0x1148 - float m_flNextTime; // 0x114c - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x1150 + GameTime_t m_flTimeDuelStart; // 0x11c4 + CHandle< C_BaseEntity > m_hPartner; // 0x11c8 + float m_flNextTime; // 0x11cc + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x11d0 }; // Alignment: 3 @@ -49954,12 +51164,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hVarmint; // 0x1138 - CEntityIndex m_nClientVarmintEntIndex; // 0x113c + CHandle< C_BaseEntity > m_hVarmint; // 0x11b8 + CEntityIndex m_nClientVarmintEntIndex; // 0x11bc }; // Alignment: 1 @@ -49998,7 +51208,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -50006,7 +51216,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -50014,28 +51224,28 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_iCapturingTeam; // 0x1138 - float m_flCaptureProgress; // 0x113c - float m_flBonusTime; // 0x1140 - bool m_bInitialSetupDone; // 0x1144 + int32_t m_iCapturingTeam; // 0x11b8 + float m_flCaptureProgress; // 0x11bc + float m_flBonusTime; // 0x11c0 + bool m_bInitialSetupDone; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t m_iOriginalTeam; // 0x1148 - CHandle< C_BaseEntity > m_hPreviousHero; // 0x114c - CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x1150 - float m_flAccumulatedCaptureTime; // 0x1168 - int32_t m_iBonusCount; // 0x116c - ParticleIndex_t m_nFxOutpostAmbient; // 0x1170 - ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x1174 + int32_t m_iOriginalTeam; // 0x11c8 + CHandle< C_BaseEntity > m_hPreviousHero; // 0x11cc + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x11d0 + float m_flAccumulatedCaptureTime; // 0x11e8 + int32_t m_iBonusCount; // 0x11ec + ParticleIndex_t m_nFxOutpostAmbient; // 0x11f0 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x11f4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -50043,7 +51253,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -50051,15 +51261,79 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x5a8 +class CDOTA_Ability_Lamp_Use : public C_DOTABaseAbility +{ +public: + GameTime_t m_flLastCaptureTime; // 0x5a0 + ParticleIndex_t m_nChannelFXIndex; // 0x5a4 +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Lamp_On : public CDOTA_Buff +{ +public: + ParticleIndex_t m_iFxIndex; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11d0 +class CDOTA_Modifier_Lamp_Off : public CDOTA_Modifier_Invisible +{ +public: + int32_t m_iTempViewer; // 0x11c8 +}; + +// Alignment: 1 +// Size: 0x5a8 +class C_DOTA_Ability_Twin_Gate_Portal_Warp : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > m_hTarget; // 0x5a0 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 + float m_fPortalRadius; // 0x11bc +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 + float animation_rate; // 0x11cc + int32_t stop_distance; // 0x11d0 +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -50067,16 +51341,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x1138 - int32_t m_iHealthDrain; // 0x113c + int32_t m_iLifeStealPct; // 0x11b8 + int32_t m_iHealthDrain; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: @@ -50084,7 +51358,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -50092,7 +51366,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -50100,7 +51374,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -50108,17 +51382,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x1138 - int32_t m_iDamagePerLevel; // 0x113c - int32_t m_iRadius; // 0x1140 + int32_t m_iDamageBase; // 0x11b8 + int32_t m_iDamagePerLevel; // 0x11bc + int32_t m_iRadius; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -50126,7 +51400,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -50134,15 +51408,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x1138 + int32_t m_iReductionPct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -50150,7 +51424,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -50158,7 +51432,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -50166,7 +51440,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -50174,17 +51448,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x1138 - int32_t m_iDamageTakenPct; // 0x113c - int32_t m_iModelScale; // 0x1140 + int32_t m_iDamageDonePct; // 0x11b8 + int32_t m_iDamageTakenPct; // 0x11bc + int32_t m_iModelScale; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -50192,15 +51466,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x1138 + int32_t m_iRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -50208,15 +51482,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x1138 + int32_t m_iCooldownReduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -50224,12 +51498,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x1138 - int32_t m_iDamageMultiplier; // 0x113c + int32_t m_iChance; // 0x11b8 + int32_t m_iDamageMultiplier; // 0x11bc }; // Alignment: 0 @@ -50241,7 +51515,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: @@ -50251,7 +51525,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -50259,7 +51533,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: @@ -50289,15 +51563,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x1138 + ParticleIndex_t m_iFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: @@ -50313,19 +51587,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -50337,19 +51611,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -50369,12 +51643,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x1138 - float m_flArmorReduction; // 0x113c + int32_t armor_reduction_pct; // 0x11b8 + float m_flArmorReduction; // 0x11bc }; // Alignment: 0 @@ -50386,24 +51660,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x1138 + bool m_bFreezeAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - float damage; // 0x113c + int32_t max_ticks; // 0x11b8 + float damage; // 0x11bc }; // Alignment: 0 @@ -50415,22 +51689,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float non_hero_duration; // 0x113c - float hero_duration; // 0x1140 + int32_t damage_per_second; // 0x11b8 + float non_hero_duration; // 0x11bc + float hero_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t regen_reduction; // 0x113c + int32_t damage_per_second; // 0x11b8 + int32_t regen_reduction; // 0x11bc }; // Alignment: 0 @@ -50442,22 +51716,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t movespeed_slow; // 0x113c - int32_t attackspeed_slow; // 0x1140 + float duration; // 0x11b8 + int32_t movespeed_slow; // 0x11bc + int32_t attackspeed_slow; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 0 @@ -50469,12 +51743,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 2 @@ -50487,19 +51761,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< C_BaseEntity > m_hTarget; // 0x1138 + CHandle< C_BaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -50511,7 +51785,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -50519,7 +51793,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -50535,21 +51809,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 - float slow_duration; // 0x113c + int32_t armor_bonus; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 0 @@ -50561,7 +51835,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -50585,12 +51859,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 - int32_t crit_chance; // 0x113c + int32_t crit_mult; // 0x11b8 + int32_t crit_chance; // 0x11bc }; // Alignment: 0 @@ -50610,19 +51884,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - int32_t shard_health_tooltip; // 0x1140 - int32_t shard_damage_tooltip; // 0x1144 - int32_t shard_duration_tooltip; // 0x1148 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + int32_t shard_health; // 0x11c0 + int32_t shard_damage; // 0x11c4 + int32_t shard_duration; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -50638,7 +51912,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -50646,7 +51920,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -50654,7 +51928,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -50670,12 +51944,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 - int32_t crit_chance; // 0x113c + int32_t crit_mult; // 0x11b8 + int32_t crit_chance; // 0x11bc }; // Alignment: 0 @@ -50687,19 +51961,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -50711,19 +51985,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 + int32_t spell_amp; // 0x11b8 }; // Alignment: 0 @@ -50735,19 +52009,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 + int32_t bonus_damage_pct; // 0x11b8 }; // Alignment: 0 @@ -50759,19 +52033,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x1138 + int32_t bonus_cdr; // 0x11b8 }; // Alignment: 1 @@ -50783,12 +52057,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - int32_t building_damage_pct; // 0x113c + int32_t burn_damage; // 0x11b8 + int32_t building_damage_pct; // 0x11bc }; // Alignment: 0 @@ -50800,24 +52074,24 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x1138 - int32_t near_damage; // 0x113c - int32_t far_radius; // 0x1140 - int32_t far_damage; // 0x1144 - float tick_rate; // 0x1148 + int32_t near_radius; // 0x11b8 + int32_t near_damage; // 0x11bc + int32_t far_radius; // 0x11c0 + int32_t far_damage; // 0x11c4 + float tick_rate; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 3 @@ -50831,15 +52105,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -50856,12 +52130,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - ParticleIndex_t m_FX; // 0x1138 - int32_t distance; // 0x113c + ParticleIndex_t m_FX; // 0x11b8 + int32_t distance; // 0x11bc }; // Alignment: 0 @@ -50873,11 +52147,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 0 @@ -50889,11 +52163,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 0 @@ -50905,19 +52179,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -50929,19 +52203,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x1138 + float bonus_hp; // 0x11b8 }; // Alignment: 0 @@ -50969,11 +52243,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 2 @@ -50986,11 +52260,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 @@ -51010,19 +52284,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x1138 + float health_regen; // 0x11b8 }; // Alignment: 0 @@ -51034,20 +52308,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t lifesteal; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 0 @@ -51059,12 +52333,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x1138 - CHandle< C_BaseEntity > m_hHealTarget; // 0x113c + int32_t health; // 0x11b8 + CHandle< C_BaseEntity > m_hHealTarget; // 0x11bc }; // Alignment: 0 @@ -51076,21 +52350,21 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - int32_t allow_multiple; // 0x113c - int32_t m_nAttributes; // 0x1140 + float mana_regen; // 0x11b8 + int32_t allow_multiple; // 0x11bc + int32_t m_nAttributes; // 0x11c0 }; // Alignment: 0 @@ -51102,19 +52376,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x1138 + float heal_amp; // 0x11b8 }; // Alignment: 0 @@ -51126,20 +52400,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t radius; // 0x113c + float duration; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x1138 + int32_t bonus_aspd; // 0x11b8 }; // Alignment: 0 @@ -51151,12 +52425,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t radius; // 0x113c + float duration; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 2 @@ -51169,27 +52443,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x1138 + int32_t projectile_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 + int32_t damage_per_second; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x1138 + int32_t bonus_dmg_pct; // 0x11b8 }; // Alignment: 0 @@ -51201,19 +52475,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x1138 + int32_t gpm_aura; // 0x11b8 }; // Alignment: 0 @@ -51225,23 +52499,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x1138 + int32_t damage_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -51257,12 +52531,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x1138 - float cost_per_second; // 0x113c + int32_t move_speed_penalty; // 0x11b8 + float cost_per_second; // 0x11bc }; // Alignment: 5 @@ -51278,7 +52552,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -51295,11 +52569,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 @@ -51311,13 +52585,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x1138 - int32_t max_targets; // 0x113c - float damage_percent_loss; // 0x1140 + int32_t jump_range; // 0x11b8 + int32_t max_targets; // 0x11bc + float damage_percent_loss; // 0x11c0 }; // Alignment: 0 @@ -51329,13 +52603,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 + float burn_interval; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 @@ -51347,12 +52621,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x1138 - float damage_percent; // 0x113c + int32_t range; // 0x11b8 + float damage_percent; // 0x11bc }; // Alignment: 0 @@ -51364,19 +52638,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -51388,20 +52662,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x1138 - int32_t bonus_magical_armor_creeps; // 0x113c + int32_t bonus_magical_armor; // 0x11b8 + int32_t bonus_magical_armor_creeps; // 0x11bc }; // Alignment: 0 @@ -51413,11 +52687,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x1138 + int32_t evasion_chance_pct; // 0x11b8 }; // Alignment: 0 @@ -51429,11 +52703,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x1138 + int32_t evasion_chance_pct; // 0x11b8 }; // Alignment: 0 @@ -51445,19 +52719,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -51469,20 +52743,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t accuracy; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t accuracy; // 0x11bc }; // Alignment: 0 @@ -51494,11 +52768,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 0 @@ -51510,19 +52784,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x1138 + int32_t attackspeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x1138 + int32_t cast_animation; // 0x11b8 }; // Alignment: 0 @@ -51534,15 +52808,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x1138 + float animation_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -51566,19 +52840,19 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x1138 - int32_t m_nCurrentTick; // 0x1144 - float damage; // 0x1148 - int32_t break_distance; // 0x114c - float stun_duration; // 0x1150 + Vector m_vecStartPosition; // 0x11b8 + int32_t m_nCurrentTick; // 0x11c4 + float damage; // 0x11c8 + int32_t break_distance; // 0x11cc + float stun_duration; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -51594,24 +52868,24 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t movement_speed_pct; // 0x113c - int32_t spell_resist_pct; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x1148 + int32_t radius; // 0x11b8 + int32_t movement_speed_pct; // 0x11bc + int32_t spell_resist_pct; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t spell_resist_pct; // 0x113c + int32_t movement_speed_pct; // 0x11b8 + int32_t spell_resist_pct; // 0x11bc }; // Alignment: 0 @@ -51623,11 +52897,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -51639,11 +52913,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus_pct; // 0x11b8 }; // Alignment: 0 @@ -51655,12 +52929,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_per_second; // 0x113c + int32_t radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc }; // Alignment: 0 @@ -51672,7 +52946,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -51696,19 +52970,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 0 @@ -51720,12 +52994,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - int32_t damage_block; // 0x113c + int32_t health_regen; // 0x11b8 + int32_t damage_block; // 0x11bc }; // Alignment: 0 @@ -51737,7 +53011,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -51761,13 +53035,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - float m_flStunDuration; // 0x113c - int32_t light_strike_array_aoe; // 0x1140 + int32_t m_iDamage; // 0x11b8 + float m_flStunDuration; // 0x11bc + int32_t light_strike_array_aoe; // 0x11c0 }; // Alignment: 1 @@ -51779,14 +53053,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t tick_damage; // 0x113c - float tick_interval; // 0x1140 - float duration; // 0x1144 + int32_t movement_slow; // 0x11b8 + int32_t tick_damage; // 0x11bc + float tick_interval; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 0 @@ -51806,11 +53080,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 @@ -51822,19 +53096,19 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - float increase_time; // 0x1138 - int32_t increase_damage; // 0x113c - int32_t increase_health; // 0x1140 - float increase_armor; // 0x1144 - int32_t increase_aspd; // 0x1148 - int32_t increase_gold; // 0x114c - int32_t increase_xp; // 0x1150 - int32_t current_level; // 0x1154 - int32_t max_level; // 0x1158 + float increase_time; // 0x11b8 + int32_t increase_damage; // 0x11bc + int32_t increase_health; // 0x11c0 + float increase_armor; // 0x11c4 + int32_t increase_aspd; // 0x11c8 + int32_t increase_gold; // 0x11cc + int32_t increase_xp; // 0x11d0 + int32_t current_level; // 0x11d4 + int32_t max_level; // 0x11d8 }; // Alignment: 0 @@ -51846,14 +53120,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 - int32_t incoming_hero_damage_penalty; // 0x113c - int32_t incoming_basic_damage_penalty; // 0x1140 - int32_t incoming_controlled_unit_penalty; // 0x1144 + int32_t bonus_building_damage; // 0x11b8 + int32_t incoming_hero_damage_penalty; // 0x11bc + int32_t incoming_basic_damage_penalty; // 0x11c0 + int32_t incoming_controlled_unit_penalty; // 0x11c4 }; // Alignment: 0 @@ -51865,13 +53139,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x1138 - int32_t hero_damage_penalty; // 0x113c - int32_t heavy_damage_penalty; // 0x1140 + int32_t creep_damage_bonus; // 0x11b8 + int32_t hero_damage_penalty; // 0x11bc + int32_t heavy_damage_penalty; // 0x11c0 }; // Alignment: 0 @@ -51883,11 +53157,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x1138 + int32_t hero_damage_penalty; // 0x11b8 }; // Alignment: 0 @@ -51899,24 +53173,24 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t hero_damage_penalty; // 0x113c - int32_t bonus_gold; // 0x1140 - int32_t m_iGoldBounty; // 0x1144 - ParticleIndex_t iBannerEffect; // 0x1148 - ParticleIndex_t iRingEffect; // 0x114c + int32_t radius; // 0x11b8 + int32_t hero_damage_penalty; // 0x11bc + int32_t bonus_gold; // 0x11c0 + int32_t m_iGoldBounty; // 0x11c4 + ParticleIndex_t iBannerEffect; // 0x11c8 + ParticleIndex_t iRingEffect; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x1138 + int32_t bonus_health_regen; // 0x11b8 }; // Alignment: 0 @@ -51928,13 +53202,21 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class CDOTA_Ability_Scout_Bonuses : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BackdoorProtection : public C_DOTABaseAbility @@ -51960,7 +53242,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -51968,19 +53250,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: - CHandle< C_BaseEntity > m_hOldHero; // 0x1138 + CHandle< C_BaseEntity > m_hOldHero; // 0x11b8 }; // Alignment: 1 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x1168 + int32_t gold_amount; // 0x11e8 }; // Alignment: 20 @@ -57833,6 +59115,17 @@ public: // No members available }; +// Alignment: 4 +// Size: 0x5b0 +class CDOTA_Ability_AncientApparition_IceAge : public C_DOTABaseAbility +{ +public: + int32_t radius; // 0x5a0 + int32_t health_degen; // 0x5a4 + float duration; // 0x5a8 + int32_t damage; // 0x5ac +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_ManaBreak : public C_DOTABaseAbility @@ -58186,16 +59479,15 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x5b8 +// Alignment: 4 +// Size: 0x5b0 class C_DOTA_Ability_SandKing_BurrowStrike : public C_DOTABaseAbility { public: int32_t burrow_width; // 0x5a0 int32_t burrow_speed; // 0x5a4 int32_t burrow_speed_scepter; // 0x5a8 - float burrow_duration; // 0x5ac - float burrow_anim_time; // 0x5b0 + float burrow_anim_time; // 0x5ac }; // Alignment: 0 @@ -58206,12 +59498,13 @@ public: // No members available }; -// Alignment: 1 +// Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_SandKing_Epicenter : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXEpicenterIndex; // 0x5a0 + ParticleIndex_t m_nFXIndex; // 0x5a4 }; // Alignment: 1 @@ -58238,12 +59531,17 @@ public: int32_t m_nActiveArrow; // 0x618 }; -// Alignment: 0 -// Size: 0x5a0 +// Alignment: 3 +// Size: 0x5c0 class C_DOTA_Ability_Mirana_Leap : public C_DOTABaseAbility { public: - // No members available + bool m_bIsVectorTargeted; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 +public: + Vector m_vEndpoint; // 0x5a4 + Vector m_vLandPosition; // 0x5b0 }; // Alignment: 0 @@ -58374,12 +59672,12 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x5a0 +// Alignment: 1 +// Size: 0x5a8 class C_DOTA_Ability_SkeletonKing_Reincarnation : public C_DOTABaseAbility { public: - // No members available + bool m_bShouldUseResources; // 0x5a0 }; // Alignment: 0 @@ -58571,6 +59869,24 @@ public: // No members available }; +// Alignment: 8 +// Size: 0x5e8 +class C_DOTA_Ability_Drow_Ranger_Glacier : public C_DOTABaseAbility +{ +public: + int32_t shard_width; // 0x5a0 + int32_t shard_count; // 0x5a4 + float shard_duration; // 0x5a8 + float shard_angle_step; // 0x5ac + int32_t shard_distance; // 0x5b0 + Vector m_vSpawnOrigin; // 0x5b4 + Vector m_vDirection; // 0x5c0 +private: + [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc +public: + CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5d0 +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Earthshaker_Fissure : public C_DOTABaseAbility @@ -58829,12 +60145,12 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x5b8 +// Alignment: 0 +// Size: 0x5a0 class C_DOTA_Ability_PhantomLancer_SpiritLance : public C_DOTABaseAbility { public: - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a0 + // No members available }; // Alignment: 0 @@ -59197,20 +60513,13 @@ public: // No members available }; -// Alignment: 1 +// Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Zuus_ThundergodsWrath : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 -}; - -// Alignment: 0 -// Size: 0x5a8 -class C_DOTA_Ability_Zuus_ThundergodsVengeance : public C_DOTA_Ability_Zuus_ThundergodsWrath -{ -public: - // No members available + bool m_bZeusHasArcana; // 0x5a4 }; // Alignment: 0 @@ -59261,6 +60570,22 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class CDOTA_Ability_Zuus_Thunder_Trail : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Zuus_Lightning_Hands : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Kunkka_Torrent : public C_DOTABaseAbility @@ -59458,13 +60783,12 @@ public: int32_t damage; // 0x5c8 }; -// Alignment: 2 +// Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Puck_WaningRift : public C_DOTABaseAbility { public: int32_t max_distance; // 0x5a0 - int32_t scepter_max_distance; // 0x5a4 }; // Alignment: 0 @@ -59547,14 +60871,17 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x5b8 +// Alignment: 6 +// Size: 0x5d8 class C_DOTA_Ability_Windrunner_Shackleshot : public C_DOTABaseAbility { public: int32_t shackle_count; // 0x5a0 - Vector m_vArrowStartPos; // 0x5a4 - CHandle< C_BaseEntity > m_hTarget; // 0x5b0 + Vector m_vArrowAvgPos; // 0x5a4 + Vector m_vArrowStartPos; // 0x5b0 + Vector m_vArrowStartPos2; // 0x5bc + Vector m_vArrowStartPos3; // 0x5c8 + CHandle< C_BaseEntity > m_hTarget; // 0x5d4 }; // Alignment: 10 @@ -59621,13 +60948,17 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 2 +// Size: 0x5c0 class C_DOTA_Ability_Lich_Sinister_Gaze : public C_DOTABaseAbility { public: // MNetworkEnable - CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 + float m_flLongestGazeDuration; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 +public: + CUtlVector< CHandle< C_BaseEntity > > m_hAffectedEntities; // 0x5a8 }; // Alignment: 0 @@ -60655,6 +61986,16 @@ public: // No members available }; +// Alignment: 3 +// Size: 0x5b0 +class C_DOTA_Ability_Roshan_Teleport : public C_DOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndexStart; // 0x5a0 + ParticleIndex_t m_nFXIndexEnd; // 0x5a4 + ParticleIndex_t m_nFXIndexEndTeam; // 0x5a8 +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_Bash : public C_DOTABaseAbility @@ -60687,6 +62028,22 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class CDOTA_Ability_Miniboss_Unyielding_Shield : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5a0 +class CDOTA_Ability_Miniboss_Reflect : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Animation_Attack : public C_DOTABaseAbility @@ -60931,8 +62288,8 @@ public: // No members available }; -// Alignment: 15 -// Size: 0x600 +// Alignment: 16 +// Size: 0x618 class C_DOTA_Ability_Warlock_Upheaval : public C_DOTABaseAbility { public: @@ -60945,18 +62302,19 @@ public: int32_t max_damage; // 0x5c0 float damage_tick_interval; // 0x5c4 CountdownTimer m_timer; // 0x5c8 - float duration; // 0x5e0 - GameTime_t m_flElapsedTime; // 0x5e4 - float m_flCurrentSlow; // 0x5e8 - ParticleIndex_t m_nFXIndex; // 0x5ec + CountdownTimer m_shardTimer; // 0x5e0 + float duration; // 0x5f8 + GameTime_t m_flElapsedTime; // 0x5fc + float m_flCurrentSlow; // 0x600 + ParticleIndex_t m_nFXIndex; // 0x604 private: - [[maybe_unused]] uint8_t __pad05f0[0x8]; // 0x5f0 + [[maybe_unused]] uint8_t __pad0608[0x8]; // 0x608 public: - bool m_bTargetCast; // 0x5f8 + bool m_bTargetCast; // 0x610 private: - [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 + [[maybe_unused]] uint8_t __pad0611[0x3]; // 0x611 public: - CHandle< C_BaseEntity > m_hTarget; // 0x5fc + CHandle< C_BaseEntity > m_hTarget; // 0x614 }; // Alignment: 1 @@ -60983,6 +62341,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Warlock_Imp_Explode : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x7d0 class C_DOTA_Beastmaster_Axe : public CBaseAnimatingActivity @@ -61187,6 +62553,14 @@ public: int32_t final_aoe; // 0x5b0 }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Venomancer_PoisonNova : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Venomancer_PlagueWard : public C_DOTABaseAbility @@ -61213,7 +62587,7 @@ public: // Alignment: 0 // Size: 0x5a0 -class C_DOTA_Ability_Venomancer_PoisonNova : public C_DOTABaseAbility +class C_DOTA_Ability_Holdout_ScourgeWard : public C_DOTABaseAbility { public: // No members available @@ -61221,7 +62595,7 @@ public: // Alignment: 0 // Size: 0x5a0 -class C_DOTA_Ability_Holdout_ScourgeWard : public C_DOTABaseAbility +class C_DOTA_Ability_Venomancer_NoxiousPlague : public C_DOTABaseAbility { public: // No members available @@ -61710,18 +63084,17 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x5d8 +// Alignment: 6 +// Size: 0x5d0 class C_DOTA_Ability_Dazzle_ShadowWave : public C_DOTABaseAbility { public: - int32_t m_iCurJumpCount; // 0x5a0 - Vector m_vCurTargetLoc; // 0x5a4 - CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 - int32_t bounce_radius; // 0x5c8 - int32_t damage_radius; // 0x5cc - int32_t damage; // 0x5d0 - int32_t max_targets; // 0x5d4 + CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a0 + int32_t bounce_radius; // 0x5b8 + int32_t damage_radius; // 0x5bc + int32_t damage; // 0x5c0 + int32_t max_targets; // 0x5c4 + float scepter_heal_pct; // 0x5c8 }; // Alignment: 0 @@ -62272,14 +63645,6 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 -class C_DOTA_Ability_Clinkz_Burning_Army : public C_DOTABaseAbility -{ -public: - int32_t range; // 0x5a0 -}; - // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Clinkz_DeathPact : public C_DOTABaseAbility @@ -62288,12 +63653,12 @@ public: int32_t m_nDevourFirstSlot; // 0x5a0 }; -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Clinkz_Scepter : public C_DOTABaseAbility +// Alignment: 1 +// Size: 0x5a8 +class C_DOTA_Ability_Clinkz_Burning_Army : public C_DOTABaseAbility { public: - // No members available + int32_t range; // 0x5a0 }; // Alignment: 0 @@ -62314,7 +63679,7 @@ public: // Alignment: 4 // Size: 0x5b8 -class C_DOTA_Ability_Clinkz_PiercingArrow : public C_DOTABaseAbility +class C_DOTA_Ability_Clinkz_BurningBarrage : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 @@ -62427,14 +63792,20 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x5b0 +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Clinkz_Tar_Bomb : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5a0 class C_DOTA_Ability_Omniknight_Hammer_Of_Purity : public C_DOTABaseAbility { public: - int32_t base_damage; // 0x5a0 - float duration; // 0x5a4 - int32_t bonus_damage; // 0x5a8 + // No members available }; // Alignment: 0 @@ -63407,6 +64778,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Alchemist_Corrosive_Weaponry : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_AttributeBonus : public C_DOTABaseAbility @@ -63905,6 +65284,15 @@ public: CHandle< C_DOTA_BaseNPC > m_hCurrentBrewling; // 0x5a0 }; +// Alignment: 2 +// Size: 0x5a8 +class CDOTA_Ability_Brewmaster_Void_Astral_Pull : public C_DOTABaseAbility +{ +public: + int32_t pull_speed; // 0x5a0 + int32_t pull_distance; // 0x5a4 +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_Wolf_Bite : public C_DOTABaseAbility @@ -64252,18 +65640,10 @@ public: // Alignment: 0 // Size: 0x5a0 -class C_DOTA_Ability_Meepo_Petrify : public C_DOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x5a8 class C_DOTA_Ability_Meepo_Earthbind : public C_DOTABaseAbility { public: - ParticleIndex_t m_nFXIndex; // 0x5a0 + // No members available }; // Alignment: 0 @@ -64289,12 +65669,16 @@ public: CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x5ac }; -// Alignment: 1 +// Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Meepo_Poof : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 +public: + int32_t radius; // 0x5ac }; // Alignment: 0 @@ -64345,6 +65729,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Meepo_FairShare : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_6 : public C_DOTABaseAbility @@ -64353,6 +65745,33 @@ public: // No members available }; +// Alignment: 4 +// Size: 0x5c8 +class C_DOTA_Ability_Meepo_MegaMeepo : public C_DOTABaseAbility +{ +public: + CHandle< C_BaseEntity > hPreviousMeepo; // 0x5a0 + CHandle< C_BaseEntity > hMegameepoFrame; // 0x5a4 + CUtlVector< CHandle< C_BaseEntity > > hListOfMeepos; // 0x5a8 + bool m_bHasSwappedAbilities; // 0x5c0 +}; + +// Alignment: 1 +// Size: 0x5a8 +class C_DOTA_Ability_Meepo_Megameepo_Fling : public C_DOTABaseAbility +{ +public: + int32_t vision_radius; // 0x5a0 +}; + +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Meepo_Petrify : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Treant_EyesInTheForest : public C_DOTABaseAbility @@ -64467,7 +65886,15 @@ public: // No members available }; -// Alignment: 6 +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Ogre_Magi_DumbLuck : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Undying_Decay : public C_DOTABaseAbility { @@ -64476,8 +65903,7 @@ public: int32_t radius; // 0x5a4 float decay_duration; // 0x5a8 int32_t str_steal; // 0x5ac - int32_t str_steal_scepter; // 0x5b0 - float creep_damage_multiplier; // 0x5b4 + float creep_damage_multiplier; // 0x5b0 }; // Alignment: 4 @@ -64510,6 +65936,22 @@ public: float duration; // 0x5c0 }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Undying_TombstoneUnitGrab : public C_DOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Undying_TombstoneGrab : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Undying_FleshGolem : public C_DOTABaseAbility @@ -64912,6 +66354,15 @@ public: // No members available }; +// Alignment: 2 +// Size: 0x5a8 +class CDOTA_Ability_Nyx_Assassin_Jolt : public C_DOTABaseAbility +{ +public: + int32_t aoe; // 0x5a0 + int32_t damage; // 0x5a4 +}; + // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_NagaSiren_MirrorImage : public C_DOTABaseAbility @@ -65596,7 +67047,7 @@ private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a8 - CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitListScepter; // 0x5c0 + CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitListReturning; // 0x5c0 }; // Alignment: 0 @@ -65636,6 +67087,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Magnus_Strength_Of_Joelrak : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_2 : public C_DOTABaseAbility @@ -65770,6 +67229,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5a0 +class C_DOTA_Ability_Bristleback_Warpath : public C_DOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_ViscousNasalGoo : public C_DOTABaseAbility @@ -65794,14 +67261,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x5a0 -class C_DOTA_Ability_Bristleback_Warpath : public C_DOTABaseAbility -{ -public: - // No members available -}; - // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_Hairball : public C_DOTABaseAbility @@ -66248,13 +67707,15 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x5a8 +// Alignment: 4 +// Size: 0x5b0 class CDOTA_Ability_Techies_Minefield_Sign : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 - int32_t aura_radius; // 0x5a4 + ParticleIndex_t m_nFXHammerIndex; // 0x5a4 + int32_t aura_radius; // 0x5a8 + CHandle< C_BaseEntity > m_hSign; // 0x5ac }; // Alignment: 0 @@ -66348,25 +67809,26 @@ public: // No members available }; -// Alignment: 11 +// Alignment: 12 // Size: 0x5d0 class C_DOTA_Ability_EarthSpirit_BoulderSmash : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t rock_damage; // 0x5a4 - int32_t radius; // 0x5a8 - int32_t rock_search_aoe; // 0x5ac - float unit_distance; // 0x5b0 - float rock_distance; // 0x5b4 - int32_t m_nProjectileID; // 0x5b8 - CHandle< C_BaseEntity > m_hCursorTarget; // 0x5bc - bool m_bUsedStone; // 0x5c0 + float creep_multiplier; // 0x5a8 + int32_t radius; // 0x5ac + int32_t rock_search_aoe; // 0x5b0 + float unit_distance; // 0x5b4 + float rock_distance; // 0x5b8 + int32_t m_nProjectileID; // 0x5bc + CHandle< C_BaseEntity > m_hCursorTarget; // 0x5c0 + bool m_bUsedStone; // 0x5c4 private: - [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 + [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: - CHandle< C_BaseEntity > m_hTarget; // 0x5c4 - bool m_bTargetStone; // 0x5c8 + CHandle< C_BaseEntity > m_hTarget; // 0x5c8 + bool m_bTargetStone; // 0x5cc }; // Alignment: 1 @@ -66620,24 +68082,23 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x5a8 +// Alignment: 0 +// Size: 0x5a0 class C_DOTA_Ability_Phoenix_FireSpirits : public C_DOTABaseAbility { public: - int32_t hp_cost_perc; // 0x5a0 + // No members available }; -// Alignment: 5 -// Size: 0x5b8 +// Alignment: 4 +// Size: 0x5b0 class C_DOTA_Ability_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: int32_t spirit_speed; // 0x5a0 float duration; // 0x5a4 int32_t radius; // 0x5a8 - int32_t hp_cost_perc; // 0x5ac - ParticleIndex_t m_nFXIndex; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5ac }; // Alignment: 0 @@ -67994,8 +69455,8 @@ public: int32_t nearest_ally_search_range; // 0x5a4 }; -// Alignment: 4 -// Size: 0x5b0 +// Alignment: 5 +// Size: 0x5b8 class CDOTA_Ability_Marci_Unleash : public C_DOTABaseAbility { public: @@ -68003,6 +69464,7 @@ public: int32_t pulse_radius; // 0x5a4 float pulse_debuff_duration; // 0x5a8 int32_t pulse_damage; // 0x5ac + float pulse_silence_duration; // 0x5b0 }; // Alignment: 0 @@ -68167,6 +69629,17 @@ public: // No members available }; +// Alignment: 3 +// Size: 0x5c0 +class C_DOTA_Ability_Muerta_PartingShot : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hAbilitySoulEntity; // 0x5a0 + CHandle< C_BaseEntity > m_hTarget; // 0x5a4 + CUtlVector< sPartingShotTemporarySoulDef > m_vecTemporarySouls; // 0x5a8 +}; + // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges : public C_DOTABaseAbility @@ -68403,6 +69876,40 @@ public: CUtlVector< GameTime_t > m_DamageList; // 0x638 }; +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Hermes_Sandals : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Hermes_Sandals : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Samurai_Tabi : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x638 +class C_DOTA_Samurai_Tabi : public C_DOTA_Item +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnSamurai_TabiStatChanged" + int32_t m_iStat; // 0x630 +}; + // Alignment: 0 // Size: 0x630 class C_DOTA_Item_GlovesOfHaste : public C_DOTA_Item @@ -69351,6 +70858,15 @@ public: // No members available }; +// Alignment: 1 +// Size: 0x648 +class C_DOTA_Item_TierToken : public C_DOTA_Item +{ +public: + // MNetworkEnable + AbilityID_t m_vecChoices[5]; // 0x630 +}; + // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Shivas_Guard : public C_DOTA_Item @@ -70066,6 +71582,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Royale_With_Cheese : public C_DOTA_Item +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Arcane_Boots : public C_DOTA_Item @@ -70301,6 +71825,46 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Famango : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_GreatFamango : public CDOTA_Item_Famango +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_GreaterFamango : public CDOTA_Item_Famango +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Recipe_GreatFamango : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Recipe_GreaterFamango : public C_DOTA_Item +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Lotus_Orb : public C_DOTA_Item @@ -70689,6 +72253,94 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Diadem : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Blood_Grenade : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Blood_Grenade : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Phylactery : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Phylactery : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Disperser : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Disperser : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Cornucopia : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Cornucopia : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Recipe_Pavise : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Pavise : public C_DOTA_Item +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Keen_Optic : public C_DOTA_Item @@ -71017,6 +72669,20 @@ public: // No members available }; +// Alignment: 3 +// Size: 0x5b8 +class CDOTA_Ability_PluckFamango : public C_DOTABaseAbility +{ +public: + // MNetworkEnable + CHandle< C_BaseEntity > m_hTarget; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 +public: + CDOTA_Buff* m_pMyBuff; // 0x5a8 + float famango_rate; // 0x5b0 +}; + // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Vambrace : public C_DOTA_Item @@ -72433,6 +74099,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Recipe_Harpoon : public C_DOTA_Item +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Harpoon : public C_DOTA_Item @@ -72533,22 +74207,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x630 -class C_DOTA_Item_Recipe_Phylactery : public C_DOTA_Item -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x630 -class C_DOTA_Item_Phylactery : public C_DOTA_Item -{ -public: - // No members available -}; - // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Magus_Minimus : public C_DOTA_Item @@ -72565,6 +74223,94 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Recipe_Witches_Switch : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_Witches_Switch : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Spark_Of_Courage : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_VindicatorsAxe : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_DandelionAmulet : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_BlightedSpirit : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_DuelistGloves : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_HorizonsEquilibrium : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x638 +class C_DOTA_Item_TurtleShell : public C_DOTA_Item +{ +public: + float duration; // 0x630 +}; + +// Alignment: 0 +// Size: 0x630 +class C_DOTA_Item_MartyrsPlate : public C_DOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x630 +class CDOTA_Item_Gossamer_Cape : public C_DOTA_Item +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0xa60 class C_EnvDeferredLight : public C_ModelPointEntity @@ -72814,18 +74560,28 @@ public: int32_t m_Type; // 0x528 }; -// Alignment: 1 -// Size: 0x530 +// Alignment: 2 +// Size: 0x538 class C_DOTA_RoshanSpawner : public C_PointEntity { public: // MNetworkEnable int32_t m_iKillCount; // 0x528 + // MNetworkEnable + Vector m_vRoshanAltLocation; // 0x52c // Static fields: static C_DOTA_RoshanSpawner* &Get_s_pRoshanSpawner(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTA_RoshanSpawner")->m_static_fields[0]->m_instance);}; }; +// Alignment: 0 +// Size: 0x528 +class C_DOTA_MinibossSpawner : public C_PointEntity +{ +public: + // No members available +}; + // Alignment: 2 // Size: 0x8e8 class C_DOTAAmbientCreatureParticleZone : public C_FuncBrush @@ -72926,6 +74682,19 @@ public: float m_flNextSpawnTime; // 0x7d8 }; +// Alignment: 3 +// Size: 0x7e0 +class C_DOTA_Item_RuneSpawner_XP : public CBaseAnimatingActivity +{ +public: + DOTA_RUNES m_nRuneType; // 0x7d0 + // MNetworkEnable + // MNetworkChangeCallback "OnXPLastSpawnTimeChanged" + float m_flLastSpawnTime; // 0x7d4 + // MNetworkEnable + float m_flNextSpawnTime; // 0x7d8 +}; + // Alignment: 3 // Size: 0x7e0 class C_DOTA_Item_RuneSpawner : public CBaseAnimatingActivity @@ -73018,6 +74787,23 @@ public: // No members available }; +// Alignment: 7 +// Size: 0xa80 +class C_PortraitWorldLight : public C_EnvDeferredLight +{ +public: + float m_flLatitude; // 0xa60 + float m_flLongitude; // 0xa64 + float m_flAdditionalRadius; // 0xa68 + float m_flBoundsRadiusMultiplier; // 0xa6c + CHandle< C_PortraitWorldUnit > m_hTarget; // 0xa70 + bool m_bShowGizmos; // 0xa74 +private: + [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 +public: + CUtlStringToken m_hitboxSetName; // 0xa78 +}; + // Alignment: 2 // Size: 0x598 class C_DOTASceneEntity : public C_SceneEntity @@ -73281,46 +75067,59 @@ public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogMaskTexture; // 0x7e0 }; -// Alignment: 13 -// Size: 0x908 +// Alignment: 15 +// Size: 0x9b0 class CBaseAnimGraph : public C_BaseModelEntity { private: - [[maybe_unused]] uint8_t __pad07a8[0x10]; // 0x7a8 + [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x7b8 + bool m_bInitiallyPopulateInterpHistory; // 0x7b0 + // MNetworkEnable + bool m_bShouldAnimateDuringGameplayPause; // 0x7b1 +private: + [[maybe_unused]] uint8_t __pad07b2[0x1]; // 0x7b2 +public: + bool m_bSuppressAnimEventSounds; // 0x7b3 +private: + [[maybe_unused]] uint8_t __pad07b4[0xc]; // 0x7b4 +public: + // MNetworkEnable + bool m_bAnimGraphUpdateEnabled; // 0x7c0 +private: + [[maybe_unused]] uint8_t __pad07c1[0x93]; // 0x7c1 +public: + // MNetworkDisable + float m_flLastEventAnimTime; // 0x854 +private: + [[maybe_unused]] uint8_t __pad0858[0x4]; // 0x858 +public: + // MNetworkDisable + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x85c + float m_flMaxSlopeDistance; // 0x860 + Vector m_vLastSlopeCheckPos; // 0x864 +private: + [[maybe_unused]] uint8_t __pad0870[0x4]; // 0x870 +public: + // MNetworkEnable + Vector m_vecForce; // 0x874 + // MNetworkEnable + int32_t m_nForceBone; // 0x880 +private: + [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 +public: + CBaseAnimGraph* m_pClientsideRagdoll; // 0x888 + bool m_bBuiltRagdoll; // 0x890 +private: + [[maybe_unused]] uint8_t __pad0891[0x17]; // 0x891 +public: + // MNetworkEnable + PhysicsRagdollPose_t* m_pRagdollPose; // 0x8a8 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x7c0 -private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 -public: - // MNetworkEnable - Vector m_vecForce; // 0x7c4 - // MNetworkEnable - int32_t m_nForceBone; // 0x7d0 - // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x7d4 - // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x7d5 - // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x7d6 -private: - [[maybe_unused]] uint8_t __pad07d7[0x1]; // 0x7d7 -public: - float m_flMaxSlopeDistance; // 0x7d8 - Vector m_vLastSlopeCheckPos; // 0x7dc - bool m_bHasAnimatedMaterialAttributes; // 0x7e8 -private: - [[maybe_unused]] uint8_t __pad07e9[0x7]; // 0x7e9 -public: - CBaseAnimGraph* m_pClientsideRagdoll; // 0x7f0 - bool m_builtRagdoll; // 0x7f8 -private: - [[maybe_unused]] uint8_t __pad07f9[0xf]; // 0x7f9 -public: - bool m_bSuppressAnimEventSounds; // 0x808 + bool m_bClientRagdoll; // 0x8b0 + bool m_bHasAnimatedMaterialAttributes; // 0x8b1 }; // Alignment: 4 @@ -73392,7 +75191,7 @@ public: bool m_noGhostCollision; // 0x91c }; -// Alignment: 30 +// Alignment: 29 // Size: 0xa48 class C_DynamicProp : public C_BreakableProp { @@ -73418,23 +75217,22 @@ public: CEntityIOOutput m_OnAnimReachedEnd; // 0x9d8 CUtlSymbolLarge m_iszDefaultAnim; // 0xa00 AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa08 - AnimLoopMode_t m_nAnimLoopMode; // 0xa0c - bool m_bAnimateOnServer; // 0xa10 - bool m_bRandomizeCycle; // 0xa11 - bool m_bStartDisabled; // 0xa12 - bool m_bScriptedMovement; // 0xa13 - bool m_bFiredStartEndOutput; // 0xa14 - bool m_bForceNpcExclude; // 0xa15 - bool m_bCreateNonSolid; // 0xa16 - bool m_bIsOverrideProp; // 0xa17 - int32_t m_iInitialGlowState; // 0xa18 - int32_t m_nGlowRange; // 0xa1c - int32_t m_nGlowRangeMin; // 0xa20 - Color m_glowColor; // 0xa24 - int32_t m_nGlowTeam; // 0xa28 - int32_t m_iCachedFrameCount; // 0xa2c - Vector m_vecCachedRenderMins; // 0xa30 - Vector m_vecCachedRenderMaxs; // 0xa3c + bool m_bAnimateOnServer; // 0xa0c + bool m_bRandomizeCycle; // 0xa0d + bool m_bStartDisabled; // 0xa0e + bool m_bScriptedMovement; // 0xa0f + bool m_bFiredStartEndOutput; // 0xa10 + bool m_bForceNpcExclude; // 0xa11 + bool m_bCreateNonSolid; // 0xa12 + bool m_bIsOverrideProp; // 0xa13 + int32_t m_iInitialGlowState; // 0xa14 + int32_t m_nGlowRange; // 0xa18 + int32_t m_nGlowRangeMin; // 0xa1c + Color m_glowColor; // 0xa20 + int32_t m_nGlowTeam; // 0xa24 + int32_t m_iCachedFrameCount; // 0xa28 + Vector m_vecCachedRenderMins; // 0xa2c + Vector m_vecCachedRenderMaxs; // 0xa38 }; // Alignment: 0 @@ -73541,7 +75339,7 @@ public: }; // Alignment: 16 -// Size: 0x958 +// Size: 0x950 class C_BaseFlex : public C_BaseAnimatingOverlay { private: @@ -73553,67 +75351,64 @@ public: // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x7d8 - // MNetworkEnable - bool m_blinktoggle; // 0x7f0 -private: - [[maybe_unused]] uint8_t __pad07f1[0x7]; // 0x7f1 -public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnViewTargetChanged" - Vector m_vLookTargetPosition; // 0x7f8 + Vector m_vLookTargetPosition; // 0x7f0 private: - [[maybe_unused]] uint8_t __pad0804[0x64]; // 0x804 + [[maybe_unused]] uint8_t __pad07fc[0xc]; // 0x7fc +public: + // MNetworkEnable + bool m_blinktoggle; // 0x808 +private: + [[maybe_unused]] uint8_t __pad0809[0x5f]; // 0x809 public: int32_t m_nLastFlexUpdateFrameCount; // 0x868 Vector m_CachedViewTarget; // 0x86c + uint32_t m_nNextSceneEventId; // 0x878 + int32_t m_iBlink; // 0x87c + float m_blinktime; // 0x880 + bool m_prevblinktoggle; // 0x884 + AttachmentHandle_t m_iMouthAttachment; // 0x885 + AttachmentHandle_t m_iEyeAttachment; // 0x886 + bool m_bResetFlexWeightsOnModelChange; // 0x887 private: - [[maybe_unused]] uint8_t __pad0878[0x8]; // 0x878 + [[maybe_unused]] uint8_t __pad0888[0x18]; // 0x888 public: - uint32_t m_nNextSceneEventId; // 0x880 - int32_t m_iBlink; // 0x884 - float m_blinktime; // 0x888 - bool m_prevblinktoggle; // 0x88c - AttachmentHandle_t m_iMouthAttachment; // 0x88d - AttachmentHandle_t m_iEyeAttachment; // 0x88e - bool m_bResetFlexWeightsOnModelChange; // 0x88f + int32_t m_nEyeOcclusionRendererBone; // 0x8a0 + matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0x8a4 + Vector m_vEyeOcclusionRendererHalfExtent; // 0x8d4 private: - [[maybe_unused]] uint8_t __pad0890[0x18]; // 0x890 + [[maybe_unused]] uint8_t __pad08e0[0x10]; // 0x8e0 public: - int32_t m_nEyeOcclusionRendererBone; // 0x8a8 - matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0x8ac - Vector m_vEyeOcclusionRendererHalfExtent; // 0x8dc -private: - [[maybe_unused]] uint8_t __pad08e8[0x10]; // 0x8e8 -public: - C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0x8f8 + C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0x8f0 }; // Alignment: 14 -// Size: 0x9a0 +// Size: 0xa48 class C_ClientRagdoll : public CBaseAnimGraph { public: - bool m_bFadeOut; // 0x908 - bool m_bImportant; // 0x909 + bool m_bFadeOut; // 0x9b0 + bool m_bImportant; // 0x9b1 private: - [[maybe_unused]] uint8_t __pad090a[0x2]; // 0x90a + [[maybe_unused]] uint8_t __pad09b2[0x2]; // 0x9b2 public: - GameTime_t m_flEffectTime; // 0x90c - GameTime_t m_gibDespawnTime; // 0x910 - int32_t m_iCurrentFriction; // 0x914 - int32_t m_iMinFriction; // 0x918 - int32_t m_iMaxFriction; // 0x91c - int32_t m_iFrictionAnimState; // 0x920 - bool m_bReleaseRagdoll; // 0x924 - AttachmentHandle_t m_iEyeAttachment; // 0x925 - bool m_bFadingOut; // 0x926 + GameTime_t m_flEffectTime; // 0x9b4 + GameTime_t m_gibDespawnTime; // 0x9b8 + int32_t m_iCurrentFriction; // 0x9bc + int32_t m_iMinFriction; // 0x9c0 + int32_t m_iMaxFriction; // 0x9c4 + int32_t m_iFrictionAnimState; // 0x9c8 + bool m_bReleaseRagdoll; // 0x9cc + AttachmentHandle_t m_iEyeAttachment; // 0x9cd + bool m_bFadingOut; // 0x9ce private: - [[maybe_unused]] uint8_t __pad0927[0x1]; // 0x927 + [[maybe_unused]] uint8_t __pad09cf[0x1]; // 0x9cf public: - float m_flScaleEnd[10]; // 0x928 - GameTime_t m_flScaleTimeStart[10]; // 0x950 - GameTime_t m_flScaleTimeEnd[10]; // 0x978 + float m_flScaleEnd[10]; // 0x9d0 + GameTime_t m_flScaleTimeStart[10]; // 0x9f8 + GameTime_t m_flScaleTimeEnd[10]; // 0xa20 }; // Alignment: 1 @@ -73669,36 +75464,36 @@ public: }; // Alignment: 8 -// Size: 0x980 +// Size: 0xa28 class C_RagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad0908[0x8]; // 0x908 + [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x910 + C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x9b8 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" - C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x928 + C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9d0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x940 + float m_flBlendWeight; // 0x9e8 // MNetworkEnable - CHandle< C_BaseEntity > m_hRagdollSource; // 0x944 - AttachmentHandle_t m_iEyeAttachment; // 0x948 + CHandle< C_BaseEntity > m_hRagdollSource; // 0x9ec + AttachmentHandle_t m_iEyeAttachment; // 0x9f0 private: - [[maybe_unused]] uint8_t __pad0949[0x3]; // 0x949 + [[maybe_unused]] uint8_t __pad09f1[0x3]; // 0x9f1 public: - float m_flBlendWeightCurrent; // 0x94c - CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x950 - CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0x968 + float m_flBlendWeightCurrent; // 0x9f4 + CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9f8 + CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa10 }; // Alignment: 25 @@ -73774,38 +75569,38 @@ public: }; // Alignment: 12 -// Size: 0xae0 +// Size: 0xad8 class C_EconEntity : public C_BaseFlex { private: - [[maybe_unused]] uint8_t __pad0958[0x10]; // 0x958 + [[maybe_unused]] uint8_t __pad0950[0x10]; // 0x950 public: // MNetworkEnable - CAttributeContainer m_AttributeManager; // 0x968 - bool m_bClientside; // 0xa90 + CAttributeContainer m_AttributeManager; // 0x960 + bool m_bClientside; // 0xa88 private: - [[maybe_unused]] uint8_t __pad0a91[0x3]; // 0xa91 + [[maybe_unused]] uint8_t __pad0a89[0x3]; // 0xa89 public: - EconEntityParticleDisableMode_t m_nDisableMode; // 0xa94 - bool m_bParticleSystemsCreated; // 0xa98 - bool m_bForceDestroyAttachedParticlesImmediately; // 0xa99 + EconEntityParticleDisableMode_t m_nDisableMode; // 0xa8c + bool m_bParticleSystemsCreated; // 0xa90 + bool m_bForceDestroyAttachedParticlesImmediately; // 0xa91 private: - [[maybe_unused]] uint8_t __pad0a9a[0x6]; // 0xa9a + [[maybe_unused]] uint8_t __pad0a92[0x6]; // 0xa92 public: - CUtlVector< C_EconEntity::AttachedParticleInfo_t > m_vecAttachedParticles; // 0xaa0 - CHandle< CBaseAnimatingActivity > m_hViewmodelAttachment; // 0xab8 - int32_t m_iOldTeam; // 0xabc - bool m_bAttachmentDirty; // 0xac0 - style_index_t m_iOldStyle; // 0xac1 + CUtlVector< C_EconEntity::AttachedParticleInfo_t > m_vecAttachedParticles; // 0xa98 + CHandle< CBaseAnimatingActivity > m_hViewmodelAttachment; // 0xab0 + int32_t m_iOldTeam; // 0xab4 + bool m_bAttachmentDirty; // 0xab8 + style_index_t m_iOldStyle; // 0xab9 private: - [[maybe_unused]] uint8_t __pad0ac2[0x2]; // 0xac2 + [[maybe_unused]] uint8_t __pad0aba[0x2]; // 0xaba public: - CHandle< C_BaseEntity > m_hOldProvidee; // 0xac4 - CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0xac8 + CHandle< C_BaseEntity > m_hOldProvidee; // 0xabc + CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0xac0 }; // Alignment: 0 -// Size: 0xae8 +// Size: 0xae0 class C_EconWearable : public C_EconEntity { public: @@ -73813,7 +75608,7 @@ public: }; // Alignment: 0 -// Size: 0xae8 +// Size: 0xae0 class C_TFWearableItem : public C_EconWearable { public: @@ -73887,6 +75682,46 @@ public: bool m_bDying; // 0xa48 }; +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Tier1Token : public C_DOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Tier2Token : public C_DOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Tier3Token : public C_DOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Tier4Token : public C_DOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x648 +class C_DOTA_Item_Tier5Token : public C_DOTA_Item_TierToken +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0xa48 class CAdditionalWearable : public C_DynamicProp @@ -73896,39 +75731,39 @@ public: }; // Alignment: 14 -// Size: 0xb30 +// Size: 0xb28 class C_DOTAWearableItem : public C_EconWearable { public: // MNetworkEnable - bool m_bOwnerModelChanged; // 0xae8 + bool m_bOwnerModelChanged; // 0xae0 // MNetworkEnable - bool m_bIsGeneratingEconItem; // 0xae9 + bool m_bIsGeneratingEconItem; // 0xae1 // MNetworkEnable - bool m_bIsItemVisibleOnGeneratedEntity; // 0xaea + bool m_bIsItemVisibleOnGeneratedEntity; // 0xae2 // MNetworkEnable // MNetworkChangeCallback "OnHideWearableButDrawAdditionalWearablesChanged" - bool m_bHideWearableButDrawAdditionalWearables; // 0xaeb + bool m_bHideWearableButDrawAdditionalWearables; // 0xae3 // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0xaec - CHandle< C_DOTAWearableItem > m_hDrawWearable; // 0xaf0 - bool m_bHiddenByCombiner; // 0xaf4 - bool m_bHiddenByEquipmentSlot; // 0xaf5 - bool m_bIsPortrait; // 0xaf6 + CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0xae4 + CHandle< C_DOTAWearableItem > m_hDrawWearable; // 0xae8 + bool m_bHiddenByCombiner; // 0xaec + bool m_bHiddenByEquipmentSlot; // 0xaed + bool m_bIsPortrait; // 0xaee private: - [[maybe_unused]] uint8_t __pad0af7[0x1]; // 0xaf7 + [[maybe_unused]] uint8_t __pad0aef[0x1]; // 0xaef public: - float m_fZDelta; // 0xaf8 + float m_fZDelta; // 0xaf0 private: - [[maybe_unused]] uint8_t __pad0afc[0x4]; // 0xafc + [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 public: - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0xb00 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0xaf8 private: - [[maybe_unused]] uint8_t __pad0b18[0x8]; // 0xb18 + [[maybe_unused]] uint8_t __pad0b10[0x8]; // 0xb10 public: - bool m_bCombinerMaterialOverrideListChanged; // 0xb20 - bool m_bRubickFollower; // 0xb21 - bool m_bHasPlayerModel; // 0xb22 + bool m_bCombinerMaterialOverrideListChanged; // 0xb18 + bool m_bRubickFollower; // 0xb19 + bool m_bHasPlayerModel; // 0xb1a }; // Alignment: 0 @@ -74034,153 +75869,100 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x830 -class CBaseVehicle : public CBaseProp -{ -private: - [[maybe_unused]] uint8_t __pad0810[0x10]; // 0x810 -public: - // MNetworkEnable - Vector m_vecSmoothedVelocity; // 0x820 -}; - -// Alignment: 0 -// Size: 0x830 -class CVehicleEntityIO : public CBaseVehicle -{ -public: - // No members available -}; - -// Alignment: 8 -// Size: 0x8b8 -class CWheeledPhysicsVehicle : public CBaseVehicle -{ -private: - [[maybe_unused]] uint8_t __pad0830[0x8]; // 0x830 -public: - // MNetworkEnable - bool m_bIsUsingLookSteering; // 0x838 -private: - [[maybe_unused]] uint8_t __pad0839[0x7]; // 0x839 -public: - CUtlVector< ParticleIndex_t > m_vecWheelSmokeEffectIndices; // 0x840 - // MNetworkEnable - C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x858 - // MNetworkEnable - // MNetworkChangeCallback "OnSpeedChanged" - float m_flSpeedKPH; // 0x870 -private: - [[maybe_unused]] uint8_t __pad0874[0x4]; // 0x874 -public: - // MNetworkEnable - C_NetworkUtlVectorBase< Vector > m_vecWheelContactPointEntitySpace; // 0x878 - // MNetworkEnable - C_NetworkUtlVectorBase< float32 > m_vecWheelSmokeIntensity; // 0x890 - // MNetworkEnable - bool m_bIsAirborne; // 0x8a8 -private: - [[maybe_unused]] uint8_t __pad08a9[0x7]; // 0x8a9 -public: - // MNetworkEnable - CUtlString m_sNonAirborneSubclassName; // 0x8b0 -}; - // Alignment: 7 -// Size: 0x9b8 +// Size: 0xa60 class C_RagdollPropAttached : public C_RagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0x980 + uint32_t m_boneIndexAttached; // 0xa28 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0x984 + uint32_t m_ragdollAttachedObjectIndex; // 0xa2c // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0x988 + Vector m_attachmentPointBoneSpace; // 0xa30 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0x994 - Vector m_vecOffset; // 0x9a0 - float m_parentTime; // 0x9ac - bool m_bHasParent; // 0x9b0 + Vector m_attachmentPointRagdollSpace; // 0xa3c + Vector m_vecOffset; // 0xa48 + float m_parentTime; // 0xa54 + bool m_bHasParent; // 0xa58 }; // Alignment: 8 -// Size: 0x9e8 +// Size: 0x9e0 class C_BaseCombatCharacter : public C_BaseFlex { public: // MNetworkEnable // MNetworkChangeCallback "OnWearablesChanged" - C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x958 - int32_t m_bloodColor; // 0x970 - AttachmentHandle_t m_leftFootAttachment; // 0x974 - AttachmentHandle_t m_rightFootAttachment; // 0x975 + C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x950 + int32_t m_bloodColor; // 0x968 + AttachmentHandle_t m_leftFootAttachment; // 0x96c + AttachmentHandle_t m_rightFootAttachment; // 0x96d private: - [[maybe_unused]] uint8_t __pad0976[0x2]; // 0x976 + [[maybe_unused]] uint8_t __pad096e[0x2]; // 0x96e public: - C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0x978 - float m_flWaterWorldZ; // 0x97c - float m_flWaterNextTraceTime; // 0x980 + C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0x970 + float m_flWaterWorldZ; // 0x974 + float m_flWaterNextTraceTime; // 0x978 // MNetworkEnable - float m_flFieldOfView; // 0x984 + float m_flFieldOfView; // 0x97c }; // Alignment: 23 -// Size: 0xb18 +// Size: 0xb10 class C_BasePlayerPawn : public C_BaseCombatCharacter { public: // MNetworkEnable - CPlayer_WeaponServices* m_pWeaponServices; // 0x9e8 + CPlayer_WeaponServices* m_pWeaponServices; // 0x9e0 // MNetworkEnable - CPlayer_ItemServices* m_pItemServices; // 0x9f0 + CPlayer_ItemServices* m_pItemServices; // 0x9e8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - CPlayer_AutoaimServices* m_pAutoaimServices; // 0x9f8 + CPlayer_AutoaimServices* m_pAutoaimServices; // 0x9f0 // MNetworkEnable - CPlayer_ObserverServices* m_pObserverServices; // 0xa00 + CPlayer_ObserverServices* m_pObserverServices; // 0x9f8 // MNetworkEnable - CPlayer_WaterServices* m_pWaterServices; // 0xa08 + CPlayer_WaterServices* m_pWaterServices; // 0xa00 // MNetworkEnable - CPlayer_UseServices* m_pUseServices; // 0xa10 + CPlayer_UseServices* m_pUseServices; // 0xa08 // MNetworkEnable - CPlayer_FlashlightServices* m_pFlashlightServices; // 0xa18 + CPlayer_FlashlightServices* m_pFlashlightServices; // 0xa10 // MNetworkEnable - CPlayer_CameraServices* m_pCameraServices; // 0xa20 + CPlayer_CameraServices* m_pCameraServices; // 0xa18 // MNetworkEnable - CPlayer_MovementServices* m_pMovementServices; // 0xa28 + CPlayer_MovementServices* m_pMovementServices; // 0xa20 private: - [[maybe_unused]] uint8_t __pad0a30[0x8]; // 0xa30 + [[maybe_unused]] uint8_t __pad0a28[0x8]; // 0xa28 public: - QAngle v_angle; // 0xa38 + QAngle v_angle; // 0xa30 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xa44 + uint32_t m_iHideHUD; // 0xa3c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xa48 + sky3dparams_t m_skybox3d; // 0xa40 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flDeathTime; // 0xad8 - Vector m_vecPredictionError; // 0xadc - float m_flPredictionErrorTime; // 0xae8 - float m_flFOVSensitivityAdjust; // 0xaec - float m_flMouseSensitivity; // 0xaf0 - Vector m_vOldOrigin; // 0xaf4 - float m_flOldSimulationTime; // 0xb00 - int32_t m_nLastExecutedCommandNumber; // 0xb04 - int32_t m_nLastExecutedCommandTick; // 0xb08 + GameTime_t m_flDeathTime; // 0xad0 + Vector m_vecPredictionError; // 0xad4 + GameTime_t m_flPredictionErrorTime; // 0xae0 + float m_flFOVSensitivityAdjust; // 0xae4 + float m_flMouseSensitivity; // 0xae8 + Vector m_vOldOrigin; // 0xaec + float m_flOldSimulationTime; // 0xaf8 + int32_t m_nLastExecutedCommandNumber; // 0xafc + int32_t m_nLastExecutedCommandTick; // 0xb00 // MNetworkEnable // MNetworkChangeCallback "OnControllerChanged" - CHandle< CBasePlayerController > m_hController; // 0xb0c - bool m_bIsSwappingToPredictableController; // 0xb10 + CHandle< CBasePlayerController > m_hController; // 0xb04 + bool m_bIsSwappingToPredictableController; // 0xb08 }; // Alignment: 0 -// Size: 0xb30 +// Size: 0xb28 class C_DOTA_Tiny_ScepterTree : public C_DOTAWearableItem { public: @@ -74188,7 +75970,7 @@ public: }; // Alignment: 0 -// Size: 0xb18 +// Size: 0xb10 class CDOTAPlayerPawn : public C_BasePlayerPawn { public: @@ -74214,23 +75996,23 @@ public: }; // Alignment: 5 -// Size: 0xa10 +// Size: 0xa08 class C_NextBotCombatCharacter : public C_BaseCombatCharacter { public: - CountdownTimer m_shadowTimer; // 0x9e8 - bool m_bInFrustum; // 0xa00 + CountdownTimer m_shadowTimer; // 0x9e0 + bool m_bInFrustum; // 0x9f8 private: - [[maybe_unused]] uint8_t __pad0a01[0x3]; // 0xa01 + [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 public: - int32_t m_nInFrustumFrame; // 0xa04 - float m_flFrustumDistanceSqr; // 0xa08 + int32_t m_nInFrustumFrame; // 0x9fc + float m_flFrustumDistanceSqr; // 0xa00 // MNetworkEnable - uint8_t m_nLod; // 0xa0c + uint8_t m_nLod; // 0xa04 }; // Alignment: 0 -// Size: 0x9e8 +// Size: 0x9e0 class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter { public: @@ -74238,430 +76020,436 @@ public: }; // Alignment: 185 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC : public C_NextBotCombatCharacter { private: - [[maybe_unused]] uint8_t __pad0a10[0x10]; // 0xa10 + [[maybe_unused]] uint8_t __pad0a08[0x10]; // 0xa08 public: // MNetworkEnable - bool m_bIsPhantom; // 0xa20 + bool m_bIsPhantom; // 0xa18 private: - [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 + [[maybe_unused]] uint8_t __pad0a19[0x3]; // 0xa19 public: - uint32_t m_iUnitType; // 0xa24 + uint32_t m_iUnitType; // 0xa1c private: - [[maybe_unused]] uint8_t __pad0a28[0x10]; // 0xa28 + [[maybe_unused]] uint8_t __pad0a20[0x10]; // 0xa20 public: // MNetworkEnable - bool m_bSelectionRingVisible; // 0xa38 + bool m_bSelectionRingVisible; // 0xa30 private: - [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 + [[maybe_unused]] uint8_t __pad0a31[0x3]; // 0xa31 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentLevel; // 0xa3c + int32_t m_iCurrentLevel; // 0xa34 // MNetworkEnable - bool m_bIsAncient; // 0xa40 + bool m_bIsAncient; // 0xa38 // MNetworkEnable - bool m_bIsBossCreature; // 0xa41 + bool m_bIsBossCreature; // 0xa39 // MNetworkEnable - bool m_bStolenScepter; // 0xa42 + bool m_bStolenScepter; // 0xa3a // MNetworkEnable - bool m_bIsNeutralUnitType; // 0xa43 - bool m_bSelectOnSpawn; // 0xa44 - bool m_bCachedReplicatedMorphlingIllusion; // 0xa45 - bool m_bIgnoreAddSummonedToSelection; // 0xa46 - bool m_bConsideredHero; // 0xa47 - bool m_bUsesConstantGesture; // 0xa48 - bool m_bUseHeroAbilityNumbers; // 0xa49 - bool m_bHasSharedAbilities; // 0xa4a + bool m_bIsNeutralUnitType; // 0xa3b + bool m_bSelectOnSpawn; // 0xa3c + bool m_bCachedReplicatedMorphlingIllusion; // 0xa3d + bool m_bIgnoreAddSummonedToSelection; // 0xa3e + bool m_bConsideredHero; // 0xa3f + bool m_bUsesConstantGesture; // 0xa40 + bool m_bUseHeroAbilityNumbers; // 0xa41 + bool m_bHasSharedAbilities; // 0xa42 // MNetworkEnable - bool m_bIsSummoned; // 0xa4b + bool m_bIsSummoned; // 0xa43 // MNetworkEnable - bool m_bCanBeDominated; // 0xa4c + bool m_bCanBeDominated; // 0xa44 // MNetworkEnable - bool m_bHasUpgradeableAbilities; // 0xa4d + bool m_bHasUpgradeableAbilities; // 0xa45 private: - [[maybe_unused]] uint8_t __pad0a4e[0x2]; // 0xa4e + [[maybe_unused]] uint8_t __pad0a46[0x2]; // 0xa46 public: // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthThinkRegen; // 0xa50 + float m_flHealthThinkRegen; // 0xa48 private: - [[maybe_unused]] uint8_t __pad0a54[0x4]; // 0xa54 + [[maybe_unused]] uint8_t __pad0a4c[0x4]; // 0xa4c public: // MNetworkEnable - uint64_t m_iIsControllableByPlayer64; // 0xa58 + uint64_t m_iIsControllableByPlayer64; // 0xa50 // MNetworkEnable - int32_t m_nHealthBarOffsetOverride; // 0xa60 + int32_t m_nHealthBarOffsetOverride; // 0xa58 // MNetworkEnable - bool m_bCanRespawn; // 0xa64 + bool m_bCanRespawn; // 0xa5c private: - [[maybe_unused]] uint8_t __pad0a65[0x3]; // 0xa65 + [[maybe_unused]] uint8_t __pad0a5d[0x3]; // 0xa5d public: - int32_t m_iAttackRange; // 0xa68 - int32_t m_iCombatClass; // 0xa6c - int32_t m_iCombatClassAttack; // 0xa70 - int32_t m_iCombatClassDefend; // 0xa74 - Color m_colorGemColor; // 0xa78 - bool m_bHasColorGem; // 0xa7c + int32_t m_iAttackRange; // 0xa60 + Color m_colorGemColor; // 0xa64 + bool m_bHasColorGem; // 0xa68 private: - [[maybe_unused]] uint8_t __pad0a7d[0x3]; // 0xa7d + [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 public: - ParticleIndex_t m_nFXDeniableIndex; // 0xa80 + ParticleIndex_t m_nFXDeniableIndex; // 0xa6c // MNetworkEnable - int32_t m_iMoveSpeed; // 0xa84 - int32_t m_iBaseAttackSpeed; // 0xa88 - float m_flBaseAttackTime; // 0xa8c + int32_t m_iMoveSpeed; // 0xa70 + int32_t m_iBaseAttackSpeed; // 0xa74 + float m_flBaseAttackTime; // 0xa78 // MNetworkEnable // MNetworkChangeCallback "OnUnitNameIndexChanged" - int32_t m_iUnitNameIndex; // 0xa90 - int32_t m_iHealthBarOffset; // 0xa94 - Color m_iHealthBarHighlightColor; // 0xa98 + int32_t m_iUnitNameIndex; // 0xa7c + int32_t m_iHealthBarOffset; // 0xa80 + Color m_iHealthBarHighlightColor; // 0xa84 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMana; // 0xa9c + float m_flMana; // 0xa88 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" - float m_flMaxMana; // 0xaa0 + float m_flMaxMana; // 0xa8c // MNetworkEnable // MNetworkBitCount "14" // MNetworkMinValue "-50.000000" // MNetworkMaxValue "500.000000" - float m_flManaThinkRegen; // 0xaa4 + float m_flManaThinkRegen; // 0xa90 // MNetworkEnable - int32_t m_iBKBChargesUsed; // 0xaa8 + int32_t m_iBKBChargesUsed; // 0xa94 // MNetworkEnable - int32_t m_iAeonChargesUsed; // 0xaac + int32_t m_iAeonChargesUsed; // 0xa98 // MNetworkEnable - GameTime_t m_flRefresherUseTime; // 0xab0 + GameTime_t m_flRefresherUseTime; // 0xa9c // MNetworkEnable - float m_flRefresherLastCooldown; // 0xab4 + float m_flRefresherLastCooldown; // 0xaa0 // MNetworkEnable - int32_t m_iBotDebugData; // 0xab8 + int32_t m_iBotDebugData; // 0xaa4 // MNetworkEnable - bool m_bIsIllusion; // 0xabc - bool m_bHasClientSeenIllusionModifier; // 0xabd + bool m_bIsIllusion; // 0xaa8 + bool m_bHasClientSeenIllusionModifier; // 0xaa9 private: - [[maybe_unused]] uint8_t __pad0abe[0x2]; // 0xabe + [[maybe_unused]] uint8_t __pad0aaa[0x2]; // 0xaaa public: // MNetworkEnable // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hAbilities[35]; // 0xac0 - float m_flInvisibilityLevel; // 0xb4c - float m_flHullRadius; // 0xb50 - float m_flCollisionPadding; // 0xb54 - float m_flRingRadius; // 0xb58 - float m_flProjectileCollisionSize; // 0xb5c - CUtlSymbolLarge m_iszUnitName; // 0xb60 - CUtlSymbolLarge m_iszParticleFolder; // 0xb68 - CUtlSymbolLarge m_iszSoundSet; // 0xb70 - CUtlSymbolLarge m_iszSelectionGroup; // 0xb78 - CUtlSymbolLarge m_iszVoiceFile; // 0xb80 - CUtlSymbolLarge m_iszGameSoundsFile; // 0xb88 - CUtlSymbolLarge m_iszVoiceBackgroundSound; // 0xb90 - CUtlSymbolLarge m_iszIdleSoundLoop; // 0xb98 - // MNetworkEnable - CUtlString m_szUnitLabel; // 0xba0 - // MNetworkEnable - uint8_t m_nUnitLabelIndex; // 0xba8 + CHandle< C_BaseEntity > m_hAbilities[35]; // 0xaac + float m_flInvisibilityLevel; // 0xb38 + float m_flHullRadius; // 0xb3c + float m_flCollisionPadding; // 0xb40 + float m_flRingRadius; // 0xb44 + float m_flProjectileCollisionSize; // 0xb48 private: - [[maybe_unused]] uint8_t __pad0ba9[0x7]; // 0xba9 + [[maybe_unused]] uint8_t __pad0b4c[0x4]; // 0xb4c public: - CUtlString m_strAnimationModifier; // 0xbb0 - CUtlString m_TerrainSpecificFootstepEffect; // 0xbb8 - bool m_bUseCustomTerrainWeatherEffect; // 0xbc0 - bool m_bHasClientSoundReplacement; // 0xbc1 - bool m_bHasClientReplacementParticle; // 0xbc2 + CUtlSymbolLarge m_iszUnitName; // 0xb50 + CUtlSymbolLarge m_iszParticleFolder; // 0xb58 + CUtlSymbolLarge m_iszSoundSet; // 0xb60 + CUtlSymbolLarge m_iszSelectionGroup; // 0xb68 + CUtlSymbolLarge m_iszVoiceFile; // 0xb70 + CUtlSymbolLarge m_iszGameSoundsFile; // 0xb78 + CUtlSymbolLarge m_iszVoiceBackgroundSound; // 0xb80 + CUtlSymbolLarge m_iszIdleSoundLoop; // 0xb88 + // MNetworkEnable + CUtlString m_szUnitLabel; // 0xb90 + // MNetworkEnable + CUtlString m_szScaleset; // 0xb98 + // MNetworkEnable + uint8_t m_nUnitLabelIndex; // 0xba0 private: - [[maybe_unused]] uint8_t __pad0bc3[0x9]; // 0xbc3 + [[maybe_unused]] uint8_t __pad0ba1[0x7]; // 0xba1 public: - bool m_bResourcesLoaded; // 0xbcc + CUtlString m_strAnimationModifier; // 0xba8 + CUtlString m_TerrainSpecificFootstepEffect; // 0xbb0 + bool m_bUseCustomTerrainWeatherEffect; // 0xbb8 + bool m_bHasClientSoundReplacement; // 0xbb9 + bool m_bHasClientReplacementParticle; // 0xbba private: - [[maybe_unused]] uint8_t __pad0bcd[0x3]; // 0xbcd + [[maybe_unused]] uint8_t __pad0bbb[0x9]; // 0xbbb +public: + bool m_bResourcesLoaded; // 0xbc4 +private: + [[maybe_unused]] uint8_t __pad0bc5[0x3]; // 0xbc5 public: // MNetworkEnable - GameTime_t m_flTauntCooldown; // 0xbd0 + GameTime_t m_flTauntCooldown; // 0xbc8 // MNetworkEnable - GameTime_t m_flTauntCooldown2; // 0xbd4 + GameTime_t m_flTauntCooldown2; // 0xbcc // MNetworkEnable - DOTA_SHOP_TYPE m_iCurShop; // 0xbd8 + DOTA_SHOP_TYPE m_iCurShop; // 0xbd0 private: - [[maybe_unused]] uint8_t __pad0bdc[0x4]; // 0xbdc + [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 public: // MNetworkEnable - CUtlSymbolLarge m_szCurShopEntName; // 0xbe0 + CUtlSymbolLarge m_szCurShopEntName; // 0xbd8 // MNetworkEnable - int32_t m_iDayTimeVisionRange; // 0xbe8 + int32_t m_iDayTimeVisionRange; // 0xbe0 // MNetworkEnable - int32_t m_iNightTimeVisionRange; // 0xbec + int32_t m_iNightTimeVisionRange; // 0xbe4 // MNetworkEnable // MNetworkChangeCallback "OnDamageMinChanged" - int32_t m_iDamageMin; // 0xbf0 + int32_t m_iDamageMin; // 0xbe8 // MNetworkEnable // MNetworkChangeCallback "OnDamageMaxChanged" - int32_t m_iDamageMax; // 0xbf4 + int32_t m_iDamageMax; // 0xbec // MNetworkEnable - int32_t m_iDamageBonus; // 0xbf8 + int32_t m_iDamageBonus; // 0xbf0 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iTaggedAsVisibleByTeam; // 0xbfc + int32_t m_iTaggedAsVisibleByTeam; // 0xbf4 // MNetworkEnable - CDOTA_ModifierManager m_ModifierManager; // 0xc00 + CDOTA_ModifierManager m_ModifierManager; // 0xbf8 // MNetworkEnable - C_DOTA_UnitInventory m_Inventory; // 0xe60 + C_DOTA_UnitInventory m_Inventory; // 0xe68 private: - [[maybe_unused]] uint8_t __pad0f10[0x8]; // 0xf10 + [[maybe_unused]] uint8_t __pad0f18[0x8]; // 0xf18 public: // MNetworkEnable // MNetworkChangeCallback "OnUnitStateChanged" // MNetworkPriority "32" - uint64_t m_nUnitState64; // 0xf18 + uint64_t m_nUnitState64; // 0xf20 private: - [[maybe_unused]] uint8_t __pad0f20[0x8]; // 0xf20 + [[maybe_unused]] uint8_t __pad0f28[0x8]; // 0xf28 public: - uint64_t m_nUnitDebuffState; // 0xf28 - bool m_bHasInventory; // 0xf30 + uint64_t m_nUnitDebuffState; // 0xf30 + bool m_bHasInventory; // 0xf38 private: - [[maybe_unused]] uint8_t __pad0f31[0x3]; // 0xf31 + [[maybe_unused]] uint8_t __pad0f39[0x3]; // 0xf39 public: - int32_t m_iAcquisitionRange; // 0xf34 - int32_t m_FoWViewID; // 0xf38 - int32_t m_iPrevHealthPct; // 0xf3c - int32_t m_iPrevLifeState; // 0xf40 - int32_t m_iPrevTeam; // 0xf44 - bool m_bPrevProvidesVision; // 0xf48 + int32_t m_iAcquisitionRange; // 0xf3c + int32_t m_FoWViewID; // 0xf40 + int32_t m_iPrevHealthPct; // 0xf44 + int32_t m_iPrevLifeState; // 0xf48 + int32_t m_iPrevTeam; // 0xf4c + bool m_bPrevProvidesVision; // 0xf50 private: - [[maybe_unused]] uint8_t __pad0f49[0x7]; // 0xf49 + [[maybe_unused]] uint8_t __pad0f51[0x7]; // 0xf51 public: - uint64_t m_nPrevControllableMask; // 0xf50 + uint64_t m_nPrevControllableMask; // 0xf58 private: - [[maybe_unused]] uint8_t __pad0f58[0x8]; // 0xf58 + [[maybe_unused]] uint8_t __pad0f60[0x8]; // 0xf60 public: - CountdownTimer m_TagTime; // 0xf60 - CountdownTimer m_ClickedTime; // 0xf78 - GameTime_t m_flIdleRunPoseStartTime[2]; // 0xf90 - float m_flIdleRunPoseDuration[2]; // 0xf98 - bool m_bAnimationTransitionActive; // 0xfa0 + CountdownTimer m_TagTime; // 0xf68 + CountdownTimer m_ClickedTime; // 0xf80 + GameTime_t m_flIdleRunPoseStartTime[2]; // 0xf98 + float m_flIdleRunPoseDuration[2]; // 0xfa0 + bool m_bAnimationTransitionActive; // 0xfa8 private: - [[maybe_unused]] uint8_t __pad0fa1[0x3]; // 0xfa1 + [[maybe_unused]] uint8_t __pad0fa9[0x3]; // 0xfa9 public: - int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfa4 - int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfac - int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xfb4 + int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfac + int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfb4 + int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xfbc private: - [[maybe_unused]] uint8_t __pad0fbc[0x5c]; // 0xfbc + [[maybe_unused]] uint8_t __pad0fc4[0x5c]; // 0xfc4 public: - GameTime_t m_flTimeSinceLastAbilityNag; // 0x1018 + GameTime_t m_flTimeSinceLastAbilityNag; // 0x1020 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iAttackCapabilities; // 0x101c + int32_t m_iAttackCapabilities; // 0x1024 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSpecialAbility; // 0x1020 - int32_t m_iMoveCapabilities; // 0x1024 + int32_t m_iSpecialAbility; // 0x1028 + int32_t m_iMoveCapabilities; // 0x102c // MNetworkEnable - PlayerID_t m_nPlayerOwnerID; // 0x1028 + PlayerID_t m_nPlayerOwnerID; // 0x1030 + // MNetworkEnable + GameTime_t m_flLastDamageTime; // 0x1034 + // MNetworkEnable + GameTime_t m_flLastAttackTime; // 0x1038 private: - [[maybe_unused]] uint8_t __pad102c[0x4]; // 0x102c + [[maybe_unused]] uint8_t __pad103c[0x4]; // 0x103c public: - CUtlSymbolLarge m_iszMinimapIcon; // 0x1030 + CUtlSymbolLarge m_iszMinimapIcon; // 0x1040 private: - [[maybe_unused]] uint8_t __pad1038[0x8]; // 0x1038 + [[maybe_unused]] uint8_t __pad1048[0x8]; // 0x1048 public: - float m_flMinimapIconSize; // 0x1040 - bool m_bMinimapDisableTint; // 0x1044 - bool m_bMinimapDisableRotation; // 0x1045 - Color m_colorHeroGlow; // 0x1046 + float m_flMinimapIconSize; // 0x1050 + bool m_bMinimapDisableTint; // 0x1054 + bool m_bMinimapDisableRotation; // 0x1055 + Color m_colorHeroGlow; // 0x1056 private: - [[maybe_unused]] uint8_t __pad104a[0x2]; // 0x104a + [[maybe_unused]] uint8_t __pad105a[0x2]; // 0x105a public: - int32_t m_iNearShopMask; // 0x104c - int32_t m_nPoseParameterTurn; // 0x1050 - int32_t m_nPoseParameterRun; // 0x1054 - float m_flLean; // 0x1058 - float m_flRun; // 0x105c + int32_t m_iNearShopMask; // 0x105c + int32_t m_nPoseParameterTurn; // 0x1060 + int32_t m_nPoseParameterRun; // 0x1064 + float m_flLean; // 0x1068 + float m_flRun; // 0x106c // MNetworkEnable // MNetworkPriority "32" - int32_t m_anglediff; // 0x1060 - bool m_bInfoKeyActive; // 0x1064 - bool m_bNewUpdateAssetModifiersNetworked; // 0x1065 + int32_t m_anglediff; // 0x1070 + bool m_bInfoKeyActive; // 0x1074 + bool m_bNewUpdateAssetModifiersNetworked; // 0x1075 private: - [[maybe_unused]] uint8_t __pad1066[0x2]; // 0x1066 + [[maybe_unused]] uint8_t __pad1076[0x2]; // 0x1076 public: - GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1068 - bool m_bSuppressGlow; // 0x106c - bool m_bWasSinking; // 0x106d + GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1078 + bool m_bSuppressGlow; // 0x107c + bool m_bWasSinking; // 0x107d private: - [[maybe_unused]] uint8_t __pad106e[0x2]; // 0x106e + [[maybe_unused]] uint8_t __pad107e[0x2]; // 0x107e public: - float m_flRangeDisplayDist; // 0x1070 + float m_flRangeDisplayDist; // 0x1080 private: - [[maybe_unused]] uint8_t __pad1074[0x17c]; // 0x1074 + [[maybe_unused]] uint8_t __pad1084[0x1bc]; // 0x1084 public: - CUtlSymbolLarge m_szDefaultIdle; // 0x11f0 - CUtlSymbolLarge m_szDefaultRareIdle; // 0x11f8 - CountdownTimer m_damagetimer; // 0x1200 - Vector m_vRenderOrigin; // 0x1218 - float m_fZDelta; // 0x1224 - GameTime_t m_flDeathTime; // 0x1228 - bool m_bBaseStatsChanged; // 0x122c - bool m_bNeedsSoundEmitterRefresh; // 0x122d + CUtlSymbolLarge m_szDefaultIdle; // 0x1240 + CUtlSymbolLarge m_szDefaultRareIdle; // 0x1248 + CountdownTimer m_damagetimer; // 0x1250 + Vector m_vRenderOrigin; // 0x1268 + float m_fZDelta; // 0x1274 + GameTime_t m_flDeathTime; // 0x1278 + bool m_bBaseStatsChanged; // 0x127c + bool m_bNeedsSoundEmitterRefresh; // 0x127d private: - [[maybe_unused]] uint8_t __pad122e[0x2]; // 0x122e + [[maybe_unused]] uint8_t __pad127e[0x2]; // 0x127e public: // MNetworkEnable - float m_flPhysicalArmorValue; // 0x1230 + float m_flPhysicalArmorValue; // 0x1280 // MNetworkEnable - float m_flMagicalResistanceValue; // 0x1234 - int32_t m_nPrevSequenceParity; // 0x1238 + float m_flMagicalResistanceValue; // 0x1284 + int32_t m_nPrevSequenceParity; // 0x1288 private: - [[maybe_unused]] uint8_t __pad123c[0xa4]; // 0x123c + [[maybe_unused]] uint8_t __pad128c[0xa4]; // 0x128c public: - float m_flPrevInvisLevel; // 0x12e0 + float m_flPrevInvisLevel; // 0x1330 private: - [[maybe_unused]] uint8_t __pad12e4[0x4]; // 0x12e4 + [[maybe_unused]] uint8_t __pad1334[0x4]; // 0x1334 public: - CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x12e8 - CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x12f0 - CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x12f8 - bool m_bClientReplacementModelNeedsRebuild; // 0x1300 -private: - [[maybe_unused]] uint8_t __pad1301[0x3]; // 0x1301 -public: - int32_t m_nClientReplacementModelReloadCount; // 0x1304 - // MNetworkEnable - // MNetworkChangeCallback "OnUnitModelVariantChanged" - int8_t m_nUnitModelVariant; // 0x1308 - int8_t m_nUnitModelVariantCount; // 0x1309 -private: - [[maybe_unused]] uint8_t __pad130a[0x2]; // 0x130a -public: - int32_t m_iPrevSequence; // 0x130c - char* m_pLastWeatherEffectName; // 0x1310 -private: - [[maybe_unused]] uint8_t __pad1318[0x8]; // 0x1318 -public: - CountdownTimer m_VoiceBackgroundSoundTimer; // 0x1320 - // MNetworkEnable - bool m_bIsWaitingToSpawn; // 0x1338 -private: - [[maybe_unused]] uint8_t __pad1339[0x7]; // 0x1339 -public: - // MNetworkEnable - int64_t m_nTotalDamageTaken; // 0x1340 - // MNetworkEnable - // MNetworkBitCount "18" - // MNetworkMinValue "-100.000000" - // MNetworkMaxValue "1000.000000" - float m_flManaRegen; // 0x1348 - // MNetworkEnable - // MNetworkBitCount "18" - // MNetworkMinValue "-100.000000" - // MNetworkMaxValue "1000.000000" - float m_flHealthRegen; // 0x134c - // MNetworkEnable - bool m_bIsMoving; // 0x1350 + CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x1338 + CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x1340 + CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x1348 + bool m_bClientReplacementModelNeedsRebuild; // 0x1350 private: [[maybe_unused]] uint8_t __pad1351[0x3]; // 0x1351 public: + int32_t m_nClientReplacementModelReloadCount; // 0x1354 // MNetworkEnable - float m_fRevealRadius; // 0x1354 - // MNetworkEnable - bool m_bCanUseWards; // 0x1358 - // MNetworkEnable - bool m_bCanUseAllItems; // 0x1359 + // MNetworkChangeCallback "OnUnitModelVariantChanged" + int8_t m_nUnitModelVariant; // 0x1358 + int8_t m_nUnitModelVariantCount; // 0x1359 private: [[maybe_unused]] uint8_t __pad135a[0x2]; // 0x135a public: - // MNetworkEnable - int32_t m_iXPBounty; // 0x135c - // MNetworkEnable - int32_t m_iXPBountyExtra; // 0x1360 - // MNetworkEnable - int32_t m_iGoldBountyMin; // 0x1364 - // MNetworkEnable - int32_t m_iGoldBountyMax; // 0x1368 - // MNetworkEnable - CHandle< C_BaseEntity > m_hGoalEntity; // 0x136c - // MNetworkEnable - CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x1370 + int32_t m_iPrevSequence; // 0x135c + char* m_pLastWeatherEffectName; // 0x1360 private: - [[maybe_unused]] uint8_t __pad1374[0x4]; // 0x1374 + [[maybe_unused]] uint8_t __pad1368[0x8]; // 0x1368 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x1378 - bool m_bCombinerMaterialOverrideListChanged; // 0x1380 + CountdownTimer m_VoiceBackgroundSoundTimer; // 0x1370 + // MNetworkEnable + bool m_bIsWaitingToSpawn; // 0x1388 private: - [[maybe_unused]] uint8_t __pad1381[0x3]; // 0x1381 + [[maybe_unused]] uint8_t __pad1389[0x7]; // 0x1389 public: - int32_t m_nBaseModelMeshCount; // 0x1384 - CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x1388 - int8_t m_nArcanaLevel; // 0x13a0 - int8_t m_nDefaultArcanaLevel; // 0x13a1 - Color m_defaultColorGemColor; // 0x13a2 + // MNetworkEnable + int64_t m_nTotalDamageTaken; // 0x1390 + // MNetworkEnable + // MNetworkBitCount "18" + // MNetworkMinValue "-100.000000" + // MNetworkMaxValue "1000.000000" + float m_flManaRegen; // 0x1398 + // MNetworkEnable + // MNetworkBitCount "18" + // MNetworkMinValue "-100.000000" + // MNetworkMaxValue "1000.000000" + float m_flHealthRegen; // 0x139c + // MNetworkEnable + bool m_bIsMoving; // 0x13a0 private: - [[maybe_unused]] uint8_t __pad13a6[0x1a]; // 0x13a6 + [[maybe_unused]] uint8_t __pad13a1[0x3]; // 0x13a1 public: - bool m_bHasBuiltWearableSpawnList; // 0x13c0 - bool m_bHasCostume; // 0x13c1 + // MNetworkEnable + float m_fRevealRadius; // 0x13a4 + // MNetworkEnable + bool m_bCanUseWards; // 0x13a8 + // MNetworkEnable + bool m_bCanUseAllItems; // 0x13a9 private: - [[maybe_unused]] uint8_t __pad13c2[0x11e]; // 0x13c2 + [[maybe_unused]] uint8_t __pad13aa[0x2]; // 0x13aa +public: + // MNetworkEnable + int32_t m_iXPBounty; // 0x13ac + // MNetworkEnable + int32_t m_iXPBountyExtra; // 0x13b0 + // MNetworkEnable + int32_t m_iGoldBountyMin; // 0x13b4 + // MNetworkEnable + int32_t m_iGoldBountyMax; // 0x13b8 + // MNetworkEnable + CHandle< C_BaseEntity > m_hGoalEntity; // 0x13bc + // MNetworkEnable + CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x13c0 +private: + [[maybe_unused]] uint8_t __pad13c4[0x4]; // 0x13c4 +public: + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x13c8 + bool m_bCombinerMaterialOverrideListChanged; // 0x13d0 +private: + [[maybe_unused]] uint8_t __pad13d1[0x3]; // 0x13d1 +public: + int32_t m_nBaseModelMeshCount; // 0x13d4 + CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x13d8 + int8_t m_nArcanaLevel; // 0x13f0 + int8_t m_nDefaultArcanaLevel; // 0x13f1 + Color m_defaultColorGemColor; // 0x13f2 +private: + [[maybe_unused]] uint8_t __pad13f6[0x1a]; // 0x13f6 +public: + bool m_bHasBuiltWearableSpawnList; // 0x1410 + bool m_bHasCostume; // 0x1411 +private: + [[maybe_unused]] uint8_t __pad1412[0x11e]; // 0x1412 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkActivity; // 0x14e0 - int32_t m_PrevNetworkActivity; // 0x14e4 + int32_t m_NetworkActivity; // 0x1530 + int32_t m_PrevNetworkActivity; // 0x1534 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkSequenceIndex; // 0x14e8 + int32_t m_NetworkSequenceIndex; // 0x1538 // MNetworkEnable - bool m_bShouldDoFlyHeightVisual; // 0x14ec + bool m_bShouldDoFlyHeightVisual; // 0x153c private: - [[maybe_unused]] uint8_t __pad14ed[0x3]; // 0x14ed + [[maybe_unused]] uint8_t __pad153d[0x3]; // 0x153d public: // MNetworkEnable - float m_flStartSequenceCycle; // 0x14f0 + float m_flStartSequenceCycle; // 0x1540 private: - [[maybe_unused]] uint8_t __pad14f4[0x4]; // 0x14f4 + [[maybe_unused]] uint8_t __pad1544[0x4]; // 0x1544 public: - CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x14f8 - CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x1510 - CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x1514 + CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1548 + CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x1560 + CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x1564 private: - [[maybe_unused]] uint8_t __pad1518[0x10]; // 0x1518 + [[maybe_unused]] uint8_t __pad1568[0x10]; // 0x1568 public: - CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x1528 - CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x1540 + CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x1578 + CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x1590 // MNetworkEnable - char m_CustomHealthLabel[256]; // 0x1558 + char m_CustomHealthLabel[256]; // 0x15a8 // MNetworkEnable - Color m_CustomHealthLabelColor; // 0x1658 - item_definition_index_t m_nWearableDefIndex; // 0x165c + Color m_CustomHealthLabelColor; // 0x16a8 + item_definition_index_t m_nWearableDefIndex; // 0x16ac private: - [[maybe_unused]] uint8_t __pad1660[0x1]; // 0x1660 + [[maybe_unused]] uint8_t __pad16b0[0x1]; // 0x16b0 public: - Color m_gibTintColor; // 0x1661 - bool m_bForceMaterialCombine; // 0x1665 - bool m_bShouldDrawParticlesWhileHidden; // 0x1666 - bool m_bIsClientThinkPending; // 0x1667 - bool m_bActivityModifiersDirty; // 0x1668 - bool m_bUnitModelVariantChanged; // 0x1669 - bool m_bWearablesAreTaunting; // 0x166a + Color m_gibTintColor; // 0x16b1 + bool m_bForceMaterialCombine; // 0x16b5 + bool m_bShouldDrawParticlesWhileHidden; // 0x16b6 + bool m_bIsClientThinkPending; // 0x16b7 + bool m_bActivityModifiersDirty; // 0x16b8 + bool m_bUnitModelVariantChanged; // 0x16b9 + bool m_bWearablesAreTaunting; // 0x16ba private: - [[maybe_unused]] uint8_t __pad166b[0x15]; // 0x166b + [[maybe_unused]] uint8_t __pad16bb[0x15]; // 0x16bb public: - bool m_bShowCannotBeDisabledIcon; // 0x1680 + bool m_bShowCannotBeDisabledIcon; // 0x16d0 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC_Additive : public C_DOTA_BaseNPC { public: @@ -74669,46 +76457,46 @@ public: }; // Alignment: 16 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Building : public C_DOTA_BaseNPC { public: // MNetworkEnable - int32_t m_iDamageLevel; // 0x1688 - ParticleIndex_t m_nAmbientFXIndex; // 0x168c - ParticleIndex_t m_nTPFXIndex; // 0x1690 - ParticleIndex_t m_nStatusFXIndex; // 0x1694 + int32_t m_iDamageLevel; // 0x16f0 + ParticleIndex_t m_nAmbientFXIndex; // 0x16f4 + ParticleIndex_t m_nTPFXIndex; // 0x16f8 + ParticleIndex_t m_nStatusFXIndex; // 0x16fc // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1698 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1700 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x16a0 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1708 // MNetworkEnable - QAngle m_angInitialAngles; // 0x16a8 + QAngle m_angInitialAngles; // 0x1710 // MNetworkEnable - HSequence m_hHeroStatueSequence; // 0x16b4 + HSequence m_hHeroStatueSequence; // 0x171c // MNetworkEnable - HSequence m_hConstantLayerSequence; // 0x16b8 + HSequence m_hConstantLayerSequence; // 0x1720 // MNetworkEnable - float m_fHeroStatueCycle; // 0x16bc + float m_fHeroStatueCycle; // 0x1724 // MNetworkEnable - int32_t m_iHeroStatueStatusEffectIndex; // 0x16c0 + int32_t m_iHeroStatueStatusEffectIndex; // 0x1728 // MNetworkEnable - bool m_bHeroStatue; // 0x16c4 + bool m_bHeroStatue; // 0x172c // MNetworkEnable - bool m_bBattleCup; // 0x16c5 + bool m_bBattleCup; // 0x172d // MNetworkEnable - char m_HeroStatueInscription[32]; // 0x16c6 + char m_HeroStatueInscription[32]; // 0x172e private: - [[maybe_unused]] uint8_t __pad16e6[0x2]; // 0x16e6 + [[maybe_unused]] uint8_t __pad174e[0x2]; // 0x174e public: // MNetworkEnable - PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x16e8 + PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1750 // MNetworkEnable - Color m_ParticleTintColor; // 0x16ec + Color m_ParticleTintColor; // 0x1754 }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Filler : public C_DOTA_BaseNPC_Building { public: @@ -74716,58 +76504,83 @@ public: }; // Alignment: 3 -// Size: 0x1708 +// Size: 0x1770 class C_DOTA_BaseNPC_Watch_Tower : public C_DOTA_BaseNPC_Building { public: - ParticleIndex_t m_iRangeFX; // 0x16f0 + ParticleIndex_t m_iRangeFX; // 0x1758 private: - [[maybe_unused]] uint8_t __pad16f4[0x4]; // 0x16f4 + [[maybe_unused]] uint8_t __pad175c[0x4]; // 0x175c public: // MNetworkEnable - CUtlSymbolLarge m_szOutpostName; // 0x16f8 + CUtlSymbolLarge m_szOutpostName; // 0x1760 // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1700 -}; - -// Alignment: 1 -// Size: 0x16f8 -class C_DOTA_BaseNPC_Healer : public C_DOTA_BaseNPC_Building -{ -public: - ParticleIndex_t m_iRangeFX; // 0x16f0 -}; - -// Alignment: 8 -// Size: 0x1730 -class C_DOTA_BaseNPC_Tower : public C_DOTA_BaseNPC_Building -{ -public: - ParticleIndex_t m_iRangeFX; // 0x16f0 - // MNetworkEnable - CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x16f4 - // MNetworkEnable - CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x16f8 - int32_t m_iPoseParameterAim; // 0x16fc - QAngle m_angDefaultCustomTowerAngle; // 0x1700 - float m_flLastAimYaw; // 0x170c - bool m_bClientSideCustomTower; // 0x1710 -private: - [[maybe_unused]] uint8_t __pad1711[0x7]; // 0x1711 -public: - CountdownTimer m_IdleRareAnimationTime; // 0x1718 -}; - -// Alignment: 1 -// Size: 0x1738 -class C_DOTA_BaseNPC_HoldoutTower : public C_DOTA_BaseNPC_Tower -{ -public: - DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1730 + CUtlSymbolLarge m_szInteractAbilityName; // 0x1768 }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x1758 +class C_DOTA_BaseNPC_MangoTree : public C_DOTA_BaseNPC_Building +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x16f0 +class C_DOTA_NPC_BaseBlocker : public C_DOTA_BaseNPC_Additive +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x1760 +class C_DOTA_NPC_Lantern : public C_DOTA_BaseNPC_Building +{ +public: + // MNetworkEnable + CUtlSymbolLarge m_szInteractAbilityName; // 0x1758 +}; + +// Alignment: 1 +// Size: 0x1760 +class C_DOTA_BaseNPC_Healer : public C_DOTA_BaseNPC_Building +{ +public: + ParticleIndex_t m_iRangeFX; // 0x1758 +}; + +// Alignment: 8 +// Size: 0x1798 +class C_DOTA_BaseNPC_Tower : public C_DOTA_BaseNPC_Building +{ +public: + ParticleIndex_t m_iRangeFX; // 0x1758 + // MNetworkEnable + CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x175c + // MNetworkEnable + CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x1760 + int32_t m_iPoseParameterAim; // 0x1764 + QAngle m_angDefaultCustomTowerAngle; // 0x1768 + float m_flLastAimYaw; // 0x1774 + bool m_bClientSideCustomTower; // 0x1778 +private: + [[maybe_unused]] uint8_t __pad1779[0x7]; // 0x1779 +public: + CountdownTimer m_IdleRareAnimationTime; // 0x1780 +}; + +// Alignment: 1 +// Size: 0x17a0 +class C_DOTA_BaseNPC_HoldoutTower : public C_DOTA_BaseNPC_Tower +{ +public: + DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1798 +}; + +// Alignment: 0 +// Size: 0x17a0 class C_DOTA_BaseNPC_SDKTower : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -74775,7 +76588,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x17a0 class C_DOTA_BaseNPC_HoldoutTower_LightFast : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -74783,7 +76596,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x17a0 class C_DOTA_BaseNPC_HoldoutTower_HeavySlow : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -74791,7 +76604,7 @@ public: }; // Alignment: 0 -// Size: 0x1738 +// Size: 0x17a0 class C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed : public C_DOTA_BaseNPC_HoldoutTower { public: @@ -74799,7 +76612,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Barracks : public C_DOTA_BaseNPC_Building { public: @@ -74807,7 +76620,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Fort : public C_DOTA_BaseNPC_Building { public: @@ -74815,7 +76628,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Effigy_Statue : public C_DOTA_BaseNPC_Building { public: @@ -74823,7 +76636,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Effigy_BattleCup : public C_DOTA_BaseNPC_Building { public: @@ -74831,113 +76644,113 @@ public: }; // Alignment: 2 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_RotatableBuilding : public C_DOTA_BaseNPC { public: // MNetworkEnable // MNetworkAlias "m_hHeroStatueSequence" - HSequence m_hObsoleteHeroStatueSequence; // 0x1688 + HSequence m_hObsoleteHeroStatueSequence; // 0x16f0 // MNetworkEnable // MNetworkAlias "m_hConstantLayerSequence" - HSequence m_hObsoleteConstantLayerSequence; // 0x168c + HSequence m_hObsoleteConstantLayerSequence; // 0x16f4 }; // Alignment: 53 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_BaseNPC_Hero : public C_DOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad1688[0x8]; // 0x1688 + [[maybe_unused]] uint8_t __pad16f0[0x8]; // 0x16f0 public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentXP; // 0x1690 + int32_t m_iCurrentXP; // 0x16f8 // MNetworkEnable // MNetworkChangeCallback "OnAbilityPointsChanged" - int32_t m_iAbilityPoints; // 0x1694 + int32_t m_iAbilityPoints; // 0x16fc // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1698 + GameTime_t m_flRespawnTime; // 0x1700 // MNetworkEnable - float m_flRespawnTimePenalty; // 0x169c + float m_flRespawnTimePenalty; // 0x1704 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flStrength; // 0x16a0 + float m_flStrength; // 0x1708 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flAgility; // 0x16a4 + float m_flAgility; // 0x170c // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flIntellect; // 0x16a8 + float m_flIntellect; // 0x1710 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flStrengthTotal; // 0x16ac + float m_flStrengthTotal; // 0x1714 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flAgilityTotal; // 0x16b0 + float m_flAgilityTotal; // 0x1718 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" - float m_flIntellectTotal; // 0x16b4 + float m_flIntellectTotal; // 0x171c // MNetworkEnable - GameTime_t m_flDeathTime; // 0x16b8 + GameTime_t m_flDeathTime; // 0x1720 // MNetworkEnable - int32_t m_iRecentDamage; // 0x16bc - float m_fPainFactor; // 0x16c0 - float m_fTargetPainFactor; // 0x16c4 - bool m_bLifeState; // 0x16c8 + int32_t m_iRecentDamage; // 0x1724 + float m_fPainFactor; // 0x1728 + float m_fTargetPainFactor; // 0x172c + bool m_bLifeState; // 0x1730 private: - [[maybe_unused]] uint8_t __pad16c9[0x3]; // 0x16c9 + [[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731 public: - ParticleIndex_t m_nFXStunIndex; // 0x16cc - ParticleIndex_t m_nFXSilenceIndex; // 0x16d0 - ParticleIndex_t m_nFXDeathIndex; // 0x16d4 + ParticleIndex_t m_nFXStunIndex; // 0x1734 + ParticleIndex_t m_nFXSilenceIndex; // 0x1738 + ParticleIndex_t m_nFXDeathIndex; // 0x173c private: - [[maybe_unused]] uint8_t __pad16d8[0x20]; // 0x16d8 + [[maybe_unused]] uint8_t __pad1740[0x20]; // 0x1740 public: // MNetworkEnable - PlayerID_t m_iPlayerID; // 0x16f8 + PlayerID_t m_iPlayerID; // 0x1760 // MNetworkEnable - CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x16fc + CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x1764 // MNetworkEnable - bool m_bReincarnating; // 0x1700 + bool m_bReincarnating; // 0x1768 // MNetworkEnable - bool m_bCustomKillEffect; // 0x1701 + bool m_bCustomKillEffect; // 0x1769 private: - [[maybe_unused]] uint8_t __pad1702[0x2]; // 0x1702 + [[maybe_unused]] uint8_t __pad176a[0x2]; // 0x176a public: // MNetworkEnable - GameTime_t m_flSpawnedAt; // 0x1704 + GameTime_t m_flSpawnedAt; // 0x176c // MNetworkEnable - bool m_bScriptDisableRespawns; // 0x1708 + bool m_bScriptDisableRespawns; // 0x1770 private: - [[maybe_unused]] uint8_t __pad1709[0x3]; // 0x1709 + [[maybe_unused]] uint8_t __pad1771[0x3]; // 0x1771 public: // MNetworkEnable - int32_t m_iPrimaryAttribute; // 0x170c - int32_t m_nLastDrawnHealth; // 0x1710 - float m_flHurtAmount; // 0x1714 - GameTime_t m_flLastHurtTime; // 0x1718 - float m_flHurtDecayRate; // 0x171c - GameTime_t m_flLastHealTime; // 0x1720 - GameTime_t m_flLastTreeShakeTime; // 0x1724 - CountdownTimer m_CenterOnHeroCooldownTimer; // 0x1728 + int32_t m_iPrimaryAttribute; // 0x1774 + int32_t m_nLastDrawnHealth; // 0x1778 + float m_flHurtAmount; // 0x177c + GameTime_t m_flLastHurtTime; // 0x1780 + float m_flHurtDecayRate; // 0x1784 + GameTime_t m_flLastHealTime; // 0x1788 + GameTime_t m_flLastTreeShakeTime; // 0x178c + CountdownTimer m_CenterOnHeroCooldownTimer; // 0x1790 private: - [[maybe_unused]] uint8_t __pad1740[0x208]; // 0x1740 + [[maybe_unused]] uint8_t __pad17a8[0x208]; // 0x17a8 public: - CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x1948 - int32_t m_nCurrentCombinedModelIndex; // 0x1968 - int32_t m_nPendingCombinedModelIndex; // 0x196c - int32_t m_iHeroID; // 0x1970 - float m_flCheckLegacyItemsAt; // 0x1974 - bool m_bDisplayAdditionalHeroes; // 0x1978 + CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x19b0 + int32_t m_nCurrentCombinedModelIndex; // 0x19d0 + int32_t m_nPendingCombinedModelIndex; // 0x19d4 + int32_t m_iHeroID; // 0x19d8 + float m_flCheckLegacyItemsAt; // 0x19dc + bool m_bDisplayAdditionalHeroes; // 0x19e0 private: - [[maybe_unused]] uint8_t __pad1979[0xf]; // 0x1979 + [[maybe_unused]] uint8_t __pad19e1[0xf]; // 0x19e1 public: - CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x1988 - CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x19a8 - CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x19c0 - ParticleIndex_t m_nKillStreakFX; // 0x19d8 - int32_t m_nKillStreakFXTier; // 0x19dc + CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x19f0 + CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x1a10 + CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x1a28 + ParticleIndex_t m_nKillStreakFX; // 0x1a40 + int32_t m_nKillStreakFXTier; // 0x1a44 struct { uint8_t m_bBuybackDisabled: 1; @@ -74955,16 +76768,16 @@ public: }; // Alignment: 1 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Creep : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable - float m_flAim; // 0x1688 + float m_flAim; // 0x16f0 }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Creep_Lane : public C_DOTA_BaseNPC_Creep { public: @@ -74972,7 +76785,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Creep_Siege : public C_DOTA_BaseNPC_Creep_Lane { public: @@ -74980,15 +76793,15 @@ public: }; // Alignment: 1 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_Creep_Neutral : public C_DOTA_BaseNPC_Creep { public: - CUtlString m_sDisplayName; // 0x1690 + CUtlString m_sDisplayName; // 0x16f8 }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Creep_Talking : public C_DOTA_BaseNPC_Creep { public: @@ -74996,37 +76809,37 @@ public: }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_Creature : public C_DOTA_BaseNPC_Creep { public: // MNetworkEnable - bool m_bIsCurrentlyChanneling; // 0x1690 + bool m_bIsCurrentlyChanneling; // 0x16f8 private: - [[maybe_unused]] uint8_t __pad1691[0x3]; // 0x1691 + [[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9 public: // MNetworkEnable - float m_flChannelCycle; // 0x1694 + float m_flChannelCycle; // 0x16fc }; // Alignment: 4 -// Size: 0x1738 +// Size: 0x17a0 class C_DOTA_BaseNPC_NeutralItemStash : public C_DOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad16f0[0x10]; // 0x16f0 + [[maybe_unused]] uint8_t __pad1758[0x10]; // 0x1758 public: - CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x1700 - bool m_bHasFoundProps; // 0x1718 - bool m_bDidHaveNewItems; // 0x1719 + CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x1768 + bool m_bHasFoundProps; // 0x1780 + bool m_bDidHaveNewItems; // 0x1781 private: - [[maybe_unused]] uint8_t __pad171a[0x6]; // 0x171a + [[maybe_unused]] uint8_t __pad1782[0x6]; // 0x1782 public: - CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x1720 + CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x1788 }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_Trap_Ward : public C_DOTA_BaseNPC_Creature { public: @@ -75034,30 +76847,30 @@ public: }; // Alignment: 4 -// Size: 0x1730 +// Size: 0x1798 class C_DOTA_BaseNPC_Shop : public C_DOTA_BaseNPC_Building { public: // MNetworkEnable - DOTA_SHOP_TYPE m_ShopType; // 0x16f0 + DOTA_SHOP_TYPE m_ShopType; // 0x1758 private: - [[maybe_unused]] uint8_t __pad16f4[0x24]; // 0x16f4 + [[maybe_unused]] uint8_t __pad175c[0x24]; // 0x175c public: - ParticleIndex_t m_nShopFX; // 0x1718 - Vector m_vShopFXOrigin; // 0x171c - float m_flLastSpeech; // 0x1728 + ParticleIndex_t m_nShopFX; // 0x1780 + Vector m_vShopFXOrigin; // 0x1784 + float m_flLastSpeech; // 0x1790 }; // Alignment: 1 -// Size: 0x16f8 +// Size: 0x1760 class C_DOTA_BaseNPC_HallofFame : public C_DOTA_BaseNPC_Building { public: - int32_t m_HallofFame; // 0x16f0 + int32_t m_HallofFame; // 0x1758 }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_BaseNPC_Promo : public C_DOTA_BaseNPC_Building { public: @@ -75065,56 +76878,56 @@ public: }; // Alignment: 3 -// Size: 0x16d0 +// Size: 0x1738 class C_PortraitHero : public C_DOTA_BaseNPC { public: - int32_t m_nHeroID; // 0x1688 - int32_t m_actQueuedActivity; // 0x168c - char m_szQueuedActivityModifier[64]; // 0x1690 + int32_t m_nHeroID; // 0x16f0 + int32_t m_actQueuedActivity; // 0x16f4 + char m_szQueuedActivityModifier[64]; // 0x16f8 }; // Alignment: 17 -// Size: 0x18a8 +// Size: 0x1950 class C_PortraitWorldUnit : public C_DOTA_BaseNPC { public: - bool m_bSuppressIntroEffects; // 0x1688 - bool m_bIsAlternateLoadout; // 0x1689 - bool m_bSpawnBackgroundModels; // 0x168a - bool m_bDeferredPortrait; // 0x168b - bool m_bShowParticleAssetModifiers; // 0x168c - bool m_bIgnorePortraitInfo; // 0x168d - bool m_bFlyingCourier; // 0x168e + bool m_bSuppressIntroEffects; // 0x16f0 + bool m_bIsAlternateLoadout; // 0x16f1 + bool m_bSpawnBackgroundModels; // 0x16f2 + bool m_bDeferredPortrait; // 0x16f3 + bool m_bShowParticleAssetModifiers; // 0x16f4 + bool m_bIgnorePortraitInfo; // 0x16f5 + bool m_bFlyingCourier; // 0x16f6 private: - [[maybe_unused]] uint8_t __pad168f[0x1]; // 0x168f + [[maybe_unused]] uint8_t __pad16f7[0x1]; // 0x16f7 public: - int32_t m_nEffigyStatusEffect; // 0x1690 + int32_t m_nEffigyStatusEffect; // 0x16f8 private: - [[maybe_unused]] uint8_t __pad1694[0x4]; // 0x1694 + [[maybe_unused]] uint8_t __pad16fc[0x4]; // 0x16fc public: - CUtlSymbolLarge m_effigySequenceName; // 0x1698 - float m_flStartingAnimationCycle; // 0x16a0 - float m_flRareLoadoutAnimChance; // 0x16a4 - CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x16a8 - DOTAPortraitEnvironmentType_t m_environment; // 0x16c0 + CUtlSymbolLarge m_effigySequenceName; // 0x1700 + float m_flStartingAnimationCycle; // 0x1708 + float m_flRareLoadoutAnimChance; // 0x170c + CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x1710 + DOTAPortraitEnvironmentType_t m_environment; // 0x1728 private: - [[maybe_unused]] uint8_t __pad16c4[0x4]; // 0x16c4 + [[maybe_unused]] uint8_t __pad172c[0x4]; // 0x172c public: - StartupBehavior_t m_nStartupBehavior; // 0x16c8 + StartupBehavior_t m_nStartupBehavior; // 0x1730 private: - [[maybe_unused]] uint8_t __pad16cc[0x17c]; // 0x16cc + [[maybe_unused]] uint8_t __pad1734[0x1bc]; // 0x1734 public: - CUtlSymbolLarge m_cameraName; // 0x1848 + CUtlSymbolLarge m_cameraName; // 0x18f0 private: - [[maybe_unused]] uint8_t __pad1850[0x50]; // 0x1850 + [[maybe_unused]] uint8_t __pad18f8[0x50]; // 0x18f8 public: - ParticleIndex_t m_nPortraitParticle; // 0x18a0 - int32_t m_nCourierType; // 0x18a4 + ParticleIndex_t m_nPortraitParticle; // 0x1948 + int32_t m_nCourierType; // 0x194c }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC_Seasonal_Snowman : public C_DOTA_BaseNPC_Additive { public: @@ -75122,7 +76935,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_Penguin : public C_DOTA_BaseNPC_Additive { public: @@ -75130,7 +76943,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_Dragon : public C_DOTA_BaseNPC_Additive { public: @@ -75138,7 +76951,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -75146,7 +76959,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -75154,7 +76967,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI9_Drums : public C_DOTA_BaseNPC_Additive { public: @@ -75162,7 +76975,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public C_DOTA_BaseNPC_Additive { public: @@ -75170,7 +76983,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC_Frostivus2018_Snowman : public C_DOTA_BaseNPC_Additive { public: @@ -75178,7 +76991,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: @@ -75186,7 +76999,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -75194,19 +77007,19 @@ public: }; // Alignment: 5 -// Size: 0x1708 +// Size: 0x1770 class C_DOTA_Unit_Diretide_Portal : public C_DOTA_BaseNPC_Building { public: - CHandle< C_BaseEntity > m_hPartnerPortal; // 0x16f0 - int32_t m_nRuneType; // 0x16f4 - int32_t m_nOriginalTeamNumber; // 0x16f8 - ParticleIndex_t m_nActiveFXIndex; // 0x16fc - ParticleIndex_t m_nRuneFXIndex; // 0x1700 + CHandle< C_BaseEntity > m_hPartnerPortal; // 0x1758 + int32_t m_nRuneType; // 0x175c + int32_t m_nOriginalTeamNumber; // 0x1760 + ParticleIndex_t m_nActiveFXIndex; // 0x1764 + ParticleIndex_t m_nRuneFXIndex; // 0x1768 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Spring2021_DefusalBomb : public C_DOTA_BaseNPC_Additive { public: @@ -75214,7 +77027,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public C_DOTA_BaseNPC_Additive { public: @@ -75222,7 +77035,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public C_DOTA_BaseNPC_Additive { public: @@ -75230,7 +77043,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class CDOTA_BaseNPC_Winter2022_CandyBucket : public C_DOTA_BaseNPC_Building { public: @@ -75238,7 +77051,7 @@ public: }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public C_DOTA_BaseNPC_Creature { public: @@ -75246,7 +77059,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -75254,7 +77067,7 @@ public: }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class CDOTA_Unit_AghsFort_Creature_DragonKnight : public C_DOTA_BaseNPC_Creature { public: @@ -75262,23 +77075,23 @@ public: }; // Alignment: 1 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public C_DOTA_BaseNPC_Additive { public: - CHandle< C_BaseEntity > m_hOtherPortal; // 0x1688 + CHandle< C_BaseEntity > m_hOtherPortal; // 0x16f0 }; // Alignment: 1 -// Size: 0x16a0 +// Size: 0x1708 class C_DOTA_Unit_AghsFort_Creature_DungeonBat : public C_DOTA_BaseNPC_Creature { public: - ParticleIndex_t m_nFXAmbient; // 0x1698 + ParticleIndex_t m_nFXAmbient; // 0x1700 }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_AghsFort_Creature_Batrider : public C_DOTA_BaseNPC_Creature { public: @@ -75286,60 +77099,60 @@ public: }; // Alignment: 1 -// Size: 0x16f8 +// Size: 0x1760 class CDOTA_BaseNPC_Effigy_AghsFort : public C_DOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x16f0 + uint32_t m_unStatusEffectIndex; // 0x1758 }; // Alignment: 20 -// Size: 0x1768 +// Size: 0x17d0 class CDOTA_BaseNPC_AghsFort_Watch_Tower : public C_DOTA_BaseNPC_Building { public: - int32_t m_nOptionNumber; // 0x16f0 - float m_flMovePlayersRadius; // 0x16f4 - CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x16f8 - Vector m_vExitLocation; // 0x16fc - int32_t m_nPathSelectedID; // 0x1708 + int32_t m_nOptionNumber; // 0x1758 + float m_flMovePlayersRadius; // 0x175c + CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1760 + Vector m_vExitLocation; // 0x1764 + int32_t m_nPathSelectedID; // 0x1770 // MNetworkEnable - int32_t m_nEncounterType; // 0x170c + int32_t m_nEncounterType; // 0x1774 // MNetworkEnable - bool m_bIsEliteEncounter; // 0x1710 + bool m_bIsEliteEncounter; // 0x1778 // MNetworkEnable - bool m_bIsAscensionLevelPicker; // 0x1711 + bool m_bIsAscensionLevelPicker; // 0x1779 private: - [[maybe_unused]] uint8_t __pad1712[0x6]; // 0x1712 + [[maybe_unused]] uint8_t __pad177a[0x6]; // 0x177a public: // MNetworkEnable - CUtlSymbolLarge m_strEncounterName; // 0x1718 + CUtlSymbolLarge m_strEncounterName; // 0x1780 // MNetworkEnable - CUtlSymbolLarge m_strAscensionAbilities; // 0x1720 + CUtlSymbolLarge m_strAscensionAbilities; // 0x1788 // MNetworkEnable - CHandle< C_BaseEntity > m_hEffigy; // 0x1728 - float m_flYaw; // 0x172c - float m_flStartTime; // 0x1730 - GameTime_t m_flCursorEnterTime; // 0x1734 - bool m_bShowingTooltip; // 0x1738 + CHandle< C_BaseEntity > m_hEffigy; // 0x1790 + float m_flYaw; // 0x1794 + float m_flStartTime; // 0x1798 + GameTime_t m_flCursorEnterTime; // 0x179c + bool m_bShowingTooltip; // 0x17a0 private: - [[maybe_unused]] uint8_t __pad1739[0x1b]; // 0x1739 + [[maybe_unused]] uint8_t __pad17a1[0x1b]; // 0x17a1 public: - float m_flLastUpdateTime; // 0x1754 - ParticleIndex_t m_nChannellingParticle; // 0x1758 + float m_flLastUpdateTime; // 0x17bc + ParticleIndex_t m_nChannellingParticle; // 0x17c0 // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x175c + CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x17c4 // MNetworkEnable - bool m_bIsBeingChanneled; // 0x1760 + bool m_bIsBeingChanneled; // 0x17c8 private: - [[maybe_unused]] uint8_t __pad1761[0x3]; // 0x1761 + [[maybe_unused]] uint8_t __pad17c9[0x3]; // 0x17c9 public: // MNetworkEnable - float m_flGoalCaptureProgress; // 0x1764 + float m_flGoalCaptureProgress; // 0x17cc }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_CustomGameAnnouncerAghanim : public C_DOTA_BaseNPC { public: @@ -75347,7 +77160,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public C_DOTA_BaseNPC_Additive { public: @@ -75358,7 +77171,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public C_DOTA_BaseNPC_Additive { public: @@ -75366,7 +77179,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public C_DOTA_BaseNPC_Additive { public: @@ -75374,7 +77187,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon { public: @@ -75382,7 +77195,7 @@ public: }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class CInfoOfrendaStatue : public C_DOTA_BaseNPC_Building { public: @@ -75390,41 +77203,49 @@ public: }; // Alignment: 7 -// Size: 0x16b0 +// Size: 0x1718 class CDOTA_Creature_Jungle_Spirit : public C_DOTA_BaseNPC_Creature { public: - int32_t m_iCurrentXP; // 0x1698 - float m_fInitialScaleGain; // 0x169c - float m_fScaleGainMultiplierPerLevel; // 0x16a0 - float m_fLastModelScaleGained; // 0x16a4 - bool m_bGainedSecondPlatemail; // 0x16a8 - bool m_bGainedBonusHealth; // 0x16a9 + int32_t m_iCurrentXP; // 0x1700 + float m_fInitialScaleGain; // 0x1704 + float m_fScaleGainMultiplierPerLevel; // 0x1708 + float m_fLastModelScaleGained; // 0x170c + bool m_bGainedSecondPlatemail; // 0x1710 + bool m_bGainedBonusHealth; // 0x1711 private: - [[maybe_unused]] uint8_t __pad16aa[0x2]; // 0x16aa + [[maybe_unused]] uint8_t __pad1712[0x2]; // 0x1712 public: - ParticleIndex_t m_nAmbientFXIndex; // 0x16ac + ParticleIndex_t m_nAmbientFXIndex; // 0x1714 }; // Alignment: 2 -// Size: 0x16f8 +// Size: 0x1760 class CDOTA_BaseNPC_CustomEffigy : public C_DOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x16f0 - CHandle< C_BaseEntity > m_hPedestal; // 0x16f4 + uint32_t m_unStatusEffectIndex; // 0x1758 + CHandle< C_BaseEntity > m_hPedestal; // 0x175c }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_BaseNPC_JungleVarmint : public C_DOTA_BaseNPC_Additive { public: // No members available }; +// Alignment: 1 +// Size: 0x1760 +class C_DOTA_Unit_Twin_Gate : public C_DOTA_BaseNPC_Building +{ +public: + CHandle< C_BaseEntity > m_hOtherPortal; // 0x1758 +}; + // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public C_DOTA_BaseNPC_Additive { public: @@ -75432,7 +77253,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_DataDriven : public C_DOTA_BaseNPC_Additive { public: @@ -75440,7 +77261,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public C_DOTA_BaseNPC { public: @@ -75448,19 +77269,19 @@ public: }; // Alignment: 3 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_NPC_Aghsfort_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXSkullIndex; // 0x1688 + ParticleIndex_t m_nFXSkullIndex; // 0x16f0 // MNetworkEnable - int32_t m_nTargetType; // 0x168c + int32_t m_nTargetType; // 0x16f4 // MNetworkEnable - int32_t m_nTargetFlags; // 0x1690 + int32_t m_nTargetFlags; // 0x16f8 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_AghsFort_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -75468,16 +77289,16 @@ public: }; // Alignment: 2 -// Size: 0x16b0 +// Size: 0x1718 class C_DOTA_AghsFort_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1690 - C_DOTA_BaseNPC* m_pTombstone; // 0x16a8 + CountdownTimer m_ctRespawn; // 0x16f8 + C_DOTA_BaseNPC* m_pTombstone; // 0x1710 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_AghsFort_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: @@ -75485,7 +77306,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_AghsFort_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: @@ -75493,7 +77314,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_AghsFort_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: @@ -75501,17 +77322,17 @@ public: }; // Alignment: 3 -// Size: 0x19f8 +// Size: 0x1a60 class CDOTA_AghsFort_Unit_ArcWarden_Boss : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x19e8 - ParticleIndex_t m_nFXDeath; // 0x19ec - ParticleIndex_t m_nTempestFX; // 0x19f0 + ParticleIndex_t m_nTalkFXIndex; // 0x1a50 + ParticleIndex_t m_nFXDeath; // 0x1a54 + ParticleIndex_t m_nTempestFX; // 0x1a58 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public C_DOTA_BaseNPC_Hero { public: @@ -75519,7 +77340,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_AghsFort_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: @@ -75527,7 +77348,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public C_DOTA_BaseNPC { public: @@ -75535,7 +77356,7 @@ public: }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public C_DOTA_BaseNPC_Creature { public: @@ -75543,7 +77364,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_AncientApparition : public C_DOTA_BaseNPC_Hero { public: @@ -75551,7 +77372,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_AntiMage : public C_DOTA_BaseNPC_Hero { public: @@ -75559,7 +77380,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Bane : public C_DOTA_BaseNPC_Hero { public: @@ -75567,7 +77388,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Pudge : public C_DOTA_BaseNPC_Hero { public: @@ -75575,23 +77396,23 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Juggernaut : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unOmniKills; // 0x19e8 + uint32_t m_unOmniKills; // 0x1a50 }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Nevermore : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_SandKing : public C_DOTA_BaseNPC_Hero { public: @@ -75599,7 +77420,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Mirana : public C_DOTA_BaseNPC_Hero { public: @@ -75607,7 +77428,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Sven : public C_DOTA_BaseNPC_Hero { public: @@ -75615,21 +77436,21 @@ public: }; // Alignment: 3 -// Size: 0x1a18 +// Size: 0x1a80 class C_DOTA_Unit_Hero_SkeletonKing : public C_DOTA_BaseNPC_Hero { public: - int32_t m_nSkeletonWarriors; // 0x19e8 + int32_t m_nSkeletonWarriors; // 0x1a50 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInitialHeroKillBitmask[5]; // 0x19ec + int32_t m_vecInitialHeroKillBitmask[5]; // 0x1a54 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInGameHeroKillBitmask[5]; // 0x1a00 + int32_t m_vecInGameHeroKillBitmask[5]; // 0x1a68 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_StormSpirit : public C_DOTA_BaseNPC_Hero { public: @@ -75637,7 +77458,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_DrowRanger : public C_DOTA_BaseNPC_Hero { public: @@ -75645,32 +77466,32 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Earthshaker : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_VengefulSpirit : public C_DOTA_BaseNPC_Hero { public: - bool m_bArcanaEquipped; // 0x19e8 + bool m_bArcanaEquipped; // 0x1a50 }; // Alignment: 2 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_CrystalMaiden : public C_DOTA_BaseNPC_Hero { public: - int32_t m_iParticleMouthIndex; // 0x19e8 - int32_t m_iParticleHandRIndex; // 0x19ec + int32_t m_iParticleMouthIndex; // 0x1a50 + int32_t m_iParticleHandRIndex; // 0x1a54 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Axe : public C_DOTA_BaseNPC_Hero { public: @@ -75678,7 +77499,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Bloodseeker : public C_DOTA_BaseNPC_Hero { public: @@ -75686,7 +77507,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_PhantomLancer : public C_DOTA_BaseNPC_Hero { public: @@ -75694,22 +77515,22 @@ public: }; // Alignment: 4 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_Razor : public C_DOTA_BaseNPC_Hero { public: - int32_t m_iPoseParameterAim; // 0x19e8 - int32_t m_iPoseParameterRange; // 0x19ec + int32_t m_iPoseParameterAim; // 0x1a50 + int32_t m_iPoseParameterRange; // 0x1a54 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x19f0 + int32_t m_nTargetAngle; // 0x1a58 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetRange; // 0x19f4 + int32_t m_nTargetRange; // 0x1a5c }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Lina : public C_DOTA_BaseNPC_Hero { public: @@ -75717,7 +77538,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Morphling : public C_DOTA_BaseNPC_Hero { public: @@ -75725,7 +77546,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Unit_ZeusCloud : public C_DOTA_BaseNPC_Additive { public: @@ -75733,7 +77554,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Zuus : public C_DOTA_BaseNPC_Hero { public: @@ -75741,28 +77562,28 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Kunkka : public C_DOTA_BaseNPC_Hero { public: - int32_t m_nFXIndex; // 0x19e8 + int32_t m_nFXIndex; // 0x1a50 }; // Alignment: 4 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_Tiny : public C_DOTA_BaseNPC_Hero { public: - CHandle< C_BaseEntity > m_hTreeWearable; // 0x19e8 - ParticleIndex_t m_nFXIndexScepterAmbient; // 0x19ec + CHandle< C_BaseEntity > m_hTreeWearable; // 0x1a50 + ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1a54 // MNetworkEnable - CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x19f0 + CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x1a58 // MNetworkEnable - bool m_bIllusionHasTree; // 0x19f4 + bool m_bIllusionHasTree; // 0x1a5c }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Puck : public C_DOTA_BaseNPC_Hero { public: @@ -75770,19 +77591,19 @@ public: }; // Alignment: 3 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_Windrunner : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x19e8 - int32_t m_iPoseParameterAim; // 0x19ec - ParticleIndex_t m_nFXDeath; // 0x19f0 + int32_t m_nTargetAngle; // 0x1a50 + int32_t m_iPoseParameterAim; // 0x1a54 + ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Lich : public C_DOTA_BaseNPC_Hero { public: @@ -75790,7 +77611,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: @@ -75798,7 +77619,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Tidehunter : public C_DOTA_BaseNPC_Hero { public: @@ -75806,16 +77627,16 @@ public: }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1688 - int32_t m_iPoseParameterAim; // 0x1694 + QAngle m_angle; // 0x16f0 + int32_t m_iPoseParameterAim; // 0x16fc }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_ShadowShaman : public C_DOTA_BaseNPC_Hero { public: @@ -75823,7 +77644,7 @@ public: }; // Alignment: 0 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Riki : public C_DOTA_BaseNPC_Hero { public: @@ -75831,7 +77652,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Enigma : public C_DOTA_BaseNPC_Hero { public: @@ -75839,7 +77660,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Tinker : public C_DOTA_BaseNPC_Hero { public: @@ -75847,7 +77668,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_WitchDoctor : public C_DOTA_BaseNPC_Hero { public: @@ -75855,19 +77676,19 @@ public: }; // Alignment: 3 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_NPC_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXSkullIndex; // 0x1688 + ParticleIndex_t m_nFXSkullIndex; // 0x16f0 // MNetworkEnable - int32_t m_nTargetType; // 0x168c + int32_t m_nTargetType; // 0x16f4 // MNetworkEnable - int32_t m_nTargetFlags; // 0x1690 + int32_t m_nTargetFlags; // 0x16f8 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Sniper : public C_DOTA_BaseNPC_Hero { public: @@ -75875,7 +77696,7 @@ public: }; // Alignment: 0 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Necrolyte : public C_DOTA_BaseNPC_Hero { public: @@ -75883,7 +77704,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Slardar : public C_DOTA_BaseNPC_Hero { public: @@ -75891,7 +77712,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Ursa : public C_DOTA_BaseNPC_Hero { public: @@ -75899,23 +77720,23 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Lion : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unFingerPrestigeKills; // 0x19e8 + uint32_t m_unFingerPrestigeKills; // 0x1a50 }; // Alignment: 1 -// Size: 0x16b8 +// Size: 0x1720 class CDOTA_Unit_Announcer : public C_DOTA_BaseNPC { public: - CAnnouncerDescriptor m_currentAnnouncer; // 0x1688 + CAnnouncerDescriptor m_currentAnnouncer; // 0x16f0 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_CustomGameAnnouncer : public C_DOTA_BaseNPC { public: @@ -75923,52 +77744,82 @@ public: }; // Alignment: 7 -// Size: 0x1780 +// Size: 0x17e8 class C_DOTA_Unit_Courier : public C_DOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x1688 - bool m_bPreUpdateFlyingCourier; // 0x1689 + bool m_bUnitRespawned; // 0x16f0 + bool m_bPreUpdateFlyingCourier; // 0x16f1 private: - [[maybe_unused]] uint8_t __pad168a[0x2]; // 0x168a + [[maybe_unused]] uint8_t __pad16f2[0x2]; // 0x16f2 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x168c + PlayerID_t m_nSoleControllingPlayer; // 0x16f4 // MNetworkEnable - bool m_bFlyingCourier; // 0x1690 + bool m_bFlyingCourier; // 0x16f8 private: - [[maybe_unused]] uint8_t __pad1691[0x3]; // 0x1691 + [[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9 public: // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1694 + GameTime_t m_flRespawnTime; // 0x16fc // MNetworkEnable - CourierState_t m_nCourierState; // 0x1698 + CourierState_t m_nCourierState; // 0x1700 // MNetworkEnable - CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x169c + CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x1704 +}; + +// Alignment: 5 +// Size: 0x17e8 +class C_DOTA_Unit_Scout : public C_DOTA_BaseNPC_Additive +{ +public: + bool m_bUnitRespawned; // 0x16f0 +private: + [[maybe_unused]] uint8_t __pad16f1[0x3]; // 0x16f1 +public: + // MNetworkEnable + PlayerID_t m_nSoleControllingPlayer; // 0x16f4 + // MNetworkEnable + GameTime_t m_flRespawnTime; // 0x16f8 + // MNetworkEnable + ScoutState_t m_nScoutState; // 0x16fc + // MNetworkEnable + CHandle< C_BaseEntity > m_hScoutStateEntity; // 0x1700 }; // Alignment: 0 -// Size: 0x16f0 +// Size: 0x1758 class C_DOTA_Unit_Fountain : public C_DOTA_BaseNPC_Building { public: // No members available }; -// Alignment: 4 -// Size: 0x16b0 +// Alignment: 5 +// Size: 0x1718 class C_DOTA_Unit_Roshan : public C_DOTA_BaseNPC_Additive { public: - int32_t m_iLastHealthPercent; // 0x1688 - ParticleIndex_t m_nFXIndex; // 0x168c - CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1690 + int32_t m_iLastHealthPercent; // 0x16f0 + ParticleIndex_t m_nFXIndex; // 0x16f4 + CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x16f8 // MNetworkEnable - bool m_bGoldenRoshan; // 0x16a8 + bool m_bGoldenRoshan; // 0x1710 + bool m_bIsNightTimeMode; // 0x1711 +}; + +// Alignment: 3 +// Size: 0x1710 +class C_DOTA_Unit_Miniboss : public C_DOTA_BaseNPC_Additive +{ +public: + int32_t m_nTimesSpawned; // 0x16f0 + int32_t m_nTempViewer; // 0x16f4 + CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x16f8 }; // Alignment: 0 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Nian : public C_DOTA_BaseNPC_Creature { public: @@ -75976,7 +77827,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Warlock_Golem : public C_DOTA_BaseNPC_Creep { public: @@ -75984,7 +77835,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Warlock : public C_DOTA_BaseNPC_Hero { public: @@ -75992,7 +77843,15 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x16f8 +class CODTA_Unit_Warlock_Imp : public C_DOTA_BaseNPC_Creep +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Beastmaster : public C_DOTA_BaseNPC_Hero { public: @@ -76000,7 +77859,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_Hero_Beastmaster_Beasts : public C_DOTA_BaseNPC_Creep_Talking { public: @@ -76008,7 +77867,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_Hero_Beastmaster_Hawk : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -76016,7 +77875,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_Hero_Beastmaster_Boar : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -76024,7 +77883,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_QueenOfPain : public C_DOTA_BaseNPC_Hero { public: @@ -76032,16 +77891,16 @@ public: }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_Venomancer_PlagueWard : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1688 - int32_t m_iPoseParameterAim; // 0x1694 + QAngle m_angle; // 0x16f0 + int32_t m_iPoseParameterAim; // 0x16fc }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Venomancer : public C_DOTA_BaseNPC_Hero { public: @@ -76049,7 +77908,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_FacelessVoid : public C_DOTA_BaseNPC_Hero { public: @@ -76057,7 +77916,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_DeathProphet : public C_DOTA_BaseNPC_Hero { public: @@ -76065,7 +77924,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Pugna : public C_DOTA_BaseNPC_Hero { public: @@ -76073,36 +77932,36 @@ public: }; // Alignment: 2 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_PhantomAssassin : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 // MNetworkEnable - uint32_t m_nArcanaLevel; // 0x19ec + uint32_t m_nArcanaLevel; // 0x1a54 }; // Alignment: 1 -// Size: 0x1690 +// Size: 0x16f8 class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1688 + ParticleIndex_t m_nFXIndex; // 0x16f0 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 -// Size: 0x1730 +// Size: 0x1798 class C_DOTA_PhantomAssassin_Gravestone : public C_DOTA_BaseNPC_Additive { public: - PlayerID_t m_nVictimPlayerID; // 0x1688 + PlayerID_t m_nVictimPlayerID; // 0x16f0 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_TemplarAssassin : public C_DOTA_BaseNPC_Hero { public: @@ -76110,7 +77969,15 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x16f0 +class C_DOTA_Unit_TemplarAssassin_PsionicTrap : public C_DOTA_BaseNPC +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Viper : public C_DOTA_BaseNPC_Hero { public: @@ -76118,37 +77985,37 @@ public: }; // Alignment: 5 -// Size: 0x1a00 +// Size: 0x1a68 class C_DOTA_Unit_TargetDummy : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - float m_flDamageTaken; // 0x19e8 + float m_flDamageTaken; // 0x1a50 // MNetworkEnable - float m_flLastHit; // 0x19ec + float m_flLastHit; // 0x1a54 // MNetworkEnable - GameTime_t m_flStartDamageTime; // 0x19f0 + GameTime_t m_flStartDamageTime; // 0x1a58 // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0x19f4 - bool m_bIsMoving; // 0x19f8 + GameTime_t m_flLastDamageTime; // 0x1a5c + bool m_bIsMoving; // 0x1a60 }; // Alignment: 3 -// Size: 0x1798 +// Size: 0x1800 class C_DOTA_Unit_LoopingSound : public C_DOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad1688[0x8]; // 0x1688 + [[maybe_unused]] uint8_t __pad16f0[0x8]; // 0x16f0 public: - int32_t m_nPrevLoopingSoundParity; // 0x1690 + int32_t m_nPrevLoopingSoundParity; // 0x16f8 // MNetworkEnable - char m_pszNetworkedSoundLoop[256]; // 0x1694 + char m_pszNetworkedSoundLoop[256]; // 0x16fc // MNetworkEnable - int32_t m_nLoopingSoundParity; // 0x1794 + int32_t m_nLoopingSoundParity; // 0x17fc }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Luna : public C_DOTA_BaseNPC_Hero { public: @@ -76156,7 +78023,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_DragonKnight : public C_DOTA_BaseNPC_Hero { public: @@ -76164,7 +78031,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Dazzle : public C_DOTA_BaseNPC_Hero { public: @@ -76172,7 +78039,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Leshrac : public C_DOTA_BaseNPC_Hero { public: @@ -76180,7 +78047,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Rattletrap : public C_DOTA_BaseNPC_Hero { public: @@ -76188,7 +78055,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Furion : public C_DOTA_BaseNPC_Hero { public: @@ -76196,7 +78063,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Life_Stealer : public C_DOTA_BaseNPC_Hero { public: @@ -76204,15 +78071,15 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_DarkSeer : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x19e8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1a50 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_BaseNPC_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: @@ -76220,7 +78087,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: @@ -76228,7 +78095,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Omniknight : public C_DOTA_BaseNPC_Hero { public: @@ -76236,7 +78103,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Enchantress : public C_DOTA_BaseNPC_Hero { public: @@ -76244,7 +78111,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Huskar : public C_DOTA_BaseNPC_Hero { public: @@ -76252,7 +78119,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_NightStalker : public C_DOTA_BaseNPC_Hero { public: @@ -76260,7 +78127,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Broodmother : public C_DOTA_BaseNPC_Hero { public: @@ -76268,7 +78135,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_Broodmother_Spiderling : public C_DOTA_BaseNPC_Creep_Talking { public: @@ -76276,16 +78143,16 @@ public: }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Broodmother_Web : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1688 - Vector m_vecOrigin; // 0x168c + ParticleIndex_t m_nFXIndex; // 0x16f0 + Vector m_vecOrigin; // 0x16f4 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_BroodmotherStickyWeb : public C_DOTA_BaseNPC_Additive { public: @@ -76293,7 +78160,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_BountyHunter : public C_DOTA_BaseNPC_Hero { public: @@ -76301,7 +78168,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Weaver : public C_DOTA_BaseNPC_Hero { public: @@ -76309,7 +78176,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Jakiro : public C_DOTA_BaseNPC_Hero { public: @@ -76317,7 +78184,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Batrider : public C_DOTA_BaseNPC_Hero { public: @@ -76325,7 +78192,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Chen : public C_DOTA_BaseNPC_Hero { public: @@ -76333,29 +78200,29 @@ public: }; // Alignment: 4 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_Spectre : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unCurrentArcanaKillStreak; // 0x19e8 + uint8_t m_unCurrentArcanaKillStreak; // 0x1a50 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unBestArcanaKillStreak; // 0x19e9 + uint8_t m_unBestArcanaKillStreak; // 0x1a51 private: - [[maybe_unused]] uint8_t __pad19ea[0x2]; // 0x19ea + [[maybe_unused]] uint8_t __pad1a52[0x2]; // 0x1a52 public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - PlayerID_t m_nVictimPlayerID; // 0x19ec + PlayerID_t m_nVictimPlayerID; // 0x1a54 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - bool m_bArcanaKillstreakRecordBroken; // 0x19f0 + bool m_bArcanaKillstreakRecordBroken; // 0x1a58 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_DoomBringer : public C_DOTA_BaseNPC_Hero { public: @@ -76363,7 +78230,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_SpiritBreaker : public C_DOTA_BaseNPC_Hero { public: @@ -76371,7 +78238,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Gyrocopter : public C_DOTA_BaseNPC_Hero { public: @@ -76379,7 +78246,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Alchemist : public C_DOTA_BaseNPC_Hero { public: @@ -76387,7 +78254,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Invoker : public C_DOTA_BaseNPC_Hero { public: @@ -76395,7 +78262,7 @@ public: }; // Alignment: 0 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_BaseNPC_Invoker_Forged_Spirit : public C_DOTA_BaseNPC_Creep { public: @@ -76403,7 +78270,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Silencer : public C_DOTA_BaseNPC_Hero { public: @@ -76411,15 +78278,15 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Obsidian_Destroyer : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Brewmaster : public C_DOTA_BaseNPC_Hero { public: @@ -76427,41 +78294,41 @@ public: }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Brewmaster_PrimalEarth : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXEarthAmbient1; // 0x1690 - ParticleIndex_t m_nFXEarthAmbient2; // 0x1694 + ParticleIndex_t m_nFXEarthAmbient1; // 0x16f8 + ParticleIndex_t m_nFXEarthAmbient2; // 0x16fc }; // Alignment: 2 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Brewmaster_PrimalStorm : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXStormAmbient1; // 0x1690 - ParticleIndex_t m_nFXStormAmbient2; // 0x1694 + ParticleIndex_t m_nFXStormAmbient1; // 0x16f8 + ParticleIndex_t m_nFXStormAmbient2; // 0x16fc }; // Alignment: 1 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Brewmaster_PrimalFire : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1690 + ParticleIndex_t m_nFXAmbient; // 0x16f8 }; // Alignment: 1 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_Brewmaster_PrimalVoid : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1690 + ParticleIndex_t m_nFXAmbient; // 0x16f8 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Lycan : public C_DOTA_BaseNPC_Hero { public: @@ -76469,7 +78336,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Shadow_Demon : public C_DOTA_BaseNPC_Hero { public: @@ -76477,18 +78344,18 @@ public: }; // Alignment: 2 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_Unit_SpiritBear : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable - bool m_bShouldRespawn; // 0x1688 + bool m_bShouldRespawn; // 0x16f0 // MNetworkEnable - bool m_bStolen; // 0x1689 + bool m_bStolen; // 0x16f1 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_LoneDruid : public C_DOTA_BaseNPC_Hero { public: @@ -76496,7 +78363,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_ChaosKnight : public C_DOTA_BaseNPC_Hero { public: @@ -76504,16 +78371,16 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Meepo : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nWhichMeepo; // 0x19e8 + int32_t m_nWhichMeepo; // 0x1a50 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Treant : public C_DOTA_BaseNPC_Hero { public: @@ -76521,7 +78388,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_Treant_EyesInTheForest : public C_DOTA_BaseNPC_Additive { public: @@ -76529,7 +78396,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Ogre_Magi : public C_DOTA_BaseNPC_Hero { public: @@ -76537,7 +78404,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: @@ -76545,16 +78412,16 @@ public: }; // Alignment: 2 -// Size: 0x16b0 +// Size: 0x1718 class C_DOTA_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1690 - C_DOTA_BaseNPC* m_pTombstone; // 0x16a8 + CountdownTimer m_ctRespawn; // 0x16f8 + C_DOTA_BaseNPC* m_pTombstone; // 0x1710 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: @@ -76562,35 +78429,35 @@ public: }; // Alignment: 11 -// Size: 0x1a60 +// Size: 0x1ac8 class C_DOTA_Unit_Hero_Rubick : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV1; // 0x19e8 + Vector m_stolenAbilityColorHSV1; // 0x1a50 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV2; // 0x19f4 + Vector m_stolenAbilityColorHSV2; // 0x1a5c // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityFXColorHSV; // 0x1a00 + Vector m_stolenAbilityFXColorHSV; // 0x1a68 // MNetworkDisable - bool m_bHasInitializedAbilityColors; // 0x1a0c + bool m_bHasInitializedAbilityColors; // 0x1a74 private: - [[maybe_unused]] uint8_t __pad1a0d[0x3]; // 0x1a0d + [[maybe_unused]] uint8_t __pad1a75[0x3]; // 0x1a75 public: - Vector m_startAbilityColorHSV1; // 0x1a10 - Vector m_startAbilityColorHSV2; // 0x1a1c - Vector m_startAbilityFXColorHSV; // 0x1a28 - Vector m_currAbilityColorHSV1; // 0x1a34 - Vector m_currAbilityColorHSV2; // 0x1a40 - Vector m_currAbilityFXColorHSV; // 0x1a4c - GameTime_t m_flStartTime; // 0x1a58 + Vector m_startAbilityColorHSV1; // 0x1a78 + Vector m_startAbilityColorHSV2; // 0x1a84 + Vector m_startAbilityFXColorHSV; // 0x1a90 + Vector m_currAbilityColorHSV1; // 0x1a9c + Vector m_currAbilityColorHSV2; // 0x1aa8 + Vector m_currAbilityFXColorHSV; // 0x1ab4 + GameTime_t m_flStartTime; // 0x1ac0 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Disruptor : public C_DOTA_BaseNPC_Hero { public: @@ -76598,7 +78465,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Nyx_Assassin : public C_DOTA_BaseNPC_Hero { public: @@ -76606,7 +78473,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Naga_Siren : public C_DOTA_BaseNPC_Hero { public: @@ -76614,7 +78481,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Unit_IngisFatuus : public C_DOTA_BaseNPC_Additive { public: @@ -76622,7 +78489,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_KeeperOfTheLight : public C_DOTA_BaseNPC_Hero { public: @@ -76630,25 +78497,25 @@ public: }; // Alignment: 8 -// Size: 0x1a00 +// Size: 0x1a68 class C_DOTA_Unit_Hero_Wisp : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nAmbientFXIndex; // 0x19e8 - ParticleIndex_t m_nStunnedFXIndex; // 0x19ec - ParticleIndex_t m_nTalkFXIndex; // 0x19f0 - ParticleIndex_t m_nIllusionFXIndex; // 0x19f4 - bool m_bParticleHexed; // 0x19f8 - bool m_bParticleStunned; // 0x19f9 - bool m_bDetermineAmbientEffect; // 0x19fa + ParticleIndex_t m_nAmbientFXIndex; // 0x1a50 + ParticleIndex_t m_nStunnedFXIndex; // 0x1a54 + ParticleIndex_t m_nTalkFXIndex; // 0x1a58 + ParticleIndex_t m_nIllusionFXIndex; // 0x1a5c + bool m_bParticleHexed; // 0x1a60 + bool m_bParticleStunned; // 0x1a61 + bool m_bDetermineAmbientEffect; // 0x1a62 private: - [[maybe_unused]] uint8_t __pad19fb[0x1]; // 0x19fb + [[maybe_unused]] uint8_t __pad1a63[0x1]; // 0x1a63 public: - float m_flPrevHealth; // 0x19fc + float m_flPrevHealth; // 0x1a64 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Wisp_Spirit : public C_DOTA_BaseNPC { public: @@ -76656,7 +78523,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Visage : public C_DOTA_BaseNPC_Hero { public: @@ -76664,15 +78531,15 @@ public: }; // Alignment: 1 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_Unit_VisageFamiliar : public C_DOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1690 + ParticleIndex_t m_nFXAmbient; // 0x16f8 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Slark : public C_DOTA_BaseNPC_Hero { public: @@ -76680,7 +78547,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Medusa : public C_DOTA_BaseNPC_Hero { public: @@ -76688,7 +78555,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_TrollWarlord : public C_DOTA_BaseNPC_Hero { public: @@ -76696,7 +78563,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Centaur : public C_DOTA_BaseNPC_Hero { public: @@ -76704,7 +78571,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Magnataur : public C_DOTA_BaseNPC_Hero { public: @@ -76712,7 +78579,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Shredder : public C_DOTA_BaseNPC_Hero { public: @@ -76720,7 +78587,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Bristleback : public C_DOTA_BaseNPC_Hero { public: @@ -76728,7 +78595,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Tusk : public C_DOTA_BaseNPC_Hero { public: @@ -76736,15 +78603,15 @@ public: }; // Alignment: 1 -// Size: 0x1698 +// Size: 0x1700 class C_DOTA_BaseNPC_Tusk_Sigil : public C_DOTA_BaseNPC_Additive { public: - QAngle m_angInitialAngles; // 0x1688 + QAngle m_angInitialAngles; // 0x16f0 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Skywrath_Mage : public C_DOTA_BaseNPC_Hero { public: @@ -76752,7 +78619,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Abaddon : public C_DOTA_BaseNPC_Hero { public: @@ -76760,7 +78627,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_Elder_Titan_AncestralSpirit : public C_DOTA_BaseNPC_Additive { public: @@ -76768,7 +78635,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Elder_Titan : public C_DOTA_BaseNPC_Hero { public: @@ -76776,31 +78643,31 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Legion_Commander : public C_DOTA_BaseNPC_Hero { public: - uint32_t m_unDuelsWon; // 0x19e8 + uint32_t m_unDuelsWon; // 0x1a50 }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Techies : public C_DOTA_BaseNPC_Hero { public: - bool m_bLastDeathFromSuicide; // 0x19e8 + bool m_bLastDeathFromSuicide; // 0x1a50 }; // Alignment: 1 -// Size: 0x1690 +// Size: 0x16f8 class C_DOTA_NPC_TechiesMines : public C_DOTA_BaseNPC_Additive { public: - ParticleIndex_t m_iRangeFX; // 0x1688 + ParticleIndex_t m_iRangeFX; // 0x16f0 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_NPC_Techies_Minefield_Sign : public C_DOTA_BaseNPC_Additive { public: @@ -76808,7 +78675,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_EmberSpirit : public C_DOTA_BaseNPC_Hero { public: @@ -76816,53 +78683,53 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_Unit_Earth_Spirit_Stone : public C_DOTA_BaseNPC { public: // No members available }; -// Alignment: 1 -// Size: 0x19f0 +// Alignment: 0 +// Size: 0x1a50 class C_DOTA_Unit_Hero_EarthSpirit : public C_DOTA_BaseNPC_Hero { public: - bool m_bHasGainedShardCharges; // 0x19e8 + // No members available }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class CDOTA_Unit_Hero_AbyssalUnderlord : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_iRangeFX; // 0x19e8 + ParticleIndex_t m_iRangeFX; // 0x1a50 }; // Alignment: 1 -// Size: 0x1690 -class C_DOTA_Unit_Underlord_Portal : public C_DOTA_BaseNPC_Additive +// Size: 0x1760 +class C_DOTA_Unit_Underlord_Portal : public C_DOTA_BaseNPC_Building { public: - CHandle< C_BaseEntity > m_hOtherPortal; // 0x1688 + CHandle< C_BaseEntity > m_hOtherPortal; // 0x1758 }; // Alignment: 3 -// Size: 0x1a00 +// Size: 0x1a68 class C_DOTA_Unit_Hero_Terrorblade : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 private: - [[maybe_unused]] uint8_t __pad19ec[0x4]; // 0x19ec + [[maybe_unused]] uint8_t __pad1a54[0x4]; // 0x1a54 public: - CUtlString m_szResponseCriteria; // 0x19f0 + CUtlString m_szResponseCriteria; // 0x1a58 // MNetworkEnable - uint32_t m_nArcanaColor; // 0x19f8 + uint32_t m_nArcanaColor; // 0x1a60 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: @@ -76870,50 +78737,50 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Oracle : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class C_DOTA_Unit_Hero_Winter_Wyvern : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 3 -// Size: 0x19f8 +// Size: 0x1a60 class CDOTA_Unit_Hero_ArcWarden : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x19e8 - ParticleIndex_t m_nFXDeath; // 0x19ec - ParticleIndex_t m_nTempestFX; // 0x19f0 + ParticleIndex_t m_nTalkFXIndex; // 0x1a50 + ParticleIndex_t m_nFXDeath; // 0x1a54 + ParticleIndex_t m_nTempestFX; // 0x1a58 }; // Alignment: 4 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_MonkeyKing : public C_DOTA_BaseNPC_Hero { public: - bool mb_MonkeyHasArcana; // 0x19e8 + bool mb_MonkeyHasArcana; // 0x1a50 private: - [[maybe_unused]] uint8_t __pad19e9[0x3]; // 0x19e9 + [[maybe_unused]] uint8_t __pad1a51[0x3]; // 0x1a51 public: // MNetworkEnable - uint32_t m_nTreeDisguise; // 0x19ec + uint32_t m_nTreeDisguise; // 0x1a54 // MNetworkEnable // MNetworkChangeCallback "OnPerchedTreeChanged" - uint32_t m_nPerchedTree; // 0x19f0 - CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x19f4 + uint32_t m_nPerchedTree; // 0x1a58 + CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x1a5c }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Pangolier : public C_DOTA_BaseNPC_Hero { public: @@ -76921,7 +78788,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_DarkWillow : public C_DOTA_BaseNPC_Hero { public: @@ -76929,7 +78796,7 @@ public: }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class C_DOTA_DarkWillow_Creature : public C_DOTA_BaseNPC { public: @@ -76937,15 +78804,15 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class CDOTA_Unit_Hero_Grimstroke : public C_DOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x19e8 + ParticleIndex_t m_nFXDeath; // 0x1a50 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Unit_Grimstroke_InkCreature : public C_DOTA_BaseNPC { public: @@ -76953,7 +78820,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Mars : public C_DOTA_BaseNPC_Hero { public: @@ -76961,7 +78828,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Snapfire : public C_DOTA_BaseNPC_Hero { public: @@ -76969,7 +78836,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Void_Spirit : public C_DOTA_BaseNPC_Hero { public: @@ -76977,7 +78844,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class C_DOTA_Unit_Hero_Hoodwink : public C_DOTA_BaseNPC_Hero { public: @@ -76985,16 +78852,16 @@ public: }; // Alignment: 1 -// Size: 0x19f0 +// Size: 0x1a58 class CDOTA_Unit_Hero_Dawnbreaker : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nAttackState; // 0x19e8 + int32_t m_nAttackState; // 0x1a50 }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_Marci : public C_DOTA_BaseNPC_Hero { public: @@ -77002,7 +78869,7 @@ public: }; // Alignment: 0 -// Size: 0x19e8 +// Size: 0x1a50 class CDOTA_Unit_Hero_PrimalBeast : public C_DOTA_BaseNPC_Hero { public: @@ -77010,18 +78877,18 @@ public: }; // Alignment: 2 -// Size: 0x19f8 +// Size: 0x1a60 class C_DOTA_Unit_Hero_Muerta : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x19e8 - QAngle m_qStartAngle; // 0x19ec + CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x1a50 + QAngle m_qStartAngle; // 0x1a54 }; // Alignment: 0 -// Size: 0x1688 +// Size: 0x16f0 class CDOTA_Muerta_Revenant : public C_DOTA_BaseNPC { public: @@ -77029,48 +78896,48 @@ public: }; // Alignment: 3 -// Size: 0x16a0 +// Size: 0x1708 class CDOTA_NPC_Observer_Ward : public C_DOTA_BaseNPC_Additive { public: - int32_t m_iDuration; // 0x1688 + int32_t m_iDuration; // 0x16f0 private: - [[maybe_unused]] uint8_t __pad168c[0x4]; // 0x168c + [[maybe_unused]] uint8_t __pad16f4[0x4]; // 0x16f4 public: - CNewParticleEffect* m_pVisionRangeFX; // 0x1690 - int32_t m_nPreviewViewer; // 0x1698 + CNewParticleEffect* m_pVisionRangeFX; // 0x16f8 + int32_t m_nPreviewViewer; // 0x1700 }; // Alignment: 3 -// Size: 0x16b0 +// Size: 0x1718 class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward { public: - int32_t m_iTrueSight; // 0x16a0 - CEntityHandle m_hCasterEntity; // 0x16a4 - CEntityHandle m_hAbilityEntity; // 0x16a8 + int32_t m_iTrueSight; // 0x1708 + CEntityHandle m_hCasterEntity; // 0x170c + CEntityHandle m_hAbilityEntity; // 0x1710 }; // Alignment: 8 -// Size: 0x16d0 +// Size: 0x1738 class C_DOTA_PortraitEntity : public C_DOTA_BaseNPC { public: - CountdownTimer m_PetIdleTimer; // 0x1688 - ParticleIndex_t m_nMouthFX; // 0x16a0 - int32_t m_nMouthControlPoint; // 0x16a4 - ParticleIndex_t m_iPortraitParticle; // 0x16a8 - int32_t m_PortraitActivity; // 0x16ac - CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x16b0 - bool m_bIsSimulationActive; // 0x16c8 + CountdownTimer m_PetIdleTimer; // 0x16f0 + ParticleIndex_t m_nMouthFX; // 0x1708 + int32_t m_nMouthControlPoint; // 0x170c + ParticleIndex_t m_iPortraitParticle; // 0x1710 + int32_t m_PortraitActivity; // 0x1714 + CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x1718 + bool m_bIsSimulationActive; // 0x1730 private: - [[maybe_unused]] uint8_t __pad16c9[0x3]; // 0x16c9 + [[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731 public: - CEntityHandle m_hAppearanceFromNPC; // 0x16cc + CEntityHandle m_hAppearanceFromNPC; // 0x1734 }; // Alignment: 0 -// Size: 0x16d0 +// Size: 0x1738 class C_DOTA_PortraitEntity_FullBody : public C_DOTA_PortraitEntity { public: @@ -77078,7 +78945,7 @@ public: }; // Alignment: 0 -// Size: 0x16b8 +// Size: 0x1720 class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer { public: diff --git a/sdk/engine2.hpp b/sdk/engine2.hpp index 149ace25..f91e9d85 100644 --- a/sdk/engine2.hpp +++ b/sdk/engine2.hpp @@ -446,22 +446,21 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x78 +// Alignment: 7 +// Size: 0x68 struct EntComponentInfo_t { public: - V_uuid_t m_id; // 0x0 - char* m_pName; // 0x10 - char* m_pCPPClassname; // 0x18 - char* m_pNetworkDataReferencedDescription; // 0x20 - char* m_pNetworkDataReferencedPtrPropDescription; // 0x28 - int32_t m_nRuntimeIndex; // 0x30 - uint32_t m_nFlags; // 0x34 + char* m_pName; // 0x0 + char* m_pCPPClassname; // 0x8 + char* m_pNetworkDataReferencedDescription; // 0x10 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x18 + int32_t m_nRuntimeIndex; // 0x20 + uint32_t m_nFlags; // 0x24 private: - [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 public: - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x60 }; // Alignment: 0 diff --git a/sdk/fwd.hpp b/sdk/fwd.hpp new file mode 100644 index 00000000..d44a31c0 --- /dev/null +++ b/sdk/fwd.hpp @@ -0,0 +1,12258 @@ +struct AABB_t; +struct AbilityID_t; +struct ActiveModelConfig_t; +struct AggregateMeshInfo_t; +struct AggregateSceneObject_t; +struct AimMatrixOpFixedSettings_t; +struct AmmoIndex_t; +struct AmmoTypeInfo_t; +struct AnimComponentID; +struct AnimNodeID; +struct AnimNodeOutputID; +struct AnimParamID; +struct AnimScriptHandle; +struct AnimStateID; +struct AnimTagID; +struct AnimationDecodeDebugDumpElement_t; +struct AnimationDecodeDebugDump_t; +struct AnimationSnapshotBase_t; +struct AnimationSnapshot_t; +struct AttachmentHandle_t; +struct BakedLightingInfo_t; +struct BaseSceneObjectOverride_t; +struct BaseVehicleAllowedPassenger_t; +struct BaseVehiclePotentialExitAnim_t; +struct BaseVehicleRole_t; +struct BlendItem_t; +struct BlessingID_t; +struct BlessingPathID_t; +struct BlessingPath_t; +struct BlessingTypeID_t; +struct BlessingType_t; +struct Blessing_t; +struct CAISound; +struct CAI_ChangeHintGroup; +struct CAI_ChangeTarget; +struct CAI_Expresser; +struct CAI_ExpresserWithFollowup; +struct CActionComponent; +struct CActionComponentUpdater; +struct CAddAnimNode; +struct CAddUpdateNode; +struct CAdditionalWearable; +struct CAimConstraint; +struct CAimMatrixAnimNode; +struct CAimMatrixUpdateNode; +struct CAmbientCreatures; +struct CAmbientGeneric; +struct CAndCondition; +struct CAnimActionBase; +struct CAnimActionUpdater; +struct CAnimActivity; +struct CAnimAnimEvent; +struct CAnimBone; +struct CAnimBoneDifference; +struct CAnimClipData; +struct CAnimClipDataManager; +struct CAnimComponentBase; +struct CAnimComponentManager; +struct CAnimComponentState; +struct CAnimComponentStateTransition; +struct CAnimComponentUpdater; +struct CAnimCycle; +struct CAnimData; +struct CAnimDataChannelDesc; +struct CAnimDecoder; +struct CAnimDesc; +struct CAnimDesc_Flag; +struct CAnimEncodeDifference; +struct CAnimEncodedFrames; +struct CAnimEnum; +struct CAnimFoot; +struct CAnimFrameBlockAnim; +struct CAnimFrameSegment; +struct CAnimGraphDebugReplay; +struct CAnimGraphModelBinding; +struct CAnimGraphNetworkSettings; +struct CAnimGraphNetworkedVariables; +struct CAnimGraphSettingsGroup; +struct CAnimGraphSettingsManager; +struct CAnimInputDamping; +struct CAnimKeyData; +struct CAnimLocalHierarchy; +struct CAnimMorphDifference; +struct CAnimMotorBase; +struct CAnimMotorUpdaterBase; +struct CAnimMovement; +struct CAnimNodeBase; +struct CAnimNodeConnection; +struct CAnimNodeList; +struct CAnimNodeManager; +struct CAnimNodePath; +struct CAnimNodeState; +struct CAnimNodeStateTransition; +struct CAnimParamHandle; +struct CAnimParamHandleMap; +struct CAnimParamSpan; +struct CAnimParamSpanSample; +struct CAnimParameterBase; +struct CAnimParameterList; +struct CAnimParameterListUpdater; +struct CAnimReplayFrame; +struct CAnimScriptComponent; +struct CAnimScriptComponentUpdater; +struct CAnimScriptManager; +struct CAnimSequenceParams; +struct CAnimSkeleton; +struct CAnimState; +struct CAnimStateList; +struct CAnimStateMachine; +struct CAnimStateMachineUpdater; +struct CAnimStateTransition; +struct CAnimTagBase; +struct CAnimTagManager; +struct CAnimTagManagerUpdater; +struct CAnimTagSpan; +struct CAnimUpdateNodeBase; +struct CAnimUpdateNodeRef; +struct CAnimUpdateSharedData; +struct CAnimUser; +struct CAnimUserDifference; +struct CAnimationGraph; +struct CAnimationGraphVisualizerAxis; +struct CAnimationGraphVisualizerLine; +struct CAnimationGraphVisualizerPie; +struct CAnimationGraphVisualizerPrimitiveBase; +struct CAnimationGraphVisualizerSphere; +struct CAnimationGraphVisualizerText; +struct CAnimationGroup; +struct CAnimationLayer; +struct CAnimationSubGraph; +struct CAnnouncerDescriptor; +struct CAttachment; +struct CAttributeContainer; +struct CAttributeList; +struct CAttributeManager; +struct CAttributeManager::cached_attribute_float_t; +struct CAudioAnimTag; +struct CBaseAchievement; +struct CBaseAnimGraph; +struct CBaseAnimGraphController; +struct CBaseAnimatingActivity; +struct CBaseAnimatingController; +struct CBaseAnimatingOverlay; +struct CBaseAnimatingOverlayController; +struct CBaseClientUIEntity; +struct CBaseCombatCharacter; +struct CBaseConstraint; +struct CBaseDMStart; +struct CBaseEntity; +struct CBaseFilter; +struct CBaseFlex; +struct CBaseFlexAlias_funCBaseFlex; +struct CBaseModelEntity; +struct CBaseMoveBehavior; +struct CBasePlatTrain; +struct CBasePlayerController; +struct CBasePlayerPawn; +struct CBasePlayerVData; +struct CBasePlayerWeapon; +struct CBasePlayerWeaponVData; +struct CBasePortraitData; +struct CBaseProp; +struct CBaseRendererSource2; +struct CBaseToggle; +struct CBaseTrailRenderer; +struct CBaseTrigger; +struct CBaseVehicle; +struct CBaseVehicleVData; +struct CBeam; +struct CBinaryUpdateNode; +struct CBindPoseAnimNode; +struct CBindPoseUpdateNode; +struct CBlend2DAnimNode; +struct CBlend2DItemBase; +struct CBlend2DUpdateNode; +struct CBlendAnimNode; +struct CBlendCurve; +struct CBlendNodeChild; +struct CBlendUpdateNode; +struct CBlockSelectionMetric; +struct CBlockSelectionMetricEvaluator; +struct CBodyComponent; +struct CBodyComponentBaseAnimGraph; +struct CBodyComponentBaseAnimating; +struct CBodyComponentBaseAnimatingOverlay; +struct CBodyComponentBaseModelEntity; +struct CBodyComponentPoint; +struct CBodyComponentSkeletonInstance; +struct CBodyGroupAnimTag; +struct CBodyGroupSetting; +struct CBoneConstraintBase; +struct CBoneConstraintPoseSpaceBone; +struct CBoneConstraintPoseSpaceBone::Input_t; +struct CBoneConstraintPoseSpaceMorph; +struct CBoneConstraintPoseSpaceMorph::Input_t; +struct CBoneMaskAnimNode; +struct CBoneMaskUpdateNode; +struct CBonePositionMetric; +struct CBonePositionMetricEvaluator; +struct CBoneVelocityMetric; +struct CBoneVelocityMetricEvaluator; +struct CBoolAnimParameter; +struct CBreakable; +struct CBreakableProp; +struct CBuoyancyHelper; +struct CCachedPose; +struct CChangeLevel; +struct CChoiceAnimNode; +struct CChoiceNodeChild; +struct CChoiceUpdateNode; +struct CChoreoAnimNode; +struct CChoreoUpdateNode; +struct CClientAlphaProperty; +struct CClothSettingsAnimTag; +struct CCollisionProperty; +struct CColorCorrection; +struct CColorCorrectionVolume; +struct CCommentAnimNode; +struct CCommentaryAuto; +struct CCommentarySystem; +struct CCommentaryViewPosition; +struct CCompressorGroup; +struct CConditionBase; +struct CConditionContainer; +struct CConnectionProxyItem; +struct CConstantForceController; +struct CConstraintAnchor; +struct CConstraintSlave; +struct CConstraintTarget; +struct CContainerAnimNodeBase; +struct CCopyRecipientFilter; +struct CCredits; +struct CCurrentRotationVelocityMetric; +struct CCurrentRotationVelocityMetricEvaluator; +struct CCurrentVelocityMetric; +struct CCurrentVelocityMetricEvaluator; +struct CCycleBase; +struct CCycleCondition; +struct CCycleControlAnimNode; +struct CCycleControlClipAnimNode; +struct CCycleControlClipUpdateNode; +struct CCycleControlUpdateNode; +struct CDOTAAppCheers; +struct CDOTABaseAbility; +struct CDOTABaseCustomHeroPickRules; +struct CDOTABaseGameMode; +struct CDOTABattleReportHighlight; +struct CDOTABattleReportHighlightCompareContext_t; +struct CDOTABattleReportHighlightTier_t; +struct CDOTABehaviorAbilityChannel; +struct CDOTABehaviorAbilityPhase; +struct CDOTABehaviorAttack; +struct CDOTABehaviorAttackPhase; +struct CDOTABehaviorChase; +struct CDOTABehaviorCommandMoveToItemToTake; +struct CDOTABehaviorCommandMoveToNPC; +struct CDOTABehaviorCommandMoveToNPCToGive; +struct CDOTABehaviorCommandMoveToPosition; +struct CDOTABehaviorCommandMoveToPositionToCast; +struct CDOTABehaviorCommandMoveToPositionToDropItem; +struct CDOTABehaviorCommandMoveToRuneToTake; +struct CDOTABehaviorCommandMoveToTargetToAttack; +struct CDOTABehaviorCommandMoveToTargetToCast; +struct CDOTABehaviorCommandPatrol; +struct CDOTABehaviorCommandVampireThrall; +struct CDOTABehaviorCompanion; +struct CDOTABehaviorCreatureCompanion; +struct CDOTABehaviorDie; +struct CDOTABehaviorIdle; +struct CDOTABehaviorInvade; +struct CDOTABehaviorMoveTo; +struct CDOTABehaviorMoveToNPCToAttack; +struct CDOTABehaviorNeutralAggro; +struct CDOTABehaviorNeutralHome; +struct CDOTABehaviorPet; +struct CDOTABehaviorPuppetMasterVoodooDoll; +struct CDOTABehaviorTutorialIdle; +struct CDOTABehaviorTutorialRazorMoveToNPCToAttack; +struct CDOTABehaviorTutorialVictory; +struct CDOTACameraBounds; +struct CDOTACandyShopDefinition; +struct CDOTACheers; +struct CDOTACustomGameEvents; +struct CDOTACustomGameHeroPickRules; +struct CDOTACustomShopInfo; +struct CDOTACustomShopItemInfo; +struct CDOTAFeaturedGamemodeDefinition; +struct CDOTAFogOfWarTempViewers; +struct CDOTAGameEvents; +struct CDOTAGameManager; +struct CDOTAGameManagerProxy; +struct CDOTAGameRules; +struct CDOTAGamerulesProxy; +struct CDOTAInGamePredictionState; +struct CDOTALabyrinthBlessingsMap; +struct CDOTAMusicProbabilityEntry; +struct CDOTAMutationGameMode; +struct CDOTANewPlayerPoolGameMode; +struct CDOTAPlayerController; +struct CDOTAPlayerPawn; +struct CDOTAPlayer_CameraServices; +struct CDOTAPlayer_MovementServices; +struct CDOTAPropAghsfortArenaOfBloodWarrior; +struct CDOTAPropArenaOfBloodWarrior; +struct CDOTAPropConsumableBanner; +struct CDOTAPropCustomTexture; +struct CDOTAPropPlusPlayerGuildBanner; +struct CDOTAPropTI10PlayerGuildBanner; +struct CDOTASpecGraphPlayerData; +struct CDOTASpectatorGraphManager; +struct CDOTASpectatorGraphManagerProxy; +struct CDOTASubChallengeInfo; +struct CDOTATeam; +struct CDOTATrophyDefinition; +struct CDOTATurboGameMode; +struct CDOTATurboHeroPickRules; +struct CDOTAWearableItem; +struct CDOTA_AbilityDraftAbilityState; +struct CDOTA_Ability_Abaddon_AphoticShield; +struct CDOTA_Ability_Abaddon_BorrowedTime; +struct CDOTA_Ability_Abaddon_DeathCoil; +struct CDOTA_Ability_Abaddon_Frostmourne; +struct CDOTA_Ability_AbyssalUnderlord_AtrophyAura; +struct CDOTA_Ability_AbyssalUnderlord_Cancel_DarkRift; +struct CDOTA_Ability_AbyssalUnderlord_DarkRift; +struct CDOTA_Ability_AbyssalUnderlord_Dark_Portal; +struct CDOTA_Ability_AbyssalUnderlord_Firestorm; +struct CDOTA_Ability_AbyssalUnderlord_PitOfMalice; +struct CDOTA_Ability_AbyssalUnderlord_Portal_Warp; +struct CDOTA_Ability_Aghanim_Spear; +struct CDOTA_Ability_Aghanim_UrnUpheaval; +struct CDOTA_Ability_AghanimsFortress_SkeletonKing_VampiricAura; +struct CDOTA_Ability_AghsFort2_DrowRanger_FrostArrows; +struct CDOTA_Ability_AghsFort_ArcWardenBoss_Flux; +struct CDOTA_Ability_AghsFort_Arcanist_Potion; +struct CDOTA_Ability_AghsFort_Ascension_Firefly; +struct CDOTA_Ability_AghsFort_Ascension_Invis; +struct CDOTA_Ability_AghsFort_Ascension_MagneticField; +struct CDOTA_Ability_AghsFort_Ascension_PlasmaField; +struct CDOTA_Ability_AghsFort_Ascension_Silence; +struct CDOTA_Ability_AghsFort_AssaultCaptain_SearingChains; +struct CDOTA_Ability_AghsFort_AssaultCaptain_SunRay; +struct CDOTA_Ability_AghsFort_Bane_Enfeeble; +struct CDOTA_Ability_AghsFort_BossDarkWillow_CursedCrown; +struct CDOTA_Ability_AghsFort_BossDarkWillow_ShadowRealm; +struct CDOTA_Ability_AghsFort_BossEarthshaker_EnchantTotem; +struct CDOTA_Ability_AghsFort_BossEarthshaker_Fissure; +struct CDOTA_Ability_AghsFort_Capture; +struct CDOTA_Ability_AghsFort_Clinkz_BurningArmy; +struct CDOTA_Ability_AghsFort_Clinkz_BurningBarrage; +struct CDOTA_Ability_AghsFort_Clinkz_SearingArrows; +struct CDOTA_Ability_AghsFort_Clinkz_SkeletalColossus; +struct CDOTA_Ability_AghsFort_Clinkz_SkeletonWalk; +struct CDOTA_Ability_AghsFort_Creature_Impale; +struct CDOTA_Ability_AghsFort_Creature_Phoenix_FireSpirits; +struct CDOTA_Ability_AghsFort_Creature_Phoenix_LaunchFireSpirit; +struct CDOTA_Ability_AghsFort_Creature_Phoenix_Supernova; +struct CDOTA_Ability_AghsFort_Creature_SpikedCarapace; +struct CDOTA_Ability_AghsFort_Creature_Venomancer_PoisonNova; +struct CDOTA_Ability_AghsFort_DragonKnight_BreatheFire; +struct CDOTA_Ability_AghsFort_Dragon_Potion; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_BoulderSmash; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_GeomagneticGrip; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_Magnetize; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_Petrify; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_RollingBoulder; +struct CDOTA_Ability_AghsFort_EarthSpiritBoss_StoneCaller; +struct CDOTA_Ability_AghsFort_EchoSlamPotion; +struct CDOTA_Ability_AghsFort_Eclispe_Hide; +struct CDOTA_Ability_AghsFort_ExplosiveBarrel; +struct CDOTA_Ability_AghsFort_Gyrocopter_Multi_Homing_Missile; +struct CDOTA_Ability_AghsFort_Juggernaut_BladeDance; +struct CDOTA_Ability_AghsFort_Juggernaut_HealingWard; +struct CDOTA_Ability_AghsFort_Juggernaut_Omnislash; +struct CDOTA_Ability_AghsFort_Juggernaut_ZenWard; +struct CDOTA_Ability_AghsFort_Kunkka_Angry_Recall; +struct CDOTA_Ability_AghsFort_Kunkka_Davy_Jones_Locker; +struct CDOTA_Ability_AghsFort_Kunkka_Dread_Pirate; +struct CDOTA_Ability_AghsFort_Kunkka_GhostShip; +struct CDOTA_Ability_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons; +struct CDOTA_Ability_AghsFort_Kunkka_Green_Around_the_Gills; +struct CDOTA_Ability_AghsFort_Kunkka_Grog_Blossom; +struct CDOTA_Ability_AghsFort_Kunkka_Keelhaul; +struct CDOTA_Ability_AghsFort_Kunkka_Man_the_Helm; +struct CDOTA_Ability_AghsFort_Kunkka_Marked; +struct CDOTA_Ability_AghsFort_Kunkka_No_Quarter; +struct CDOTA_Ability_AghsFort_Kunkka_Return; +struct CDOTA_Ability_AghsFort_Kunkka_Rumboldened; +struct CDOTA_Ability_AghsFort_Kunkka_Sealegs; +struct CDOTA_Ability_AghsFort_Kunkka_Skull_and_Bones; +struct CDOTA_Ability_AghsFort_Kunkka_Squall; +struct CDOTA_Ability_AghsFort_Kunkka_Tidal_Wave; +struct CDOTA_Ability_AghsFort_Kunkka_Tidebringer; +struct CDOTA_Ability_AghsFort_Kunkka_Tidebringer_Charges; +struct CDOTA_Ability_AghsFort_Kunkka_Torrent; +struct CDOTA_Ability_AghsFort_Kunkka_Torrent_Storm; +struct CDOTA_Ability_AghsFort_Kunkka_XMarksTheSpot; +struct CDOTA_Ability_AghsFort_Lich_ChainFrost; +struct CDOTA_Ability_AghsFort_Lich_FrostNova; +struct CDOTA_Ability_AghsFort_Lich_FrostShield; +struct CDOTA_Ability_AghsFort_Lich_Ice_Spire; +struct CDOTA_Ability_AghsFort_Lich_Sinister_Gaze; +struct CDOTA_Ability_AghsFort_Lifestealer_Enraged_Pulse; +struct CDOTA_Ability_AghsFort_Luna_Eclipse; +struct CDOTA_Ability_AghsFort_Luna_Eclipse_LunarCycle; +struct CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFavor; +struct CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFocus; +struct CDOTA_Ability_AghsFort_Luna_Eclipse_Moonstruck; +struct CDOTA_Ability_AghsFort_Luna_GlaiveShield; +struct CDOTA_Ability_AghsFort_Luna_Glaives_MoonWell; +struct CDOTA_Ability_AghsFort_Luna_LucentBeam; +struct CDOTA_Ability_AghsFort_Luna_LucentBeam_Bloodmoon; +struct CDOTA_Ability_AghsFort_Luna_LucentBeam_Diffusion; +struct CDOTA_Ability_AghsFort_Luna_LucentBeam_Glaives; +struct CDOTA_Ability_AghsFort_Luna_LucentBeam_Moonglow; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_Leap; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarPower; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarRemnant; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonMark; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonShield; +struct CDOTA_Ability_AghsFort_Luna_LunarBlessing_Moonfright; +struct CDOTA_Ability_AghsFort_Luna_Lunar_Grace; +struct CDOTA_Ability_AghsFort_Luna_MoonGlaive; +struct CDOTA_Ability_AghsFort_Luna_MoonGlaive_AllyBounce; +struct CDOTA_Ability_AghsFort_Luna_MoonGlaive_DoubleMoon; +struct CDOTA_Ability_AghsFort_Luna_MoonGlaive_Knockback; +struct CDOTA_Ability_AghsFort_Morphling_Waveform; +struct CDOTA_Ability_AghsFort_Omniknight_Degen_Aura; +struct CDOTA_Ability_AghsFort_Omniknight_Purification; +struct CDOTA_Ability_AghsFort_Omniknight_Repel; +struct CDOTA_Ability_AghsFort_Phoenix_FireSpirits; +struct CDOTA_Ability_AghsFort_Phoenix_IcarusDive; +struct CDOTA_Ability_AghsFort_Phoenix_IcarusDiveStop; +struct CDOTA_Ability_AghsFort_Phoenix_LaunchFireSpirit; +struct CDOTA_Ability_AghsFort_Phoenix_SunRay; +struct CDOTA_Ability_AghsFort_Phoenix_SunRayStop; +struct CDOTA_Ability_AghsFort_Phoenix_SunRayToggleMove; +struct CDOTA_Ability_AghsFort_Phoenix_Supernova; +struct CDOTA_Ability_AghsFort_QueenOfPain_Blink; +struct CDOTA_Ability_AghsFort_QueenOfPain_ScreamOfPain; +struct CDOTA_Ability_AghsFort_QueenOfPain_ShadowStrike; +struct CDOTA_Ability_AghsFort_QueenOfPain_SonicWave; +struct CDOTA_Ability_AghsFort_Ravage_Potion; +struct CDOTA_Ability_AghsFort_RestorativeFlower; +struct CDOTA_Ability_AghsFort_RockGolem_Smash; +struct CDOTA_Ability_AghsFort_Sand_King_BurrowStrike_Channel_Stop; +struct CDOTA_Ability_AghsFort_ShadowShaman_Shackles; +struct CDOTA_Ability_AghsFort_ShadowWaveEffectPotion; +struct CDOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison; +struct CDOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison_Release; +struct CDOTA_Ability_AghsFort_Sniper_Assassinate; +struct CDOTA_Ability_AghsFort_Sniper_Concussive_Grenade; +struct CDOTA_Ability_AghsFort_Sniper_Headshot; +struct CDOTA_Ability_AghsFort_Sniper_Shrapnel; +struct CDOTA_Ability_AghsFort_Sniper_TakeAim; +struct CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Invis; +struct CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Knockback_Slow; +struct CDOTA_Ability_AghsFort_Special_Bane_BrainSap_NightmareMirror; +struct CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Allies; +struct CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DamageSteal; +struct CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DeathSpread; +struct CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_EndFiendGrip; +struct CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Spill; +struct CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_AutoNightmare; +struct CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_BoostAlly; +struct CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_Spread; +struct CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Burst; +struct CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Confusion; +struct CDOTA_Ability_AghsFort_Special_Bane_Nightmare_SweetDreams; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_BigSkeletons; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_Entrenchment; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_StunningSkeletons; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_Singe; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_SkeletonShot; +struct CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_TriSplit; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Ignite; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Melter; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_SkeletalColossus; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_BeckonUndead; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_Strafe; +struct CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_WraithTouch; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_HammerTime; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_Haven; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_SunForge; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_BrightFoundry; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_Lightbringer; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_SolarBattery; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SolarFlare; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SunSentinel; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_StarbreakerCelestialFire; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_CounterOrbital; +struct CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_Suncrusher; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Empower_All_Allies; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Charges; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Lifesteal; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Empower_ShockwaveOnAttack; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Allies_Crit; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Radius; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Steroid; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Boomerang; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Increase; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Multishot; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_BonusStrength; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Heal; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_HornToss; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_OriginalScepter; +struct CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Shockwave; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Damage; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Restoration; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Toggle; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Immune_Flight; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Purification; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cast_Radius; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Charges; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Multicast; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Applies_Degen_Aura; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Damage_Instance_Refraction; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Knockback_On_Cast; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Outgoing_Damage; +struct CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Procs_Purification; +struct CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff; +struct CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_Execute; +struct CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_KillsRefresh; +struct CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_MarksTarget; +struct CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Artillery; +struct CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_FlameRevenant; +struct CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Vitality; +struct CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_BlastWave; +struct CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_Savior; +struct CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_SecondSun; +struct CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_FocusPoint; +struct CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_GammaRay; +struct CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_Luminance; +struct CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Capture; +struct CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_ExpelCore; +struct CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Horizon; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Attack_Speed; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Generates_Scream; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Shadow_Strike; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Knockback; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Resets_Blink; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Restores_Caster; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Stun; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Chain; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_On_Attack; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Scream; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Attack_Buff; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Circle; +struct CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Trail; +struct CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_Allied_Buff; +struct CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_EnemyTarget; +struct CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_MultiCookie; +struct CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_AllyCast; +struct CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Bouncing_Bullets; +struct CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Explosives; +struct CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Autoattack; +struct CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fire_Trail; +struct CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fragmentation; +struct CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction; +struct CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Barrage; +struct CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Double_Barrel; +struct CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_FullRange_PointBlank; +struct CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Knockback; +struct CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Buckshot; +struct CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_ConcussiveDummy; +struct CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Killshot; +struct CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_OriginalScepter; +struct CDOTA_Ability_AghsFort_Special_Sniper_Headshot_ArmorReduction; +struct CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Assassinate; +struct CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Crits; +struct CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Shotgun; +struct CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Stuns; +struct CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_AttackSpeed; +struct CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_Bombs; +struct CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MissChance; +struct CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MoveSpeed; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_AOE; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_ArmorReduction; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_HopBackwards; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_RapidFire; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_SelfPurge; +struct CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_Shrapnel; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Attack_On_Activation; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Refraction_On_Kill; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Teleport; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Splash; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Trap; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Area_Attack; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Damage_Heals; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_MultiPulse; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Allies; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Counter_Attack; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Detonate_Trap; +struct CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_KillRefresh; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Circle; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Explode; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Secondary; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Stun; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_End_Damage; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Global; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Heal; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Global; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Lifesteal; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Toggle; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Land_Damage; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Reset; +struct CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Wallop; +struct CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Circle; +struct CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Explode; +struct CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Secondary; +struct CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Snowball; +struct CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Stun; +struct CDOTA_Ability_AghsFort_Special_Tusk_Snowball_End_Damage; +struct CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Global; +struct CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Heal; +struct CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_DeathCooldown; +struct CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Global; +struct CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Lifesteal; +struct CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Toggle; +struct CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Land_Damage; +struct CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Reset; +struct CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Wallop; +struct CDOTA_Ability_AghsFort_Special_Undying_Decay_On_Attack; +struct CDOTA_Ability_AghsFort_Special_Undying_Decay_Reverberation; +struct CDOTA_Ability_AghsFort_Special_Undying_Decay_Spawn_Zombies; +struct CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_ApplyFurySwipes; +struct CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Invis; +struct CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Knockback; +struct CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_MissChance; +struct CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_OverpowerStack; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Allies; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Armor; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_AttackSpeed; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Earthshock; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Fear; +struct CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Magic_Immunity; +struct CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_ArmorReduction; +struct CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_Lifesteal; +struct CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_UrsaMinor; +struct CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Cleave; +struct CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Crit; +struct CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Evasion; +struct CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Taunt; +struct CDOTA_Ability_AghsFort_Special_Viper_ChainViperStrike; +struct CDOTA_Ability_AghsFort_Special_Viper_ChanneledViperStrike; +struct CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinFlying; +struct CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinSpeedSteal; +struct CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkin_Aura; +struct CDOTA_Ability_AghsFort_Special_Viper_PeriodicViperStrike; +struct CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackExplode; +struct CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackSpread; +struct CDOTA_Ability_AghsFort_Special_Viper_PoisonSnap; +struct CDOTA_Ability_AghsFort_Special_Viper_ViperStrikeAllies; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_PhantomAttack; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Push; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Attacks; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Breach; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Trail; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Vacuum; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Expanse; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Lure; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Remnants; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Translocate; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Cadence; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Knockback; +struct CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression; +struct CDOTA_Ability_AghsFort_Spectre_ActiveDispersion; +struct CDOTA_Ability_AghsFort_StonehallGeneral_OverwhelmingOdds; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_1; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_10; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_11; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_12; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_2; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_3; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_4; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_5; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_6; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_7; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_8; +struct CDOTA_Ability_AghsFort_Talent_Clinkz_9; +struct CDOTA_Ability_AghsFort_Talent_Phoenix_SunRay_Damage; +struct CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_AttacksToKill; +struct CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_BonusDps; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_AetherRemnant_Damage; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_Crit; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_RestoreTime; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Invis; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Stun; +struct CDOTA_Ability_AghsFort_Talent_VoidSpirit_ResonantPulse_Damage; +struct CDOTA_Ability_AghsFort_Tower_BlastWave; +struct CDOTA_Ability_AghsFort_TrapRoom_Hookshot; +struct CDOTA_Ability_AghsFort_TrapRoom_MeatHook; +struct CDOTA_Ability_AghsFort_TreantMiniboss_NaturesGuise; +struct CDOTA_Ability_AghsFort_Ursa_Earthshock; +struct CDOTA_Ability_AghsFort_Ursa_Enrage; +struct CDOTA_Ability_AghsFort_Ursa_Fury_Swipes; +struct CDOTA_Ability_AghsFort_Ursa_Overpower; +struct CDOTA_Ability_AghsFort_VoidSpiritBoss_AetherRemnant; +struct CDOTA_Ability_AghsFort_VoidSpiritBoss_AstralStep; +struct CDOTA_Ability_AghsFort_VoidSpiritBoss_Dissimilate; +struct CDOTA_Ability_AghsFort_VoidSpiritBoss_Passive; +struct CDOTA_Ability_AghsFort_VoidSpiritBoss_ResonantPulse; +struct CDOTA_Ability_AghsFort_VoidSpirit_AetherRemnant; +struct CDOTA_Ability_AghsFort_VoidSpirit_AstralStep; +struct CDOTA_Ability_AghsFort_VoidSpirit_Dissimilate; +struct CDOTA_Ability_AghsFort_VoidSpirit_ResonantPulse; +struct CDOTA_Ability_AghsFort_Wave_Blast; +struct CDOTA_Ability_AghsFort_Waveblaster_Leap; +struct CDOTA_Ability_Aghsfort2_DrowRanger_Marksmanship; +struct CDOTA_Ability_Aghsfort2_DrowRanger_Multishot; +struct CDOTA_Ability_Aghsfort2_DrowRanger_WaveOfSilence; +struct CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Marksmanship_Attack_Count; +struct CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Multishot_Range; +struct CDOTA_Ability_Aghsfort2_Talent_DrowRanger_WaveOfSilence_Blind; +struct CDOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal; +struct CDOTA_Ability_Aghsfort_Aziyog_Underlord_Firestorm; +struct CDOTA_Ability_Aghsfort_Aziyog_Underlord_Portal_Warp; +struct CDOTA_Ability_Aghsfort_Bane_BrainSap; +struct CDOTA_Ability_Aghsfort_Bane_FiendsGrip; +struct CDOTA_Ability_Aghsfort_Bane_Nightmare; +struct CDOTA_Ability_Aghsfort_Bane_NightmareEnd; +struct CDOTA_Ability_Aghsfort_Bonus_Pudge_MeatHook; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Celestial_Hammer; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Converge; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Fire_Wreath; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Land; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Luminosity; +struct CDOTA_Ability_Aghsfort_Dawnbreaker_Solar_Guardian; +struct CDOTA_Ability_Aghsfort_Disruptor_Glimpse; +struct CDOTA_Ability_Aghsfort_Disruptor_KineticField; +struct CDOTA_Ability_Aghsfort_Disruptor_StaticStorm; +struct CDOTA_Ability_Aghsfort_Disruptor_Thunder_Strike; +struct CDOTA_Ability_Aghsfort_Elemental_Wisp_Tether; +struct CDOTA_Ability_Aghsfort_Gyrocopter_Call_Down; +struct CDOTA_Ability_Aghsfort_Gyrocopter_Flak_Cannon; +struct CDOTA_Ability_Aghsfort_Gyrocopter_Homing_Missile; +struct CDOTA_Ability_Aghsfort_Gyrocopter_Rocket_Barrage; +struct CDOTA_Ability_Aghsfort_Lina_DragonSlave; +struct CDOTA_Ability_Aghsfort_Lina_FierySoul; +struct CDOTA_Ability_Aghsfort_Lina_LagunaBlade; +struct CDOTA_Ability_Aghsfort_Lina_LightStrikeArray; +struct CDOTA_Ability_Aghsfort_Magnataur_Empower; +struct CDOTA_Ability_Aghsfort_Magnataur_FriendlySkewer; +struct CDOTA_Ability_Aghsfort_Magnataur_Horn_Toss; +struct CDOTA_Ability_Aghsfort_Magnataur_ReversePolarity; +struct CDOTA_Ability_Aghsfort_Magnataur_Shockwave; +struct CDOTA_Ability_Aghsfort_Magnataur_Skewer; +struct CDOTA_Ability_Aghsfort_Mars_ArenaOfBlood; +struct CDOTA_Ability_Aghsfort_Mars_Bulwark; +struct CDOTA_Ability_Aghsfort_Mars_Bulwark_Stop; +struct CDOTA_Ability_Aghsfort_Mars_GodsRebuke; +struct CDOTA_Ability_Aghsfort_Mars_Spear; +struct CDOTA_Ability_Aghsfort_Minor_Stats_Upgrade; +struct CDOTA_Ability_Aghsfort_Omniknight_GuardianAngel; +struct CDOTA_Ability_Aghsfort_PhantomAssassin_Blur; +struct CDOTA_Ability_Aghsfort_PhantomAssassin_CoupdeGrace; +struct CDOTA_Ability_Aghsfort_PhantomAssassin_PhantomStrike; +struct CDOTA_Ability_Aghsfort_PhantomAssassin_Stifling_Dagger; +struct CDOTA_Ability_Aghsfort_Phoenix_Flame_Revenant_Attack; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_CreateRock; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_HeavySteps; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Inhibition; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Onslaught; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_PrimalRoar; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Pummel; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_RoarAttack; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_TectonicShift; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_ThrowAttack; +struct CDOTA_Ability_Aghsfort_PrimalBeast_Boss_Vault; +struct CDOTA_Ability_Aghsfort_Pugna_Grandmaster_NetherWard; +struct CDOTA_Ability_Aghsfort_Reward_ArmorAura; +struct CDOTA_Ability_Aghsfort_Reward_CritAura; +struct CDOTA_Ability_Aghsfort_Reward_HPAura; +struct CDOTA_Ability_Aghsfort_Reward_MagicResistAura; +struct CDOTA_Ability_Aghsfort_Sand_King_BurrowStrike; +struct CDOTA_Ability_Aghsfort_Sand_King_CausticFinale; +struct CDOTA_Ability_Aghsfort_Sand_King_Epicenter; +struct CDOTA_Ability_Aghsfort_Sand_King_SandStorm; +struct CDOTA_Ability_Aghsfort_Slark_DarkPact; +struct CDOTA_Ability_Aghsfort_Slark_EssenceShift; +struct CDOTA_Ability_Aghsfort_Slark_Pounce; +struct CDOTA_Ability_Aghsfort_Slark_ShadowDance; +struct CDOTA_Ability_Aghsfort_Snapfire_FiresnapCookie; +struct CDOTA_Ability_Aghsfort_Snapfire_GobbleUp; +struct CDOTA_Ability_Aghsfort_Snapfire_LilShredder; +struct CDOTA_Ability_Aghsfort_Snapfire_MortimerKisses; +struct CDOTA_Ability_Aghsfort_Snapfire_Scatterblast; +struct CDOTA_Ability_Aghsfort_Snapfire_SpitCreep; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Cast_AoE; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Hit_On_Arrival; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Travel_Damage; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_AttackBuff; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_Heal; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Damage; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_DoubleRing; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Instant_Setup; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Crits_On_Attack; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Damage_Reduction; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Kinetic_Field_On_Cast; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Crit_Chance; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Interval_Upgrade; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Mana_Restore; +struct CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_MoveDamage; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Split; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Wave; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_AoE; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_WaveOfSilence; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Buff; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Move; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Refire; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_SideLine; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Cooldown; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Echo; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Frost; +struct CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Movement; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_AttackBuff; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_MineField; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Precision_Strike; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Strafe; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_FireTrail; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_First_Strike; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Missiles; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Side_Gunner; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Barrage; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_CallDown; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Charges; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Minimissile; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Ride; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_DoubleTarget; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Flare; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Ground; +struct CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_OnAttack; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Buff; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Cooldown; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Launches_Blade_Fury; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Shared; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Teleport; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Force; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Lifesteal_Hit; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Shared; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Sparks; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Blade_Fury; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Crit; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Detonate; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Crit_Extend; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Ignite; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Illusion; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Range; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Shared; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Spin; +struct CDOTA_Ability_Aghsfort_Special_Juggernaut_Zen_Ward; +struct CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Nova; +struct CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Shield; +struct CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Split; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_AOE_Attacks; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Applies_Frost_Shield; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Execute_Refund; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Root_Disarm; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Dispels; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Frost_Giant; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Heal; +struct CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Magic_Resist_Debuff_And_Stun; +struct CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Drains_Life; +struct CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Raises_Skeletons; +struct CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Spawns_Ice_Spire; +struct CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Ignite; +struct CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_LSA_Trail; +struct CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Triwave; +struct CDOTA_Ability_Aghsfort_Special_Lina_Dragon_Slave_Booster; +struct CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Ally_Cast; +struct CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_DragonSlave_On_Cast; +struct CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_LSA_Attacks; +struct CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Mini_Lagunas; +struct CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Multishot; +struct CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Bounce; +struct CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Channel; +struct CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_LSA; +struct CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Line; +struct CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Attacks; +struct CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Pulsate; +struct CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Vacuum; +struct CDOTA_Ability_Aghsfort_Special_Magnataur_ReversePolarity_Polarity; +struct CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Attack_Buff; +struct CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Fear; +struct CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Global; +struct CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Outside_Perimeter; +struct CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Counter_Rebuke; +struct CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Healing; +struct CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Return; +struct CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Soldiers; +struct CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Spears; +struct CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_FullCircle; +struct CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Strength_Buff; +struct CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Stun; +struct CDOTA_Ability_Aghsfort_Special_Mars_Spear_BurningTrail; +struct CDOTA_Ability_Aghsfort_Special_Mars_Spear_ImpaleExplosion; +struct CDOTA_Ability_Aghsfort_Special_Mars_Spear_MultiSkewer; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Dagger_On_End; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Immediate; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Regen_When_Active; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Buff_Allies; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Mastery; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_No_Secondary_Dagger_Restriction; +struct CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Channel; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Reverse; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Transport; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Active; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Epicenter; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Sandstorm; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Allies; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_DamageResist; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Movement; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Burrowstrike_Field; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Independant; +struct CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Vacuum; +struct CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Dispells_Allies; +struct CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Essence_Shift; +struct CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Push_Stun; +struct CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Unit_Target; +struct CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Allied_Buff; +struct CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_AoE_Attack; +struct CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Leash_Chance; +struct CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Attack_All; +struct CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Leashed_Bonus; +struct CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Pounce_Projectiles; +struct CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Dark_Pact_Pulses; +struct CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Essence_Shift_Bonus; +struct CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Leash; +struct CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies; +struct CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies_Dummy; +struct CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_HealOnEnemyDeath; +struct CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_Smash; +struct CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_SpawnZombies; +struct CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Share_Strength; +struct CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Spawn_Zombies; +struct CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Ward; +struct CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Bunker; +struct CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Exploding_Zombies; +struct CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinCharges; +struct CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinLifesteal; +struct CDOTA_Ability_Aghsfort_Special_Viper_Nethertoxin_Persist; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Applies_Swarm; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Knockback; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Lifesteal; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Splitshot; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Attack_On_Completion; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Greater_Invisibility; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Heal; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Pull; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Swarm; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Trail; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Allies; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Damage_Transfer; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Explosion; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Allies; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Explosion; +struct CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Restoration; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_NoMana; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splash_Damage; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Blast_On_End; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Charges; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Heal; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Main_Target_Hit; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Damage_Amp; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Heal_On_Death; +struct CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Transfer; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Bounce; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Damage_Resist; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_No_Channel; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Splitshot; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Affects_Allies; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_AoE_Procs; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Death_Restoration; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Ground_Curse; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Infectious; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_AoE_Damage; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Applies_Maledict; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Multicask; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Damage_Amp; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Enemy_Damage; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Lifesteal; +struct CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Mana_Restore; +struct CDOTA_Ability_Aghsfort_TempBuff_CorpseExplosion; +struct CDOTA_Ability_Aghsfort_TemplarAssassin_Meld; +struct CDOTA_Ability_Aghsfort_TemplarAssassin_PsiBlades; +struct CDOTA_Ability_Aghsfort_TemplarAssassin_PsionicTrap; +struct CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction; +struct CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction_Holdout; +struct CDOTA_Ability_Aghsfort_TuskBoss_IceShards; +struct CDOTA_Ability_Aghsfort_TuskBoss_IceShards_Stop; +struct CDOTA_Ability_Aghsfort_TuskBoss_Launch_Snowball; +struct CDOTA_Ability_Aghsfort_TuskBoss_Snowball; +struct CDOTA_Ability_Aghsfort_TuskBoss_Tag_Team; +struct CDOTA_Ability_Aghsfort_TuskBoss_WalrusPunch; +struct CDOTA_Ability_Aghsfort_Tusk_IceShards; +struct CDOTA_Ability_Aghsfort_Tusk_IceShards_Stop; +struct CDOTA_Ability_Aghsfort_Tusk_Launch_Snowball; +struct CDOTA_Ability_Aghsfort_Tusk_Snowball; +struct CDOTA_Ability_Aghsfort_Tusk_Snowball_Dummy; +struct CDOTA_Ability_Aghsfort_Tusk_Tag_Team; +struct CDOTA_Ability_Aghsfort_Tusk_WalrusPunch; +struct CDOTA_Ability_Aghsfort_Viper_Aghsfort_ViperStrike; +struct CDOTA_Ability_Aghsfort_Viper_CorrosiveSkin; +struct CDOTA_Ability_Aghsfort_Viper_Nethertoxin; +struct CDOTA_Ability_Aghsfort_Viper_PoisonAttack; +struct CDOTA_Ability_Aghsfort_Walrus_Pudge_Harpoon; +struct CDOTA_Ability_Aghsfort_Weaver_GeminateAttack; +struct CDOTA_Ability_Aghsfort_Weaver_Shukuchi; +struct CDOTA_Ability_Aghsfort_Weaver_TheSwarm; +struct CDOTA_Ability_Aghsfort_Weaver_TimeLapse; +struct CDOTA_Ability_Aghsfort_Wildwing_Tornado_Blast; +struct CDOTA_Ability_Aghsfort_Winter_Wyvern_Arctic_Burn; +struct CDOTA_Ability_Aghsfort_Winter_Wyvern_Cold_Embrace; +struct CDOTA_Ability_Aghsfort_Winter_Wyvern_Splinter_Blast; +struct CDOTA_Ability_Aghsfort_Winter_Wyvern_Winters_Curse; +struct CDOTA_Ability_Aghsfort_WitchDoctor_DeathWard; +struct CDOTA_Ability_Aghsfort_WitchDoctor_DeathWard_No_Channel; +struct CDOTA_Ability_Aghsfort_WitchDoctor_Maledict; +struct CDOTA_Ability_Aghsfort_WitchDoctor_ParalyzingCask; +struct CDOTA_Ability_Aghsfort_WitchDoctor_VoodooRestoration; +struct CDOTA_Ability_Alchemist_AcidSpray; +struct CDOTA_Ability_Alchemist_Berserk_Potion; +struct CDOTA_Ability_Alchemist_ChemicalRage; +struct CDOTA_Ability_Alchemist_GoblinsGreed; +struct CDOTA_Ability_Alchemist_UnstableConcoction; +struct CDOTA_Ability_Alchemist_UnstableConcoctionThrow; +struct CDOTA_Ability_AlphaWolf_CommandAura; +struct CDOTA_Ability_AlphaWolf_CriticalStrike; +struct CDOTA_Ability_AncientApparition_ChillingTouch; +struct CDOTA_Ability_AncientApparition_ColdFeet; +struct CDOTA_Ability_AncientApparition_IceBlast; +struct CDOTA_Ability_AncientApparition_IceBlast_Release; +struct CDOTA_Ability_AncientApparition_IceVortex; +struct CDOTA_Ability_AncientGolem_Rockslide; +struct CDOTA_Ability_AncientRockGolem_Weakening_Aura; +struct CDOTA_Ability_Animation_Attack; +struct CDOTA_Ability_Animation_LeftClawSwipe; +struct CDOTA_Ability_Animation_RightClawSwipe; +struct CDOTA_Ability_Animation_TailSpin; +struct CDOTA_Ability_AntiMage_Blink; +struct CDOTA_Ability_AntiMage_Blink_Fake; +struct CDOTA_Ability_AntiMage_Counterspell; +struct CDOTA_Ability_AntiMage_ManaBreak; +struct CDOTA_Ability_AntiMage_ManaVoid; +struct CDOTA_Ability_AntiMage_Mana_Overload; +struct CDOTA_Ability_AntiMage_Scepter; +struct CDOTA_Ability_AntiMage_SpellShield; +struct CDOTA_Ability_ArcWardenBoss_SparkWraith_Missile; +struct CDOTA_Ability_ArcWarden_Flux; +struct CDOTA_Ability_ArcWarden_MagneticField; +struct CDOTA_Ability_ArcWarden_Scepter; +struct CDOTA_Ability_ArcWarden_SparkWraith; +struct CDOTA_Ability_ArcWarden_TempestDouble; +struct CDOTA_Ability_Ascension_AcidBlood; +struct CDOTA_Ability_Ascension_Bulwark; +struct CDOTA_Ability_AttributeBonus; +struct CDOTA_Ability_Axe_BattleHunger; +struct CDOTA_Ability_Axe_BerserkersCall; +struct CDOTA_Ability_Axe_CounterHelix; +struct CDOTA_Ability_Axe_CullingBlade; +struct CDOTA_Ability_BackdoorProtection; +struct CDOTA_Ability_BackdoorProtectionInBase; +struct CDOTA_Ability_Bane_BrainSap; +struct CDOTA_Ability_Bane_Enfeeble; +struct CDOTA_Ability_Bane_FiendsGrip; +struct CDOTA_Ability_Bane_Nightmare; +struct CDOTA_Ability_Bane_NightmareEnd; +struct CDOTA_Ability_Batrider_Firefly; +struct CDOTA_Ability_Batrider_Flamebreak; +struct CDOTA_Ability_Batrider_Flamebreak_Knockback; +struct CDOTA_Ability_Batrider_FlamingLasso; +struct CDOTA_Ability_Batrider_StickyNapalm; +struct CDOTA_Ability_Batrider_StickyNapalm_Application_Damage; +struct CDOTA_Ability_Bear_Empty1; +struct CDOTA_Ability_Bear_Empty2; +struct CDOTA_Ability_Beastmaster_CallOfTheWild_Boar; +struct CDOTA_Ability_Beastmaster_CallOfTheWild_Hawk; +struct CDOTA_Ability_Beastmaster_DrumsOfSlom; +struct CDOTA_Ability_Beastmaster_DrumsOfSlom_Stop; +struct CDOTA_Ability_Beastmaster_Hawk_Dive; +struct CDOTA_Ability_Beastmaster_InnerBeast; +struct CDOTA_Ability_Beastmaster_Mark_Of_The_Beast; +struct CDOTA_Ability_Beastmaster_PrimalRoar; +struct CDOTA_Ability_Beastmaster_WildAxes; +struct CDOTA_Ability_BerserkerTroll_Break; +struct CDOTA_Ability_BigThunderLizard_Frenzy; +struct CDOTA_Ability_BigThunderLizard_Slam; +struct CDOTA_Ability_BigThunderLizard_Wardrums; +struct CDOTA_Ability_BlackDragon_DragonhideAura; +struct CDOTA_Ability_BlackDragon_Fireball; +struct CDOTA_Ability_BlackDragon_SplashAttack; +struct CDOTA_Ability_BlackDrake_MagicAmplification_Aura; +struct CDOTA_Ability_Bloodseeker_BloodMist; +struct CDOTA_Ability_Bloodseeker_Bloodbath; +struct CDOTA_Ability_Bloodseeker_Bloodrage; +struct CDOTA_Ability_Bloodseeker_Rupture; +struct CDOTA_Ability_Bloodseeker_Thirst; +struct CDOTA_Ability_BlueDragonspawnOverseer_DevotionAura; +struct CDOTA_Ability_BlueDragonspawnOverseer_Evasion; +struct CDOTA_Ability_BlueDragonspawnSorcerer_Evasion; +struct CDOTA_Ability_BountyHunter_Jinada; +struct CDOTA_Ability_BountyHunter_Lookout; +struct CDOTA_Ability_BountyHunter_ShurikenToss; +struct CDOTA_Ability_BountyHunter_Track; +struct CDOTA_Ability_BountyHunter_WindWalk; +struct CDOTA_Ability_Brewmaster_AstralPulse; +struct CDOTA_Ability_Brewmaster_CinderBrew; +struct CDOTA_Ability_Brewmaster_Cyclone; +struct CDOTA_Ability_Brewmaster_DispelMagic; +struct CDOTA_Ability_Brewmaster_DrunkenBrawler; +struct CDOTA_Ability_Brewmaster_DrunkenHaze; +struct CDOTA_Ability_Brewmaster_HurlBoulder; +struct CDOTA_Ability_Brewmaster_PermanentImmolation; +struct CDOTA_Ability_Brewmaster_PrimalSplit; +struct CDOTA_Ability_Brewmaster_Primal_Split_Cancel; +struct CDOTA_Ability_Brewmaster_Primal_Split_Fire_Phase; +struct CDOTA_Ability_Brewmaster_Pulverize; +struct CDOTA_Ability_Brewmaster_SpellImmunity; +struct CDOTA_Ability_Brewmaster_ThunderClap; +struct CDOTA_Ability_Brewmaster_WindWalk; +struct CDOTA_Ability_Bristleback_Bristleback; +struct CDOTA_Ability_Bristleback_Hairball; +struct CDOTA_Ability_Bristleback_QuillSpray; +struct CDOTA_Ability_Bristleback_ViscousNasalGoo; +struct CDOTA_Ability_Bristleback_Warpath; +struct CDOTA_Ability_Broodmother_IncapacitatingBite; +struct CDOTA_Ability_Broodmother_InsatiableHunger; +struct CDOTA_Ability_Broodmother_PoisonSting; +struct CDOTA_Ability_Broodmother_Silken_Bola; +struct CDOTA_Ability_Broodmother_SpawnSpiderite; +struct CDOTA_Ability_Broodmother_SpawnSpiderlings; +struct CDOTA_Ability_Broodmother_SpinWeb; +struct CDOTA_Ability_Broodmother_SpinWeb_Destroy; +struct CDOTA_Ability_Broodmother_StickySnare; +struct CDOTA_Ability_CallOfTheWild_Boar_Poison; +struct CDOTA_Ability_Capture; +struct CDOTA_Ability_CentaurKhan_EnduranceAura; +struct CDOTA_Ability_CentaurKhan_WarStomp; +struct CDOTA_Ability_Centaur_DoubleEdge; +struct CDOTA_Ability_Centaur_HoofStomp; +struct CDOTA_Ability_Centaur_Mount; +struct CDOTA_Ability_Centaur_Return; +struct CDOTA_Ability_Centaur_Stampede; +struct CDOTA_Ability_ChaosKnight_Chaos_Bolt; +struct CDOTA_Ability_ChaosKnight_Chaos_Strike; +struct CDOTA_Ability_ChaosKnight_Phantasm; +struct CDOTA_Ability_ChaosKnight_Reality_Rift; +struct CDOTA_Ability_Chen_DivineFavor; +struct CDOTA_Ability_Chen_HandOfGod; +struct CDOTA_Ability_Chen_HolyPersuasion; +struct CDOTA_Ability_Chen_Martyrdom; +struct CDOTA_Ability_Chen_Penitence; +struct CDOTA_Ability_Chen_TestOfFaith; +struct CDOTA_Ability_Chen_TestOfFaithTeleport; +struct CDOTA_Ability_Clinkz_Burning_Army; +struct CDOTA_Ability_Clinkz_DeathPact; +struct CDOTA_Ability_Clinkz_Empty1; +struct CDOTA_Ability_Clinkz_PiercingArrow; +struct CDOTA_Ability_Clinkz_Scepter; +struct CDOTA_Ability_Clinkz_SearingArrows; +struct CDOTA_Ability_Clinkz_Strafe; +struct CDOTA_Ability_Clinkz_WindWalk; +struct CDOTA_Ability_Consumable_Hidden; +struct CDOTA_Ability_Corspselord_Revive; +struct CDOTA_Ability_Courier_AutoDeliver; +struct CDOTA_Ability_Courier_Burst; +struct CDOTA_Ability_Courier_DequeuePickupFromStash; +struct CDOTA_Ability_Courier_GoToEnemySecretShop; +struct CDOTA_Ability_Courier_GoToSecretShop; +struct CDOTA_Ability_Courier_GoToSideShop; +struct CDOTA_Ability_Courier_GoToSideShop2; +struct CDOTA_Ability_Courier_Morph; +struct CDOTA_Ability_Courier_QueuePickupFromStash; +struct CDOTA_Ability_Courier_ReturnStashItems; +struct CDOTA_Ability_Courier_ReturnToBase; +struct CDOTA_Ability_Courier_Shield; +struct CDOTA_Ability_Courier_TakeStashAndTransferItems; +struct CDOTA_Ability_Courier_TakeStashItems; +struct CDOTA_Ability_Courier_TransferItems; +struct CDOTA_Ability_Courier_TransferItems_ToOtherPlayer; +struct CDOTA_Ability_Creature_Fire_Breath; +struct CDOTA_Ability_Creature_Flamestrike; +struct CDOTA_Ability_Creature_IceSlam; +struct CDOTA_Ability_Creature_Ice_Breath; +struct CDOTA_Ability_Creep_Irresolute; +struct CDOTA_Ability_Creep_Piercing; +struct CDOTA_Ability_Creep_Siege; +struct CDOTA_Ability_CrystalMaiden_BrillianceAura; +struct CDOTA_Ability_CrystalMaiden_CrystalNova; +struct CDOTA_Ability_CrystalMaiden_FreezingField; +struct CDOTA_Ability_CrystalMaiden_FreezingFieldStop; +struct CDOTA_Ability_CrystalMaiden_Frostbite; +struct CDOTA_Ability_CrystalMaiden_IceRink; +struct CDOTA_Ability_CrystalMaiden_Let_It_Go; +struct CDOTA_Ability_DarkSeer_IonShell; +struct CDOTA_Ability_DarkSeer_Normal_Punch; +struct CDOTA_Ability_DarkSeer_Surge; +struct CDOTA_Ability_DarkSeer_Vacuum; +struct CDOTA_Ability_DarkSeer_WallOfReplica; +struct CDOTA_Ability_DarkTrollWarlord_Ensnare; +struct CDOTA_Ability_DarkTrollWarlord_RaiseDead; +struct CDOTA_Ability_DarkWillow_Bedlam; +struct CDOTA_Ability_DarkWillow_BrambleMaze; +struct CDOTA_Ability_DarkWillow_CursedCrown; +struct CDOTA_Ability_DarkWillow_ShadowRealm; +struct CDOTA_Ability_DarkWillow_Terrorize; +struct CDOTA_Ability_DataDriven; +struct CDOTA_Ability_Dawnbreaker_Celestial_Hammer; +struct CDOTA_Ability_Dawnbreaker_Converge; +struct CDOTA_Ability_Dawnbreaker_Fire_Wreath; +struct CDOTA_Ability_Dawnbreaker_Land; +struct CDOTA_Ability_Dawnbreaker_Luminosity; +struct CDOTA_Ability_Dawnbreaker_Solar_Guardian; +struct CDOTA_Ability_Dazzle_Bad_Juju; +struct CDOTA_Ability_Dazzle_Good_Juju; +struct CDOTA_Ability_Dazzle_Poison_Touch; +struct CDOTA_Ability_Dazzle_Rain_Of_Vermin; +struct CDOTA_Ability_Dazzle_ShadowWave; +struct CDOTA_Ability_Dazzle_Shallow_Grave; +struct CDOTA_Ability_Dazzle_Weave; +struct CDOTA_Ability_DeathProphet_CarrionSwarm; +struct CDOTA_Ability_DeathProphet_Exorcism; +struct CDOTA_Ability_DeathProphet_Silence; +struct CDOTA_Ability_DeathProphet_SpiritSiphon; +struct CDOTA_Ability_DeathProphet_Witchcraft; +struct CDOTA_Ability_Diretide2020_HighFive; +struct CDOTA_Ability_Diretide_Portal; +struct CDOTA_Ability_Diretide_Portal_Channel; +struct CDOTA_Ability_Disruptor_Glimpse; +struct CDOTA_Ability_Disruptor_KineticField; +struct CDOTA_Ability_Disruptor_StaticStorm; +struct CDOTA_Ability_Disruptor_Thunder_Strike; +struct CDOTA_Ability_DoomBringer_Devour; +struct CDOTA_Ability_DoomBringer_Doom; +struct CDOTA_Ability_DoomBringer_Empty1; +struct CDOTA_Ability_DoomBringer_Empty2; +struct CDOTA_Ability_DoomBringer_InfernalBlade; +struct CDOTA_Ability_DoomBringer_ScorchedEarth; +struct CDOTA_Ability_DragonKnight_BreatheFire; +struct CDOTA_Ability_DragonKnight_DragonBlood; +struct CDOTA_Ability_DragonKnight_DragonTail; +struct CDOTA_Ability_DragonKnight_ElderDragonForm; +struct CDOTA_Ability_DragonKnight_Fireball; +struct CDOTA_Ability_DrowRanger_FrostArrows; +struct CDOTA_Ability_DrowRanger_Marksmanship; +struct CDOTA_Ability_DrowRanger_Multishot; +struct CDOTA_Ability_DrowRanger_Silence; +struct CDOTA_Ability_DrowRanger_Trueshot; +struct CDOTA_Ability_DrowRanger_WaveOfSilence; +struct CDOTA_Ability_EarthSpirit_BoulderSmash; +struct CDOTA_Ability_EarthSpirit_GeomagneticGrip; +struct CDOTA_Ability_EarthSpirit_Magnetize; +struct CDOTA_Ability_EarthSpirit_Petrify; +struct CDOTA_Ability_EarthSpirit_RollingBoulder; +struct CDOTA_Ability_EarthSpirit_StoneCaller; +struct CDOTA_Ability_Earthshaker_Aftershock; +struct CDOTA_Ability_Earthshaker_EchoSlam; +struct CDOTA_Ability_Earthshaker_EnchantTotem; +struct CDOTA_Ability_Earthshaker_Fissure; +struct CDOTA_Ability_Elder_Titan_AncestralSpirit; +struct CDOTA_Ability_Elder_Titan_EarthSplitter; +struct CDOTA_Ability_Elder_Titan_EchoStomp; +struct CDOTA_Ability_Elder_Titan_EchoStomp_Spirit; +struct CDOTA_Ability_Elder_Titan_MoveSpirit; +struct CDOTA_Ability_Elder_Titan_NaturalOrder; +struct CDOTA_Ability_Elder_Titan_NaturalOrder_Spirit; +struct CDOTA_Ability_Elder_Titan_ReturnSpirit; +struct CDOTA_Ability_EmberSpirit_Activate_FireRemnant; +struct CDOTA_Ability_EmberSpirit_FireRemnant; +struct CDOTA_Ability_EmberSpirit_FlameGuard; +struct CDOTA_Ability_EmberSpirit_SearingChains; +struct CDOTA_Ability_EmberSpirit_SleightOfFist; +struct CDOTA_Ability_Enchantress_Bunny_Hop; +struct CDOTA_Ability_Enchantress_Enchant; +struct CDOTA_Ability_Enchantress_Impetus; +struct CDOTA_Ability_Enchantress_Little_Friends; +struct CDOTA_Ability_Enchantress_NaturesAttendants; +struct CDOTA_Ability_Enchantress_Untouchable; +struct CDOTA_Ability_Enigma_BlackHole; +struct CDOTA_Ability_Enigma_DemonicConversion; +struct CDOTA_Ability_Enigma_Malefice; +struct CDOTA_Ability_Enigma_MidnightPulse; +struct CDOTA_Ability_EnragedWildkin_Hurricane; +struct CDOTA_Ability_EnragedWildkin_Tornado; +struct CDOTA_Ability_EnragedWildkin_ToughnessAura; +struct CDOTA_Ability_FacelessVoid_Backtrack; +struct CDOTA_Ability_FacelessVoid_Chronosphere; +struct CDOTA_Ability_FacelessVoid_TimeDilation; +struct CDOTA_Ability_FacelessVoid_TimeLock; +struct CDOTA_Ability_FacelessVoid_TimeWalk; +struct CDOTA_Ability_FacelessVoid_TimeWalk_Reverse; +struct CDOTA_Ability_FelBeast_Haunt; +struct CDOTA_Ability_FillerAbility; +struct CDOTA_Ability_Filler_Tooltip; +struct CDOTA_Ability_Firework_Mine; +struct CDOTA_Ability_FlagBearer_Creep_Aura_Effect; +struct CDOTA_Ability_ForestTrollHighPriest_Heal; +struct CDOTA_Ability_ForestTrollHighPriest_HealAmp_Aura; +struct CDOTA_Ability_ForestTrollHighPriest_ManaAura; +struct CDOTA_Ability_ForgedSpirit_MeltingStrike; +struct CDOTA_Ability_FrostbittenGolem_TimeWarpAura; +struct CDOTA_Ability_Frostivus2018_Centaur_DoubleEdge; +struct CDOTA_Ability_Frostivus2018_Centaur_Return; +struct CDOTA_Ability_Frostivus2018_Centaur_Stampede; +struct CDOTA_Ability_Frostivus2018_Clinkz_Burning_Army; +struct CDOTA_Ability_Frostivus2018_Clinkz_SearingArrows; +struct CDOTA_Ability_Frostivus2018_Clinkz_Strafe; +struct CDOTA_Ability_Frostivus2018_Clinkz_WindWalk; +struct CDOTA_Ability_Frostivus2018_DarkWillow_Bedlam; +struct CDOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze; +struct CDOTA_Ability_Frostivus2018_DarkWillow_ShadowRealm; +struct CDOTA_Ability_Frostivus2018_Decorate_Tree; +struct CDOTA_Ability_Frostivus2018_FacelessVoid_TimeLock; +struct CDOTA_Ability_Frostivus2018_FacelessVoid_TimeWalk; +struct CDOTA_Ability_Frostivus2018_Festive_Firework; +struct CDOTA_Ability_Frostivus2018_Huskar_Burning_Spear; +struct CDOTA_Ability_Frostivus2018_Huskar_Inner_Fire; +struct CDOTA_Ability_Frostivus2018_Huskar_Life_Break; +struct CDOTA_Ability_Frostivus2018_Luna_Eclipse; +struct CDOTA_Ability_Frostivus2018_Luna_LucentBeam; +struct CDOTA_Ability_Frostivus2018_Magnataur_Skewer; +struct CDOTA_Ability_Frostivus2018_Omniknight_Degen_Aura; +struct CDOTA_Ability_Frostivus2018_Omniknight_Purification; +struct CDOTA_Ability_Frostivus2018_Omniknight_Repel; +struct CDOTA_Ability_Frostivus2018_Pangolier_ShieldCrash; +struct CDOTA_Ability_Frostivus2018_Puck_DreamCoil; +struct CDOTA_Ability_Frostivus2018_Rubick_GhostShip; +struct CDOTA_Ability_Frostivus2018_Spectre_ActiveDispersion; +struct CDOTA_Ability_Frostivus2018_Summon_Snowman; +struct CDOTA_Ability_Frostivus2018_Throw_Snowball; +struct CDOTA_Ability_Frostivus2018_TrollWarlord_BattleTrance; +struct CDOTA_Ability_Frostivus2018_TrollWarlord_Fervor; +struct CDOTA_Ability_Frostivus2018_Tusk_WalrusKick; +struct CDOTA_Ability_Frostivus2018_Weaver_GeminateAttack; +struct CDOTA_Ability_Frostivus2018_Windrunner_Shackleshot; +struct CDOTA_Ability_Furbolg_Enrage_AttackSpeed; +struct CDOTA_Ability_Furbolg_Enrage_Damage; +struct CDOTA_Ability_Furion_CurseOfTheForest; +struct CDOTA_Ability_Furion_ForceOfNature; +struct CDOTA_Ability_Furion_Greater_Sprout; +struct CDOTA_Ability_Furion_Sprout; +struct CDOTA_Ability_Furion_Teleportation; +struct CDOTA_Ability_Furion_WrathOfNature; +struct CDOTA_Ability_Generic_Hidden; +struct CDOTA_Ability_Ghost_FrostAttack; +struct CDOTA_Ability_GiantWolf_CriticalStrike; +struct CDOTA_Ability_GiantWolf_Intimidate; +struct CDOTA_Ability_GnollAssassin_EnvenomedWeapon; +struct CDOTA_Ability_GraniteGolem_Bash; +struct CDOTA_Ability_GraniteGolem_HPAura; +struct CDOTA_Ability_Greevil_Miniboss_Black_BrainSap; +struct CDOTA_Ability_Greevil_Miniboss_Black_Nightmare; +struct CDOTA_Ability_Greevil_Miniboss_Blue_ColdFeet; +struct CDOTA_Ability_Greevil_Miniboss_Blue_IceVortex; +struct CDOTA_Ability_Greevil_Miniboss_Green_LivingArmor; +struct CDOTA_Ability_Greevil_Miniboss_Green_Overgrowth; +struct CDOTA_Ability_Greevil_Miniboss_Orange_DragonSlave; +struct CDOTA_Ability_Greevil_Miniboss_Orange_LightStrikeArray; +struct CDOTA_Ability_Greevil_Miniboss_Purple_PlagueWard; +struct CDOTA_Ability_Greevil_Miniboss_Purple_VenomousGale; +struct CDOTA_Ability_Greevil_Miniboss_Red_Earthshock; +struct CDOTA_Ability_Greevil_Miniboss_Red_Overpower; +struct CDOTA_Ability_Greevil_Miniboss_Sight; +struct CDOTA_Ability_Greevil_Miniboss_White_Degen_Aura; +struct CDOTA_Ability_Greevil_Miniboss_White_Purification; +struct CDOTA_Ability_Greevil_Miniboss_Yellow_IonShell; +struct CDOTA_Ability_Greevil_Miniboss_Yellow_Surge; +struct CDOTA_Ability_Grimstroke_DarkArtistry; +struct CDOTA_Ability_Grimstroke_Dark_Portrait; +struct CDOTA_Ability_Grimstroke_InkCreature; +struct CDOTA_Ability_Grimstroke_Ink_Over; +struct CDOTA_Ability_Grimstroke_Scepter; +struct CDOTA_Ability_Grimstroke_SoulChain; +struct CDOTA_Ability_Grimstroke_SpiritWalk; +struct CDOTA_Ability_Gyrocopter_Call_Down; +struct CDOTA_Ability_Gyrocopter_Flak_Cannon; +struct CDOTA_Ability_Gyrocopter_Homing_Missile; +struct CDOTA_Ability_Gyrocopter_Rocket_Barrage; +struct CDOTA_Ability_HarpyScout_TakeOff; +struct CDOTA_Ability_HarpyStorm_ChainLightning; +struct CDOTA_Ability_Healing_Campfire; +struct CDOTA_Ability_HighFive; +struct CDOTA_Ability_HillTroll_Rally; +struct CDOTA_Ability_Holdout_BladeFury; +struct CDOTA_Ability_Holdout_CullingBlade; +struct CDOTA_Ability_Holdout_GladiatorsUnite; +struct CDOTA_Ability_Holdout_Omnislash; +struct CDOTA_Ability_Holdout_ScourgeWard; +struct CDOTA_Ability_Hoodwink_AcornShot; +struct CDOTA_Ability_Hoodwink_Bushwhack; +struct CDOTA_Ability_Hoodwink_Caltrops; +struct CDOTA_Ability_Hoodwink_Decoy; +struct CDOTA_Ability_Hoodwink_HeavyQuiver; +struct CDOTA_Ability_Hoodwink_HuntersBoomerang; +struct CDOTA_Ability_Hoodwink_HuntersQuiver; +struct CDOTA_Ability_Hoodwink_Scurry; +struct CDOTA_Ability_Hoodwink_Sharpshooter; +struct CDOTA_Ability_Hoodwink_Sharpshooter_Release; +struct CDOTA_Ability_Huskar_Berserkers_Blood; +struct CDOTA_Ability_Huskar_Burning_Spear; +struct CDOTA_Ability_Huskar_Inner_Fire; +struct CDOTA_Ability_Huskar_Inner_Vitality; +struct CDOTA_Ability_Huskar_Life_Break; +struct CDOTA_Ability_IceShaman_IncendiaryBomb; +struct CDOTA_Ability_Invoker_Alacrity; +struct CDOTA_Ability_Invoker_Alacrity_AD; +struct CDOTA_Ability_Invoker_AttributeBonus; +struct CDOTA_Ability_Invoker_ChaosMeteor; +struct CDOTA_Ability_Invoker_ChaosMeteor_AD; +struct CDOTA_Ability_Invoker_ColdSnap; +struct CDOTA_Ability_Invoker_ColdSnap_AD; +struct CDOTA_Ability_Invoker_DeafeningBlast; +struct CDOTA_Ability_Invoker_DeafeningBlast_AD; +struct CDOTA_Ability_Invoker_EMP; +struct CDOTA_Ability_Invoker_EMP_AD; +struct CDOTA_Ability_Invoker_Empty1; +struct CDOTA_Ability_Invoker_Empty2; +struct CDOTA_Ability_Invoker_Exort; +struct CDOTA_Ability_Invoker_ForgeSpirit; +struct CDOTA_Ability_Invoker_ForgeSpirit_AD; +struct CDOTA_Ability_Invoker_GhostWalk; +struct CDOTA_Ability_Invoker_GhostWalk_AD; +struct CDOTA_Ability_Invoker_IceWall; +struct CDOTA_Ability_Invoker_IceWall_AD; +struct CDOTA_Ability_Invoker_Invoke; +struct CDOTA_Ability_Invoker_InvokedBase; +struct CDOTA_Ability_Invoker_Quas; +struct CDOTA_Ability_Invoker_SunStrike; +struct CDOTA_Ability_Invoker_SunStrike_AD; +struct CDOTA_Ability_Invoker_Tornado; +struct CDOTA_Ability_Invoker_Tornado_AD; +struct CDOTA_Ability_Invoker_Wex; +struct CDOTA_Ability_Jakiro_DualBreath; +struct CDOTA_Ability_Jakiro_IcePath; +struct CDOTA_Ability_Jakiro_Liquid_Fire; +struct CDOTA_Ability_Jakiro_Liquid_Ice; +struct CDOTA_Ability_Jakiro_Macropyre; +struct CDOTA_Ability_Juggernaut_BladeDance; +struct CDOTA_Ability_Juggernaut_BladeFury; +struct CDOTA_Ability_Juggernaut_HealingWard; +struct CDOTA_Ability_Juggernaut_Omnislash; +struct CDOTA_Ability_Juggernaut_Swift_Slash; +struct CDOTA_Ability_JungleSpirit_Storm_Cyclone; +struct CDOTA_Ability_JungleSpirit_Volcano_Eruption; +struct CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback; +struct CDOTA_Ability_Jungle_Spirit_Range_Attack; +struct CDOTA_Ability_Jungle_Spirit_Reductions; +struct CDOTA_Ability_Jungle_Spirit_RiverRejuvenation; +struct CDOTA_Ability_KeeperOfTheLight_BlindingLight; +struct CDOTA_Ability_KeeperOfTheLight_ChakraMagic; +struct CDOTA_Ability_KeeperOfTheLight_Illuminate; +struct CDOTA_Ability_KeeperOfTheLight_IlluminateEnd; +struct CDOTA_Ability_KeeperOfTheLight_ManaLeak; +struct CDOTA_Ability_KeeperOfTheLight_Radiant_Bind; +struct CDOTA_Ability_KeeperOfTheLight_Recall; +struct CDOTA_Ability_KeeperOfTheLight_SpiritForm; +struct CDOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate; +struct CDOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd; +struct CDOTA_Ability_KeeperOfTheLight_Will_O_Wisp; +struct CDOTA_Ability_KoboldTaskmaster_SpeedAura; +struct CDOTA_Ability_KoboldTunneler_Prospecting; +struct CDOTA_Ability_Kobold_Disarm; +struct CDOTA_Ability_Kunkka_GhostShip; +struct CDOTA_Ability_Kunkka_Return; +struct CDOTA_Ability_Kunkka_Tidal_Wave; +struct CDOTA_Ability_Kunkka_Tidebringer; +struct CDOTA_Ability_Kunkka_Torrent; +struct CDOTA_Ability_Kunkka_Torrent_Storm; +struct CDOTA_Ability_Kunkka_XMarksTheSpot; +struct CDOTA_Ability_Legion_Commander_Duel; +struct CDOTA_Ability_Legion_Commander_MomentOfCourage; +struct CDOTA_Ability_Legion_Commander_OverwhelmingOdds; +struct CDOTA_Ability_Legion_Commander_PressTheAttack; +struct CDOTA_Ability_Leshrac_Diabolic_Edict; +struct CDOTA_Ability_Leshrac_Greater_Lightning_Storm; +struct CDOTA_Ability_Leshrac_Lightning_Storm; +struct CDOTA_Ability_Leshrac_Pulse_Nova; +struct CDOTA_Ability_Leshrac_Split_Earth; +struct CDOTA_Ability_Lesser_NightCrawler_Pounce; +struct CDOTA_Ability_Lich_ChainFrost; +struct CDOTA_Ability_Lich_DarkSorcery; +struct CDOTA_Ability_Lich_FrostArmor; +struct CDOTA_Ability_Lich_FrostAura; +struct CDOTA_Ability_Lich_FrostNova; +struct CDOTA_Ability_Lich_FrostShield; +struct CDOTA_Ability_Lich_Ice_Spire; +struct CDOTA_Ability_Lich_Sinister_Gaze; +struct CDOTA_Ability_Life_Stealer_Assimilate; +struct CDOTA_Ability_Life_Stealer_AssimilateEject; +struct CDOTA_Ability_Life_Stealer_Consume; +struct CDOTA_Ability_Life_Stealer_Control; +struct CDOTA_Ability_Life_Stealer_Empty1; +struct CDOTA_Ability_Life_Stealer_Empty2; +struct CDOTA_Ability_Life_Stealer_Empty3; +struct CDOTA_Ability_Life_Stealer_Feast; +struct CDOTA_Ability_Life_Stealer_Ghoul_Frenzy; +struct CDOTA_Ability_Life_Stealer_Infest; +struct CDOTA_Ability_Life_Stealer_Open_Wounds; +struct CDOTA_Ability_Life_Stealer_Rage; +struct CDOTA_Ability_Lina_DragonSlave; +struct CDOTA_Ability_Lina_FierySoul; +struct CDOTA_Ability_Lina_Flame_Cloak; +struct CDOTA_Ability_Lina_LagunaBlade; +struct CDOTA_Ability_Lina_LightStrikeArray; +struct CDOTA_Ability_Lion_FingerOfDeath; +struct CDOTA_Ability_Lion_Impale; +struct CDOTA_Ability_Lion_ManaDrain; +struct CDOTA_Ability_Lion_Voodoo; +struct CDOTA_Ability_LoneDruid_Entangling_Claws; +struct CDOTA_Ability_LoneDruid_Rabid; +struct CDOTA_Ability_LoneDruid_SavageRoar; +struct CDOTA_Ability_LoneDruid_SavageRoar_Bear; +struct CDOTA_Ability_LoneDruid_SpiritBear; +struct CDOTA_Ability_LoneDruid_SpiritBear_Defender; +struct CDOTA_Ability_LoneDruid_SpiritBear_Demolish; +struct CDOTA_Ability_LoneDruid_SpiritBear_Entangle; +struct CDOTA_Ability_LoneDruid_SpiritBear_Return; +struct CDOTA_Ability_LoneDruid_SpiritLink; +struct CDOTA_Ability_LoneDruid_TrueForm; +struct CDOTA_Ability_LoneDruid_TrueForm_BattleCry; +struct CDOTA_Ability_LoneDruid_TrueForm_Druid; +struct CDOTA_Ability_Lua; +struct CDOTA_Ability_Luna_Eclipse; +struct CDOTA_Ability_Luna_LucentBeam; +struct CDOTA_Ability_Luna_LunarBlessing; +struct CDOTA_Ability_Luna_Lunar_Grace; +struct CDOTA_Ability_Luna_MoonGlaive; +struct CDOTA_Ability_Lycan_FeralImpulse; +struct CDOTA_Ability_Lycan_Howl; +struct CDOTA_Ability_Lycan_Shapeshift; +struct CDOTA_Ability_Lycan_SummonWolves; +struct CDOTA_Ability_Lycan_SummonWolves_CriticalStrike; +struct CDOTA_Ability_Lycan_SummonWolves_PermanentInvisibility; +struct CDOTA_Ability_Lycan_Wolf_Bite; +struct CDOTA_Ability_Magnataur_Empower; +struct CDOTA_Ability_Magnataur_Horn_Toss; +struct CDOTA_Ability_Magnataur_ReversePolarity; +struct CDOTA_Ability_Magnataur_Shockwave; +struct CDOTA_Ability_Magnataur_Skewer; +struct CDOTA_Ability_Marci_Companion_Run; +struct CDOTA_Ability_Marci_Grapple; +struct CDOTA_Ability_Marci_Guardian; +struct CDOTA_Ability_Marci_Unleash; +struct CDOTA_Ability_Mars_ArenaOfBlood; +struct CDOTA_Ability_Mars_Bulwark; +struct CDOTA_Ability_Mars_GodsRebuke; +struct CDOTA_Ability_Mars_Spear; +struct CDOTA_Ability_Medusa_Cold_Blooded; +struct CDOTA_Ability_Medusa_ManaShield; +struct CDOTA_Ability_Medusa_MysticSnake; +struct CDOTA_Ability_Medusa_SplitShot; +struct CDOTA_Ability_Medusa_StoneGaze; +struct CDOTA_Ability_Meepo_DividedWeStand; +struct CDOTA_Ability_Meepo_Earthbind; +struct CDOTA_Ability_Meepo_Geostrike; +struct CDOTA_Ability_Meepo_Petrify; +struct CDOTA_Ability_Meepo_Poof; +struct CDOTA_Ability_Meepo_Ransack; +struct CDOTA_Ability_Mirana_Arrow; +struct CDOTA_Ability_Mirana_Leap; +struct CDOTA_Ability_Mirana_MoonlightShadow; +struct CDOTA_Ability_Mirana_Starfall; +struct CDOTA_Ability_MonkeyKing_Boundless_Strike; +struct CDOTA_Ability_MonkeyKing_FurArmy; +struct CDOTA_Ability_MonkeyKing_QuadrupleTap; +struct CDOTA_Ability_MonkeyKing_Spring; +struct CDOTA_Ability_MonkeyKing_Spring_Early; +struct CDOTA_Ability_MonkeyKing_Transform; +struct CDOTA_Ability_MonkeyKing_TreeDance; +struct CDOTA_Ability_MonkeyKing_UnTransform; +struct CDOTA_Ability_Morokai_JungleHealBeam; +struct CDOTA_Ability_Morphling_AdaptiveStrike_Agi; +struct CDOTA_Ability_Morphling_AdaptiveStrike_Str; +struct CDOTA_Ability_Morphling_Hybrid; +struct CDOTA_Ability_Morphling_Morph; +struct CDOTA_Ability_Morphling_MorphReplicate; +struct CDOTA_Ability_Morphling_Morph_Agi; +struct CDOTA_Ability_Morphling_Morph_Str; +struct CDOTA_Ability_Morphling_Replicate; +struct CDOTA_Ability_Morphling_Waveform; +struct CDOTA_Ability_Morty_Hop; +struct CDOTA_Ability_Morty_Hop_Launch; +struct CDOTA_Ability_MudGolem_CloakAura; +struct CDOTA_Ability_MudGolem_HurlBoulder; +struct CDOTA_Ability_MudGolem_RockDestroy; +struct CDOTA_Ability_Muerta_DeadShot; +struct CDOTA_Ability_Muerta_Gunslinger; +struct CDOTA_Ability_Muerta_PierceTheVeil; +struct CDOTA_Ability_Muerta_TheCalling; +struct CDOTA_Ability_NagaSiren_Crit; +struct CDOTA_Ability_NagaSiren_Ensnare; +struct CDOTA_Ability_NagaSiren_MirrorImage; +struct CDOTA_Ability_NagaSiren_RipTide; +struct CDOTA_Ability_NagaSiren_SongOfTheSiren; +struct CDOTA_Ability_NagaSiren_SongOfTheSiren_Cancel; +struct CDOTA_Ability_Naga_Siren_Reel_In; +struct CDOTA_Ability_Necrolyte_Death_Pulse; +struct CDOTA_Ability_Necrolyte_Death_Seeker; +struct CDOTA_Ability_Necrolyte_Heartstopper_Aura; +struct CDOTA_Ability_Necrolyte_ReapersScythe; +struct CDOTA_Ability_Necrolyte_Sadist; +struct CDOTA_Ability_Necrolyte_Sadist_Stop; +struct CDOTA_Ability_Necronomicon_Archer_AoE; +struct CDOTA_Ability_Necronomicon_Archer_ManaBurn; +struct CDOTA_Ability_Necronomicon_Archer_Purge; +struct CDOTA_Ability_Necronomicon_Warrior_LastWill; +struct CDOTA_Ability_Necronomicon_Warrior_ManaBurn; +struct CDOTA_Ability_Necronomicon_Warrior_Sight; +struct CDOTA_Ability_Neutral_SpellImmunity; +struct CDOTA_Ability_Neutral_Upgrade; +struct CDOTA_Ability_Nevermore_Necromastery; +struct CDOTA_Ability_Nevermore_Presence; +struct CDOTA_Ability_Nevermore_Requiem; +struct CDOTA_Ability_Nevermore_Shadowraze; +struct CDOTA_Ability_Nevermore_Shadowraze1; +struct CDOTA_Ability_Nevermore_Shadowraze2; +struct CDOTA_Ability_Nevermore_Shadowraze3; +struct CDOTA_Ability_NianCharge; +struct CDOTA_Ability_Nian_Apocalypse; +struct CDOTA_Ability_Nian_Dive; +struct CDOTA_Ability_Nian_Eruption; +struct CDOTA_Ability_Nian_Frenzy; +struct CDOTA_Ability_Nian_GreaterBash; +struct CDOTA_Ability_Nian_Hurricane; +struct CDOTA_Ability_Nian_Leap; +struct CDOTA_Ability_Nian_Roar; +struct CDOTA_Ability_Nian_Sigils; +struct CDOTA_Ability_Nian_Tail_Swipe; +struct CDOTA_Ability_Nian_Waterball; +struct CDOTA_Ability_Nian_Whirlpool; +struct CDOTA_Ability_NightStalker_CripplingFear; +struct CDOTA_Ability_NightStalker_Darkness; +struct CDOTA_Ability_NightStalker_HunterInTheNight; +struct CDOTA_Ability_NightStalker_Void; +struct CDOTA_Ability_Nyx_Assassin_Burrow; +struct CDOTA_Ability_Nyx_Assassin_Impale; +struct CDOTA_Ability_Nyx_Assassin_ManaBurn; +struct CDOTA_Ability_Nyx_Assassin_SpikedCarapace; +struct CDOTA_Ability_Nyx_Assassin_Unburrow; +struct CDOTA_Ability_Nyx_Assassin_Vendetta; +struct CDOTA_Ability_Obsidian_Destroyer_ArcaneOrb; +struct CDOTA_Ability_Obsidian_Destroyer_AstralImprisonment; +struct CDOTA_Ability_Obsidian_Destroyer_Equilibrium; +struct CDOTA_Ability_Obsidian_Destroyer_EssenceAura; +struct CDOTA_Ability_Obsidian_Destroyer_SanityEclipse; +struct CDOTA_Ability_OgreBruiser_OgreSmash; +struct CDOTA_Ability_OgreMagi_FrostArmor; +struct CDOTA_Ability_Ogre_Magi_Bloodlust; +struct CDOTA_Ability_Ogre_Magi_Fireblast; +struct CDOTA_Ability_Ogre_Magi_Ignite; +struct CDOTA_Ability_Ogre_Magi_Multicast; +struct CDOTA_Ability_Ogre_Magi_Smash; +struct CDOTA_Ability_Ogre_Magi_Unrefined_Fireblast; +struct CDOTA_Ability_Omniknight_Angelic_Flight; +struct CDOTA_Ability_Omniknight_Degen_Aura; +struct CDOTA_Ability_Omniknight_GuardianAngel; +struct CDOTA_Ability_Omniknight_Hammer_Of_Purity; +struct CDOTA_Ability_Omniknight_Martyr; +struct CDOTA_Ability_Omniknight_Pacify; +struct CDOTA_Ability_Omniknight_Purification; +struct CDOTA_Ability_Omniknight_Repel; +struct CDOTA_Ability_Oracle_FalsePromise; +struct CDOTA_Ability_Oracle_FatesEdict; +struct CDOTA_Ability_Oracle_FortunesEnd; +struct CDOTA_Ability_Oracle_PurifyingFlames; +struct CDOTA_Ability_Oracle_RainOfDestiny; +struct CDOTA_Ability_Pangolier_Gyroshell; +struct CDOTA_Ability_Pangolier_GyroshellStop; +struct CDOTA_Ability_Pangolier_HeartPiercer; +struct CDOTA_Ability_Pangolier_LuckyShot; +struct CDOTA_Ability_Pangolier_Rollup; +struct CDOTA_Ability_Pangolier_RollupStop; +struct CDOTA_Ability_Pangolier_ShieldCrash; +struct CDOTA_Ability_Pangolier_Swashbuckle; +struct CDOTA_Ability_PhantomAssassin_Blur; +struct CDOTA_Ability_PhantomAssassin_CoupdeGrace; +struct CDOTA_Ability_PhantomAssassin_Fan_Of_Knives; +struct CDOTA_Ability_PhantomAssassin_PhantomStrike; +struct CDOTA_Ability_PhantomAssassin_Stifling_Dagger; +struct CDOTA_Ability_PhantomLancer_Doppelwalk; +struct CDOTA_Ability_PhantomLancer_Juxtapose; +struct CDOTA_Ability_PhantomLancer_PhantomEdge; +struct CDOTA_Ability_PhantomLancer_SpiritLance; +struct CDOTA_Ability_Phoenix_FireSpirits; +struct CDOTA_Ability_Phoenix_IcarusDive; +struct CDOTA_Ability_Phoenix_IcarusDiveStop; +struct CDOTA_Ability_Phoenix_LaunchFireSpirit; +struct CDOTA_Ability_Phoenix_SunRay; +struct CDOTA_Ability_Phoenix_SunRayStop; +struct CDOTA_Ability_Phoenix_SunRayToggleMove; +struct CDOTA_Ability_Phoenix_Supernova; +struct CDOTA_Ability_PineCone_AcornShot; +struct CDOTA_Ability_PineCone_ShieldBash; +struct CDOTA_Ability_Plus_GuildBanner; +struct CDOTA_Ability_Plus_HighFive; +struct CDOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap; +struct CDOTA_Ability_PrimalBeast_Onslaught; +struct CDOTA_Ability_PrimalBeast_Onslaught_Release; +struct CDOTA_Ability_PrimalBeast_Pulverize; +struct CDOTA_Ability_PrimalBeast_Rock_Throw; +struct CDOTA_Ability_PrimalBeast_Trample; +struct CDOTA_Ability_PrimalBeast_Uproar; +struct CDOTA_Ability_Primal_Companion; +struct CDOTA_Ability_Puck_DreamCoil; +struct CDOTA_Ability_Puck_EtherealJaunt; +struct CDOTA_Ability_Puck_IllusoryOrb; +struct CDOTA_Ability_Puck_PhaseShift; +struct CDOTA_Ability_Puck_WaningRift; +struct CDOTA_Ability_PudgeMiniboss_ArmorCorruption; +struct CDOTA_Ability_PudgeMiniboss_HatefulStrike; +struct CDOTA_Ability_Pudge_Dismember; +struct CDOTA_Ability_Pudge_Eject; +struct CDOTA_Ability_Pudge_FleshHeap; +struct CDOTA_Ability_Pudge_MeatHook; +struct CDOTA_Ability_Pudge_Rot; +struct CDOTA_Ability_Pugna_Decrepify; +struct CDOTA_Ability_Pugna_LifeDrain; +struct CDOTA_Ability_Pugna_NetherBlast; +struct CDOTA_Ability_Pugna_NetherWard; +struct CDOTA_Ability_QueenOfPain_Blink; +struct CDOTA_Ability_QueenOfPain_ScreamOfPain; +struct CDOTA_Ability_QueenOfPain_ShadowStrike; +struct CDOTA_Ability_QueenOfPain_SonicWave; +struct CDOTA_Ability_Rattletrap_BatteryAssault; +struct CDOTA_Ability_Rattletrap_Hookshot; +struct CDOTA_Ability_Rattletrap_JetPack; +struct CDOTA_Ability_Rattletrap_Overclocking; +struct CDOTA_Ability_Rattletrap_PowerCogs; +struct CDOTA_Ability_Rattletrap_RocketFlare; +struct CDOTA_Ability_Razor_EyeOfTheStorm; +struct CDOTA_Ability_Razor_PlasmaField; +struct CDOTA_Ability_Razor_StaticLink; +struct CDOTA_Ability_Razor_UnstableCurrent; +struct CDOTA_Ability_Riki_Backstab; +struct CDOTA_Ability_Riki_BlinkStrike; +struct CDOTA_Ability_Riki_Permanent_Invisibility; +struct CDOTA_Ability_Riki_Poison_Dart; +struct CDOTA_Ability_Riki_SmokeScreen; +struct CDOTA_Ability_Riki_TricksOfTheTrade; +struct CDOTA_Ability_Roshan_Bash; +struct CDOTA_Ability_Roshan_Devotion; +struct CDOTA_Ability_Roshan_InherentBuffs; +struct CDOTA_Ability_Roshan_Slam; +struct CDOTA_Ability_Roshan_SpellBlock; +struct CDOTA_Ability_Rubick_Arcane_Supremacy; +struct CDOTA_Ability_Rubick_Empty1; +struct CDOTA_Ability_Rubick_Empty2; +struct CDOTA_Ability_Rubick_FadeBolt; +struct CDOTA_Ability_Rubick_Hidden1; +struct CDOTA_Ability_Rubick_Hidden2; +struct CDOTA_Ability_Rubick_Hidden3; +struct CDOTA_Ability_Rubick_NullField; +struct CDOTA_Ability_Rubick_SpellSteal; +struct CDOTA_Ability_Rubick_Telekinesis; +struct CDOTA_Ability_Rubick_TelekinesisLand; +struct CDOTA_Ability_Rubick_TelekinesisLand_Self; +struct CDOTA_Ability_SandKing_BurrowStrike; +struct CDOTA_Ability_SandKing_CausticFinale; +struct CDOTA_Ability_SandKing_Epicenter; +struct CDOTA_Ability_SandKing_SandStorm; +struct CDOTA_Ability_SatyrHellcaller_Shockwave; +struct CDOTA_Ability_SatyrHellcaller_UnholyAura; +struct CDOTA_Ability_SatyrSoulstealer_ManaBurn; +struct CDOTA_Ability_SatyrTrickster_Purge; +struct CDOTA_Ability_Seasonal_Decorate_Tree; +struct CDOTA_Ability_Seasonal_Festive_Firework; +struct CDOTA_Ability_Seasonal_Firecrackers; +struct CDOTA_Ability_Seasonal_Summon_CNY_Balloon; +struct CDOTA_Ability_Seasonal_Summon_CNY_Tree; +struct CDOTA_Ability_Seasonal_Summon_Dragon; +struct CDOTA_Ability_Seasonal_Summon_Dragon_Thinker; +struct CDOTA_Ability_Seasonal_Summon_Penguin; +struct CDOTA_Ability_Seasonal_Summon_Snowman; +struct CDOTA_Ability_Seasonal_Summon_TI9_Balloon; +struct CDOTA_Ability_Seasonal_TI10_DiscoBall; +struct CDOTA_Ability_Seasonal_TI10_GuildBanner; +struct CDOTA_Ability_Seasonal_TI10_HotPotato; +struct CDOTA_Ability_Seasonal_TI10_HotPotato_ThrowExistingPotato; +struct CDOTA_Ability_Seasonal_TI10_Portal; +struct CDOTA_Ability_Seasonal_TI10_SoccerBall; +struct CDOTA_Ability_Seasonal_TI11_Balloon; +struct CDOTA_Ability_Seasonal_TI11_BubbleGun; +struct CDOTA_Ability_Seasonal_TI11_CongaLine; +struct CDOTA_Ability_Seasonal_TI11_Duel; +struct CDOTA_Ability_Seasonal_TI11_Paper; +struct CDOTA_Ability_Seasonal_TI11_Rock; +struct CDOTA_Ability_Seasonal_TI11_RockPaperScissors; +struct CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base; +struct CDOTA_Ability_Seasonal_TI11_Scissors; +struct CDOTA_Ability_Seasonal_TI9_Banner; +struct CDOTA_Ability_Seasonal_TI9_Instruments; +struct CDOTA_Ability_Seasonal_TI9_Monkey; +struct CDOTA_Ability_Seasonal_TI9_Shovel; +struct CDOTA_Ability_Seasonal_Throw_Snowball; +struct CDOTA_Ability_ShadowShamanVoodoo; +struct CDOTA_Ability_ShadowShaman_EtherShock; +struct CDOTA_Ability_ShadowShaman_MassSerpentWard; +struct CDOTA_Ability_ShadowShaman_Serpentine; +struct CDOTA_Ability_ShadowShaman_Shackles; +struct CDOTA_Ability_Shadow_Demon_Demonic_Cleanse; +struct CDOTA_Ability_Shadow_Demon_Demonic_Purge; +struct CDOTA_Ability_Shadow_Demon_Disruption; +struct CDOTA_Ability_Shadow_Demon_Disseminate; +struct CDOTA_Ability_Shadow_Demon_Shadow_Poison; +struct CDOTA_Ability_Shadow_Demon_Shadow_Poison_Release; +struct CDOTA_Ability_Shadow_Demon_Soul_Catcher; +struct CDOTA_Ability_ShootFirework; +struct CDOTA_Ability_Shredder_Chakram; +struct CDOTA_Ability_Shredder_ChakramAlias_shredder_chakram_2; +struct CDOTA_Ability_Shredder_Flamethrower; +struct CDOTA_Ability_Shredder_Reactive_Armor; +struct CDOTA_Ability_Shredder_ReturnChakram; +struct CDOTA_Ability_Shredder_ReturnChakramAlias_shredder_return_chakram_2; +struct CDOTA_Ability_Shredder_TimberChain; +struct CDOTA_Ability_Shredder_WhirlingDeath; +struct CDOTA_Ability_Silencer_CurseOfTheSilent; +struct CDOTA_Ability_Silencer_GlaivesOfWisdom; +struct CDOTA_Ability_Silencer_GlobalSilence; +struct CDOTA_Ability_Silencer_LastWord; +struct CDOTA_Ability_SkeletonKing_HellfireBlast; +struct CDOTA_Ability_SkeletonKing_MortalStrike; +struct CDOTA_Ability_SkeletonKing_Reincarnation; +struct CDOTA_Ability_SkeletonKing_VampiricAura; +struct CDOTA_Ability_Skywrath_Mage_Ancient_Seal; +struct CDOTA_Ability_Skywrath_Mage_Arcane_Bolt; +struct CDOTA_Ability_Skywrath_Mage_Concussive_Shot; +struct CDOTA_Ability_Skywrath_Mage_Mystic_Flare; +struct CDOTA_Ability_Skywrath_Mage_Shield_Of_The_Scion; +struct CDOTA_Ability_Slardar_Amplify_Damage; +struct CDOTA_Ability_Slardar_Bash; +struct CDOTA_Ability_Slardar_Slithereen_Crush; +struct CDOTA_Ability_Slardar_Sprint; +struct CDOTA_Ability_Slark_DarkPact; +struct CDOTA_Ability_Slark_Depth_Shroud; +struct CDOTA_Ability_Slark_EssenceShift; +struct CDOTA_Ability_Slark_Fish_Bait; +struct CDOTA_Ability_Slark_Pounce; +struct CDOTA_Ability_Slark_ShadowDance; +struct CDOTA_Ability_Slithereen_Riptide; +struct CDOTA_Ability_Snapfire_FiresnapCookie; +struct CDOTA_Ability_Snapfire_GobbleUp; +struct CDOTA_Ability_Snapfire_LilShredder; +struct CDOTA_Ability_Snapfire_MortimerKisses; +struct CDOTA_Ability_Snapfire_Scatterblast; +struct CDOTA_Ability_Snapfire_SpitCreep; +struct CDOTA_Ability_Sniper_Assassinate; +struct CDOTA_Ability_Sniper_Concussive_Grenade; +struct CDOTA_Ability_Sniper_Headshot; +struct CDOTA_Ability_Sniper_Shrapnel; +struct CDOTA_Ability_Sniper_TakeAim; +struct CDOTA_Ability_Spawnlord_Aura; +struct CDOTA_Ability_Spawnlord_Master_Bash; +struct CDOTA_Ability_Spawnlord_Master_Freeze; +struct CDOTA_Ability_Spawnlord_Master_Stomp; +struct CDOTA_Ability_Special_Bonus_20_Bash_2; +struct CDOTA_Ability_Special_Bonus_20_Crit_15; +struct CDOTA_Ability_Special_Bonus_24_Crit_2; +struct CDOTA_Ability_Special_Bonus_30_Crit_2; +struct CDOTA_Ability_Special_Bonus_50_Crit_40; +struct CDOTA_Ability_Special_Bonus_Agility_10; +struct CDOTA_Ability_Special_Bonus_Agility_100; +struct CDOTA_Ability_Special_Bonus_Agility_12; +struct CDOTA_Ability_Special_Bonus_Agility_13; +struct CDOTA_Ability_Special_Bonus_Agility_14; +struct CDOTA_Ability_Special_Bonus_Agility_15; +struct CDOTA_Ability_Special_Bonus_Agility_16; +struct CDOTA_Ability_Special_Bonus_Agility_20; +struct CDOTA_Ability_Special_Bonus_Agility_25; +struct CDOTA_Ability_Special_Bonus_Agility_30; +struct CDOTA_Ability_Special_Bonus_Agility_40; +struct CDOTA_Ability_Special_Bonus_Agility_5; +struct CDOTA_Ability_Special_Bonus_Agility_6; +struct CDOTA_Ability_Special_Bonus_Agility_7; +struct CDOTA_Ability_Special_Bonus_Agility_8; +struct CDOTA_Ability_Special_Bonus_Agility_80; +struct CDOTA_Ability_Special_Bonus_Agility_9; +struct CDOTA_Ability_Special_Bonus_Agility_And_Intelligence_6; +struct CDOTA_Ability_Special_Bonus_All_Stats_10; +struct CDOTA_Ability_Special_Bonus_All_Stats_12; +struct CDOTA_Ability_Special_Bonus_All_Stats_14; +struct CDOTA_Ability_Special_Bonus_All_Stats_15; +struct CDOTA_Ability_Special_Bonus_All_Stats_20; +struct CDOTA_Ability_Special_Bonus_All_Stats_4; +struct CDOTA_Ability_Special_Bonus_All_Stats_5; +struct CDOTA_Ability_Special_Bonus_All_Stats_6; +struct CDOTA_Ability_Special_Bonus_All_Stats_7; +struct CDOTA_Ability_Special_Bonus_All_Stats_8; +struct CDOTA_Ability_Special_Bonus_Armor_10; +struct CDOTA_Ability_Special_Bonus_Armor_12; +struct CDOTA_Ability_Special_Bonus_Armor_15; +struct CDOTA_Ability_Special_Bonus_Armor_2; +struct CDOTA_Ability_Special_Bonus_Armor_20; +struct CDOTA_Ability_Special_Bonus_Armor_3; +struct CDOTA_Ability_Special_Bonus_Armor_30; +struct CDOTA_Ability_Special_Bonus_Armor_4; +struct CDOTA_Ability_Special_Bonus_Armor_5; +struct CDOTA_Ability_Special_Bonus_Armor_6; +struct CDOTA_Ability_Special_Bonus_Armor_7; +struct CDOTA_Ability_Special_Bonus_Armor_8; +struct CDOTA_Ability_Special_Bonus_Armor_9; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_100; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_15; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_20; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_25; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_30; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_40; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_45; +struct CDOTA_Ability_Special_Bonus_Attack_Base_Damage_50; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_10; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_100; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_12; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_120; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_15; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_150; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_16; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_160; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_18; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_20; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_200; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_25; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_250; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_251; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_252; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_30; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_35; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_40; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_400; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_45; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_50; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_55; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_60; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_65; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_70; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_75; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_80; +struct CDOTA_Ability_Special_Bonus_Attack_Damage_90; +struct CDOTA_Ability_Special_Bonus_Attack_Range_100; +struct CDOTA_Ability_Special_Bonus_Attack_Range_125; +struct CDOTA_Ability_Special_Bonus_Attack_Range_150; +struct CDOTA_Ability_Special_Bonus_Attack_Range_175; +struct CDOTA_Ability_Special_Bonus_Attack_Range_200; +struct CDOTA_Ability_Special_Bonus_Attack_Range_250; +struct CDOTA_Ability_Special_Bonus_Attack_Range_275; +struct CDOTA_Ability_Special_Bonus_Attack_Range_300; +struct CDOTA_Ability_Special_Bonus_Attack_Range_325; +struct CDOTA_Ability_Special_Bonus_Attack_Range_400; +struct CDOTA_Ability_Special_Bonus_Attack_Range_50; +struct CDOTA_Ability_Special_Bonus_Attack_Range_75; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_10; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_100; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_110; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_120; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_140; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_15; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_160; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_175; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_20; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_200; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_25; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_250; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_30; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_35; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_40; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_45; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_50; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_55; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_60; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_70; +struct CDOTA_Ability_Special_Bonus_Attack_Speed_80; +struct CDOTA_Ability_Special_Bonus_Attributes; +struct CDOTA_Ability_Special_Bonus_Base; +struct CDOTA_Ability_Special_Bonus_Base_Attack_Rate_1; +struct CDOTA_Ability_Special_Bonus_Cast_Range_100; +struct CDOTA_Ability_Special_Bonus_Cast_Range_125; +struct CDOTA_Ability_Special_Bonus_Cast_Range_150; +struct CDOTA_Ability_Special_Bonus_Cast_Range_175; +struct CDOTA_Ability_Special_Bonus_Cast_Range_200; +struct CDOTA_Ability_Special_Bonus_Cast_Range_225; +struct CDOTA_Ability_Special_Bonus_Cast_Range_250; +struct CDOTA_Ability_Special_Bonus_Cast_Range_275; +struct CDOTA_Ability_Special_Bonus_Cast_Range_300; +struct CDOTA_Ability_Special_Bonus_Cast_Range_325; +struct CDOTA_Ability_Special_Bonus_Cast_Range_350; +struct CDOTA_Ability_Special_Bonus_Cast_Range_400; +struct CDOTA_Ability_Special_Bonus_Cast_Range_50; +struct CDOTA_Ability_Special_Bonus_Cast_Range_60; +struct CDOTA_Ability_Special_Bonus_Cast_Range_75; +struct CDOTA_Ability_Special_Bonus_Cast_Speed_30; +struct CDOTA_Ability_Special_Bonus_Cleave_100; +struct CDOTA_Ability_Special_Bonus_Cleave_130; +struct CDOTA_Ability_Special_Bonus_Cleave_140; +struct CDOTA_Ability_Special_Bonus_Cleave_15; +struct CDOTA_Ability_Special_Bonus_Cleave_150; +struct CDOTA_Ability_Special_Bonus_Cleave_175; +struct CDOTA_Ability_Special_Bonus_Cleave_20; +struct CDOTA_Ability_Special_Bonus_Cleave_25; +struct CDOTA_Ability_Special_Bonus_Cleave_30; +struct CDOTA_Ability_Special_Bonus_Cleave_35; +struct CDOTA_Ability_Special_Bonus_Cleave_40; +struct CDOTA_Ability_Special_Bonus_Cleave_60; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_10; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_12; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_14; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_15; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_20; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_25; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_30; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_40; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_50; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_6; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_65; +struct CDOTA_Ability_Special_Bonus_Cooldown_Reduction_8; +struct CDOTA_Ability_Special_Bonus_Corruption_25; +struct CDOTA_Ability_Special_Bonus_Corruption_3; +struct CDOTA_Ability_Special_Bonus_Corruption_4; +struct CDOTA_Ability_Special_Bonus_Corruption_5; +struct CDOTA_Ability_Special_Bonus_Day_Vision_400; +struct CDOTA_Ability_Special_Bonus_Evasion_10; +struct CDOTA_Ability_Special_Bonus_Evasion_12; +struct CDOTA_Ability_Special_Bonus_Evasion_15; +struct CDOTA_Ability_Special_Bonus_Evasion_16; +struct CDOTA_Ability_Special_Bonus_Evasion_20; +struct CDOTA_Ability_Special_Bonus_Evasion_25; +struct CDOTA_Ability_Special_Bonus_Evasion_30; +struct CDOTA_Ability_Special_Bonus_Evasion_40; +struct CDOTA_Ability_Special_Bonus_Evasion_50; +struct CDOTA_Ability_Special_Bonus_Evasion_75; +struct CDOTA_Ability_Special_Bonus_Evasion_8; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_10; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_15; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_20; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_25; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_30; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_35; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_40; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_5; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_50; +struct CDOTA_Ability_Special_Bonus_Exp_Boost_60; +struct CDOTA_Ability_Special_Bonus_Gold_Ability_Draft; +struct CDOTA_Ability_Special_Bonus_Gold_Income_120; +struct CDOTA_Ability_Special_Bonus_Gold_Income_150; +struct CDOTA_Ability_Special_Bonus_Gold_Income_180; +struct CDOTA_Ability_Special_Bonus_Gold_Income_210; +struct CDOTA_Ability_Special_Bonus_Gold_Income_240; +struct CDOTA_Ability_Special_Bonus_Gold_Income_30; +struct CDOTA_Ability_Special_Bonus_Gold_Income_300; +struct CDOTA_Ability_Special_Bonus_Gold_Income_420; +struct CDOTA_Ability_Special_Bonus_Gold_Income_60; +struct CDOTA_Ability_Special_Bonus_Gold_Income_90; +struct CDOTA_Ability_Special_Bonus_Gold_lvl10_l; +struct CDOTA_Ability_Special_Bonus_Gold_lvl15_l; +struct CDOTA_Ability_Special_Bonus_Gold_lvl15_r; +struct CDOTA_Ability_Special_Bonus_Gold_lvl20_l; +struct CDOTA_Ability_Special_Bonus_Gold_lvl20_r; +struct CDOTA_Ability_Special_Bonus_Gold_lvl25_l; +struct CDOTA_Ability_Special_Bonus_Gold_lvl25_r; +struct CDOTA_Ability_Special_Bonus_HP_100; +struct CDOTA_Ability_Special_Bonus_HP_1000; +struct CDOTA_Ability_Special_Bonus_HP_125; +struct CDOTA_Ability_Special_Bonus_HP_150; +struct CDOTA_Ability_Special_Bonus_HP_175; +struct CDOTA_Ability_Special_Bonus_HP_200; +struct CDOTA_Ability_Special_Bonus_HP_225; +struct CDOTA_Ability_Special_Bonus_HP_250; +struct CDOTA_Ability_Special_Bonus_HP_275; +struct CDOTA_Ability_Special_Bonus_HP_300; +struct CDOTA_Ability_Special_Bonus_HP_325; +struct CDOTA_Ability_Special_Bonus_HP_350; +struct CDOTA_Ability_Special_Bonus_HP_375; +struct CDOTA_Ability_Special_Bonus_HP_400; +struct CDOTA_Ability_Special_Bonus_HP_450; +struct CDOTA_Ability_Special_Bonus_HP_475; +struct CDOTA_Ability_Special_Bonus_HP_500; +struct CDOTA_Ability_Special_Bonus_HP_600; +struct CDOTA_Ability_Special_Bonus_HP_650; +struct CDOTA_Ability_Special_Bonus_HP_700; +struct CDOTA_Ability_Special_Bonus_HP_800; +struct CDOTA_Ability_Special_Bonus_HP_900; +struct CDOTA_Ability_Special_Bonus_HP_Regen_10; +struct CDOTA_Ability_Special_Bonus_HP_Regen_12; +struct CDOTA_Ability_Special_Bonus_HP_Regen_14; +struct CDOTA_Ability_Special_Bonus_HP_Regen_15; +struct CDOTA_Ability_Special_Bonus_HP_Regen_16; +struct CDOTA_Ability_Special_Bonus_HP_Regen_20; +struct CDOTA_Ability_Special_Bonus_HP_Regen_25; +struct CDOTA_Ability_Special_Bonus_HP_Regen_30; +struct CDOTA_Ability_Special_Bonus_HP_Regen_35; +struct CDOTA_Ability_Special_Bonus_HP_Regen_4; +struct CDOTA_Ability_Special_Bonus_HP_Regen_40; +struct CDOTA_Ability_Special_Bonus_HP_Regen_5; +struct CDOTA_Ability_Special_Bonus_HP_Regen_50; +struct CDOTA_Ability_Special_Bonus_HP_Regen_6; +struct CDOTA_Ability_Special_Bonus_HP_Regen_7; +struct CDOTA_Ability_Special_Bonus_HP_Regen_8; +struct CDOTA_Ability_Special_Bonus_HP_Regen_80; +struct CDOTA_Ability_Special_Bonus_Haste; +struct CDOTA_Ability_Special_Bonus_Intelligence_10; +struct CDOTA_Ability_Special_Bonus_Intelligence_12; +struct CDOTA_Ability_Special_Bonus_Intelligence_13; +struct CDOTA_Ability_Special_Bonus_Intelligence_14; +struct CDOTA_Ability_Special_Bonus_Intelligence_15; +struct CDOTA_Ability_Special_Bonus_Intelligence_16; +struct CDOTA_Ability_Special_Bonus_Intelligence_20; +struct CDOTA_Ability_Special_Bonus_Intelligence_25; +struct CDOTA_Ability_Special_Bonus_Intelligence_30; +struct CDOTA_Ability_Special_Bonus_Intelligence_35; +struct CDOTA_Ability_Special_Bonus_Intelligence_6; +struct CDOTA_Ability_Special_Bonus_Intelligence_7; +struct CDOTA_Ability_Special_Bonus_Intelligence_75; +struct CDOTA_Ability_Special_Bonus_Intelligence_8; +struct CDOTA_Ability_Special_Bonus_Lifesteal_10; +struct CDOTA_Ability_Special_Bonus_Lifesteal_100; +struct CDOTA_Ability_Special_Bonus_Lifesteal_12; +struct CDOTA_Ability_Special_Bonus_Lifesteal_15; +struct CDOTA_Ability_Special_Bonus_Lifesteal_18; +struct CDOTA_Ability_Special_Bonus_Lifesteal_20; +struct CDOTA_Ability_Special_Bonus_Lifesteal_25; +struct CDOTA_Ability_Special_Bonus_Lifesteal_30; +struct CDOTA_Ability_Special_Bonus_Lifesteal_35; +struct CDOTA_Ability_Special_Bonus_Lifesteal_40; +struct CDOTA_Ability_Special_Bonus_Lifesteal_8; +struct CDOTA_Ability_Special_Bonus_MP_100; +struct CDOTA_Ability_Special_Bonus_MP_1000; +struct CDOTA_Ability_Special_Bonus_MP_125; +struct CDOTA_Ability_Special_Bonus_MP_150; +struct CDOTA_Ability_Special_Bonus_MP_175; +struct CDOTA_Ability_Special_Bonus_MP_200; +struct CDOTA_Ability_Special_Bonus_MP_225; +struct CDOTA_Ability_Special_Bonus_MP_250; +struct CDOTA_Ability_Special_Bonus_MP_275; +struct CDOTA_Ability_Special_Bonus_MP_300; +struct CDOTA_Ability_Special_Bonus_MP_350; +struct CDOTA_Ability_Special_Bonus_MP_400; +struct CDOTA_Ability_Special_Bonus_MP_500; +struct CDOTA_Ability_Special_Bonus_MP_600; +struct CDOTA_Ability_Special_Bonus_MP_700; +struct CDOTA_Ability_Special_Bonus_MP_800; +struct CDOTA_Ability_Special_Bonus_MP_Regen_1; +struct CDOTA_Ability_Special_Bonus_MP_Regen_10; +struct CDOTA_Ability_Special_Bonus_MP_Regen_125; +struct CDOTA_Ability_Special_Bonus_MP_Regen_14; +struct CDOTA_Ability_Special_Bonus_MP_Regen_150; +struct CDOTA_Ability_Special_Bonus_MP_Regen_175; +struct CDOTA_Ability_Special_Bonus_MP_Regen_2; +struct CDOTA_Ability_Special_Bonus_MP_Regen_250; +struct CDOTA_Ability_Special_Bonus_MP_Regen_3; +struct CDOTA_Ability_Special_Bonus_MP_Regen_4; +struct CDOTA_Ability_Special_Bonus_MP_Regen_5; +struct CDOTA_Ability_Special_Bonus_MP_Regen_6; +struct CDOTA_Ability_Special_Bonus_MP_Regen_8; +struct CDOTA_Ability_Special_Bonus_MP_Regen_Amp_10; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_10; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_100; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_12; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_14; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_15; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_20; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_25; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_30; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_35; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_40; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_5; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_50; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_6; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_8; +struct CDOTA_Ability_Special_Bonus_Magic_Resistance_80; +struct CDOTA_Ability_Special_Bonus_Mana_Break_15; +struct CDOTA_Ability_Special_Bonus_Mana_Break_20; +struct CDOTA_Ability_Special_Bonus_Mana_Break_25; +struct CDOTA_Ability_Special_Bonus_Mana_Break_35; +struct CDOTA_Ability_Special_Bonus_Mana_Break_40; +struct CDOTA_Ability_Special_Bonus_Mana_Reduction_11; +struct CDOTA_Ability_Special_Bonus_Mana_Reduction_8; +struct CDOTA_Ability_Special_Bonus_Mana_Reduction_9; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_10; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_100; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_15; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_20; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_25; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_30; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_35; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_40; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_45; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_50; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_60; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_65; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_75; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_90; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_10; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_12; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_14; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_16; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_5; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_6; +struct CDOTA_Ability_Special_Bonus_Movement_Speed_Percentage_8; +struct CDOTA_Ability_Special_Bonus_Night_Vision_1000; +struct CDOTA_Ability_Special_Bonus_Night_Vision_400; +struct CDOTA_Ability_Special_Bonus_Night_Vision_500; +struct CDOTA_Ability_Special_Bonus_Night_Vision_600; +struct CDOTA_Ability_Special_Bonus_Night_Vision_800; +struct CDOTA_Ability_Special_Bonus_Reincarnation_200; +struct CDOTA_Ability_Special_Bonus_Reincarnation_250; +struct CDOTA_Ability_Special_Bonus_Reincarnation_300; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_15; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_20; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_25; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_30; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_35; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_40; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_45; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_50; +struct CDOTA_Ability_Special_Bonus_Respawn_Reduction_60; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_10; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_11; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_12; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_14; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_15; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_16; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_18; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_20; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_25; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_3; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_4; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_5; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_6; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_7; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_8; +struct CDOTA_Ability_Special_Bonus_Spell_Amplify_9; +struct CDOTA_Ability_Special_Bonus_Spell_Block_15; +struct CDOTA_Ability_Special_Bonus_Spell_Block_18; +struct CDOTA_Ability_Special_Bonus_Spell_Block_20; +struct CDOTA_Ability_Special_Bonus_Spell_Immunity; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_10; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_12; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_13; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_15; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_20; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_25; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_30; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_40; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_50; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_6; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_60; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_70; +struct CDOTA_Ability_Special_Bonus_Spell_Lifesteal_8; +struct CDOTA_Ability_Special_Bonus_Status_Resistance_10; +struct CDOTA_Ability_Special_Bonus_Status_Resistance_15; +struct CDOTA_Ability_Special_Bonus_Status_Resistance_20; +struct CDOTA_Ability_Special_Bonus_Status_Resistance_25; +struct CDOTA_Ability_Special_Bonus_Strength_10; +struct CDOTA_Ability_Special_Bonus_Strength_11; +struct CDOTA_Ability_Special_Bonus_Strength_12; +struct CDOTA_Ability_Special_Bonus_Strength_13; +struct CDOTA_Ability_Special_Bonus_Strength_14; +struct CDOTA_Ability_Special_Bonus_Strength_15; +struct CDOTA_Ability_Special_Bonus_Strength_16; +struct CDOTA_Ability_Special_Bonus_Strength_18; +struct CDOTA_Ability_Special_Bonus_Strength_20; +struct CDOTA_Ability_Special_Bonus_Strength_25; +struct CDOTA_Ability_Special_Bonus_Strength_3; +struct CDOTA_Ability_Special_Bonus_Strength_30; +struct CDOTA_Ability_Special_Bonus_Strength_4; +struct CDOTA_Ability_Special_Bonus_Strength_40; +struct CDOTA_Ability_Special_Bonus_Strength_5; +struct CDOTA_Ability_Special_Bonus_Strength_6; +struct CDOTA_Ability_Special_Bonus_Strength_7; +struct CDOTA_Ability_Special_Bonus_Strength_8; +struct CDOTA_Ability_Special_Bonus_Strength_9; +struct CDOTA_Ability_Special_Bonus_TrueStrike; +struct CDOTA_Ability_Special_Bonus_Undefined; +struct CDOTA_Ability_Special_Bonus_Unique_Abaddon; +struct CDOTA_Ability_Special_Bonus_Unique_Abaddon_2; +struct CDOTA_Ability_Special_Bonus_Unique_Abaddon_3; +struct CDOTA_Ability_Special_Bonus_Unique_Abaddon_4; +struct CDOTA_Ability_Special_Bonus_Unique_Abaddon_5; +struct CDOTA_Ability_Special_Bonus_Unique_Aghsfort_Lich_Extra_Chain_Frost_Jumps; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist_2; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist_3; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist_4; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist_5; +struct CDOTA_Ability_Special_Bonus_Unique_Alchemist_6; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_1; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_2; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_3; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_4; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_5; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_6; +struct CDOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_7; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_2; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_3; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_4; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_5; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_6; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_7; +struct CDOTA_Ability_Special_Bonus_Unique_Antimage_8; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_2; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_3; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_4; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_5; +struct CDOTA_Ability_Special_Bonus_Unique_Arc_Warden_6; +struct CDOTA_Ability_Special_Bonus_Unique_ArenaOfBloodHPRegen; +struct CDOTA_Ability_Special_Bonus_Unique_Axe; +struct CDOTA_Ability_Special_Bonus_Unique_Axe_2; +struct CDOTA_Ability_Special_Bonus_Unique_Axe_3; +struct CDOTA_Ability_Special_Bonus_Unique_Axe_4; +struct CDOTA_Ability_Special_Bonus_Unique_Axe_5; +struct CDOTA_Ability_Special_Bonus_Unique_Axe_6; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_1; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_2; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_3; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_4; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_5; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_6; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_7; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_8; +struct CDOTA_Ability_Special_Bonus_Unique_Bane_9; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_1; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_2; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_3; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_4; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_5; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_6; +struct CDOTA_Ability_Special_Bonus_Unique_Batrider_7; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_2; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_3; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_4; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_5; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_6; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_7; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_8; +struct CDOTA_Ability_Special_Bonus_Unique_Beastmaster_9; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_5; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_6; +struct CDOTA_Ability_Special_Bonus_Unique_Bloodseeker_7; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_2; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_3; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_4; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_5; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_6; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_7; +struct CDOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_8; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_2; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_3; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_4; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_5; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_6; +struct CDOTA_Ability_Special_Bonus_Unique_Brewmaster_7; +struct CDOTA_Ability_Special_Bonus_Unique_Bristleback; +struct CDOTA_Ability_Special_Bonus_Unique_Bristleback_2; +struct CDOTA_Ability_Special_Bonus_Unique_Bristleback_3; +struct CDOTA_Ability_Special_Bonus_Unique_Bristleback_4; +struct CDOTA_Ability_Special_Bonus_Unique_Broodmother_1; +struct CDOTA_Ability_Special_Bonus_Unique_Broodmother_2; +struct CDOTA_Ability_Special_Bonus_Unique_Broodmother_3; +struct CDOTA_Ability_Special_Bonus_Unique_Broodmother_4; +struct CDOTA_Ability_Special_Bonus_Unique_Broodmother_5; +struct CDOTA_Ability_Special_Bonus_Unique_Bulwark_DamageReduction; +struct CDOTA_Ability_Special_Bonus_Unique_Bulwark_Speed; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_1; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_2; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_3; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_4; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_5; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_6; +struct CDOTA_Ability_Special_Bonus_Unique_Centaur_7; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7; +struct CDOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_1; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_10; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_11; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_2; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_3; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_4; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_5; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_6; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_7; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_8; +struct CDOTA_Ability_Special_Bonus_Unique_Chen_9; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_1; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_10; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_11; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_12; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_2; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_3; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_4; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_5; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_6; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_7; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_8; +struct CDOTA_Ability_Special_Bonus_Unique_Clinkz_9; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_2; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_3; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_4; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_5; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_6; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_7; +struct CDOTA_Ability_Special_Bonus_Unique_Clockwerk_8; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_1; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_2; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_3; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_4; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_5; +struct CDOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_6; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_1; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_2; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_3; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_4; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_5; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_6; +struct CDOTA_Ability_Special_Bonus_Unique_DarkWillow_7; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_10; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_11; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_12; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_13; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_6; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_7; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_8; +struct CDOTA_Ability_Special_Bonus_Unique_Dark_Seer_9; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_CelestialHammer_Slow; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Cast_Range; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Damage; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Converge_Slow; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_AoE; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_Swipe; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Magic_Immunity; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Ministun; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_wreath_Charges; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Attack_Count; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Crit; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Cooldown; +struct CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Radius; +struct CDOTA_Ability_Special_Bonus_Unique_Dazzle_1; +struct CDOTA_Ability_Special_Bonus_Unique_Dazzle_2; +struct CDOTA_Ability_Special_Bonus_Unique_Dazzle_3; +struct CDOTA_Ability_Special_Bonus_Unique_Dazzle_4; +struct CDOTA_Ability_Special_Bonus_Unique_Dazzle_5; +struct CDOTA_Ability_Special_Bonus_Unique_Death_Prophet; +struct CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_2; +struct CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_3; +struct CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_4; +struct CDOTA_Ability_Special_Bonus_Unique_Death_Prophet_5; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_2; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_3; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_4; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_5; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_6; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_7; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_8; +struct CDOTA_Ability_Special_Bonus_Unique_Disruptor_9; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_1; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_2; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_3; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_4; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_5; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_6; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_7; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_8; +struct CDOTA_Ability_Special_Bonus_Unique_Doom_9; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_2; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_3; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_4; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_5; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_6; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_7; +struct CDOTA_Ability_Special_Bonus_Unique_Dragon_Knight_8; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7; +struct CDOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_2; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_3; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_4; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_5; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_6; +struct CDOTA_Ability_Special_Bonus_Unique_Earth_Spirit_7; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker_5; +struct CDOTA_Ability_Special_Bonus_Unique_Earthshaker_6; +struct CDOTA_Ability_Special_Bonus_Unique_Elder_Titan; +struct CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_2; +struct CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_3; +struct CDOTA_Ability_Special_Bonus_Unique_Elder_Titan_4; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_1; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_2; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_3; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_4; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_5; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_6; +struct CDOTA_Ability_Special_Bonus_Unique_Ember_Spirit_7; +struct CDOTA_Ability_Special_Bonus_Unique_Enchantress_1; +struct CDOTA_Ability_Special_Bonus_Unique_Enchantress_2; +struct CDOTA_Ability_Special_Bonus_Unique_Enchantress_3; +struct CDOTA_Ability_Special_Bonus_Unique_Enchantress_4; +struct CDOTA_Ability_Special_Bonus_Unique_Enchantress_5; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_2; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_3; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_4; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_5; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_6; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_7; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_8; +struct CDOTA_Ability_Special_Bonus_Unique_Enigma_9; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_2; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_3; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_4; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_5; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_6; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_7; +struct CDOTA_Ability_Special_Bonus_Unique_Faceless_Void_8; +struct CDOTA_Ability_Special_Bonus_Unique_Furion; +struct CDOTA_Ability_Special_Bonus_Unique_Furion_2; +struct CDOTA_Ability_Special_Bonus_Unique_Furion_3; +struct CDOTA_Ability_Special_Bonus_Unique_Furion_4; +struct CDOTA_Ability_Special_Bonus_Unique_Furion_5; +struct CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_ExtraCrit; +struct CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_Slow; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_1; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_2; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_3; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_4; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_5; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_6; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_7; +struct CDOTA_Ability_Special_Bonus_Unique_Grimstroke_8; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_1; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_2; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_3; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_4; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_5; +struct CDOTA_Ability_Special_Bonus_Unique_Gyrocopter_6; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotBounces; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotCharges; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotDamage; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShot_ArmorCorruption; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_BushwhackCooldown; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Damage; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Duration; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Camouflague; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_ScurryDuration; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPierceHeroes; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPureDamage; +struct CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Sharpshooter_Speed; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_2; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_3; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_4; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_5; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_6; +struct CDOTA_Ability_Special_Bonus_Unique_Huskar_7; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_1; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_10; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_11; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_12; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_13; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_5; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_6; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_7; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_8; +struct CDOTA_Ability_Special_Bonus_Unique_Invoker_9; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_2; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_3; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_4; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_5; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_6; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_7; +struct CDOTA_Ability_Special_Bonus_Unique_Jakiro_8; +struct CDOTA_Ability_Special_Bonus_Unique_Juggernaut; +struct CDOTA_Ability_Special_Bonus_Unique_Juggernaut_2; +struct CDOTA_Ability_Special_Bonus_Unique_Juggernaut_3; +struct CDOTA_Ability_Special_Bonus_Unique_Juggernaut_4; +struct CDOTA_Ability_Special_Bonus_Unique_Juggernaut_5; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Attack_Damage; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Armor; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Health; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Cooldown_Reduction; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Evasion; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Health_Regen; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Magic_Resistance; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Movement_Speed; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Amplify; +struct CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Lifesteal; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8; +struct CDOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_2; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_3; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_4; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_5; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_6; +struct CDOTA_Ability_Special_Bonus_Unique_Kunkka_7; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_2; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_3; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_4; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_5; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_6; +struct CDOTA_Ability_Special_Bonus_Unique_Legion_Commander_7; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_1; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_2; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_3; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_4; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_5; +struct CDOTA_Ability_Special_Bonus_Unique_Leshrac_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_1; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_7; +struct CDOTA_Ability_Special_Bonus_Unique_Lich_8; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lifestealer_7; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_1; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lina_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lion; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_10; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_11; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_7; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_8; +struct CDOTA_Ability_Special_Bonus_Unique_Lion_9; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_1; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_10; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_11; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_12; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_7; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_8; +struct CDOTA_Ability_Special_Bonus_Unique_Lone_Druid_9; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_1; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_2; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_3; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_4; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_5; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_6; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_7; +struct CDOTA_Ability_Special_Bonus_Unique_Luna_8; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_1; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_2; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_3; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_4; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_5; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_6; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_7; +struct CDOTA_Ability_Special_Bonus_Unique_Lycan_8; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_2; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_3; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_4; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_5; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_6; +struct CDOTA_Ability_Special_Bonus_Unique_Magnus_7; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Grapple_StunDuration; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_Lifesteal; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_MagicImmunity; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_AllyAbsorb; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Damage; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Range; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_LungeRefresh; +struct CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_Silence; +struct CDOTA_Ability_Special_Bonus_Unique_MarsSpearStunDuration; +struct CDOTA_Ability_Special_Bonus_Unique_Medusa; +struct CDOTA_Ability_Special_Bonus_Unique_Medusa_2; +struct CDOTA_Ability_Special_Bonus_Unique_Medusa_3; +struct CDOTA_Ability_Special_Bonus_Unique_Medusa_4; +struct CDOTA_Ability_Special_Bonus_Unique_Medusa_5; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo_2; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo_3; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo_4; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo_5; +struct CDOTA_Ability_Special_Bonus_Unique_Meepo_6; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_1; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_2; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_3; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_4; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_5; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_6; +struct CDOTA_Ability_Special_Bonus_Unique_Mirana_7; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_10; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_11; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_2; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_3; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_4; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_5; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_6; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_7; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_8; +struct CDOTA_Ability_Special_Bonus_Unique_Monkey_King_9; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamHeal; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamRange; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SecondBeam; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps_Interval; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_ThirdBeam; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_Treant_Level; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Aoe_Damage; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Projectile_Duration; +struct CDOTA_Ability_Special_Bonus_Unique_Morokai_TreantLevel; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_1; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_10; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_2; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_3; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_4; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_5; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_6; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_7; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_8; +struct CDOTA_Ability_Special_Bonus_Unique_Morphling_9; +struct CDOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_2; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_3; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_4; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_5; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_6; +struct CDOTA_Ability_Special_Bonus_Unique_Naga_Siren_7; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos_2; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos_3; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos_4; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos_5; +struct CDOTA_Ability_Special_Bonus_Unique_Necrophos_6; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_1; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_2; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_3; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_4; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_5; +struct CDOTA_Ability_Special_Bonus_Unique_Nevermore_6; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_5; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_6; +struct CDOTA_Ability_Special_Bonus_Unique_Night_Stalker_7; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx_2; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx_3; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx_4; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx_5; +struct CDOTA_Ability_Special_Bonus_Unique_Nyx_6; +struct CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi; +struct CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_2; +struct CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_3; +struct CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_4; +struct CDOTA_Ability_Special_Bonus_Unique_Ogre_Magi_5; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_1; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_2; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_3; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_4; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_5; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_6; +struct CDOTA_Ability_Special_Bonus_Unique_Omniknight_7; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_2; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_3; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_4; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_5; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_6; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_7; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_8; +struct CDOTA_Ability_Special_Bonus_Unique_Oracle_9; +struct CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer; +struct CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_2; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_3; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_4; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_5; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_6; +struct CDOTA_Ability_Special_Bonus_Unique_Pangolier_7; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_2; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_3; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_4; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_5; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_6; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_7; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_8; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_9; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_6; +struct CDOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_7; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_1; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_2; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_3; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_4; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_5; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_6; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_7; +struct CDOTA_Ability_Special_Bonus_Unique_Phoenix_8; +struct CDOTA_Ability_Special_Bonus_Unique_Puck; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_2; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_3; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_4; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_5; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_6; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_7; +struct CDOTA_Ability_Special_Bonus_Unique_Puck_8; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_1; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_2; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_3; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_4; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_5; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_6; +struct CDOTA_Ability_Special_Bonus_Unique_Pudge_7; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_1; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_2; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_3; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_4; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_5; +struct CDOTA_Ability_Special_Bonus_Unique_Pugna_6; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_2; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_3; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_4; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_5; +struct CDOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_6; +struct CDOTA_Ability_Special_Bonus_Unique_Razor; +struct CDOTA_Ability_Special_Bonus_Unique_Razor_2; +struct CDOTA_Ability_Special_Bonus_Unique_Razor_3; +struct CDOTA_Ability_Special_Bonus_Unique_Razor_4; +struct CDOTA_Ability_Special_Bonus_Unique_Razor_5; +struct CDOTA_Ability_Special_Bonus_Unique_Razor_6; +struct CDOTA_Ability_Special_Bonus_Unique_RebukeCooldown; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_1; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_2; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_3; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_4; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_5; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_6; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_7; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_8; +struct CDOTA_Ability_Special_Bonus_Unique_Riki_9; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_2; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_3; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_4; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_5; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_6; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_7; +struct CDOTA_Ability_Special_Bonus_Unique_Rubick_8; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_2; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_3; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_4; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_5; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_6; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_7; +struct CDOTA_Ability_Special_Bonus_Unique_Sand_King_8; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_1; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_2; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_3; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_4; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_5; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_6; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_7; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_8; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Demon_9; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_1; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_2; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_3; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_4; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_5; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_6; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_7; +struct CDOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_8; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_6; +struct CDOTA_Ability_Special_Bonus_Unique_Silencer_7; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_2; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_3; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_4; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_5; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_6; +struct CDOTA_Ability_Special_Bonus_Unique_Skywrath_7; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_2; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_3; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_4; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_5; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_6; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_7; +struct CDOTA_Ability_Special_Bonus_Unique_Slardar_8; +struct CDOTA_Ability_Special_Bonus_Unique_Slark; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_2; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_3; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_4; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_5; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_6; +struct CDOTA_Ability_Special_Bonus_Unique_Slark_7; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_1; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_2; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_3; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_4; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_5; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_6; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_7; +struct CDOTA_Ability_Special_Bonus_Unique_Snapfire_8; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_1; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_2; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_3; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_4; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_5; +struct CDOTA_Ability_Special_Bonus_Unique_Sniper_6; +struct CDOTA_Ability_Special_Bonus_Unique_SpearBonusDamage; +struct CDOTA_Ability_Special_Bonus_Unique_SpearCooldown; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre_2; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre_3; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre_4; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre_5; +struct CDOTA_Ability_Special_Bonus_Unique_Spectre_6; +struct CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_1; +struct CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_2; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_3; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_4; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_5; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_6; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_7; +struct CDOTA_Ability_Special_Bonus_Unique_Storm_Spirit_8; +struct CDOTA_Ability_Special_Bonus_Unique_Sven; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_2; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_3; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_4; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_5; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_6; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_7; +struct CDOTA_Ability_Special_Bonus_Unique_Sven_8; +struct CDOTA_Ability_Special_Bonus_Unique_Techies; +struct CDOTA_Ability_Special_Bonus_Unique_Techies_2; +struct CDOTA_Ability_Special_Bonus_Unique_Techies_3; +struct CDOTA_Ability_Special_Bonus_Unique_Techies_4; +struct CDOTA_Ability_Special_Bonus_Unique_Techies_5; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_2; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_3; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_4; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_5; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_6; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_7; +struct CDOTA_Ability_Special_Bonus_Unique_Templar_Assassin_8; +struct CDOTA_Ability_Special_Bonus_Unique_Terrorblade; +struct CDOTA_Ability_Special_Bonus_Unique_Terrorblade_2; +struct CDOTA_Ability_Special_Bonus_Unique_Terrorblade_3; +struct CDOTA_Ability_Special_Bonus_Unique_Terrorblade_4; +struct CDOTA_Ability_Special_Bonus_Unique_Terrorblade_5; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_2; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_3; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_4; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_5; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_6; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_7; +struct CDOTA_Ability_Special_Bonus_Unique_Tidehunter_8; +struct CDOTA_Ability_Special_Bonus_Unique_Timbersaw; +struct CDOTA_Ability_Special_Bonus_Unique_Timbersaw_2; +struct CDOTA_Ability_Special_Bonus_Unique_Timbersaw_3; +struct CDOTA_Ability_Special_Bonus_Unique_Timbersaw_4; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_2; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_3; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_4; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_5; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_6; +struct CDOTA_Ability_Special_Bonus_Unique_Tinker_7; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_2; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_3; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_4; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_5; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_6; +struct CDOTA_Ability_Special_Bonus_Unique_Tiny_7; +struct CDOTA_Ability_Special_Bonus_Unique_Treant; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_10; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_11; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_12; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_13; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_2; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_3; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_4; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_5; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_6; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_7; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_8; +struct CDOTA_Ability_Special_Bonus_Unique_Treant_9; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_2; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_3; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_4; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_5; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_6; +struct CDOTA_Ability_Special_Bonus_Unique_Troll_Warlord_7; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_2; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_3; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_4; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_5; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_6; +struct CDOTA_Ability_Special_Bonus_Unique_Tusk_7; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_2; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_3; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_4; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_5; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_6; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_7; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_8; +struct CDOTA_Ability_Special_Bonus_Unique_Underlord_9; +struct CDOTA_Ability_Special_Bonus_Unique_Undying; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_2; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_3; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_4; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_5; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_6; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_7; +struct CDOTA_Ability_Special_Bonus_Unique_Undying_8; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_2; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_3; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_4; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_5; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_6; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_7; +struct CDOTA_Ability_Special_Bonus_Unique_Ursa_8; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_1; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_2; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_3; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_4; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_5; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_6; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_7; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_8; +struct CDOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_9; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_2; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_3; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_4; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_5; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_6; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_7; +struct CDOTA_Ability_Special_Bonus_Unique_Venomancer_8; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_1; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_2; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_3; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_4; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_5; +struct CDOTA_Ability_Special_Bonus_Unique_Viper_6; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_1; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_2; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_3; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_4; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_5; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_6; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_7; +struct CDOTA_Ability_Special_Bonus_Unique_Visage_8; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_1; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_2; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_3; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_4; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_5; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_6; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_7; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_8; +struct CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_9; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_1; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_10; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_2; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_3; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_4; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_5; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_6; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_7; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_8; +struct CDOTA_Ability_Special_Bonus_Unique_Warlock_9; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_1; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_2; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_3; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_4; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_5; +struct CDOTA_Ability_Special_Bonus_Unique_Weaver_6; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_10; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_2; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_3; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_4; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_5; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_6; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_7; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_8; +struct CDOTA_Ability_Special_Bonus_Unique_Windranger_9; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_1; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_2; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_3; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_4; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_5; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_6; +struct CDOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_7; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_10; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_2; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_3; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_4; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_5; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_6; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_7; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_8; +struct CDOTA_Ability_Special_Bonus_Unique_Wisp_9; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_1; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_2; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_3; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_4; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_5; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_6; +struct CDOTA_Ability_Special_Bonus_Unique_Witch_Doctor_7; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_1; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_10; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_11; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_2; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_3; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_4; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_5; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_6; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_7; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_8; +struct CDOTA_Ability_Special_Bonus_Unique_Wraith_King_9; +struct CDOTA_Ability_Special_Bonus_Unique_Zeus; +struct CDOTA_Ability_Special_Bonus_Unique_Zeus_2; +struct CDOTA_Ability_Special_Bonus_Unique_Zeus_3; +struct CDOTA_Ability_Special_Bonus_Unique_Zeus_4; +struct CDOTA_Ability_Special_Bonus_Unique_Zeus_5; +struct CDOTA_Ability_Special_Bonus_Vision_200; +struct CDOTA_Ability_Special_JungleSpirit_Volcano_Damage_Bonus; +struct CDOTA_Ability_Special_JungleSpirit_Volcano_Multitarget; +struct CDOTA_Ability_Special_JungleSpirit_Volcano_Splinter; +struct CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Damage; +struct CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Debuff_Duration; +struct CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Projectiles; +struct CDOTA_Ability_Spectre_Desolate; +struct CDOTA_Ability_Spectre_Dispersion; +struct CDOTA_Ability_Spectre_Haunt; +struct CDOTA_Ability_Spectre_Haunt_Single; +struct CDOTA_Ability_Spectre_Reality; +struct CDOTA_Ability_Spectre_SpectralDagger; +struct CDOTA_Ability_SpiritBreaker_Bulldoze; +struct CDOTA_Ability_SpiritBreaker_ChargeOfDarkness; +struct CDOTA_Ability_SpiritBreaker_EmpoweringHaste; +struct CDOTA_Ability_SpiritBreaker_GreaterBash; +struct CDOTA_Ability_SpiritBreaker_NetherStrike; +struct CDOTA_Ability_SpiritBreaker_PlanarPocket; +struct CDOTA_Ability_Spring2021_DefusalBomb_Defuse; +struct CDOTA_Ability_Spring2021_TowerDeathRing; +struct CDOTA_Ability_StormSpirit_BallLightning; +struct CDOTA_Ability_StormSpirit_ElectricVortex; +struct CDOTA_Ability_StormSpirit_Overload; +struct CDOTA_Ability_StormSpirit_StaticRemnant; +struct CDOTA_Ability_Storm_Spirit_Electric_Rave; +struct CDOTA_Ability_Sven_GodsStrength; +struct CDOTA_Ability_Sven_GreatCleave; +struct CDOTA_Ability_Sven_StormBolt; +struct CDOTA_Ability_Sven_Warcry; +struct CDOTA_Ability_TI10_DiscoBall_Channel; +struct CDOTA_Ability_TI10_HighFive; +struct CDOTA_Ability_Techies_FocusedDetonate; +struct CDOTA_Ability_Techies_LandMines; +struct CDOTA_Ability_Techies_Minefield_Sign; +struct CDOTA_Ability_Techies_ReactiveTazer; +struct CDOTA_Ability_Techies_RemoteMines; +struct CDOTA_Ability_Techies_RemoteMines_SelfDetonate; +struct CDOTA_Ability_Techies_StasisTrap; +struct CDOTA_Ability_Techies_StickyBomb; +struct CDOTA_Ability_Techies_Suicide; +struct CDOTA_Ability_TemplarAssassin_Meld; +struct CDOTA_Ability_TemplarAssassin_PsiBlades; +struct CDOTA_Ability_TemplarAssassin_PsionicTrap; +struct CDOTA_Ability_TemplarAssassin_Refraction; +struct CDOTA_Ability_TemplarAssassin_Refraction_Holdout; +struct CDOTA_Ability_TemplarAssassin_SelfTrap; +struct CDOTA_Ability_TemplarAssassin_Trap; +struct CDOTA_Ability_TemplarAssassin_Trap_Teleport; +struct CDOTA_Ability_Terrorblade_ConjureImage; +struct CDOTA_Ability_Terrorblade_Demon_Zeal; +struct CDOTA_Ability_Terrorblade_Metamorphosis; +struct CDOTA_Ability_Terrorblade_Reflection; +struct CDOTA_Ability_Terrorblade_Sunder; +struct CDOTA_Ability_Terrorblade_Terror_Wave; +struct CDOTA_Ability_Throw_Coal; +struct CDOTA_Ability_Throw_Snowball; +struct CDOTA_Ability_Tidehunter_AnchorSmash; +struct CDOTA_Ability_Tidehunter_ArmOfTheDeep; +struct CDOTA_Ability_Tidehunter_Gush; +struct CDOTA_Ability_Tidehunter_KrakenShell; +struct CDOTA_Ability_Tidehunter_Ravage; +struct CDOTA_Ability_Tinker_Defensive_Matrix; +struct CDOTA_Ability_Tinker_HeatSeekingMissile; +struct CDOTA_Ability_Tinker_Keen_Teleport; +struct CDOTA_Ability_Tinker_Laser; +struct CDOTA_Ability_Tinker_MarchOfTheMachines; +struct CDOTA_Ability_Tinker_Rearm; +struct CDOTA_Ability_Tinker_Shrink_Ray; +struct CDOTA_Ability_Tinker_WarpGrenade; +struct CDOTA_Ability_Tiny_Avalanche; +struct CDOTA_Ability_Tiny_CraggyExterior; +struct CDOTA_Ability_Tiny_Grow; +struct CDOTA_Ability_Tiny_Toss; +struct CDOTA_Ability_Tiny_TossTree; +struct CDOTA_Ability_Tiny_Tree_Channel; +struct CDOTA_Ability_Tiny_Tree_Grab; +struct CDOTA_Ability_Tornado_Tempest; +struct CDOTA_Ability_Treant_EyesInTheForest; +struct CDOTA_Ability_Treant_LeechSeed; +struct CDOTA_Ability_Treant_LifeBomb; +struct CDOTA_Ability_Treant_LifeBomb_Explode; +struct CDOTA_Ability_Treant_LivingArmor; +struct CDOTA_Ability_Treant_NaturesGrasp; +struct CDOTA_Ability_Treant_NaturesGuise; +struct CDOTA_Ability_Treant_Overgrowth; +struct CDOTA_Ability_TrollWarlord_BattleTrance; +struct CDOTA_Ability_TrollWarlord_BerserkersRage; +struct CDOTA_Ability_TrollWarlord_Fervor; +struct CDOTA_Ability_TrollWarlord_WhirlingAxes_Ranged; +struct CDOTA_Ability_TrollWarlord_Whirling_Axes_Melee; +struct CDOTA_Ability_Troll_Warlord_Rampage; +struct CDOTA_Ability_Tusk_FrozenSigil; +struct CDOTA_Ability_Tusk_IceShards; +struct CDOTA_Ability_Tusk_IceShards_Stop; +struct CDOTA_Ability_Tusk_Launch_Snowball; +struct CDOTA_Ability_Tusk_Snowball; +struct CDOTA_Ability_Tusk_SnowballMeteor; +struct CDOTA_Ability_Tusk_Tag_Team; +struct CDOTA_Ability_Tusk_WalrusKick; +struct CDOTA_Ability_Tusk_WalrusPunch; +struct CDOTA_Ability_Undying_Decay; +struct CDOTA_Ability_Undying_FleshGolem; +struct CDOTA_Ability_Undying_SoulRip; +struct CDOTA_Ability_Undying_Tombstone; +struct CDOTA_Ability_Undying_Tombstone_Zombie_DeathStrike; +struct CDOTA_Ability_UpheavalUrn_Reincarnation; +struct CDOTA_Ability_Ursa_Earthshock; +struct CDOTA_Ability_Ursa_Enrage; +struct CDOTA_Ability_Ursa_Fury_Swipes; +struct CDOTA_Ability_Ursa_Overpower; +struct CDOTA_Ability_VengefulSpirit_Command_Aura; +struct CDOTA_Ability_VengefulSpirit_Magic_Missile; +struct CDOTA_Ability_VengefulSpirit_Nether_Swap; +struct CDOTA_Ability_VengefulSpirit_WaveOfTerror; +struct CDOTA_Ability_Venomancer_Latent_Poison; +struct CDOTA_Ability_Venomancer_PlagueWard; +struct CDOTA_Ability_Venomancer_PoisonNova; +struct CDOTA_Ability_Venomancer_PoisonSting; +struct CDOTA_Ability_Venomancer_VenomousGale; +struct CDOTA_Ability_Viper_CorrosiveSkin; +struct CDOTA_Ability_Viper_Nethertoxin; +struct CDOTA_Ability_Viper_Nose_Dive; +struct CDOTA_Ability_Viper_PoisonAttack; +struct CDOTA_Ability_Viper_ViperStrike; +struct CDOTA_Ability_Visage_GraveChill; +struct CDOTA_Ability_Visage_GravekeepersCloak; +struct CDOTA_Ability_Visage_Silent_As_The_Grave; +struct CDOTA_Ability_Visage_SoulAssumption; +struct CDOTA_Ability_Visage_Stone_Form_Self_Cast; +struct CDOTA_Ability_Visage_SummonFamiliars; +struct CDOTA_Ability_Visage_SummonFamiliars_StoneForm; +struct CDOTA_Ability_VoidSpirit_AetherRemnant; +struct CDOTA_Ability_VoidSpirit_AstralStep; +struct CDOTA_Ability_VoidSpirit_Dissimilate; +struct CDOTA_Ability_VoidSpirit_ResonantPulse; +struct CDOTA_Ability_Warlock_Fatal_Bonds; +struct CDOTA_Ability_Warlock_Golem_Flaming_Fists; +struct CDOTA_Ability_Warlock_Golem_Permanent_Immolation; +struct CDOTA_Ability_Warlock_RainOfChaos; +struct CDOTA_Ability_Warlock_Shadow_Word; +struct CDOTA_Ability_Warlock_Upheaval; +struct CDOTA_Ability_WarpineRaider_SeedShot; +struct CDOTA_Ability_Weaver_GeminateAttack; +struct CDOTA_Ability_Weaver_Shukuchi; +struct CDOTA_Ability_Weaver_TheSwarm; +struct CDOTA_Ability_Weaver_TimeLapse; +struct CDOTA_Ability_Windrunner_FocusFire; +struct CDOTA_Ability_Windrunner_FocusFire_End; +struct CDOTA_Ability_Windrunner_GaleForce; +struct CDOTA_Ability_Windrunner_Powershot; +struct CDOTA_Ability_Windrunner_Shackleshot; +struct CDOTA_Ability_Windrunner_Windrun; +struct CDOTA_Ability_Winter_Wyvern_Arctic_Burn; +struct CDOTA_Ability_Winter_Wyvern_Cold_Embrace; +struct CDOTA_Ability_Winter_Wyvern_Splinter_Blast; +struct CDOTA_Ability_Winter_Wyvern_Winters_Curse; +struct CDOTA_Ability_Wisp_Overcharge; +struct CDOTA_Ability_Wisp_Relocate; +struct CDOTA_Ability_Wisp_Spirits; +struct CDOTA_Ability_Wisp_Spirits_In; +struct CDOTA_Ability_Wisp_Spirits_Out; +struct CDOTA_Ability_Wisp_Tether; +struct CDOTA_Ability_Wisp_Tether_Break; +struct CDOTA_Ability_WitchDoctor_DeathWard; +struct CDOTA_Ability_WitchDoctor_Maledict; +struct CDOTA_Ability_WitchDoctor_ParalyzingCask; +struct CDOTA_Ability_WitchDoctor_VoodooRestoration; +struct CDOTA_Ability_WitchDoctor_Voodoo_Switcheroo; +struct CDOTA_Ability_Zombie_Berserk; +struct CDOTA_Ability_Zuus_ArcLightning; +struct CDOTA_Ability_Zuus_Cloud; +struct CDOTA_Ability_Zuus_Heavenly_Jump; +struct CDOTA_Ability_Zuus_LightningBolt; +struct CDOTA_Ability_Zuus_StaticField; +struct CDOTA_Ability_Zuus_ThundergodsVengeance; +struct CDOTA_Ability_Zuus_ThundergodsWrath; +struct CDOTA_ActionRunner; +struct CDOTA_AghsFort_Ability_ArcWardenBoss_MagneticField; +struct CDOTA_AghsFort_Ability_ArcWardenBoss_SparkWraith; +struct CDOTA_AghsFort_Ability_ArcWardenBoss_TempestDouble; +struct CDOTA_AghsFort_Ability_Creature_Venomancer_PoisonSting; +struct CDOTA_AghsFort_Ability_Juggernaut_BladeFury; +struct CDOTA_AghsFort_Ability_Undying_Decay; +struct CDOTA_AghsFort_Ability_Undying_FleshGolem; +struct CDOTA_AghsFort_Ability_Undying_SoulRip; +struct CDOTA_AghsFort_Ability_Undying_Tombstone; +struct CDOTA_AghsFort_Ability_Undying_Tombstone_Zombie_DeathStrike; +struct CDOTA_AghsFort_BossPreview; +struct CDOTA_AghsFort_Hero_Clinkz; +struct CDOTA_AghsFort_Hero_Phoenix; +struct CDOTA_AghsFort_Modifier_Lich_Frost_Giant; +struct CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune; +struct CDOTA_AghsFort_Unit_ArcWarden_Boss; +struct CDOTA_AghsFort_Unit_Hero_Undying; +struct CDOTA_AghsFort_Unit_Undying_Tombstone; +struct CDOTA_AghsFort_Unit_Undying_Zombie; +struct CDOTA_Aghsfort_AbilityCrystalMaiden_FreezingField; +struct CDOTA_Aghsfort_Ability_ArcWardenBoss_Gleipnir; +struct CDOTA_Aghsfort_Ability_Creature_Magnus_Push_Skewer; +struct CDOTA_Aghsfort_Ability_CrystalMaiden_CrystalNova; +struct CDOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang; +struct CDOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_SoulRip_Charges; +struct CDOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_TombstoneOnDeath; +struct CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement; +struct CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill; +struct CDOTA_ArcanaDataEntity; +struct CDOTA_ArcanaDataEntity_Base; +struct CDOTA_ArcanaDataEntity_DrowRanger; +struct CDOTA_ArcanaDataEntity_FacelessVoid; +struct CDOTA_ArcanaDataEntity_Razor; +struct CDOTA_AttackRecord; +struct CDOTA_BaseNPC; +struct CDOTA_BaseNPC_Additive; +struct CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer; +struct CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus; +struct CDOTA_BaseNPC_AghsFort_Watch_Tower; +struct CDOTA_BaseNPC_Barracks; +struct CDOTA_BaseNPC_Building; +struct CDOTA_BaseNPC_Clinkz_Skeleton_Army; +struct CDOTA_BaseNPC_Creature; +struct CDOTA_BaseNPC_Creep; +struct CDOTA_BaseNPC_Creep_Lane; +struct CDOTA_BaseNPC_Creep_Neutral; +struct CDOTA_BaseNPC_Creep_Siege; +struct CDOTA_BaseNPC_Creep_Talking; +struct CDOTA_BaseNPC_CustomEffigy; +struct CDOTA_BaseNPC_Effigy_AghsFort; +struct CDOTA_BaseNPC_Effigy_BattleCup; +struct CDOTA_BaseNPC_Effigy_Statue; +struct CDOTA_BaseNPC_Filler; +struct CDOTA_BaseNPC_Fort; +struct CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army; +struct CDOTA_BaseNPC_Frostivus2018_Snowman; +struct CDOTA_BaseNPC_HallofFame; +struct CDOTA_BaseNPC_Healer; +struct CDOTA_BaseNPC_Hero; +struct CDOTA_BaseNPC_Hero::KillInfo_t; +struct CDOTA_BaseNPC_Hero::sHeroDamageInfo; +struct CDOTA_BaseNPC_Hero::sHeroRecentModifierInfo; +struct CDOTA_BaseNPC_HoldoutTower; +struct CDOTA_BaseNPC_HoldoutTower_HeavySlow; +struct CDOTA_BaseNPC_HoldoutTower_LightFast; +struct CDOTA_BaseNPC_HoldoutTower_ReduceSpeed; +struct CDOTA_BaseNPC_Invoker_Forged_Spirit; +struct CDOTA_BaseNPC_JungleVarmint; +struct CDOTA_BaseNPC_NeutralItemStash; +struct CDOTA_BaseNPC_Pet; +struct CDOTA_BaseNPC_Phantom_Assassin_GroundDagger; +struct CDOTA_BaseNPC_Promo; +struct CDOTA_BaseNPC_RespawningTower; +struct CDOTA_BaseNPC_RotatableBuilding; +struct CDOTA_BaseNPC_SDKTower; +struct CDOTA_BaseNPC_Seasonal_CNY_Balloon; +struct CDOTA_BaseNPC_Seasonal_Dragon; +struct CDOTA_BaseNPC_Seasonal_Penguin; +struct CDOTA_BaseNPC_Seasonal_Snowman; +struct CDOTA_BaseNPC_Seasonal_TI10_DiscoBall; +struct CDOTA_BaseNPC_Seasonal_TI10_SoccerBall; +struct CDOTA_BaseNPC_Seasonal_TI11_Balloon; +struct CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire; +struct CDOTA_BaseNPC_Seasonal_TI9_Balloon; +struct CDOTA_BaseNPC_Seasonal_TI9_Drums; +struct CDOTA_BaseNPC_Seasonal_TI9_Monkey; +struct CDOTA_BaseNPC_ShadowShaman_SerpentWard; +struct CDOTA_BaseNPC_Shop; +struct CDOTA_BaseNPC_Spring2021_AbilityBuilding; +struct CDOTA_BaseNPC_Spring2021_DefusalBomb; +struct CDOTA_BaseNPC_Spring2021_MeteorCrashSite; +struct CDOTA_BaseNPC_Thinker; +struct CDOTA_BaseNPC_Tower; +struct CDOTA_BaseNPC_Trap_Ward; +struct CDOTA_BaseNPC_Tusk_Sigil; +struct CDOTA_BaseNPC_Venomancer_PlagueWard; +struct CDOTA_BaseNPC_Warlock_Golem; +struct CDOTA_BaseNPC_Watch_Tower; +struct CDOTA_BaseNPC_Winter2022_CandyBucket; +struct CDOTA_BaseNPC_Winter2022_FeedableRoshan; +struct CDOTA_Beastmaster_Axe; +struct CDOTA_BinaryObject; +struct CDOTA_BossAttackableTrigger; +struct CDOTA_Bot; +struct CDOTA_Buff; +struct CDOTA_BuffParticle; +struct CDOTA_Buff_Item; +struct CDOTA_Buff_Wards; +struct CDOTA_CDOTA_Item_BagOfGold_Caster_Only; +struct CDOTA_CombatLogQueryProgress; +struct CDOTA_Creature_Jungle_Spirit; +struct CDOTA_CreepKillInfo; +struct CDOTA_DB_Page_StickerEntity; +struct CDOTA_DarkWillow_Creature; +struct CDOTA_DataCustomTeam; +struct CDOTA_DataDire; +struct CDOTA_DataNonSpectator; +struct CDOTA_DataRadiant; +struct CDOTA_DataSpectator; +struct CDOTA_DeathProphet_Exorcism_Spirit; +struct CDOTA_DisplacementVisibility; +struct CDOTA_GuildBannerDynamic; +struct CDOTA_HeroTrigger; +struct CDOTA_Hero_Recorder; +struct CDOTA_Item; +struct CDOTA_ItemSpawner; +struct CDOTA_ItemStockInfo; +struct CDOTA_Item_AbyssalBlade; +struct CDOTA_Item_Aegis; +struct CDOTA_Item_AeonDisk; +struct CDOTA_Item_Aether_Lens; +struct CDOTA_Item_Aghanims_Shard; +struct CDOTA_Item_Aghanims_Shard_Roshan; +struct CDOTA_Item_AghsFort_Bloodstone; +struct CDOTA_Item_AghsFort_RefresherOrb_Shard; +struct CDOTA_Item_Aghsfort_BootsOfTravel; +struct CDOTA_Item_Aghsfort_BootsOfTravel_2; +struct CDOTA_Item_Ancient_Janggo; +struct CDOTA_Item_Ancient_Perseverance; +struct CDOTA_Item_Apex; +struct CDOTA_Item_Arcane_Blink; +struct CDOTA_Item_Arcane_Boots; +struct CDOTA_Item_Arcane_Ring; +struct CDOTA_Item_Arcane_Scout; +struct CDOTA_Item_Armlet; +struct CDOTA_Item_AsceticCap; +struct CDOTA_Item_AssassinsDagger; +struct CDOTA_Item_Assault_Cuirass; +struct CDOTA_Item_BagOfGold; +struct CDOTA_Item_Ballista; +struct CDOTA_Item_Barricade; +struct CDOTA_Item_Battlefury; +struct CDOTA_Item_BeltOfStrength; +struct CDOTA_Item_Black_King_Bar; +struct CDOTA_Item_BladeOfAlacrity; +struct CDOTA_Item_Blade_Mail; +struct CDOTA_Item_BladesOfAttack; +struct CDOTA_Item_Blight_Stone; +struct CDOTA_Item_BlinkDagger; +struct CDOTA_Item_Blitz_Knuckles; +struct CDOTA_Item_Bloodstone; +struct CDOTA_Item_Bloodthorn; +struct CDOTA_Item_Book; +struct CDOTA_Item_BookAgility; +struct CDOTA_Item_BookIntelligence; +struct CDOTA_Item_BookStrength; +struct CDOTA_Item_Book_Of_Shadows; +struct CDOTA_Item_BootsOfElven; +struct CDOTA_Item_BootsOfSpeed; +struct CDOTA_Item_BootsOfTravel; +struct CDOTA_Item_BootsOfTravel_2; +struct CDOTA_Item_Boots_Of_Bearing; +struct CDOTA_Item_Bottomless_Chalice; +struct CDOTA_Item_Bracer; +struct CDOTA_Item_Broadsword; +struct CDOTA_Item_Broom_Handle; +struct CDOTA_Item_Buckler; +struct CDOTA_Item_Bullwhip; +struct CDOTA_Item_Butterfly; +struct CDOTA_Item_Ceremonial_Robe; +struct CDOTA_Item_ChainMail; +struct CDOTA_Item_Cheese; +struct CDOTA_Item_Chipped_Vest; +struct CDOTA_Item_Circlet; +struct CDOTA_Item_Clarity; +struct CDOTA_Item_Claymore; +struct CDOTA_Item_Cloak_Of_Flames; +struct CDOTA_Item_Clumsy_Net; +struct CDOTA_Item_Courier; +struct CDOTA_Item_Craggy_Coat; +struct CDOTA_Item_CraniumBasher; +struct CDOTA_Item_Crimson_Guard; +struct CDOTA_Item_Crown; +struct CDOTA_Item_Cyclone; +struct CDOTA_Item_DaggerOfRistul; +struct CDOTA_Item_Dagon; +struct CDOTA_Item_Dagon_Upgraded; +struct CDOTA_Item_Dagon_Upgraded2; +struct CDOTA_Item_Dagon_Upgraded3; +struct CDOTA_Item_Dagon_Upgraded4; +struct CDOTA_Item_Dagon_Upgraded5; +struct CDOTA_Item_DataDriven; +struct CDOTA_Item_DeathGoldDropped; +struct CDOTA_Item_DemonEdge; +struct CDOTA_Item_Demonicon; +struct CDOTA_Item_Desolator; +struct CDOTA_Item_Desolator_2; +struct CDOTA_Item_Diffusal_Blade; +struct CDOTA_Item_Diffusal_Blade_Level2; +struct CDOTA_Item_Dimensional_Doorway; +struct CDOTA_Item_DivineRapier; +struct CDOTA_Item_DragonLance; +struct CDOTA_Item_Dragon_Scale; +struct CDOTA_Item_DustofAppearance; +struct CDOTA_Item_Dynamite_Jacket; +struct CDOTA_Item_EagleEye; +struct CDOTA_Item_Eaglehorn; +struct CDOTA_Item_EchoSabre; +struct CDOTA_Item_Elixer; +struct CDOTA_Item_Elven_Tunic; +struct CDOTA_Item_EmptyBottle; +struct CDOTA_Item_Enchanted_Mango; +struct CDOTA_Item_Enchanted_Quiver; +struct CDOTA_Item_EnergyBooster; +struct CDOTA_Item_Essence_Ring; +struct CDOTA_Item_Eternal_Shroud; +struct CDOTA_Item_Ethereal_Blade; +struct CDOTA_Item_Ex_Machina; +struct CDOTA_Item_EyeOfTheVizier; +struct CDOTA_Item_Faded_Broach; +struct CDOTA_Item_Faerie_Fire; +struct CDOTA_Item_Falcon_Blade; +struct CDOTA_Item_Fallen_Sky; +struct CDOTA_Item_Flask; +struct CDOTA_Item_Flicker; +struct CDOTA_Item_Fluffy_Hat; +struct CDOTA_Item_Flying_Courier; +struct CDOTA_Item_ForceStaff; +struct CDOTA_Item_Force_Boots; +struct CDOTA_Item_Force_Field; +struct CDOTA_Item_Fortitude_Ring; +struct CDOTA_Item_Fusion_rune; +struct CDOTA_Item_Gauntlets; +struct CDOTA_Item_GemOfTrueSight; +struct CDOTA_Item_GhostScepter; +struct CDOTA_Item_Giants_Ring; +struct CDOTA_Item_Gladiator_Helm; +struct CDOTA_Item_GlimmerCape; +struct CDOTA_Item_GlovesOfHaste; +struct CDOTA_Item_Gloves_Of_Travel; +struct CDOTA_Item_Grandmasters_Glaive; +struct CDOTA_Item_GreaterClarity; +struct CDOTA_Item_GreaterCritical; +struct CDOTA_Item_Greater_Faerie_Fire; +struct CDOTA_Item_Greater_Mango; +struct CDOTA_Item_Grove_Bow; +struct CDOTA_Item_Guardian_Greaves; +struct CDOTA_Item_Guardian_Shell; +struct CDOTA_Item_Gungir; +struct CDOTA_Item_HandOfMidas; +struct CDOTA_Item_Harpoon; +struct CDOTA_Item_Havoc_Hammer; +struct CDOTA_Item_Headdress; +struct CDOTA_Item_Heart; +struct CDOTA_Item_HeavensHalberd; +struct CDOTA_Item_Heavy_Blade; +struct CDOTA_Item_HelmOfIronWill; +struct CDOTA_Item_HelmOfTheDominator; +struct CDOTA_Item_HelmOfTheDominator_2; +struct CDOTA_Item_HelmOfTheOverlord; +struct CDOTA_Item_Helm_Of_The_Undying; +struct CDOTA_Item_Holy_Locket; +struct CDOTA_Item_Hood_Of_Defiance; +struct CDOTA_Item_Horizon; +struct CDOTA_Item_Hurricane_Pike; +struct CDOTA_Item_Hyperstone; +struct CDOTA_Item_IcarusWings; +struct CDOTA_Item_Illusionsts_Cape; +struct CDOTA_Item_Imp_Claw; +struct CDOTA_Item_Infused_Raindrop; +struct CDOTA_Item_InvisibilityEdge; +struct CDOTA_Item_Iron_Talon; +struct CDOTA_Item_IronwoodBranch; +struct CDOTA_Item_Ironwood_tree; +struct CDOTA_Item_Javelin; +struct CDOTA_Item_JumpBoots; +struct CDOTA_Item_Kaya; +struct CDOTA_Item_Kaya_And_Sange; +struct CDOTA_Item_Keen_Optic; +struct CDOTA_Item_LanceOfPursuit; +struct CDOTA_Item_LesserCritical; +struct CDOTA_Item_LightRobes; +struct CDOTA_Item_Lotus_Orb; +struct CDOTA_Item_Lua; +struct CDOTA_Item_Lunar_Crest; +struct CDOTA_Item_Maelstrom; +struct CDOTA_Item_Mage_Slayer; +struct CDOTA_Item_MagicStick; +struct CDOTA_Item_MagicWand; +struct CDOTA_Item_Magus_Minimus; +struct CDOTA_Item_ManaclesOfPower; +struct CDOTA_Item_Mango_Tree; +struct CDOTA_Item_MantaStyle; +struct CDOTA_Item_Mantle; +struct CDOTA_Item_MaskOfDeath; +struct CDOTA_Item_MaskOfDispair; +struct CDOTA_Item_MaskOfMadness; +struct CDOTA_Item_Mechanical_Arm; +struct CDOTA_Item_Medallion_Of_Courage; +struct CDOTA_Item_Mekansm; +struct CDOTA_Item_MeteorHammer; +struct CDOTA_Item_Mind_Breaker; +struct CDOTA_Item_Minotaur_Horn; +struct CDOTA_Item_Mirror_Shield; +struct CDOTA_Item_Misericorde; +struct CDOTA_Item_MithrilHammer; +struct CDOTA_Item_Mjollnir; +struct CDOTA_Item_MonkeyKingBar; +struct CDOTA_Item_Moonshard; +struct CDOTA_Item_Muertas_Gun; +struct CDOTA_Item_Mysterious_Hat; +struct CDOTA_Item_MysticStaff; +struct CDOTA_Item_Naginata; +struct CDOTA_Item_Necronomicon; +struct CDOTA_Item_Necronomicon_Level2; +struct CDOTA_Item_Necronomicon_Level3; +struct CDOTA_Item_Nether_Shawl; +struct CDOTA_Item_Nian_Flag_Trap; +struct CDOTA_Item_Ninja_Gear; +struct CDOTA_Item_NullTalisman; +struct CDOTA_Item_Nullifier; +struct CDOTA_Item_Oakheart; +struct CDOTA_Item_OblivionStaff; +struct CDOTA_Item_ObserverWard; +struct CDOTA_Item_Occult_Bracelet; +struct CDOTA_Item_Ocean_Heart; +struct CDOTA_Item_Octarine_Core; +struct CDOTA_Item_Ofrenda; +struct CDOTA_Item_Ofrenda_Pledge; +struct CDOTA_Item_Ofrenda_Shovel; +struct CDOTA_Item_OgreAxe; +struct CDOTA_Item_OgreSealTotem; +struct CDOTA_Item_Orb_Of_Corrosion; +struct CDOTA_Item_Orb_Of_Destruction; +struct CDOTA_Item_Orb_Of_Revelations; +struct CDOTA_Item_Orb_of_Pestilence; +struct CDOTA_Item_Orb_of_Venom; +struct CDOTA_Item_OrchidMalevolence; +struct CDOTA_Item_Overflowing_Elixir; +struct CDOTA_Item_Overwhelming_Blink; +struct CDOTA_Item_Paintball; +struct CDOTA_Item_Paladin_Sword; +struct CDOTA_Item_Panic_Button; +struct CDOTA_Item_Penta_Edged_Sword; +struct CDOTA_Item_Perseverance; +struct CDOTA_Item_PhaseBoots; +struct CDOTA_Item_Philosophers_Stone; +struct CDOTA_Item_Phoenix_Ash; +struct CDOTA_Item_Phylactery; +struct CDOTA_Item_Physical; +struct CDOTA_Item_Pipe; +struct CDOTA_Item_Pirate_Hat; +struct CDOTA_Item_PlaneswalkersCloak; +struct CDOTA_Item_PlateMail; +struct CDOTA_Item_PocketRoshan; +struct CDOTA_Item_PocketTower; +struct CDOTA_Item_PogoStick; +struct CDOTA_Item_PointBooster; +struct CDOTA_Item_PoorMansShield; +struct CDOTA_Item_Possessed_Mask; +struct CDOTA_Item_PowerTreads; +struct CDOTA_Item_Princes_Knife; +struct CDOTA_Item_Psychic_Headband; +struct CDOTA_Item_Pupils_gift; +struct CDOTA_Item_Quarterstaff; +struct CDOTA_Item_QuellingBlade; +struct CDOTA_Item_Quickening_Charm; +struct CDOTA_Item_Quicksilver_Amulet; +struct CDOTA_Item_Radiance; +struct CDOTA_Item_Reaver; +struct CDOTA_Item_Recipe_AbyssalBlade; +struct CDOTA_Item_Recipe_AeonDisk; +struct CDOTA_Item_Recipe_Aether_Lens; +struct CDOTA_Item_Recipe_AghsFort_Bloodstone; +struct CDOTA_Item_Recipe_Ancient_Janggo; +struct CDOTA_Item_Recipe_Ancient_Perseverance; +struct CDOTA_Item_Recipe_Apex; +struct CDOTA_Item_Recipe_Arcane_Blink; +struct CDOTA_Item_Recipe_Arcane_Boots; +struct CDOTA_Item_Recipe_Arcane_Ring; +struct CDOTA_Item_Recipe_Armlet; +struct CDOTA_Item_Recipe_Assault_Cuirass; +struct CDOTA_Item_Recipe_Ballista; +struct CDOTA_Item_Recipe_Battlefury; +struct CDOTA_Item_Recipe_Black_King_Bar; +struct CDOTA_Item_Recipe_Blade_Mail; +struct CDOTA_Item_Recipe_Bloodstone; +struct CDOTA_Item_Recipe_Bloodthorn; +struct CDOTA_Item_Recipe_Book_Of_Shadows; +struct CDOTA_Item_Recipe_BootsOfTravel; +struct CDOTA_Item_Recipe_BootsOfTravel_2; +struct CDOTA_Item_Recipe_Boots_Of_Bearing; +struct CDOTA_Item_Recipe_Bracer; +struct CDOTA_Item_Recipe_Broom_Handle; +struct CDOTA_Item_Recipe_Buckler; +struct CDOTA_Item_Recipe_Bullwhip; +struct CDOTA_Item_Recipe_Butterfly; +struct CDOTA_Item_Recipe_Ceremonial_Robe; +struct CDOTA_Item_Recipe_Chipped_Vest; +struct CDOTA_Item_Recipe_Cloak_Of_Flames; +struct CDOTA_Item_Recipe_Clumsy_Net; +struct CDOTA_Item_Recipe_CraniumBasher; +struct CDOTA_Item_Recipe_Crimson_Guard; +struct CDOTA_Item_Recipe_Cyclone; +struct CDOTA_Item_Recipe_Dagon; +struct CDOTA_Item_Recipe_Dagon2; +struct CDOTA_Item_Recipe_Dagon3; +struct CDOTA_Item_Recipe_Dagon4; +struct CDOTA_Item_Recipe_Dagon5; +struct CDOTA_Item_Recipe_Demonicon; +struct CDOTA_Item_Recipe_Desolator; +struct CDOTA_Item_Recipe_Desolator_2; +struct CDOTA_Item_Recipe_Diffusal_Blade; +struct CDOTA_Item_Recipe_Diffusal_Blade2; +struct CDOTA_Item_Recipe_Dimensional_Doorway; +struct CDOTA_Item_Recipe_DivineRapier; +struct CDOTA_Item_Recipe_DragonLance; +struct CDOTA_Item_Recipe_Dragon_Scale; +struct CDOTA_Item_Recipe_Eagle_Eye; +struct CDOTA_Item_Recipe_EchoSabre; +struct CDOTA_Item_Recipe_Elven_Tunic; +struct CDOTA_Item_Recipe_Enchanted_Quiver; +struct CDOTA_Item_Recipe_Essence_Ring; +struct CDOTA_Item_Recipe_Eternal_Shroud; +struct CDOTA_Item_Recipe_Ethereal_Blade; +struct CDOTA_Item_Recipe_Ex_Machina; +struct CDOTA_Item_Recipe_Faded_Broach; +struct CDOTA_Item_Recipe_Falcon_Blade; +struct CDOTA_Item_Recipe_Fallen_Sky; +struct CDOTA_Item_Recipe_Fluffy_Hat; +struct CDOTA_Item_Recipe_ForceStaff; +struct CDOTA_Item_Recipe_Force_Boots; +struct CDOTA_Item_Recipe_Fortitude_Ring; +struct CDOTA_Item_Recipe_Giants_Ring; +struct CDOTA_Item_Recipe_Gladiator_Helm; +struct CDOTA_Item_Recipe_GlimmerCape; +struct CDOTA_Item_Recipe_Gloves_Of_Travel; +struct CDOTA_Item_Recipe_Grandmasters_Glaive; +struct CDOTA_Item_Recipe_GreaterCritical; +struct CDOTA_Item_Recipe_Grove_Bow; +struct CDOTA_Item_Recipe_Guardian_Greaves; +struct CDOTA_Item_Recipe_Gungir; +struct CDOTA_Item_Recipe_HandOfMidas; +struct CDOTA_Item_Recipe_Havoc_Hammer; +struct CDOTA_Item_Recipe_Headdress; +struct CDOTA_Item_Recipe_Heart; +struct CDOTA_Item_Recipe_HeavensHalberd; +struct CDOTA_Item_Recipe_HelmOfTheDominator; +struct CDOTA_Item_Recipe_HelmOfTheDominator_2; +struct CDOTA_Item_Recipe_HelmOfTheOverlord; +struct CDOTA_Item_Recipe_Holy_Locket; +struct CDOTA_Item_Recipe_Hood_Of_Defiance; +struct CDOTA_Item_Recipe_Hurricane_Pike; +struct CDOTA_Item_Recipe_Illusionsts_Cape; +struct CDOTA_Item_Recipe_InvisibilityEdge; +struct CDOTA_Item_Recipe_Iron_Talon; +struct CDOTA_Item_Recipe_Ironwood_tree; +struct CDOTA_Item_Recipe_Kaya; +struct CDOTA_Item_Recipe_Kaya_And_Sange; +struct CDOTA_Item_Recipe_Keen_Optic; +struct CDOTA_Item_Recipe_LesserCritical; +struct CDOTA_Item_Recipe_Lotus_Orb; +struct CDOTA_Item_Recipe_Lunar_Crest; +struct CDOTA_Item_Recipe_Maelstrom; +struct CDOTA_Item_Recipe_Mage_Slayer; +struct CDOTA_Item_Recipe_MagicWand; +struct CDOTA_Item_Recipe_Magus_Minimus; +struct CDOTA_Item_Recipe_MantaStyle; +struct CDOTA_Item_Recipe_MaskOfDispair; +struct CDOTA_Item_Recipe_MaskOfMadness; +struct CDOTA_Item_Recipe_Medallion_Of_Courage; +struct CDOTA_Item_Recipe_Mekansm; +struct CDOTA_Item_Recipe_MeteorHammer; +struct CDOTA_Item_Recipe_Mind_Breaker; +struct CDOTA_Item_Recipe_Mind_Breaker2; +struct CDOTA_Item_Recipe_Minotaur_Horn; +struct CDOTA_Item_Recipe_Mjollnir; +struct CDOTA_Item_Recipe_MonkeyKingBar; +struct CDOTA_Item_Recipe_Moonshard; +struct CDOTA_Item_Recipe_Mysterious_Hat; +struct CDOTA_Item_Recipe_Naginata; +struct CDOTA_Item_Recipe_Necronomicon; +struct CDOTA_Item_Recipe_Necronomicon_2; +struct CDOTA_Item_Recipe_Necronomicon_3; +struct CDOTA_Item_Recipe_Nether_Shawl; +struct CDOTA_Item_Recipe_Ninja_Gear; +struct CDOTA_Item_Recipe_NullTalisman; +struct CDOTA_Item_Recipe_Nullifier; +struct CDOTA_Item_Recipe_Oakheart; +struct CDOTA_Item_Recipe_OblivionStaff; +struct CDOTA_Item_Recipe_Ocean_Heart; +struct CDOTA_Item_Recipe_Octarine_Core; +struct CDOTA_Item_Recipe_Orb_Of_Corrosion; +struct CDOTA_Item_Recipe_Orb_Of_Destruction; +struct CDOTA_Item_Recipe_Orb_Of_Revelations; +struct CDOTA_Item_Recipe_Orb_of_Pestilence; +struct CDOTA_Item_Recipe_OrchidMalevolence; +struct CDOTA_Item_Recipe_Overflowing_Elixir; +struct CDOTA_Item_Recipe_Overwhelming_Blink; +struct CDOTA_Item_Recipe_Paladin_Sword; +struct CDOTA_Item_Recipe_Panic_Button; +struct CDOTA_Item_Recipe_Penta_Edged_Sword; +struct CDOTA_Item_Recipe_Perseverance; +struct CDOTA_Item_Recipe_PhaseBoots; +struct CDOTA_Item_Recipe_Phoenix_Ash; +struct CDOTA_Item_Recipe_Phylactery; +struct CDOTA_Item_Recipe_Pipe; +struct CDOTA_Item_Recipe_Pirate_Hat; +struct CDOTA_Item_Recipe_PoorMansShield; +struct CDOTA_Item_Recipe_Possessed_Mask; +struct CDOTA_Item_Recipe_PowerTreads; +struct CDOTA_Item_Recipe_Psychic_Headband; +struct CDOTA_Item_Recipe_Pupils_gift; +struct CDOTA_Item_Recipe_Quickening_Charm; +struct CDOTA_Item_Recipe_Quicksilver_Amulet; +struct CDOTA_Item_Recipe_Radiance; +struct CDOTA_Item_Recipe_RefresherOrb; +struct CDOTA_Item_Recipe_Revenants_Brooch; +struct CDOTA_Item_Recipe_RingOfAquila; +struct CDOTA_Item_Recipe_Ring_Of_Basilius; +struct CDOTA_Item_Recipe_RodOfAtos; +struct CDOTA_Item_Recipe_Sange; +struct CDOTA_Item_Recipe_SangeAndYasha; +struct CDOTA_Item_Recipe_Satanic; +struct CDOTA_Item_Recipe_Seer_Stone; +struct CDOTA_Item_Recipe_SheepStick; +struct CDOTA_Item_Recipe_Shivas_Guard; +struct CDOTA_Item_Recipe_Silver_Edge; +struct CDOTA_Item_Recipe_Skadi; +struct CDOTA_Item_Recipe_Solar_Crest; +struct CDOTA_Item_Recipe_Sorcerers_Staff; +struct CDOTA_Item_Recipe_Soul_Booster; +struct CDOTA_Item_Recipe_Soul_Ring; +struct CDOTA_Item_Recipe_Sphere; +struct CDOTA_Item_Recipe_Spirit_Vessel; +struct CDOTA_Item_Recipe_Star_Mace; +struct CDOTA_Item_Recipe_Stormcrafter; +struct CDOTA_Item_Recipe_Swift_Blink; +struct CDOTA_Item_Recipe_Tenderizer; +struct CDOTA_Item_Recipe_The_Leveller; +struct CDOTA_Item_Recipe_Timeless_Relic; +struct CDOTA_Item_Recipe_Titan_Sliver; +struct CDOTA_Item_Recipe_TranquilBoots; +struct CDOTA_Item_Recipe_TranquilBoots2; +struct CDOTA_Item_Recipe_Trickster_Cloak; +struct CDOTA_Item_Recipe_Trident; +struct CDOTA_Item_Recipe_Trusty_Shovel; +struct CDOTA_Item_Recipe_UltimateScepter; +struct CDOTA_Item_Recipe_UltimateScepter_2; +struct CDOTA_Item_Recipe_Urn_Of_Shadows; +struct CDOTA_Item_Recipe_Vambrace; +struct CDOTA_Item_Recipe_Vanguard; +struct CDOTA_Item_Recipe_Veil_Of_Discord; +struct CDOTA_Item_Recipe_Vengeances_Shadow; +struct CDOTA_Item_Recipe_Venom_Gland; +struct CDOTA_Item_Recipe_Vermillion_Robe; +struct CDOTA_Item_Recipe_Vladmir; +struct CDOTA_Item_Recipe_VoidwalkerScythe; +struct CDOTA_Item_Recipe_Ward_Dispenser; +struct CDOTA_Item_Recipe_Warhammer; +struct CDOTA_Item_Recipe_Wind_Waker; +struct CDOTA_Item_Recipe_Witch_Blade; +struct CDOTA_Item_Recipe_Wizard_Glass; +struct CDOTA_Item_Recipe_Woodland_Striders; +struct CDOTA_Item_Recipe_WraithBand; +struct CDOTA_Item_Recipe_WraithPact; +struct CDOTA_Item_Recipe_Yasha; +struct CDOTA_Item_Recipe_Yasha_And_Kaya; +struct CDOTA_Item_RefresherOrb; +struct CDOTA_Item_RefresherOrb_Shard; +struct CDOTA_Item_Repair_kit; +struct CDOTA_Item_Revenants_Brooch; +struct CDOTA_Item_RingOfAquila; +struct CDOTA_Item_RingOfHealth; +struct CDOTA_Item_RingOfProtection; +struct CDOTA_Item_RingOfRegeneration; +struct CDOTA_Item_RingOfTarrasque; +struct CDOTA_Item_Ring_Of_Basilius; +struct CDOTA_Item_RiverPainter; +struct CDOTA_Item_RiverPainter2; +struct CDOTA_Item_RiverPainter3; +struct CDOTA_Item_RiverPainter4; +struct CDOTA_Item_RiverPainter5; +struct CDOTA_Item_RiverPainter6; +struct CDOTA_Item_RiverPainter7; +struct CDOTA_Item_RobeOfMagi; +struct CDOTA_Item_RodOfAtos; +struct CDOTA_Item_Royal_jelly; +struct CDOTA_Item_Rune; +struct CDOTA_Item_RuneSpawner; +struct CDOTA_Item_RuneSpawner_Bounty; +struct CDOTA_Item_RuneSpawner_Powerup; +struct CDOTA_Item_SacredRelic; +struct CDOTA_Item_SamplePicker; +struct CDOTA_Item_Sange; +struct CDOTA_Item_SangeAndYasha; +struct CDOTA_Item_Satanic; +struct CDOTA_Item_Satchel; +struct CDOTA_Item_SeedsOfSerenity; +struct CDOTA_Item_Seer_Stone; +struct CDOTA_Item_SentryWard; +struct CDOTA_Item_ShadowAmulet; +struct CDOTA_Item_SheepStick; +struct CDOTA_Item_Shivas_Guard; +struct CDOTA_Item_Silver_Edge; +struct CDOTA_Item_Skadi; +struct CDOTA_Item_Slime_Vial; +struct CDOTA_Item_Slippers; +struct CDOTA_Item_Smoke_Of_Deceit; +struct CDOTA_Item_SobiMask; +struct CDOTA_Item_Solar_Crest; +struct CDOTA_Item_Sorcerers_Staff; +struct CDOTA_Item_Soul_Booster; +struct CDOTA_Item_Soul_Ring; +struct CDOTA_Item_SpecialistsArray; +struct CDOTA_Item_Spell_Prism; +struct CDOTA_Item_Sphere; +struct CDOTA_Item_Spider_Legs; +struct CDOTA_Item_Spirit_Vessel; +struct CDOTA_Item_SpookyTeleportScroll; +struct CDOTA_Item_Spring2021_DefusalBomb; +struct CDOTA_Item_Spy_Gadget; +struct CDOTA_Item_StaffOfWizardry; +struct CDOTA_Item_Star_Mace; +struct CDOTA_Item_Stormcrafter; +struct CDOTA_Item_StoutShield; +struct CDOTA_Item_SuperArcane_Blink; +struct CDOTA_Item_SuperBlinkDagger; +struct CDOTA_Item_SuperOverwhelming_Blink; +struct CDOTA_Item_SuperSwift_Blink; +struct CDOTA_Item_Swift_Blink; +struct CDOTA_Item_TalismanOfEvasion; +struct CDOTA_Item_Tango; +struct CDOTA_Item_Tango_Single; +struct CDOTA_Item_TeleportScroll; +struct CDOTA_Item_Tenderizer; +struct CDOTA_Item_The_Leveller; +struct CDOTA_Item_Third_eye; +struct CDOTA_Item_Timeless_Relic; +struct CDOTA_Item_Titan_Sliver; +struct CDOTA_Item_Tombstone; +struct CDOTA_Item_Tombstone_Drop; +struct CDOTA_Item_Tombstone_Mutation; +struct CDOTA_Item_Tome_Of_Knowledge; +struct CDOTA_Item_Tome_of_Omniscience; +struct CDOTA_Item_Tome_of_aghanim; +struct CDOTA_Item_TranquilBoots; +struct CDOTA_Item_TranquilBoots2; +struct CDOTA_Item_Tree_Processor; +struct CDOTA_Item_Trickster_Cloak; +struct CDOTA_Item_Trident; +struct CDOTA_Item_Trusty_Shovel; +struct CDOTA_Item_UltimateOrb; +struct CDOTA_Item_UltimateScepter; +struct CDOTA_Item_UltimateScepter_2; +struct CDOTA_Item_UltimateScepter_Roshan; +struct CDOTA_Item_UnstableWand; +struct CDOTA_Item_UpgradedBarricade; +struct CDOTA_Item_UpgradedMortar; +struct CDOTA_Item_Urn_Of_Shadows; +struct CDOTA_Item_Vambrace; +struct CDOTA_Item_Vampire_Fangs; +struct CDOTA_Item_Vanguard; +struct CDOTA_Item_Veil_Of_Discord; +struct CDOTA_Item_Vengeances_Shadow; +struct CDOTA_Item_Venom_Gland; +struct CDOTA_Item_Vermillion_Robe; +struct CDOTA_Item_VitalityBooster; +struct CDOTA_Item_Vladmir; +struct CDOTA_Item_VoidStone; +struct CDOTA_Item_VoidwalkerScythe; +struct CDOTA_Item_Voodoo_Mask; +struct CDOTA_Item_WandOfSanctitude; +struct CDOTA_Item_WandOfTheBrine; +struct CDOTA_Item_Ward_Dispenser; +struct CDOTA_Item_Ward_Maker; +struct CDOTA_Item_Warhammer; +struct CDOTA_Item_WindLace; +struct CDOTA_Item_Wind_Waker; +struct CDOTA_Item_Witch_Blade; +struct CDOTA_Item_Witless_shako; +struct CDOTA_Item_Wizard_Glass; +struct CDOTA_Item_Woodland_Striders; +struct CDOTA_Item_WraithBand; +struct CDOTA_Item_WraithPact; +struct CDOTA_Item_Yasha; +struct CDOTA_Item_Yasha_And_Kaya; +struct CDOTA_Jungle_Varmint_Dive; +struct CDOTA_MapTree; +struct CDOTA_Modifer_Furbolg_Enrage_AttackSpeed; +struct CDOTA_Modifer_Furbolg_Enrage_Damage; +struct CDOTA_Modifer_Item_Blitz_Knuckles; +struct CDOTA_Modifer_Item_GlovesOfHaste; +struct CDOTA_ModifierManager; +struct CDOTA_Modifier_731_Teaser_Stun; +struct CDOTA_Modifier_731_Teaser_Thinker; +struct CDOTA_Modifier_ARDM_NewHero; +struct CDOTA_Modifier_Abaddon_AphoticShield; +struct CDOTA_Modifier_Abaddon_BorrowedTime; +struct CDOTA_Modifier_Abaddon_BorrowedTime_Passive; +struct CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect; +struct CDOTA_Modifier_Abaddon_Frostmourne; +struct CDOTA_Modifier_Abaddon_Frostmourne_Buff; +struct CDOTA_Modifier_Abaddon_Frostmourne_Debuff; +struct CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff; +struct CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter; +struct CDOTA_Modifier_AbyssalUnderlord_DarkRift; +struct CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health; +struct CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn; +struct CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker; +struct CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer; +struct CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare; +struct CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow; +struct CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker; +struct CDOTA_Modifier_Activity_Modifier; +struct CDOTA_Modifier_Aegis_Regen; +struct CDOTA_Modifier_Aether_Lens; +struct CDOTA_Modifier_Aghanims_Shard; +struct CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows; +struct CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill; +struct CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow; +struct CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active; +struct CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE; +struct CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed; +struct CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback; +struct CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement; +struct CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble; +struct CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase; +struct CDOTA_Modifier_AghsFort_Arcanist_Potion; +struct CDOTA_Modifier_AghsFort_Ascension_Invis; +struct CDOTA_Modifier_AghsFort_Ascension_Invis_Warning; +struct CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion; +struct CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion; +struct CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow; +struct CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker; +struct CDOTA_Modifier_AghsFort_Ascension_Silence; +struct CDOTA_Modifier_AghsFort_Ascension_Silence_Charge; +struct CDOTA_Modifier_AghsFort_Ascension_Silence_Display; +struct CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay; +struct CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis; +struct CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback; +struct CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow; +struct CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror; +struct CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker; +struct CDOTA_Modifier_AghsFort_Bane_Invis_Crit; +struct CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase; +struct CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown; +struct CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun; +struct CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker; +struct CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff; +struct CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe; +struct CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow; +struct CDOTA_Modifier_AghsFort_Clinkz_SearingArrows; +struct CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff; +struct CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster; +struct CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy; +struct CDOTA_Modifier_AghsFort_Creature_Impale; +struct CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount; +struct CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun; +struct CDOTA_Modifier_AghsFort_Creature_SpikedCarapace; +struct CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova; +struct CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier; +struct CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime; +struct CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital; +struct CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker; +struct CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff; +struct CDOTA_Modifier_AghsFort_DragonPotion; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster; +struct CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker; +struct CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff; +struct CDOTA_Modifier_AghsFort_ExplosiveBarrel; +struct CDOTA_Modifier_AghsFort_Firefly; +struct CDOTA_Modifier_AghsFort_Firefly_Burn; +struct CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker; +struct CDOTA_Modifier_AghsFort_Juggernaut_BladeDance; +struct CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff; +struct CDOTA_Modifier_AghsFort_Juggernaut_BladeFury; +struct CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force; +struct CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull; +struct CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack; +struct CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward; +struct CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed; +struct CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite; +struct CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm; +struct CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln; +struct CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward; +struct CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor; +struct CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow; +struct CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb; +struct CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay; +struct CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback; +struct CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded; +struct CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons; +struct CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet; +struct CDOTA_Modifier_AghsFort_Kunkka_SeaSickness; +struct CDOTA_Modifier_AghsFort_Kunkka_Tidebringer; +struct CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow; +struct CDOTA_Modifier_AghsFort_Kunkka_Torrent; +struct CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow; +struct CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm; +struct CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker; +struct CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot; +struct CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker; +struct CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker; +struct CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker; +struct CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow; +struct CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker; +struct CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow; +struct CDOTA_Modifier_AghsFort_Lich_FrostShield; +struct CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff; +struct CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow; +struct CDOTA_Modifier_AghsFort_Lich_Ice_Spire; +struct CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff; +struct CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze; +struct CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self; +struct CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon; +struct CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse; +struct CDOTA_Modifier_AghsFort_Luna_Eclipse; +struct CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight; +struct CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura; +struct CDOTA_Modifier_AghsFort_Luna_GlaiveShield; +struct CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura; +struct CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright; +struct CDOTA_Modifier_AghsFort_Luna_Lunar_Grace; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce; +struct CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff; +struct CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength; +struct CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff; +struct CDOTA_Modifier_AghsFort_Morphling_Waveform; +struct CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction; +struct CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn; +struct CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount; +struct CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack; +struct CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker; +struct CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive; +struct CDOTA_Modifier_AghsFort_Phoenix_IcarusDive; +struct CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn; +struct CDOTA_Modifier_AghsFort_Phoenix_SecondSun; +struct CDOTA_Modifier_AghsFort_Phoenix_Sun; +struct CDOTA_Modifier_AghsFort_Phoenix_SunRay; +struct CDOTA_Modifier_AghsFort_Phoenix_SunRayVision; +struct CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff; +struct CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding; +struct CDOTA_Modifier_AghsFort_PlayerTransform; +struct CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker; +struct CDOTA_Modifier_AghsFort_Potion_SpendCharge; +struct CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike; +struct CDOTA_Modifier_AghsFort_Ravage_Potion; +struct CDOTA_Modifier_AghsFort_RestorativeFlower; +struct CDOTA_Modifier_AghsFort_RockGolem_Avalanche; +struct CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun; +struct CDOTA_Modifier_AghsFort_ShadowShaman_Shackles; +struct CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion; +struct CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison; +struct CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura; +struct CDOTA_Modifier_AghsFort_Sniper_Assassinate; +struct CDOTA_Modifier_AghsFort_Sniper_Headshot; +struct CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction; +struct CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow; +struct CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed; +struct CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer; +struct CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow; +struct CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards; +struct CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire; +struct CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar; +struct CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active; +struct CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride; +struct CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit; +struct CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout; +struct CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy; +struct CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction; +struct CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy; +struct CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction; +struct CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast; +struct CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff; +struct CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry; +struct CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally; +struct CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster; +struct CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis; +struct CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow; +struct CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed; +struct CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack; +struct CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction; +struct CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack; +struct CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion; +struct CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy; +struct CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy; +struct CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff; +struct CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor; +struct CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed; +struct CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt; +struct CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor; +struct CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow; +struct CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement; +struct CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks; +struct CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity; +struct CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist; +struct CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel; +struct CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion; +struct CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker; +struct CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker; +struct CDOTA_Modifier_AghsFort_SwampSickness; +struct CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker; +struct CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent; +struct CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow; +struct CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker; +struct CDOTA_Modifier_AghsFort_TrapRoom_Hookshot; +struct CDOTA_Modifier_AghsFort_TrapRoom_MeatHook; +struct CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix; +struct CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise; +struct CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis; +struct CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay; +struct CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root; +struct CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking; +struct CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter; +struct CDOTA_Modifier_AghsFort_Undying_Decay_Buff; +struct CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter; +struct CDOTA_Modifier_AghsFort_Undying_Decay_Thinker; +struct CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie; +struct CDOTA_Modifier_AghsFort_Undying_FleshGolem; +struct CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura; +struct CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow; +struct CDOTA_Modifier_AghsFort_Undying_SoulRipWard; +struct CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_HP; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter; +struct CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier; +struct CDOTA_Modifier_AghsFort_Ursa_Earthshock; +struct CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis; +struct CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual; +struct CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move; +struct CDOTA_Modifier_AghsFort_Ursa_Enrage; +struct CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear; +struct CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity; +struct CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes; +struct CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase; +struct CDOTA_Modifier_AghsFort_Ursa_Overpower; +struct CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion; +struct CDOTA_Modifier_AghsFort_Venomancer_PoisonSting; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff; +struct CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff; +struct CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion; +struct CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis; +struct CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase; +struct CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally; +struct CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence; +struct CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff; +struct CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring; +struct CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped; +struct CDOTA_Modifier_AghsFort_Watch_Tower; +struct CDOTA_Modifier_AghsFort_Watch_Tower_Capturing; +struct CDOTA_Modifier_AghsFort_Waveblaster_Leap; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire; +struct CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine; +struct CDOTA_Modifier_Aghsfort_AggroOverride; +struct CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile; +struct CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target; +struct CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn; +struct CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker; +struct CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX; +struct CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel; +struct CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop; +struct CDOTA_Modifier_Aghsfort_Bane_Enfeeble; +struct CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff; +struct CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect; +struct CDOTA_Modifier_Aghsfort_Bane_FiendsGrip; +struct CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion; +struct CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion; +struct CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel; +struct CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self; +struct CDOTA_Modifier_Aghsfort_Bane_Nightmare; +struct CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable; +struct CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook; +struct CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker; +struct CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff; +struct CDOTA_Modifier_Aghsfort_Disruptor_Glimpse; +struct CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff; +struct CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker; +struct CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage; +struct CDOTA_Modifier_Aghsfort_Disruptor_KineticField; +struct CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker; +struct CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm; +struct CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute; +struct CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker; +struct CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction; +struct CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike; +struct CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow; +struct CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether; +struct CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste; +struct CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow; +struct CDOTA_Modifier_Aghsfort_Enrage; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile; +struct CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage; +struct CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang; +struct CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter; +struct CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite; +struct CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement; +struct CDOTA_Modifier_Aghsfort_Lina_FierySoul; +struct CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active; +struct CDOTA_Modifier_Aghsfort_Lina_LagunaBlade; +struct CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line; +struct CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun; +struct CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker; +struct CDOTA_Modifier_Aghsfort_Magnataur_Empower; +struct CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss; +struct CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow; +struct CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity; +struct CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid; +struct CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun; +struct CDOTA_Modifier_Aghsfort_Magnataur_Shockwave; +struct CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull; +struct CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact; +struct CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement; +struct CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear; +struct CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker; +struct CDOTA_Modifier_Aghsfort_Mars_Bulwark; +struct CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active; +struct CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus; +struct CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit; +struct CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke; +struct CDOTA_Modifier_Aghsfort_Mars_Spear_Impale; +struct CDOTA_Modifier_Aghsfort_Mars_Spear_Stun; +struct CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade; +struct CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura; +struct CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect; +struct CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel; +struct CDOTA_Modifier_Aghsfort_Omniknight_Repel; +struct CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger; +struct CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster; +struct CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault; +struct CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem; +struct CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps; +struct CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start; +struct CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard; +struct CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker; +struct CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker; +struct CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback; +struct CDOTA_Modifier_Aghsfort_Reward_ArmorAura; +struct CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus; +struct CDOTA_Modifier_Aghsfort_Reward_CritAura; +struct CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus; +struct CDOTA_Modifier_Aghsfort_Reward_HPAura; +struct CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus; +struct CDOTA_Modifier_Aghsfort_Reward_MagicResistAura; +struct CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus; +struct CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike; +struct CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel; +struct CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking; +struct CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport; +struct CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale; +struct CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb; +struct CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active; +struct CDOTA_Modifier_Aghsfort_Sand_King_Epicenter; +struct CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow; +struct CDOTA_Modifier_Aghsfort_Sand_King_Impale; +struct CDOTA_Modifier_Aghsfort_Sand_King_SandStorm; +struct CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow; +struct CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker; +struct CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker; +struct CDOTA_Modifier_Aghsfort_Slark_DarkPact; +struct CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses; +struct CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active; +struct CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter; +struct CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff; +struct CDOTA_Modifier_Aghsfort_Slark_Pounce; +struct CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash; +struct CDOTA_Modifier_Aghsfort_Slark_ShadowDance; +struct CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura; +struct CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen; +struct CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual; +struct CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim; +struct CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture; +struct CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop; +struct CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop; +struct CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit; +struct CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep; +struct CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack; +struct CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff; +struct CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff; +struct CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow; +struct CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker; +struct CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses; +struct CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource; +struct CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm; +struct CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow; +struct CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit; +struct CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade; +struct CDOTA_Modifier_Aghsfort_Sniper_Shotgun; +struct CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow; +struct CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase; +struct CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter; +struct CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack; +struct CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff; +struct CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman; +struct CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn; +struct CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack; +struct CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot; +struct CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce; +struct CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel; +struct CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus; +struct CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum; +struct CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears; +struct CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn; +struct CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction; +struct CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger; +struct CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack; +struct CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack; +struct CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff; +struct CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn; +struct CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff; +struct CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist; +struct CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement; +struct CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum; +struct CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus; +struct CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles; +struct CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash; +struct CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff; +struct CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot; +struct CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy; +struct CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback; +struct CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike; +struct CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn; +struct CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn; +struct CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn; +struct CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn; +struct CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker; +struct CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack; +struct CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot; +struct CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block; +struct CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum; +struct CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs; +struct CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot; +struct CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura; +struct CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout; +struct CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow; +struct CDOTA_Modifier_Aghsfort_TuskBoss_IceShard; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura; +struct CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow; +struct CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch; +struct CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime; +struct CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow; +struct CDOTA_Modifier_Aghsfort_Tusk_IceShard; +struct CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement; +struct CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly; +struct CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal; +struct CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target; +struct CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible; +struct CDOTA_Modifier_Aghsfort_Tusk_Tag_Team; +struct CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura; +struct CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow; +struct CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch; +struct CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime; +struct CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow; +struct CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin; +struct CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura; +struct CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying; +struct CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow; +struct CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal; +struct CDOTA_Modifier_Aghsfort_Viper_Nethertoxin; +struct CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute; +struct CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker; +struct CDOTA_Modifier_Aghsfort_Viper_PoisonAttack; +struct CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow; +struct CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow; +struct CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon; +struct CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix; +struct CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack; +struct CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus; +struct CDOTA_Modifier_Aghsfort_Weaver_Shukuchi; +struct CDOTA_Modifier_Aghsfort_Weaver_Swarm; +struct CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff; +struct CDOTA_Modifier_Aghsfort_Weaver_TimeLapse; +struct CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura; +struct CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura; +struct CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal; +struct CDOTA_Modifier_Alchemist_AcidSpray; +struct CDOTA_Modifier_Alchemist_AcidSpray_Thinker; +struct CDOTA_Modifier_Alchemist_Berserk_Potion; +struct CDOTA_Modifier_Alchemist_ChemicalRage; +struct CDOTA_Modifier_Alchemist_ChemicalRageTransform; +struct CDOTA_Modifier_Alchemist_GoblinsGreed; +struct CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage; +struct CDOTA_Modifier_Alchemist_UnstableConcoction; +struct CDOTA_Modifier_AlphaWolf_CommandAura; +struct CDOTA_Modifier_AlphaWolf_CommandAura_Bonus; +struct CDOTA_Modifier_AlphaWolf_CriticalStrike; +struct CDOTA_Modifier_AncientApparition_ChillingTouch; +struct CDOTA_Modifier_AncientApparition_ChillingTouch_Slow; +struct CDOTA_Modifier_AncientApparition_ColdFeet; +struct CDOTA_Modifier_AncientApparition_ColdFeet_Freeze; +struct CDOTA_Modifier_AncientApparition_IceBlast; +struct CDOTA_Modifier_AncientApparition_IceVortex; +struct CDOTA_Modifier_AncientApparition_IceVortexThinker; +struct CDOTA_Modifier_AncientRockGolem_Weakening; +struct CDOTA_Modifier_AncientRockGolem_Weakening_Aura; +struct CDOTA_Modifier_Animation_LeftClawSwipe; +struct CDOTA_Modifier_Animation_RightClawSwipe; +struct CDOTA_Modifier_Animation_TailSpin; +struct CDOTA_Modifier_AntiMage_Blink_Illusion; +struct CDOTA_Modifier_AntiMage_Counterspell; +struct CDOTA_Modifier_AntiMage_Counterspell_Passive; +struct CDOTA_Modifier_AntiMage_ManaBreak; +struct CDOTA_Modifier_AntiMage_ManaBreak_Slow; +struct CDOTA_Modifier_AntiMage_ManaVoid; +struct CDOTA_Modifier_Antimage_DampenMagic; +struct CDOTA_Modifier_Antimage_DampenMagic_Aura; +struct CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong; +struct CDOTA_Modifier_Antimage_DampenMagic_Bonus; +struct CDOTA_Modifier_ArcWarden_Flux; +struct CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed; +struct CDOTA_Modifier_ArcWarden_MagneticField_Evasion; +struct CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed; +struct CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion; +struct CDOTA_Modifier_ArcWarden_SparkWraith_Purge; +struct CDOTA_Modifier_ArcWarden_SparkWraith_Thinker; +struct CDOTA_Modifier_ArcWarden_TempestDouble; +struct CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty; +struct CDOTA_Modifier_Arc_Warden_Scepter; +struct CDOTA_Modifier_ArcaneBoots_ManaRegen; +struct CDOTA_Modifier_Armlet_UnholyStrength; +struct CDOTA_Modifier_Ascension_AcidBlood; +struct CDOTA_Modifier_Ascension_AcidBlood_Thinker; +struct CDOTA_Modifier_Ascension_Bulwark; +struct CDOTA_Modifier_Ascension_Meteoric_Land; +struct CDOTA_Modifier_Assassins_Dagger_Debuff; +struct CDOTA_Modifier_Attached_Unit; +struct CDOTA_Modifier_AttackImmune; +struct CDOTA_Modifier_AttributeBonus; +struct CDOTA_Modifier_Aura; +struct CDOTA_Modifier_Axe_BatleHunger_Self; +struct CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed; +struct CDOTA_Modifier_Axe_BattleHunger; +struct CDOTA_Modifier_Axe_BerserkersCall; +struct CDOTA_Modifier_Axe_BerserkersCallArmor; +struct CDOTA_Modifier_Axe_CounterHelix; +struct CDOTA_Modifier_Axe_CounterHelix_DamageReduction; +struct CDOTA_Modifier_Axe_CullingBlade_Boost; +struct CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture; +struct CDOTA_Modifier_Axe_CullingBlade_Permanent; +struct CDOTA_Modifier_Axe_Culling_Blade_Charge; +struct CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth; +struct CDOTA_Modifier_BackdoorProtection; +struct CDOTA_Modifier_BackdoorProtectionActive; +struct CDOTA_Modifier_BackdoorProtectionInBase; +struct CDOTA_Modifier_Banana; +struct CDOTA_Modifier_Banana_Knockback; +struct CDOTA_Modifier_Bane_Enfeeble; +struct CDOTA_Modifier_Bane_Enfeeble_Effect; +struct CDOTA_Modifier_Bane_FiendsGrip; +struct CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion; +struct CDOTA_Modifier_Bane_FiendsGrip_Illusion; +struct CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel; +struct CDOTA_Modifier_Bane_FiendsGrip_Self; +struct CDOTA_Modifier_Bane_Nightmare; +struct CDOTA_Modifier_Bane_Nightmare_Invulnerable; +struct CDOTA_Modifier_Bashed; +struct CDOTA_Modifier_Batrider_Firefly; +struct CDOTA_Modifier_Batrider_Flamebreak_Damage; +struct CDOTA_Modifier_Batrider_FlamingLasso; +struct CDOTA_Modifier_Batrider_FlamingLasso_Damage; +struct CDOTA_Modifier_Batrider_FlamingLasso_Self; +struct CDOTA_Modifier_Batrider_StickyNapalm; +struct CDOTA_Modifier_Batrider_StickyNapalm_Application; +struct CDOTA_Modifier_BattleCupEffigy; +struct CDOTA_Modifier_Beastmaster_Axe_Invulnerable; +struct CDOTA_Modifier_Beastmaster_Axe_Stack_Counter; +struct CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk; +struct CDOTA_Modifier_Beastmaster_DrumsOfSlom; +struct CDOTA_Modifier_Beastmaster_Hawk_Dive; +struct CDOTA_Modifier_Beastmaster_InnerBeast; +struct CDOTA_Modifier_Beastmaster_InnerBeast_Aura; +struct CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast; +struct CDOTA_Modifier_Beastmaster_PrimalRoar_Push; +struct CDOTA_Modifier_Beastmaster_PrimalRoar_Slow; +struct CDOTA_Modifier_Beastmaster_PrimalRoar_Speed; +struct CDOTA_Modifier_Beastmaster_WildAxes; +struct CDOTA_Modifier_BerserkerTroll_Break; +struct CDOTA_Modifier_BigThunderLizard_Frenzy; +struct CDOTA_Modifier_BigThunderLizard_Slam; +struct CDOTA_Modifier_BigThunderLizard_Wardrums; +struct CDOTA_Modifier_BigThunderLizard_Wardrums_Aura; +struct CDOTA_Modifier_BlackDragon_DragonhideAura; +struct CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus; +struct CDOTA_Modifier_BlackDragon_Fireball_Thinker; +struct CDOTA_Modifier_BlackDragon_SplashAttack; +struct CDOTA_Modifier_BlackDrake_MagicAmplification; +struct CDOTA_Modifier_BlackDrake_MagicAmplification_Aura; +struct CDOTA_Modifier_Black_King_Bar_Immune; +struct CDOTA_Modifier_Blight_Stone_Corruption; +struct CDOTA_Modifier_BlindingLight_Knockback; +struct CDOTA_Modifier_Bloodseeker_BloodMist; +struct CDOTA_Modifier_Bloodseeker_BloodMist_Slow; +struct CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker; +struct CDOTA_Modifier_Bloodseeker_Bloodrage; +struct CDOTA_Modifier_Bloodseeker_Rupture; +struct CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter; +struct CDOTA_Modifier_Bloodseeker_Thirst; +struct CDOTA_Modifier_Bloodseeker_Thirst_Speed; +struct CDOTA_Modifier_Bloodseeker_Thirst_Vision; +struct CDOTA_Modifier_Bloodthorn_Debuff; +struct CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura; +struct CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus; +struct CDOTA_Modifier_BlueDragonspawnOverseer_Evasion; +struct CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion; +struct CDOTA_Modifier_BookOfAgility; +struct CDOTA_Modifier_BookOfIntelligence; +struct CDOTA_Modifier_BookOfStrength; +struct CDOTA_Modifier_BootsOfTravel_Incoming; +struct CDOTA_Modifier_Boss_DarkWillow_Bedlam; +struct CDOTA_Modifier_BottleRegeneration; +struct CDOTA_Modifier_BountyHunter_Jinada; +struct CDOTA_Modifier_BountyHunter_Lookout; +struct CDOTA_Modifier_BountyHunter_Track; +struct CDOTA_Modifier_BountyHunter_TrackEffect; +struct CDOTA_Modifier_BountyHunter_Track_Bear_Trap; +struct CDOTA_Modifier_BountyHunter_WindWalk; +struct CDOTA_Modifier_BountyHunter_WindWalk_Slow; +struct CDOTA_Modifier_Break; +struct CDOTA_Modifier_Brewmaster_BrewUp; +struct CDOTA_Modifier_Brewmaster_CinderBrew; +struct CDOTA_Modifier_Brewmaster_Cyclone; +struct CDOTA_Modifier_Brewmaster_DrunkenBrawler; +struct CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive; +struct CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow; +struct CDOTA_Modifier_Brewmaster_DrunkenHaze; +struct CDOTA_Modifier_Brewmaster_Fear; +struct CDOTA_Modifier_Brewmaster_Fire_Phase; +struct CDOTA_Modifier_Brewmaster_PermanentImmolation; +struct CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura; +struct CDOTA_Modifier_Brewmaster_PrimalSplit; +struct CDOTA_Modifier_Brewmaster_PrimalSplitDelay; +struct CDOTA_Modifier_Brewmaster_PrimalSplitDuration; +struct CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter; +struct CDOTA_Modifier_Brewmaster_Primal_Companion; +struct CDOTA_Modifier_Brewmaster_Pulverize; +struct CDOTA_Modifier_Brewmaster_SpellImmunity; +struct CDOTA_Modifier_Brewmaster_ThunderClap; +struct CDOTA_Modifier_Brewmaster_Void_AstralPulse; +struct CDOTA_Modifier_Brewmaster_Void_Brawler_Slow; +struct CDOTA_Modifier_Brewmaster_Void_Void_Strike; +struct CDOTA_Modifier_Brewmaster_WindWalk; +struct CDOTA_Modifier_Bristleback_Bristleback; +struct CDOTA_Modifier_Bristleback_QuillSpray; +struct CDOTA_Modifier_Bristleback_QuillSprayStack; +struct CDOTA_Modifier_Bristleback_QuillSpray_AutoCast; +struct CDOTA_Modifier_Bristleback_QuillSpray_Thinker; +struct CDOTA_Modifier_Bristleback_ViscousNasalGoo; +struct CDOTA_Modifier_Bristleback_Warpath; +struct CDOTA_Modifier_Bristleback_Warpath_Stack; +struct CDOTA_Modifier_Broodmother_IncapacitatingBite; +struct CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb; +struct CDOTA_Modifier_Broodmother_InsatiableHunger; +struct CDOTA_Modifier_Broodmother_PoisonSting; +struct CDOTA_Modifier_Broodmother_PoisonStingDebuff; +struct CDOTA_Modifier_Broodmother_Silken_Bola; +struct CDOTA_Modifier_Broodmother_SpawnSpiderite; +struct CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff; +struct CDOTA_Modifier_Broodmother_SpawnSpiderlings; +struct CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard; +struct CDOTA_Modifier_Broodmother_Spider_HP; +struct CDOTA_Modifier_Broodmother_SpinWeb; +struct CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier; +struct CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter; +struct CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking; +struct CDOTA_Modifier_Broodmother_SpinWeb_Slowed; +struct CDOTA_Modifier_Broodmother_SpinWeb_Thinker; +struct CDOTA_Modifier_Broodmother_StickySnare; +struct CDOTA_Modifier_Broodmother_StickySnare_Root; +struct CDOTA_Modifier_Broodmother_Tough; +struct CDOTA_Modifier_Building_DispelsSmoke; +struct CDOTA_Modifier_Buyback_Gold_Penalty; +struct CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet; +struct CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage; +struct CDOTA_Modifier_CallOfTheWild_Boar_Poison; +struct CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase; +struct CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect; +struct CDOTA_Modifier_CallOfTheWild_Hawk_Reveal; +struct CDOTA_Modifier_CameraFollow; +struct CDOTA_Modifier_CentaurKhan_EnduranceAura; +struct CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus; +struct CDOTA_Modifier_Centaur_Cart; +struct CDOTA_Modifier_Centaur_DoubleEdge_Buff; +struct CDOTA_Modifier_Centaur_DoubleEdge_Slow; +struct CDOTA_Modifier_Centaur_Hitched_Into_Cart; +struct CDOTA_Modifier_Centaur_Mount_Toss; +struct CDOTA_Modifier_Centaur_Mounted; +struct CDOTA_Modifier_Centaur_Return; +struct CDOTA_Modifier_Centaur_Return_Aura; +struct CDOTA_Modifier_Centaur_Return_Bonus_Damage; +struct CDOTA_Modifier_Centaur_Return_Counter; +struct CDOTA_Modifier_Centaur_Stampede; +struct CDOTA_Modifier_Centaur_Stampede_Slow; +struct CDOTA_Modifier_Ceremonial_Robe_Aura; +struct CDOTA_Modifier_ChangeTreeModel_Thinker; +struct CDOTA_Modifier_ChaosKnight_Chaos_Strike; +struct CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff; +struct CDOTA_Modifier_ChaosKnight_Phantasm; +struct CDOTA_Modifier_ChaosKnight_Phantasm_Illusion; +struct CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard; +struct CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff; +struct CDOTA_Modifier_Chen_DivineFavor; +struct CDOTA_Modifier_Chen_DivineFavor_Aura; +struct CDOTA_Modifier_Chen_Divine_Favor_Teleport; +struct CDOTA_Modifier_Chen_HandOfGod_Hot; +struct CDOTA_Modifier_Chen_HolyPersuasion; +struct CDOTA_Modifier_Chen_Penitence; +struct CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff; +struct CDOTA_Modifier_Chen_TestOfFaith_Teleport; +struct CDOTA_Modifier_ClarityPotion; +struct CDOTA_Modifier_Clinkz_Burning_Army; +struct CDOTA_Modifier_Clinkz_Burning_Army_Thinker; +struct CDOTA_Modifier_Clinkz_DeathPact; +struct CDOTA_Modifier_Clinkz_DeathPact_ChargeCounter; +struct CDOTA_Modifier_Clinkz_DeathPact_Debuff; +struct CDOTA_Modifier_Clinkz_DeathPact_Passive; +struct CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff; +struct CDOTA_Modifier_Clinkz_PiercingArrow; +struct CDOTA_Modifier_Clinkz_PiercingArrow_DamageReduction; +struct CDOTA_Modifier_Clinkz_Scepter; +struct CDOTA_Modifier_Clinkz_SearingArrows; +struct CDOTA_Modifier_Clinkz_Strafe; +struct CDOTA_Modifier_Clinkz_WindWalk; +struct CDOTA_Modifier_Cloak_Of_Flames_Debuff; +struct CDOTA_Modifier_Clockwerk_RocketFlare_Thinker; +struct CDOTA_Modifier_Clumsy_Net_Ensnare; +struct CDOTA_Modifier_ContextualTips; +struct CDOTA_Modifier_Corpselord_Revive; +struct CDOTA_Modifier_Courier_AutoDeliver; +struct CDOTA_Modifier_Courier_Burst; +struct CDOTA_Modifier_Courier_Flying; +struct CDOTA_Modifier_Courier_Morph_Effect; +struct CDOTA_Modifier_Courier_Passive_Bonus; +struct CDOTA_Modifier_Courier_ReturnStashItems; +struct CDOTA_Modifier_Courier_Shield; +struct CDOTA_Modifier_Courier_TakeStashItems; +struct CDOTA_Modifier_Courier_TransferItems; +struct CDOTA_Modifier_Creature_Flamestrike; +struct CDOTA_Modifier_Creature_Flamestrike_Ground; +struct CDOTA_Modifier_Creature_Full_Avoidance; +struct CDOTA_Modifier_Creature_HybridFlyer; +struct CDOTA_Modifier_Creature_IceSlam_Thinker; +struct CDOTA_Modifier_Creep_Bonus_XP; +struct CDOTA_Modifier_Creep_Haste; +struct CDOTA_Modifier_Creep_Irresolute; +struct CDOTA_Modifier_Creep_Piercing; +struct CDOTA_Modifier_Creep_Siege; +struct CDOTA_Modifier_Creep_Slow; +struct CDOTA_Modifier_CrystalMaiden_BrillianceAura; +struct CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect; +struct CDOTA_Modifier_CrystalMaiden_CrystalNova; +struct CDOTA_Modifier_CrystalMaiden_FreezingField; +struct CDOTA_Modifier_CrystalMaiden_FreezingField_Slow; +struct CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker; +struct CDOTA_Modifier_CrystalMaiden_Frostbite; +struct CDOTA_Modifier_CrystalMaiden_IceRink_Movement; +struct CDOTA_Modifier_CrystalMaiden_IceRink_Thinker; +struct CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus; +struct CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow; +struct CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker; +struct CDOTA_Modifier_Cyclone; +struct CDOTA_Modifier_DaggerOfRistul_Buff; +struct CDOTA_Modifier_Dagon; +struct CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability; +struct CDOTA_Modifier_DarkSeer_Normal_Punch; +struct CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion; +struct CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker; +struct CDOTA_Modifier_DarkSeer_Surge; +struct CDOTA_Modifier_DarkSeer_Surge_Trail; +struct CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker; +struct CDOTA_Modifier_DarkSeer_Vacuum; +struct CDOTA_Modifier_DarkSeer_WallOfReplica; +struct CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion; +struct CDOTA_Modifier_DarkSeer_WallOfReplica_Slow; +struct CDOTA_Modifier_DarkTrollWarlord_Ensnare; +struct CDOTA_Modifier_DarkWillow_Bedlam; +struct CDOTA_Modifier_DarkWillow_BrambleMaze; +struct CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker; +struct CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker; +struct CDOTA_Modifier_DarkWillow_Creature_Invulnerable; +struct CDOTA_Modifier_DarkWillow_CursedCrown; +struct CDOTA_Modifier_DarkWillow_Debuff_Fear; +struct CDOTA_Modifier_DarkWillow_ShadowRealm_Buff; +struct CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic; +struct CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime; +struct CDOTA_Modifier_DarkWillow_Terrorize_Thinker; +struct CDOTA_Modifier_DataDriven; +struct CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster; +struct CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement; +struct CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker; +struct CDOTA_Modifier_Dawnbreaker_Converge; +struct CDOTA_Modifier_Dawnbreaker_Converge_Thinker; +struct CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus; +struct CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster; +struct CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip; +struct CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow; +struct CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun; +struct CDOTA_Modifier_Dawnbreaker_Luminosity; +struct CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff; +struct CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land; +struct CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime; +struct CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable; +struct CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion; +struct CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker; +struct CDOTA_Modifier_Dazzle_Bad_Juju_Armor; +struct CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter; +struct CDOTA_Modifier_Dazzle_Good_Juju; +struct CDOTA_Modifier_Dazzle_Poison_Touch; +struct CDOTA_Modifier_Dazzle_Poison_Touch_Self; +struct CDOTA_Modifier_Dazzle_Rain_Of_Vermin; +struct CDOTA_Modifier_Dazzle_Shallow_Grave; +struct CDOTA_Modifier_Dazzle_Weave_Armor; +struct CDOTA_Modifier_DeathProphet_Exorcism; +struct CDOTA_Modifier_DeathProphet_Scepter; +struct CDOTA_Modifier_DeathProphet_Silence; +struct CDOTA_Modifier_DeathProphet_Silence_Debuff; +struct CDOTA_Modifier_DeathProphet_Slow; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear; +struct CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow; +struct CDOTA_Modifier_DeathProphet_Witchcraft; +struct CDOTA_Modifier_Death_Prophet_Attack_Scepter; +struct CDOTA_Modifier_Death_Prophet_Slow; +struct CDOTA_Modifier_Demonicon_Bonus; +struct CDOTA_Modifier_Desolator_2_Corruption; +struct CDOTA_Modifier_Desolator_Corruption; +struct CDOTA_Modifier_Diabled_Invulnerable; +struct CDOTA_Modifier_Diretide_Portal_Buff; +struct CDOTA_Modifier_Diretide_Portal_Channeling; +struct CDOTA_Modifier_DisableTauntAnimationCancel; +struct CDOTA_Modifier_Disable_Healing; +struct CDOTA_Modifier_Disarmed; +struct CDOTA_Modifier_Disruptor_Glimpse; +struct CDOTA_Modifier_Disruptor_Glimpse_Thinker; +struct CDOTA_Modifier_Disruptor_KineticField; +struct CDOTA_Modifier_Disruptor_KineticFieldThinker; +struct CDOTA_Modifier_Disruptor_StaticStorm; +struct CDOTA_Modifier_Disruptor_StaticStormMute; +struct CDOTA_Modifier_Disruptor_StaticStormThinker; +struct CDOTA_Modifier_Disruptor_Thunder_Strike; +struct CDOTA_Modifier_Disruptor_Thunder_Strike_Slow; +struct CDOTA_Modifier_Disruptor_Thunder_Strike_Speed; +struct CDOTA_Modifier_DoNotCastEnsnare; +struct CDOTA_Modifier_DoNotCastRock; +struct CDOTA_Modifier_DoNotCastSmash; +struct CDOTA_Modifier_Dominated; +struct CDOTA_Modifier_DoomBringer_Devour; +struct CDOTA_Modifier_DoomBringer_Devour_Hero_Ability; +struct CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff; +struct CDOTA_Modifier_DoomBringer_Doom; +struct CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy; +struct CDOTA_Modifier_DoomBringer_Doom_Aura_Self; +struct CDOTA_Modifier_DoomBringer_Doom_Break; +struct CDOTA_Modifier_DoomBringer_InfernalBlade; +struct CDOTA_Modifier_DoomBringer_InfernalBlade_Burn; +struct CDOTA_Modifier_DoomBringer_ScorchedEarthEffect; +struct CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura; +struct CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker; +struct CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip; +struct CDOTA_Modifier_DragonKnight_BreatheFire_Reduction; +struct CDOTA_Modifier_DragonKnight_CorrosiveBreath; +struct CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT; +struct CDOTA_Modifier_DragonKnight_DragonBlood; +struct CDOTA_Modifier_DragonKnight_DragonBlood_Aura; +struct CDOTA_Modifier_DragonKnight_DragonForm; +struct CDOTA_Modifier_DragonKnight_Fireball_Burn; +struct CDOTA_Modifier_DragonKnight_Fireball_Thinker; +struct CDOTA_Modifier_DragonKnight_FrostBreath; +struct CDOTA_Modifier_DragonKnight_FrostBreath_Slow; +struct CDOTA_Modifier_DragonKnight_SplashAttack; +struct CDOTA_Modifier_Dragon_Scale_Burn; +struct CDOTA_Modifier_DrowRanger_Arcana; +struct CDOTA_Modifier_DrowRanger_ArcanaKill_Delay; +struct CDOTA_Modifier_DrowRanger_FrostArrows; +struct CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia; +struct CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active; +struct CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow; +struct CDOTA_Modifier_DrowRanger_FrostArrows_Slow; +struct CDOTA_Modifier_DrowRanger_Marksmanship; +struct CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus; +struct CDOTA_Modifier_DrowRanger_Marksmanship_Reduction; +struct CDOTA_Modifier_DrowRanger_Trueshot; +struct CDOTA_Modifier_DrowRanger_TrueshotAura; +struct CDOTA_Modifier_DrowRanger_Trueshot_Global; +struct CDOTA_Modifier_DrowRanger_WaveOfSilence; +struct CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff; +struct CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback; +struct CDOTA_Modifier_Drow_Ranger_Multishot; +struct CDOTA_Modifier_Drow_Ranger_Multishot_Damage; +struct CDOTA_Modifier_EarthSpirit_BoulderSmash; +struct CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff; +struct CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff; +struct CDOTA_Modifier_EarthSpirit_GeomagneticGrip; +struct CDOTA_Modifier_EarthSpirit_Magnetize; +struct CDOTA_Modifier_EarthSpirit_Petrify; +struct CDOTA_Modifier_EarthSpirit_Polarization; +struct CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer; +struct CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster; +struct CDOTA_Modifier_EarthSpirit_StoneThinker; +struct CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter; +struct CDOTA_Modifier_Earthshaker_Aftershock; +struct CDOTA_Modifier_Earthshaker_Arcana; +struct CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect; +struct CDOTA_Modifier_Earthshaker_EchoSlam_Delay; +struct CDOTA_Modifier_Earthshaker_Echoslam_Debuff; +struct CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up; +struct CDOTA_Modifier_Earthshaker_EnchantTotem; +struct CDOTA_Modifier_Earthshaker_EnchantTotem_Animation; +struct CDOTA_Modifier_Earthshaker_EnchantTotem_Leap; +struct CDOTA_Modifier_Earthshaker_Fissure_Shard; +struct CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing; +struct CDOTA_Modifier_Earthshaker_Fissure_Stun; +struct CDOTA_Modifier_Earthshaker_Fissure_Thinker; +struct CDOTA_Modifier_Earthshaker_Shard; +struct CDOTA_Modifier_EchoSabre_Debuff; +struct CDOTA_Modifier_Effigy_AghsFort; +struct CDOTA_Modifier_Elder_Titan_AncestralSpirit; +struct CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff; +struct CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime; +struct CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden; +struct CDOTA_Modifier_Elder_Titan_EarthSplitter; +struct CDOTA_Modifier_Elder_Titan_EarthSplitterScepter; +struct CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster; +struct CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker; +struct CDOTA_Modifier_Elder_Titan_EchoStomp; +struct CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune; +struct CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor; +struct CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor; +struct CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance; +struct CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance; +struct CDOTA_Modifier_ElixerHealing; +struct CDOTA_Modifier_EmberSpirit_FireRemnant; +struct CDOTA_Modifier_EmberSpirit_FireRemnantThinker; +struct CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter; +struct CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker; +struct CDOTA_Modifier_EmberSpirit_FireRemnant_Shard; +struct CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff; +struct CDOTA_Modifier_EmberSpirit_FireRemnant_Timer; +struct CDOTA_Modifier_EmberSpirit_FlameGuard; +struct CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff; +struct CDOTA_Modifier_EmberSpirit_SearingChains; +struct CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster; +struct CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability; +struct CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress; +struct CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker; +struct CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter; +struct CDOTA_Modifier_Enchantress_Bunny_Hop; +struct CDOTA_Modifier_Enchantress_Enchant; +struct CDOTA_Modifier_Enchantress_Enchant_Controlled; +struct CDOTA_Modifier_Enchantress_Enchant_Slow; +struct CDOTA_Modifier_Enchantress_Impetus; +struct CDOTA_Modifier_Enchantress_Little_Friends; +struct CDOTA_Modifier_Enchantress_Little_Friends_Aura; +struct CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit; +struct CDOTA_Modifier_Enchantress_NaturesAttendants; +struct CDOTA_Modifier_Enchantress_NaturesAttendants_Shard; +struct CDOTA_Modifier_Enchantress_Untouchable; +struct CDOTA_Modifier_Enchantress_Untouchable_Slow; +struct CDOTA_Modifier_Enigma_BlackHoleThinker; +struct CDOTA_Modifier_Enigma_BlackHole_Pull; +struct CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter; +struct CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter; +struct CDOTA_Modifier_Enigma_DemonicConversion; +struct CDOTA_Modifier_Enigma_Malefice; +struct CDOTA_Modifier_Enigma_MidnightPulseThinker; +struct CDOTA_Modifier_Enigma_MidnightPulse_Damage; +struct CDOTA_Modifier_EnragedWildkin_Hurricane; +struct CDOTA_Modifier_EnragedWildkin_ToughnessAura; +struct CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus; +struct CDOTA_Modifier_Ethereal_Blade_Ethereal; +struct CDOTA_Modifier_Eul_Cyclone; +struct CDOTA_Modifier_Eul_Cyclone_Thinker; +struct CDOTA_Modifier_Eul_Wind_Waker_Thinker; +struct CDOTA_Modifier_FacelessVoid_Arcana; +struct CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter; +struct CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect; +struct CDOTA_Modifier_FacelessVoid_Backtrack; +struct CDOTA_Modifier_FacelessVoid_Chronosphere; +struct CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze; +struct CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff; +struct CDOTA_Modifier_FacelessVoid_Chronosphere_Speed; +struct CDOTA_Modifier_FacelessVoid_TimeDilation_Slow; +struct CDOTA_Modifier_FacelessVoid_TimeLock; +struct CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc; +struct CDOTA_Modifier_FacelessVoid_TimeLock_Freeze; +struct CDOTA_Modifier_FacelessVoid_TimeWalk; +struct CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff; +struct CDOTA_Modifier_FacelessVoid_TimeWalk_Slow; +struct CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker; +struct CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker; +struct CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker; +struct CDOTA_Modifier_Fear; +struct CDOTA_Modifier_FelBeast_Haunt; +struct CDOTA_Modifier_FelBeast_Haunt_OnDeath; +struct CDOTA_Modifier_FillerThinker; +struct CDOTA_Modifier_Filler_Buff_Icon; +struct CDOTA_Modifier_Filler_Heal; +struct CDOTA_Modifier_Filler_Heal_Aura; +struct CDOTA_Modifier_Filler_Tooltip; +struct CDOTA_Modifier_Firecracker_Debuff; +struct CDOTA_Modifier_Firework_Mine; +struct CDOTA_Modifier_Fissure_Rooted; +struct CDOTA_Modifier_FixedNumberOfHitsToKill; +struct CDOTA_Modifier_Flagbearer_Creep_Aura_Effect; +struct CDOTA_Modifier_FlaskHealing; +struct CDOTA_Modifier_Followthrough; +struct CDOTA_Modifier_ForceStaff; +struct CDOTA_Modifier_Force_Boots; +struct CDOTA_Modifier_ForestTrollHighPriest_HealAmp; +struct CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus; +struct CDOTA_Modifier_ForestTrollHighPriest_HealAutocast; +struct CDOTA_Modifier_ForestTrollHighPriest_ManaAura; +struct CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus; +struct CDOTA_Modifier_ForgedSpirit_MeltingStrike; +struct CDOTA_Modifier_ForgedSpirit_Stats; +struct CDOTA_Modifier_FountainAura; +struct CDOTA_Modifier_FountainAuraBuff; +struct CDOTA_Modifier_FountainInvulnerabilityBuff; +struct CDOTA_Modifier_FountainPassive; +struct CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase; +struct CDOTA_Modifier_Fountain_Glyph; +struct CDOTA_Modifier_Fountain_Truesight_Aura; +struct CDOTA_Modifier_FrostbittenGolem_TimeWarpAura; +struct CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus; +struct CDOTA_Modifier_Frostivus2018_BroodBaby_Launch; +struct CDOTA_Modifier_Frostivus2018_Centaur_Return; +struct CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura; +struct CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength; +struct CDOTA_Modifier_Frostivus2018_Centaur_Stampede; +struct CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor; +struct CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow; +struct CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army; +struct CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker; +struct CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows; +struct CDOTA_Modifier_Frostivus2018_Clinkz_Strafe; +struct CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk; +struct CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff; +struct CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage; +struct CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam; +struct CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker; +struct CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker; +struct CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff; +struct CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow; +struct CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker; +struct CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock; +struct CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock; +struct CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker; +struct CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources; +struct CDOTA_Modifier_Frostivus2018_FestiveFirework; +struct CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind; +struct CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter; +struct CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff; +struct CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self; +struct CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm; +struct CDOTA_Modifier_Frostivus2018_Luna_Eclipse; +struct CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength; +struct CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura; +struct CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect; +struct CDOTA_Modifier_Frostivus2018_Omniknight_Repel; +struct CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump; +struct CDOTA_Modifier_Frostivus2018_Puck_Coiled; +struct CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker; +struct CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn; +struct CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker; +struct CDOTA_Modifier_Frostivus2018_Snowman_Taunt; +struct CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion; +struct CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker; +struct CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker; +struct CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance; +struct CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor; +struct CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime; +struct CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow; +struct CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack; +struct CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath; +struct CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath; +struct CDOTA_Modifier_Furion_CurseOfTheForest; +struct CDOTA_Modifier_Furion_Sprout_Blind; +struct CDOTA_Modifier_Furion_Sprout_Blind_Aura; +struct CDOTA_Modifier_Furion_Sprout_Entangle; +struct CDOTA_Modifier_Furion_Sprout_Marker; +struct CDOTA_Modifier_Furion_Sprout_Shard; +struct CDOTA_Modifier_Furion_Sprout_Tether; +struct CDOTA_Modifier_Furion_Sprout_Tether_Aura; +struct CDOTA_Modifier_Furion_WrathOfNature_Buff; +struct CDOTA_Modifier_Furion_WrathOfNature_BuffCounter; +struct CDOTA_Modifier_Furion_WrathOfNature_Spawn; +struct CDOTA_Modifier_Furion_WrathOfNature_Thinker; +struct CDOTA_Modifier_Fusion_runeHealing; +struct CDOTA_Modifier_Gem_Active_TrueSight; +struct CDOTA_Modifier_Generic_Hidden; +struct CDOTA_Modifier_GhostScepter_Active; +struct CDOTA_Modifier_Ghost_FrostAttack; +struct CDOTA_Modifier_Ghost_FrostAttack_Slow; +struct CDOTA_Modifier_GiantWolf_CriticalStrike; +struct CDOTA_Modifier_GiantWolf_Intimidate; +struct CDOTA_Modifier_Gladiator_Helm_Buff; +struct CDOTA_Modifier_GlimmerCape_Fade; +struct CDOTA_Modifier_Glyph_Reset; +struct CDOTA_Modifier_GnollAssassin_EnvenomedWeapon; +struct CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison; +struct CDOTA_Modifier_Gold_Bag_Launch; +struct CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi; +struct CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int; +struct CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str; +struct CDOTA_Modifier_GraniteGolem_HPAura; +struct CDOTA_Modifier_GraniteGolem_HPAura_Bonus; +struct CDOTA_Modifier_GreaterClarity; +struct CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare; +struct CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable; +struct CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet; +struct CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze; +struct CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex; +struct CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker; +struct CDOTA_Modifier_Greevil_Miniboss_Casting; +struct CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor; +struct CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth; +struct CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker; +struct CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale; +struct CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock; +struct CDOTA_Modifier_Greevil_Miniboss_Red_Overpower; +struct CDOTA_Modifier_Greevil_Miniboss_Sight; +struct CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura; +struct CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect; +struct CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell; +struct CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge; +struct CDOTA_Modifier_Grimstroke_DarkArtistry_Slow; +struct CDOTA_Modifier_Grimstroke_InkCreature; +struct CDOTA_Modifier_Grimstroke_InkCreature_Debuff; +struct CDOTA_Modifier_Grimstroke_InkCreature_Latched; +struct CDOTA_Modifier_Grimstroke_InkCreature_Spawning; +struct CDOTA_Modifier_Grimstroke_Scepter_Buff; +struct CDOTA_Modifier_Grimstroke_Shard_Buff; +struct CDOTA_Modifier_Grimstroke_SoulChain; +struct CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck; +struct CDOTA_Modifier_Grimstroke_SpiritWalk_Buff; +struct CDOTA_Modifier_GungirChain; +struct CDOTA_Modifier_Gungnir_Debuff; +struct CDOTA_Modifier_Gyrocopter_Call_Down; +struct CDOTA_Modifier_Gyrocopter_Call_Down_Slow; +struct CDOTA_Modifier_Gyrocopter_Flak_Cannon; +struct CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter; +struct CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter; +struct CDOTA_Modifier_Gyrocopter_Homing_Missile; +struct CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage; +struct CDOTA_Modifier_Gyrocopter_Rocket_Barrage; +struct CDOTA_Modifier_HallOfFame_Glow; +struct CDOTA_Modifier_HarpyScout_TakeOff; +struct CDOTA_Modifier_HarpyStorm_ChainLightning; +struct CDOTA_Modifier_Havoc_Hammer_Slow; +struct CDOTA_Modifier_Healing_Campfire_Aura; +struct CDOTA_Modifier_Healing_Campfire_Heal; +struct CDOTA_Modifier_HeavensHalberd_Debuff; +struct CDOTA_Modifier_HeroStatue; +struct CDOTA_Modifier_HeroStatuePedestal; +struct CDOTA_Modifier_Hexed; +struct CDOTA_Modifier_Hidden_NoDamage; +struct CDOTA_Modifier_Hide_On_Minimap; +struct CDOTA_Modifier_HighFiveRequested; +struct CDOTA_Modifier_HillTroll_Rally; +struct CDOTA_Modifier_HillTroll_RallyAura; +struct CDOTA_Modifier_HillTroll_Rally_Stack; +struct CDOTA_Modifier_HoldoutCullingBlade; +struct CDOTA_Modifier_Holdout_BladeFury; +struct CDOTA_Modifier_Holdout_GladiatorsUnite; +struct CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker; +struct CDOTA_Modifier_Holdout_Omnislash; +struct CDOTA_Modifier_Holdout_StaticRemnantThinker; +struct CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption; +struct CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage; +struct CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker; +struct CDOTA_Modifier_Hoodwink_AcornShot_Slow; +struct CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker; +struct CDOTA_Modifier_Hoodwink_ArcingBoomerang; +struct CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable; +struct CDOTA_Modifier_Hoodwink_Bushwhack_Trap; +struct CDOTA_Modifier_Hoodwink_Caltrops; +struct CDOTA_Modifier_Hoodwink_Caltrops_Debuff; +struct CDOTA_Modifier_Hoodwink_Camouflage; +struct CDOTA_Modifier_Hoodwink_Decoy_Illusion; +struct CDOTA_Modifier_Hoodwink_Decoy_Invisibility; +struct CDOTA_Modifier_Hoodwink_HeavyQuiver; +struct CDOTA_Modifier_Hoodwink_HuntersQuiver; +struct CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark; +struct CDOTA_Modifier_Hoodwink_Hunters_Mark; +struct CDOTA_Modifier_Hoodwink_Scurry_Active; +struct CDOTA_Modifier_Hoodwink_Scurry_Passive; +struct CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff; +struct CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil; +struct CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim; +struct CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker; +struct CDOTA_Modifier_Hoodwink_Sharpshooter_Windup; +struct CDOTA_Modifier_Hurricane_Pike_Active; +struct CDOTA_Modifier_Hurricane_Pike_Active_Alternate; +struct CDOTA_Modifier_Hurricane_Pike_Range; +struct CDOTA_Modifier_Huskar_Berserkers_Blood; +struct CDOTA_Modifier_Huskar_Burning_Spear_Counter; +struct CDOTA_Modifier_Huskar_Burning_Spear_Debuff; +struct CDOTA_Modifier_Huskar_Burning_Spear_Self; +struct CDOTA_Modifier_Huskar_Inner_Fire_Disarm; +struct CDOTA_Modifier_Huskar_Inner_Fire_Knockback; +struct CDOTA_Modifier_Huskar_Inner_Vitality; +struct CDOTA_Modifier_Huskar_Life_Break; +struct CDOTA_Modifier_Huskar_Life_Break_Charge; +struct CDOTA_Modifier_Huskar_Life_Break_Taunt; +struct CDOTA_Modifier_IceShaman_IncendiaryBomb; +struct CDOTA_Modifier_IceSlide; +struct CDOTA_Modifier_Illusion; +struct CDOTA_Modifier_Illusionsts_Cape_Marker; +struct CDOTA_Modifier_InvisibilityEdge_WindWalk; +struct CDOTA_Modifier_Invisible; +struct CDOTA_Modifier_InvisibleTrueSightImmune; +struct CDOTA_Modifier_Invoker_Alacrity; +struct CDOTA_Modifier_Invoker_AttackVisuals; +struct CDOTA_Modifier_Invoker_ChaosMeteor_Burn; +struct CDOTA_Modifier_Invoker_ChaosMeteor_Land; +struct CDOTA_Modifier_Invoker_ColdSnap; +struct CDOTA_Modifier_Invoker_ColdSnap_Freeze; +struct CDOTA_Modifier_Invoker_DeafeningBlast_Disarm; +struct CDOTA_Modifier_Invoker_DeafeningBlast_Knockback; +struct CDOTA_Modifier_Invoker_EMP; +struct CDOTA_Modifier_Invoker_ExortInstance; +struct CDOTA_Modifier_Invoker_GhostWalk_Enemy; +struct CDOTA_Modifier_Invoker_GhostWalk_Self; +struct CDOTA_Modifier_Invoker_IceWall_SlowAura; +struct CDOTA_Modifier_Invoker_IceWall_SlowDebuff; +struct CDOTA_Modifier_Invoker_IceWall_Thinker; +struct CDOTA_Modifier_Invoker_Instance; +struct CDOTA_Modifier_Invoker_QuasInstance; +struct CDOTA_Modifier_Invoker_SunStrike; +struct CDOTA_Modifier_Invoker_SunStrike_Cataclysm; +struct CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker; +struct CDOTA_Modifier_Invoker_Tornado; +struct CDOTA_Modifier_Invoker_WexInstance; +struct CDOTA_Modifier_Invulnerable; +struct CDOTA_Modifier_IonShell; +struct CDOTA_Modifier_IonShell_Slow; +struct CDOTA_Modifier_ItemWiggle_Thinker; +struct CDOTA_Modifier_Item_AbyssalBlade; +struct CDOTA_Modifier_Item_Aegis; +struct CDOTA_Modifier_Item_AeonDisk; +struct CDOTA_Modifier_Item_AeonDisk_Buff; +struct CDOTA_Modifier_Item_AghsFort_Bloodstone; +struct CDOTA_Modifier_Item_AghsFort_Bloodstone_Active; +struct CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges; +struct CDOTA_Modifier_Item_Ancient_Janggo; +struct CDOTA_Modifier_Item_Ancient_Janggo_Active; +struct CDOTA_Modifier_Item_Ancient_Janggo_Aura; +struct CDOTA_Modifier_Item_Ancient_Perseverance; +struct CDOTA_Modifier_Item_Apex; +struct CDOTA_Modifier_Item_Arcane_Blink; +struct CDOTA_Modifier_Item_Arcane_Blink_Buff; +struct CDOTA_Modifier_Item_Arcane_Boots; +struct CDOTA_Modifier_Item_Arcane_Ring; +struct CDOTA_Modifier_Item_Arcane_Scout; +struct CDOTA_Modifier_Item_Arcane_Scout_Invulnerability; +struct CDOTA_Modifier_Item_Arcane_Scout_Self_Vision; +struct CDOTA_Modifier_Item_Armlet; +struct CDOTA_Modifier_Item_AsceticCap; +struct CDOTA_Modifier_Item_AsceticCapBuff; +struct CDOTA_Modifier_Item_AssassinsDagger; +struct CDOTA_Modifier_Item_Assault_Cuirass; +struct CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor; +struct CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura; +struct CDOTA_Modifier_Item_Assault_Cuirass_Positive; +struct CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura; +struct CDOTA_Modifier_Item_Ballista; +struct CDOTA_Modifier_Item_Barricade; +struct CDOTA_Modifier_Item_Barricade_Blocker; +struct CDOTA_Modifier_Item_Barricade_Thinker; +struct CDOTA_Modifier_Item_Battlefury; +struct CDOTA_Modifier_Item_BeltOfStrength; +struct CDOTA_Modifier_Item_Black_King_Bar; +struct CDOTA_Modifier_Item_BladeOfAlacrity; +struct CDOTA_Modifier_Item_Blade_Mail; +struct CDOTA_Modifier_Item_Blade_Mail_Reflect; +struct CDOTA_Modifier_Item_BladesOfAttack; +struct CDOTA_Modifier_Item_Blight_Stone; +struct CDOTA_Modifier_Item_BlinkDagger; +struct CDOTA_Modifier_Item_Bloodstone; +struct CDOTA_Modifier_Item_Bloodstone_Active; +struct CDOTA_Modifier_Item_Bloodstone_Drained; +struct CDOTA_Modifier_Item_Bloodthorn; +struct CDOTA_Modifier_Item_Book_Of_Shadows; +struct CDOTA_Modifier_Item_Book_Of_Shadows_Buff; +struct CDOTA_Modifier_Item_BootsOfElven; +struct CDOTA_Modifier_Item_BootsOfSpeed; +struct CDOTA_Modifier_Item_BootsOfTravel; +struct CDOTA_Modifier_Item_BootsOfTravel_2; +struct CDOTA_Modifier_Item_Boots_Of_Bearing; +struct CDOTA_Modifier_Item_Boots_Of_Bearing_Active; +struct CDOTA_Modifier_Item_Boots_Of_Bearing_Aura; +struct CDOTA_Modifier_Item_Bottomless_Chalice; +struct CDOTA_Modifier_Item_Bottomless_Chalice_Regen; +struct CDOTA_Modifier_Item_Bracer; +struct CDOTA_Modifier_Item_Broadsword; +struct CDOTA_Modifier_Item_Broom_Handle; +struct CDOTA_Modifier_Item_Buckler; +struct CDOTA_Modifier_Item_Buckler_Effect; +struct CDOTA_Modifier_Item_Bullwhip; +struct CDOTA_Modifier_Item_Bullwhip_Buff; +struct CDOTA_Modifier_Item_Bullwhip_Buff_Thinker; +struct CDOTA_Modifier_Item_Butterfly; +struct CDOTA_Modifier_Item_Butterfly_Extra; +struct CDOTA_Modifier_Item_Ceremonial_Robe; +struct CDOTA_Modifier_Item_ChainMail; +struct CDOTA_Modifier_Item_Chipped_Vest; +struct CDOTA_Modifier_Item_Circlet; +struct CDOTA_Modifier_Item_Claymore; +struct CDOTA_Modifier_Item_Cloak_Of_Flames; +struct CDOTA_Modifier_Item_Clumsy_Net; +struct CDOTA_Modifier_Item_Craggy_Coat; +struct CDOTA_Modifier_Item_CraniumBasher; +struct CDOTA_Modifier_Item_Crimson_Guard; +struct CDOTA_Modifier_Item_Crimson_Guard_Extra; +struct CDOTA_Modifier_Item_Crimson_Guard_NoStack; +struct CDOTA_Modifier_Item_Crown; +struct CDOTA_Modifier_Item_Cyclone; +struct CDOTA_Modifier_Item_DaggerOfRistul; +struct CDOTA_Modifier_Item_Dagon; +struct CDOTA_Modifier_Item_DemonEdge; +struct CDOTA_Modifier_Item_Demonicon; +struct CDOTA_Modifier_Item_Desolator; +struct CDOTA_Modifier_Item_Desolator_2; +struct CDOTA_Modifier_Item_Diffusal_Blade; +struct CDOTA_Modifier_Item_Diffusal_Blade_Slow; +struct CDOTA_Modifier_Item_DivineRapier; +struct CDOTA_Modifier_Item_DragonLance; +struct CDOTA_Modifier_Item_Dragon_Scale; +struct CDOTA_Modifier_Item_DustofAppearance; +struct CDOTA_Modifier_Item_Dynamite_Jacket; +struct CDOTA_Modifier_Item_EagleEye; +struct CDOTA_Modifier_Item_EagleHorn; +struct CDOTA_Modifier_Item_EchoSabre; +struct CDOTA_Modifier_Item_Editor; +struct CDOTA_Modifier_Item_Elven_Tunic; +struct CDOTA_Modifier_Item_EmptyBottle; +struct CDOTA_Modifier_Item_Enchanted_Mango; +struct CDOTA_Modifier_Item_Enchanted_Quiver; +struct CDOTA_Modifier_Item_EnergyBooster; +struct CDOTA_Modifier_Item_Essence_Ring; +struct CDOTA_Modifier_Item_Essence_Ring_Active; +struct CDOTA_Modifier_Item_Eternal_Shroud; +struct CDOTA_Modifier_Item_Eternal_Shroud_Barrier; +struct CDOTA_Modifier_Item_Ethereal_Blade; +struct CDOTA_Modifier_Item_Ethereal_Blade_Slow; +struct CDOTA_Modifier_Item_Ex_Machina; +struct CDOTA_Modifier_Item_EyeOfTheVizier; +struct CDOTA_Modifier_Item_Faded_Broach; +struct CDOTA_Modifier_Item_Faerie_Fire; +struct CDOTA_Modifier_Item_Falcon_Blade; +struct CDOTA_Modifier_Item_Fallen_Sky; +struct CDOTA_Modifier_Item_Fallen_Sky_Burn; +struct CDOTA_Modifier_Item_Fallen_Sky_Land; +struct CDOTA_Modifier_Item_Flicker; +struct CDOTA_Modifier_Item_Flicker_Damaged; +struct CDOTA_Modifier_Item_Fluffy_Hat; +struct CDOTA_Modifier_Item_ForceStaff; +struct CDOTA_Modifier_Item_Force_Boots; +struct CDOTA_Modifier_Item_Force_Field; +struct CDOTA_Modifier_Item_Force_Field_Bonus; +struct CDOTA_Modifier_Item_Force_Field_Bonus_Aura; +struct CDOTA_Modifier_Item_Force_Field_Effect; +struct CDOTA_Modifier_Item_Fortitude_Ring; +struct CDOTA_Modifier_Item_Fortitude_Ring_Active; +struct CDOTA_Modifier_Item_Gauntlets; +struct CDOTA_Modifier_Item_GemOfTrueSight; +struct CDOTA_Modifier_Item_GhostScepter; +struct CDOTA_Modifier_Item_Giants_Ring; +struct CDOTA_Modifier_Item_Gladiator_Helm; +struct CDOTA_Modifier_Item_GlimmerCape; +struct CDOTA_Modifier_Item_GlimmerCape_Building_Limit; +struct CDOTA_Modifier_Item_Gloves_Of_Travel; +struct CDOTA_Modifier_Item_Grandmasters_Glaive; +struct CDOTA_Modifier_Item_GreaterCritical; +struct CDOTA_Modifier_Item_Greater_Faerie_Fire; +struct CDOTA_Modifier_Item_Grove_Bow; +struct CDOTA_Modifier_Item_Grove_Bow_Debuff; +struct CDOTA_Modifier_Item_GuardianShell_Active; +struct CDOTA_Modifier_Item_Guardian_Greaves; +struct CDOTA_Modifier_Item_Guardian_Greaves_Aura; +struct CDOTA_Modifier_Item_Guardian_Shell; +struct CDOTA_Modifier_Item_Gungir; +struct CDOTA_Modifier_Item_HandOfMidas; +struct CDOTA_Modifier_Item_Harpoon; +struct CDOTA_Modifier_Item_Harpoon_Pull; +struct CDOTA_Modifier_Item_Harpoon_Slow; +struct CDOTA_Modifier_Item_Havoc_Hammer; +struct CDOTA_Modifier_Item_Headdress; +struct CDOTA_Modifier_Item_Headdress_Aura; +struct CDOTA_Modifier_Item_Heart; +struct CDOTA_Modifier_Item_HeavensHalberd; +struct CDOTA_Modifier_Item_Heavy_Blade; +struct CDOTA_Modifier_Item_HelmOfIronWill; +struct CDOTA_Modifier_Item_HelmOfTheDominator; +struct CDOTA_Modifier_Item_HelmOfTheDominator_2; +struct CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth; +struct CDOTA_Modifier_Item_Helm_Of_The_Undying; +struct CDOTA_Modifier_Item_Helm_Of_The_Undying_Active; +struct CDOTA_Modifier_Item_Holy_Locket; +struct CDOTA_Modifier_Item_Holy_Locket_Aura; +struct CDOTA_Modifier_Item_Hood_Of_Defiance; +struct CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier; +struct CDOTA_Modifier_Item_Hurricane_Pike; +struct CDOTA_Modifier_Item_Hyperstone; +struct CDOTA_Modifier_Item_IcarusWings; +struct CDOTA_Modifier_Item_IcarusWingsBuff; +struct CDOTA_Modifier_Item_IcarusWingsDebuff; +struct CDOTA_Modifier_Item_Illusionists_Cape_Aura; +struct CDOTA_Modifier_Item_Illusionsts_Cape; +struct CDOTA_Modifier_Item_Imp_Claw; +struct CDOTA_Modifier_Item_Infused_Raindrop; +struct CDOTA_Modifier_Item_InvisibilityEdge; +struct CDOTA_Modifier_Item_Iron_Talon; +struct CDOTA_Modifier_Item_IronwoodBranch; +struct CDOTA_Modifier_Item_Ironwood_tree; +struct CDOTA_Modifier_Item_Javelin; +struct CDOTA_Modifier_Item_Kaya; +struct CDOTA_Modifier_Item_Kaya_And_Sange; +struct CDOTA_Modifier_Item_LanceOfPursuit; +struct CDOTA_Modifier_Item_Lance_of_Pursuit_Slow; +struct CDOTA_Modifier_Item_LesserCritical; +struct CDOTA_Modifier_Item_LightRobes; +struct CDOTA_Modifier_Item_Lotus_Orb; +struct CDOTA_Modifier_Item_Lotus_Orb_Active; +struct CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck; +struct CDOTA_Modifier_Item_Lunar_Crest; +struct CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition; +struct CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction; +struct CDOTA_Modifier_Item_Maelstrom; +struct CDOTA_Modifier_Item_Mage_Slayer; +struct CDOTA_Modifier_Item_Mage_Slayer_Debuff; +struct CDOTA_Modifier_Item_MagicStick; +struct CDOTA_Modifier_Item_MagicWand; +struct CDOTA_Modifier_Item_Magus_Minimus; +struct CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow; +struct CDOTA_Modifier_Item_Magus_Minimus_Inhibit; +struct CDOTA_Modifier_Item_ManaclesOfPower; +struct CDOTA_Modifier_Item_ManaclesOfPower_Effect; +struct CDOTA_Modifier_Item_Mango_Tree; +struct CDOTA_Modifier_Item_MantaStyle; +struct CDOTA_Modifier_Item_Mantle; +struct CDOTA_Modifier_Item_MaskOfDeath; +struct CDOTA_Modifier_Item_MaskOfDispair; +struct CDOTA_Modifier_Item_MaskOfMadness; +struct CDOTA_Modifier_Item_Mechanical_Arm; +struct CDOTA_Modifier_Item_Medallion_Of_Courage; +struct CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition; +struct CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction; +struct CDOTA_Modifier_Item_Mekansm; +struct CDOTA_Modifier_Item_Mekansm_Aura; +struct CDOTA_Modifier_Item_Mekansm_Noheal; +struct CDOTA_Modifier_Item_MeteorHammer; +struct CDOTA_Modifier_Item_MeteorHammer_Burn; +struct CDOTA_Modifier_Item_MeteorHammer_Land; +struct CDOTA_Modifier_Item_Mind_Breaker; +struct CDOTA_Modifier_Item_Minotaur_Horn; +struct CDOTA_Modifier_Item_Mirror_Shield; +struct CDOTA_Modifier_Item_Misericorde; +struct CDOTA_Modifier_Item_MithrilHammer; +struct CDOTA_Modifier_Item_Mjollnir; +struct CDOTA_Modifier_Item_Mjollnir_Static; +struct CDOTA_Modifier_Item_MonkeyKingBar; +struct CDOTA_Modifier_Item_Moonshard; +struct CDOTA_Modifier_Item_Moonshard_Consumed; +struct CDOTA_Modifier_Item_MuertasGun; +struct CDOTA_Modifier_Item_Mysterious_Hat; +struct CDOTA_Modifier_Item_MysticStaff; +struct CDOTA_Modifier_Item_Naginata; +struct CDOTA_Modifier_Item_Necronomicon; +struct CDOTA_Modifier_Item_Necronomicon_2; +struct CDOTA_Modifier_Item_Necronomicon_3; +struct CDOTA_Modifier_Item_Necronomicon_Archer_Aura; +struct CDOTA_Modifier_Item_Necronomicon_Mana_Aura; +struct CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2; +struct CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3; +struct CDOTA_Modifier_Item_Nether_Shawl; +struct CDOTA_Modifier_Item_Ninja_Gear; +struct CDOTA_Modifier_Item_NullTalisman; +struct CDOTA_Modifier_Item_Nullifier_Slow; +struct CDOTA_Modifier_Item_Oakheart; +struct CDOTA_Modifier_Item_OblivionStaff; +struct CDOTA_Modifier_Item_ObserverWard; +struct CDOTA_Modifier_Item_Occult_Bracelet; +struct CDOTA_Modifier_Item_Occult_Bracelet_Stack; +struct CDOTA_Modifier_Item_Ocean_Heart; +struct CDOTA_Modifier_Item_Octarine_Core; +struct CDOTA_Modifier_Item_OgreAxe; +struct CDOTA_Modifier_Item_OgreSealTotem; +struct CDOTA_Modifier_Item_Orb_Of_Corrosion; +struct CDOTA_Modifier_Item_Orb_Of_Destruction; +struct CDOTA_Modifier_Item_Orb_of_Pestilence; +struct CDOTA_Modifier_Item_Orb_of_Pestilence_Slow; +struct CDOTA_Modifier_Item_Orb_of_Venom; +struct CDOTA_Modifier_Item_Orb_of_Venom_Slow; +struct CDOTA_Modifier_Item_OrchidMalevolence; +struct CDOTA_Modifier_Item_Overwhelming_Blink; +struct CDOTA_Modifier_Item_Overwhelming_Blink_Debuff; +struct CDOTA_Modifier_Item_Paintball; +struct CDOTA_Modifier_Item_Paintball_Debuff; +struct CDOTA_Modifier_Item_Paladin_Sword; +struct CDOTA_Modifier_Item_Panic_Button; +struct CDOTA_Modifier_Item_Penta_Edged_Sword; +struct CDOTA_Modifier_Item_Perseverance; +struct CDOTA_Modifier_Item_PhaseBoots; +struct CDOTA_Modifier_Item_PhaseBoots_Active; +struct CDOTA_Modifier_Item_Philosophers_Stone; +struct CDOTA_Modifier_Item_Phoenix_Ash; +struct CDOTA_Modifier_Item_Phylactery; +struct CDOTA_Modifier_Item_Phylactery_Slow; +struct CDOTA_Modifier_Item_Pipe; +struct CDOTA_Modifier_Item_Pipe_Aura; +struct CDOTA_Modifier_Item_Pipe_Barrier; +struct CDOTA_Modifier_Item_Pipe_Debuff; +struct CDOTA_Modifier_Item_Pirate_Hat; +struct CDOTA_Modifier_Item_PlaneswalkersCloak; +struct CDOTA_Modifier_Item_PlateMail; +struct CDOTA_Modifier_Item_PogoStick; +struct CDOTA_Modifier_Item_PointBooster; +struct CDOTA_Modifier_Item_PoorMansShield; +struct CDOTA_Modifier_Item_Possessed_Mask; +struct CDOTA_Modifier_Item_PowerTreads; +struct CDOTA_Modifier_Item_Princes_Knife; +struct CDOTA_Modifier_Item_Princes_Knife_Hex; +struct CDOTA_Modifier_Item_Psychic_Headband; +struct CDOTA_Modifier_Item_Pupils_gift; +struct CDOTA_Modifier_Item_Quarterstaff; +struct CDOTA_Modifier_Item_QuellingBlade; +struct CDOTA_Modifier_Item_Quickening_Charm; +struct CDOTA_Modifier_Item_Quicksilver_Amulet; +struct CDOTA_Modifier_Item_Radiance; +struct CDOTA_Modifier_Item_Radiance_Debuff; +struct CDOTA_Modifier_Item_Reaver; +struct CDOTA_Modifier_Item_RefresherOrb; +struct CDOTA_Modifier_Item_Repair_Kit; +struct CDOTA_Modifier_Item_Revenants_Brooch; +struct CDOTA_Modifier_Item_Revenants_Brooch_Counter; +struct CDOTA_Modifier_Item_Revenants_Brooch_InternalCD; +struct CDOTA_Modifier_Item_RingOfAquila; +struct CDOTA_Modifier_Item_RingOfAquila_Aura; +struct CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus; +struct CDOTA_Modifier_Item_RingOfHealth; +struct CDOTA_Modifier_Item_RingOfProtection; +struct CDOTA_Modifier_Item_RingOfRegeneration; +struct CDOTA_Modifier_Item_RingOfTarrasque; +struct CDOTA_Modifier_Item_Ring_Of_Basilius; +struct CDOTA_Modifier_Item_Ring_Of_Basilius_Effect; +struct CDOTA_Modifier_Item_RobeOfMagi; +struct CDOTA_Modifier_Item_RodOfAtos; +struct CDOTA_Modifier_Item_SacredRelic; +struct CDOTA_Modifier_Item_SamplePicker; +struct CDOTA_Modifier_Item_Sange; +struct CDOTA_Modifier_Item_SangeAndYasha; +struct CDOTA_Modifier_Item_Satanic; +struct CDOTA_Modifier_Item_Satanic_Unholy; +struct CDOTA_Modifier_Item_Satchel; +struct CDOTA_Modifier_Item_SeedsOfSerenity; +struct CDOTA_Modifier_Item_SeedsOfSerenity_Active; +struct CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura; +struct CDOTA_Modifier_Item_SentryWard; +struct CDOTA_Modifier_Item_SheepStick; +struct CDOTA_Modifier_Item_Shivas_Guard; +struct CDOTA_Modifier_Item_Shivas_Guard_Aura; +struct CDOTA_Modifier_Item_Shivas_Guard_Blast; +struct CDOTA_Modifier_Item_Shivas_Guard_Thinker; +struct CDOTA_Modifier_Item_Silver_Edge; +struct CDOTA_Modifier_Item_Skadi; +struct CDOTA_Modifier_Item_Skadi_Slow; +struct CDOTA_Modifier_Item_Slime_Vial; +struct CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff; +struct CDOTA_Modifier_Item_Slime_Vial_Thinker; +struct CDOTA_Modifier_Item_Slippers; +struct CDOTA_Modifier_Item_SobiMask; +struct CDOTA_Modifier_Item_Solar_Crest; +struct CDOTA_Modifier_Item_Solar_Crest_Armor_Addition; +struct CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction; +struct CDOTA_Modifier_Item_Sorcerers_Staff; +struct CDOTA_Modifier_Item_Soul_Booster; +struct CDOTA_Modifier_Item_Soul_Ring; +struct CDOTA_Modifier_Item_SpecialistsArray; +struct CDOTA_Modifier_Item_Sphere; +struct CDOTA_Modifier_Item_Sphere_Target; +struct CDOTA_Modifier_Item_Sphere_Upgrade_Absorb; +struct CDOTA_Modifier_Item_Spider_Legs_Active; +struct CDOTA_Modifier_Item_Spirit_Vessel; +struct CDOTA_Modifier_Item_Spirit_Vessel_Damage; +struct CDOTA_Modifier_Item_Spirit_Vessel_Heal; +struct CDOTA_Modifier_Item_Spy_Gadget; +struct CDOTA_Modifier_Item_Spy_Gadget_Aura; +struct CDOTA_Modifier_Item_Star_Mace; +struct CDOTA_Modifier_Item_Stormcrafter; +struct CDOTA_Modifier_Item_StoutShield; +struct CDOTA_Modifier_Item_SuperArcane_Blink; +struct CDOTA_Modifier_Item_SuperBlinkDagger; +struct CDOTA_Modifier_Item_SuperOverwhelming_Blink; +struct CDOTA_Modifier_Item_SuperSwift_Blink; +struct CDOTA_Modifier_Item_Swift_Blink; +struct CDOTA_Modifier_Item_Swift_Blink_Buff; +struct CDOTA_Modifier_Item_TalismanOfEvasion; +struct CDOTA_Modifier_Item_Tenderizer; +struct CDOTA_Modifier_Item_The_Leveller; +struct CDOTA_Modifier_Item_Timeless_Relic; +struct CDOTA_Modifier_Item_Titan_Sliver; +struct CDOTA_Modifier_Item_Tome_of_Omniscience; +struct CDOTA_Modifier_Item_TranquilBoots; +struct CDOTA_Modifier_Item_TranquilBoots2; +struct CDOTA_Modifier_Item_Tree_Processor; +struct CDOTA_Modifier_Item_Tree_Processor_Speed; +struct CDOTA_Modifier_Item_Trickster_Cloak; +struct CDOTA_Modifier_Item_Trickster_Cloak_Invis; +struct CDOTA_Modifier_Item_Trident; +struct CDOTA_Modifier_Item_Trusty_Shovel; +struct CDOTA_Modifier_Item_UltimateOrb; +struct CDOTA_Modifier_Item_UltimateScepter; +struct CDOTA_Modifier_Item_UltimateScepter_Consumed; +struct CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist; +struct CDOTA_Modifier_Item_UnstableWand; +struct CDOTA_Modifier_Item_UnstableWand_Critter; +struct CDOTA_Modifier_Item_Urn_Damage; +struct CDOTA_Modifier_Item_Urn_Heal; +struct CDOTA_Modifier_Item_Urn_Of_Shadows; +struct CDOTA_Modifier_Item_Vambrace; +struct CDOTA_Modifier_Item_Vampire_Fangs; +struct CDOTA_Modifier_Item_Vanguard; +struct CDOTA_Modifier_Item_Veil_Of_Discord; +struct CDOTA_Modifier_Item_Veil_Of_Discord_Debuff; +struct CDOTA_Modifier_Item_Veil_Of_Discord_Mana; +struct CDOTA_Modifier_Item_Vengeances_Shadow; +struct CDOTA_Modifier_Item_Venom_Gland; +struct CDOTA_Modifier_Item_Vermillion_Robe; +struct CDOTA_Modifier_Item_Vermillion_Robe_Flames; +struct CDOTA_Modifier_Item_VitalityBooster; +struct CDOTA_Modifier_Item_Vladmir; +struct CDOTA_Modifier_Item_Vladmir_Aura; +struct CDOTA_Modifier_Item_VoidStone; +struct CDOTA_Modifier_Item_VoidwalkerScythe; +struct CDOTA_Modifier_Item_Voodoo_Mask; +struct CDOTA_Modifier_Item_WandOfSanctitude; +struct CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker; +struct CDOTA_Modifier_Item_WandOfTheBrine; +struct CDOTA_Modifier_Item_WandOfTheBrine_Active; +struct CDOTA_Modifier_Item_WardTrueSight; +struct CDOTA_Modifier_Item_Ward_Dispenser; +struct CDOTA_Modifier_Item_Ward_Maker; +struct CDOTA_Modifier_Item_Warhammer; +struct CDOTA_Modifier_Item_Warhammer_Armor; +struct CDOTA_Modifier_Item_WindLace; +struct CDOTA_Modifier_Item_Wind_Waker; +struct CDOTA_Modifier_Item_Witch_Blade; +struct CDOTA_Modifier_Item_Witch_Blade_Slow; +struct CDOTA_Modifier_Item_Witless_shako; +struct CDOTA_Modifier_Item_Wizard_Glass; +struct CDOTA_Modifier_Item_Woodland_Striders; +struct CDOTA_Modifier_Item_WraithBand; +struct CDOTA_Modifier_Item_WraithPact; +struct CDOTA_Modifier_Item_WraithPact_DeathAura; +struct CDOTA_Modifier_Item_WraithPact_Thinker; +struct CDOTA_Modifier_Item_Yasha; +struct CDOTA_Modifier_Item_Yasha_And_Kaya; +struct CDOTA_Modifier_Jacket_Blind; +struct CDOTA_Modifier_Jakiro_DualBreath_Burn; +struct CDOTA_Modifier_Jakiro_DualBreath_Slow; +struct CDOTA_Modifier_Jakiro_DualBreath_Thinker; +struct CDOTA_Modifier_Jakiro_IcePath_Stun; +struct CDOTA_Modifier_Jakiro_IcePath_Thinker; +struct CDOTA_Modifier_Jakiro_LiquidFire; +struct CDOTA_Modifier_Jakiro_LiquidFire_Burn; +struct CDOTA_Modifier_Jakiro_LiquidIce; +struct CDOTA_Modifier_Jakiro_LiquidIce_Debuff; +struct CDOTA_Modifier_Jakiro_Macropyre_Burn; +struct CDOTA_Modifier_Jakiro_Macropyre_Thinker; +struct CDOTA_Modifier_Jugg_Caster; +struct CDOTA_Modifier_Juggernaut_BladeDance; +struct CDOTA_Modifier_Juggernaut_BladeFury; +struct CDOTA_Modifier_Juggernaut_Healing_Ward_Aura; +struct CDOTA_Modifier_Juggernaut_Healing_Ward_Heal; +struct CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker; +struct CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack; +struct CDOTA_Modifier_Juggernaut_Omnislash; +struct CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability; +struct CDOTA_Modifier_JumpBoots; +struct CDOTA_Modifier_JumpBootsIntrinsic; +struct CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease; +struct CDOTA_Modifier_JungleSpirit_RiverRejuvenation; +struct CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect; +struct CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen; +struct CDOTA_Modifier_JungleSpirit_Storm_Cyclone; +struct CDOTA_Modifier_JungleVarmint_Creator; +struct CDOTA_Modifier_JungleVarmint_Dive; +struct CDOTA_Modifier_Jungle_Spirit; +struct CDOTA_Modifier_Jungle_Spirit_Ally_Alert; +struct CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock; +struct CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity; +struct CDOTA_Modifier_Jungle_Spirit_Range_Attack; +struct CDOTA_Modifier_Jungle_Spirit_Reductions; +struct CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff; +struct CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable; +struct CDOTA_Modifier_Jungle_Spirit_Storm_Multicast; +struct CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown; +struct CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike; +struct CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster; +struct CDOTA_Modifier_Jungle_Varmint; +struct CDOTA_Modifier_Keen_Optic; +struct CDOTA_Modifier_KeeperOfTheLight_BlindingLight; +struct CDOTA_Modifier_KeeperOfTheLight_Illuminate; +struct CDOTA_Modifier_KeeperOfTheLight_ManaLeak; +struct CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind; +struct CDOTA_Modifier_KeeperOfTheLight_Recall; +struct CDOTA_Modifier_KeeperOfTheLight_SpiritForm; +struct CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate; +struct CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp; +struct CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura; +struct CDOTA_Modifier_Kill; +struct CDOTA_Modifier_Knockback; +struct CDOTA_Modifier_KoboldTaskmaster_SpeedAura; +struct CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus; +struct CDOTA_Modifier_KoboldTunneler_ProspectingAura; +struct CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money; +struct CDOTA_Modifier_Kobold_Disarm; +struct CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura; +struct CDOTA_Modifier_Kunkka_Fear; +struct CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb; +struct CDOTA_Modifier_Kunkka_GhostShip_DamageDelay; +struct CDOTA_Modifier_Kunkka_GhostShip_Knockback; +struct CDOTA_Modifier_Kunkka_GhostShip_Loaded; +struct CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet; +struct CDOTA_Modifier_Kunkka_Man_the_Helm; +struct CDOTA_Modifier_Kunkka_No_Quarter_Buff; +struct CDOTA_Modifier_Kunkka_No_Quarter_Counter; +struct CDOTA_Modifier_Kunkka_Rumboldened_Immunity; +struct CDOTA_Modifier_Kunkka_Tidebringer; +struct CDOTA_Modifier_Kunkka_Tidebringer_Slow; +struct CDOTA_Modifier_Kunkka_Torrent; +struct CDOTA_Modifier_Kunkka_Torrent_Slow; +struct CDOTA_Modifier_Kunkka_Torrent_Storm; +struct CDOTA_Modifier_Kunkka_Torrent_Thinker; +struct CDOTA_Modifier_Kunkka_XMarksTheSpot; +struct CDOTA_Modifier_Kunkka_XMarksTheSpotMarker; +struct CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker; +struct CDOTA_Modifier_LegacyChargeCounter; +struct CDOTA_Modifier_Legion_Commander_Duel; +struct CDOTA_Modifier_Legion_Commander_Duel_DamageBoost; +struct CDOTA_Modifier_Legion_Commander_MomentOfCourage; +struct CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal; +struct CDOTA_Modifier_Legion_Commander_OverwhelmingOdds; +struct CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor; +struct CDOTA_Modifier_Legion_Commander_PressTheAttack; +struct CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity; +struct CDOTA_Modifier_Leshrac_Decrepify; +struct CDOTA_Modifier_Leshrac_Decrepify_Aura; +struct CDOTA_Modifier_Leshrac_Diabolic_Edict; +struct CDOTA_Modifier_Leshrac_Greater_Lightning_Storm; +struct CDOTA_Modifier_Leshrac_Lightning_Storm; +struct CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker; +struct CDOTA_Modifier_Leshrac_Lightning_Storm_Slow; +struct CDOTA_Modifier_Leshrac_Pulse_Nova; +struct CDOTA_Modifier_Leshrac_Split_Earth_Thinker; +struct CDOTA_Modifier_Lesser_NightCrawler_Pounce; +struct CDOTA_Modifier_Lich_ChainFrost_Slow; +struct CDOTA_Modifier_Lich_Chain_Frost_Thinker; +struct CDOTA_Modifier_Lich_DarkSorcery_Buff; +struct CDOTA_Modifier_Lich_FrostArmor; +struct CDOTA_Modifier_Lich_FrostArmor_Autocast; +struct CDOTA_Modifier_Lich_FrostArmor_Slow; +struct CDOTA_Modifier_Lich_FrostAura; +struct CDOTA_Modifier_Lich_FrostAura_Aura; +struct CDOTA_Modifier_Lich_FrostAura_Slow; +struct CDOTA_Modifier_Lich_FrostNova_Slow; +struct CDOTA_Modifier_Lich_FrostShield; +struct CDOTA_Modifier_Lich_FrostShield_Slow; +struct CDOTA_Modifier_Lich_Ice_Spire; +struct CDOTA_Modifier_Lich_Ice_Spire_Debuff; +struct CDOTA_Modifier_Lich_Sinister_Gaze; +struct CDOTA_Modifier_Lich_Sinister_Gaze_Self; +struct CDOTA_Modifier_Life_Stealer_Assimilate; +struct CDOTA_Modifier_Life_Stealer_Assimilate_Effect; +struct CDOTA_Modifier_Life_Stealer_Feast; +struct CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy; +struct CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow; +struct CDOTA_Modifier_Life_Stealer_Infest; +struct CDOTA_Modifier_Life_Stealer_Infest_Creep; +struct CDOTA_Modifier_Life_Stealer_Infest_Effect; +struct CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero; +struct CDOTA_Modifier_Life_Stealer_Open_Wounds; +struct CDOTA_Modifier_Life_Stealer_Rage; +struct CDOTA_Modifier_Lina_FierySoul; +struct CDOTA_Modifier_Lina_Fiery_Cloak; +struct CDOTA_Modifier_Lina_LagunaBlade; +struct CDOTA_Modifier_Lina_LagunaBlade_Line; +struct CDOTA_Modifier_Lina_LightStrikeArray_Thinker; +struct CDOTA_Modifier_Lion_Arcana_Kill_Effect; +struct CDOTA_Modifier_Lion_FingerOfDeath; +struct CDOTA_Modifier_Lion_FingerOfDeath_Delay; +struct CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter; +struct CDOTA_Modifier_Lion_Impale; +struct CDOTA_Modifier_Lion_ManaDrain; +struct CDOTA_Modifier_Lion_ManaDrain_Buff; +struct CDOTA_Modifier_Lion_ManaDrain_Debuff; +struct CDOTA_Modifier_Lion_ManaDrain_Immunity; +struct CDOTA_Modifier_Lion_Voodoo; +struct CDOTA_Modifier_LoneDruid_DruidForm_Transform; +struct CDOTA_Modifier_LoneDruid_Entangling_Claws; +struct CDOTA_Modifier_LoneDruid_Rabid; +struct CDOTA_Modifier_LoneDruid_SavageRoar; +struct CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Defender; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Demolish; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Entangle; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect; +struct CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic; +struct CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker; +struct CDOTA_Modifier_LoneDruid_SpiritLink; +struct CDOTA_Modifier_LoneDruid_TrueForm; +struct CDOTA_Modifier_LoneDruid_TrueForm_BattleCry; +struct CDOTA_Modifier_LoneDruid_TrueForm_Transform; +struct CDOTA_Modifier_LootDrop_Thinker; +struct CDOTA_Modifier_Lotus_Orb_Delay; +struct CDOTA_Modifier_Lua; +struct CDOTA_Modifier_Lua_Horizontal_Motion; +struct CDOTA_Modifier_Lua_Motion_Both; +struct CDOTA_Modifier_Lua_Vertical_Motion; +struct CDOTA_Modifier_Luna_Eclipse; +struct CDOTA_Modifier_Luna_LucentBeam_Damage_Buff; +struct CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter; +struct CDOTA_Modifier_Luna_LunarBlessing; +struct CDOTA_Modifier_Luna_LunarBlessingAura; +struct CDOTA_Modifier_Luna_LunarBlessing_Active; +struct CDOTA_Modifier_Luna_LunarBlessing_Smoke; +struct CDOTA_Modifier_Luna_Lunar_Grace; +struct CDOTA_Modifier_Luna_MoonGlaive; +struct CDOTA_Modifier_Lycan_Fear; +struct CDOTA_Modifier_Lycan_FeralImpulse; +struct CDOTA_Modifier_Lycan_FeralImpulse_Aura; +struct CDOTA_Modifier_Lycan_Howl; +struct CDOTA_Modifier_Lycan_Shapeshift; +struct CDOTA_Modifier_Lycan_Shapeshift_Speed; +struct CDOTA_Modifier_Lycan_Shapeshift_Thinker; +struct CDOTA_Modifier_Lycan_Shapeshift_Transform; +struct CDOTA_Modifier_Lycan_Shard; +struct CDOTA_Modifier_Lycan_SummonWolves_Bash; +struct CDOTA_Modifier_Lycan_SummonWolves_BonusDamage; +struct CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike; +struct CDOTA_Modifier_Lycan_SummonWolves_Health; +struct CDOTA_Modifier_Lycan_SummonWolves_Maim; +struct CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility; +struct CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range; +struct CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal; +struct CDOTA_Modifier_Lycan_Wolf_Uncontrollable; +struct CDOTA_Modifier_MaelstromChain; +struct CDOTA_Modifier_MagicImmune; +struct CDOTA_Modifier_Magnataur_Empower; +struct CDOTA_Modifier_Magnataur_Horn_Toss; +struct CDOTA_Modifier_Magnataur_Horn_Toss_Slow; +struct CDOTA_Modifier_Magnataur_ReversePolarity; +struct CDOTA_Modifier_Magnataur_ReversePolarity_Strength; +struct CDOTA_Modifier_Magnataur_Shockwave; +struct CDOTA_Modifier_Magnataur_Shockwave_Erupt; +struct CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow; +struct CDOTA_Modifier_Magnataur_Shockwave_Pull; +struct CDOTA_Modifier_Magnataur_Skewer_Impact; +struct CDOTA_Modifier_Magnataur_Skewer_Movement; +struct CDOTA_Modifier_Magnataur_Skewer_Slow; +struct CDOTA_Modifier_Manta; +struct CDOTA_Modifier_Manta_Phase; +struct CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed; +struct CDOTA_Modifier_Marci_Dispose_Debuff; +struct CDOTA_Modifier_Marci_Grapple_VictimMotion; +struct CDOTA_Modifier_Marci_Guardian_Buff; +struct CDOTA_Modifier_Marci_Guardian_MagicImmunity; +struct CDOTA_Modifier_Marci_Lunge_Arc; +struct CDOTA_Modifier_Marci_Lunge_Buff; +struct CDOTA_Modifier_Marci_Lunge_Debuff; +struct CDOTA_Modifier_Marci_Lunge_LandingAnim; +struct CDOTA_Modifier_Marci_Lunge_TrackingMotion; +struct CDOTA_Modifier_Marci_Unleash; +struct CDOTA_Modifier_Marci_Unleash_Flurry; +struct CDOTA_Modifier_Marci_Unleash_FlurryCooldown; +struct CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff; +struct CDOTA_Modifier_Marci_Unleash_Pull; +struct CDOTA_Modifier_Marci_Unleash_Pulse_Silence; +struct CDOTA_Modifier_Mars_ArenaOfBlood; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Animation; +struct CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Buff; +struct CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Leash; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Marker; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Spear; +struct CDOTA_Modifier_Mars_ArenaOfBlood_Thinker; +struct CDOTA_Modifier_Mars_Bulwark; +struct CDOTA_Modifier_Mars_Bulwark_Active; +struct CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus; +struct CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker; +struct CDOTA_Modifier_Mars_GodsRebuke_Crit; +struct CDOTA_Modifier_Mars_Gods_Rebuke; +struct CDOTA_Modifier_Mars_Scepter_Damage; +struct CDOTA_Modifier_Mars_Scepter_Damage_Slow; +struct CDOTA_Modifier_Mars_Scepter_Damage_Tracker; +struct CDOTA_Modifier_Mars_Spear_Impale; +struct CDOTA_Modifier_Mars_Spear_Stun; +struct CDOTA_Modifier_MaskOfDispair_Berserk; +struct CDOTA_Modifier_MaskOfMadness_Berserk; +struct CDOTA_Modifier_Mechanical_Arm_Counter; +struct CDOTA_Modifier_Medusa_Cold_Blooded; +struct CDOTA_Modifier_Medusa_ManaShield; +struct CDOTA_Modifier_Medusa_ManaShield_Bonus_Mana; +struct CDOTA_Modifier_Medusa_Mystic_Snake_Slow; +struct CDOTA_Modifier_Medusa_SplitShot; +struct CDOTA_Modifier_Medusa_StoneGaze; +struct CDOTA_Modifier_Medusa_StoneGaze_Facing; +struct CDOTA_Modifier_Medusa_StoneGaze_Slow; +struct CDOTA_Modifier_Medusa_StoneGaze_Stone; +struct CDOTA_Modifier_Medusa_StoneGaze_Tracker; +struct CDOTA_Modifier_Meepo_Divided_We_Stand; +struct CDOTA_Modifier_Meepo_Earthbind; +struct CDOTA_Modifier_Meepo_Earthbind_ChainDuration; +struct CDOTA_Modifier_Meepo_Fling_Slow; +struct CDOTA_Modifier_Meepo_Flung; +struct CDOTA_Modifier_Meepo_Geostrike_Debuff; +struct CDOTA_Modifier_Meepo_Petrify; +struct CDOTA_Modifier_Meepo_Poof_Slow; +struct CDOTA_Modifier_Meepo_Ransack; +struct CDOTA_Modifier_Meepo_Self_Geostrike; +struct CDOTA_Modifier_MeltingStrike_Debuff; +struct CDOTA_Modifier_Minotaur_Horn_Immune; +struct CDOTA_Modifier_Mirana_Leap; +struct CDOTA_Modifier_Mirana_Leap_Buff; +struct CDOTA_Modifier_Mirana_Leap_ChargeCounter; +struct CDOTA_Modifier_Mirana_Leap_Slow; +struct CDOTA_Modifier_Mirana_MoonlightShadow; +struct CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker; +struct CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker; +struct CDOTA_Modifier_Mirana_Starfall_Thinker; +struct CDOTA_Modifier_Mirror_Shield_Delay; +struct CDOTA_Modifier_Misery_Debuff; +struct CDOTA_Modifier_MjollnirChain; +struct CDOTA_Modifier_MonkeyKing_ArcToGround; +struct CDOTA_Modifier_MonkeyKing_Bounce; +struct CDOTA_Modifier_MonkeyKing_BounceLeap; +struct CDOTA_Modifier_MonkeyKing_BouncePerch; +struct CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement; +struct CDOTA_Modifier_MonkeyKing_CloudRun; +struct CDOTA_Modifier_MonkeyKing_CloudRunStart; +struct CDOTA_Modifier_MonkeyKing_FurArmyThinker; +struct CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage; +struct CDOTA_Modifier_MonkeyKing_FurArmy_Soldier; +struct CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden; +struct CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition; +struct CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive; +struct CDOTA_Modifier_MonkeyKing_QuadrupleTap; +struct CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses; +struct CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter; +struct CDOTA_Modifier_MonkeyKing_RightClickJump_Activity; +struct CDOTA_Modifier_MonkeyKing_SpringSlow; +struct CDOTA_Modifier_MonkeyKing_Spring_Thinker; +struct CDOTA_Modifier_MonkeyKing_Strike_Crit; +struct CDOTA_Modifier_MonkeyKing_Strike_Stun; +struct CDOTA_Modifier_MonkeyKing_Transform; +struct CDOTA_Modifier_MonkeyKing_TreeDance_Activity; +struct CDOTA_Modifier_MonkeyKing_TreeJump_Hidden; +struct CDOTA_Modifier_MonkeyKing_UnperchedStunned; +struct CDOTA_Modifier_Morokai_JungleHealBeam; +struct CDOTA_Modifier_Morphling_Adaptive_Strike; +struct CDOTA_Modifier_Morphling_Adaptive_Strike_Armor; +struct CDOTA_Modifier_Morphling_Morph; +struct CDOTA_Modifier_Morphling_Morph_Agi; +struct CDOTA_Modifier_Morphling_Morph_Str; +struct CDOTA_Modifier_Morphling_Replicate; +struct CDOTA_Modifier_Morphling_Replicate_Manager; +struct CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect; +struct CDOTA_Modifier_Morphling_Scepter; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff; +struct CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff; +struct CDOTA_Modifier_Morphling_Waveform; +struct CDOTA_Modifier_Morphling_Waveform_ChargeCounter; +struct CDOTA_Modifier_Morty_Hop; +struct CDOTA_Modifier_Morty_Hop_Controller; +struct CDOTA_Modifier_MoveSpeed_Percentage; +struct CDOTA_Modifier_Move_From_Activity; +struct CDOTA_Modifier_MudGolem_CloakAura; +struct CDOTA_Modifier_MudGolem_CloakAura_Bonus; +struct CDOTA_Modifier_MudGolem_RockDestroy; +struct CDOTA_Modifier_MudGolem_Rock_Shard; +struct CDOTA_Modifier_MuertaReleaseEvent; +struct CDOTA_Modifier_MuertaReleaseEvent_RemoveGravestone; +struct CDOTA_Modifier_Muerta_DeadShot_Fear; +struct CDOTA_Modifier_Muerta_DeadShot_Slow; +struct CDOTA_Modifier_Muerta_Gunslinger; +struct CDOTA_Modifier_Muerta_PierceTheVeil; +struct CDOTA_Modifier_Muerta_PierceTheVeilTransform; +struct CDOTA_Modifier_Muerta_PierceTheVeil_Buff; +struct CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel; +struct CDOTA_Modifier_Muerta_Revenant_Thinker; +struct CDOTA_Modifier_Muerta_TheCallingAuraSlow; +struct CDOTA_Modifier_Muerta_TheCalling_Invulnerable; +struct CDOTA_Modifier_Muerta_TheCalling_Silence; +struct CDOTA_Modifier_Muertas_Gun_Fear; +struct CDOTA_Modifier_Muertas_Gun_Slow; +struct CDOTA_Modifier_Mutation_Cooldown_Reduction; +struct CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura; +struct CDOTA_Modifier_Mutation_CreateTombstone; +struct CDOTA_Modifier_Mutation_CreateTombstone_Aura; +struct CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura; +struct CDOTA_Modifier_Mutation_CritChance_Team_Aura; +struct CDOTA_Modifier_Mutation_Crit_Chance; +struct CDOTA_Modifier_Mutation_DeathExplosion; +struct CDOTA_Modifier_Mutation_DeathExplosionDelayed; +struct CDOTA_Modifier_Mutation_DeathExplosion_Aura; +struct CDOTA_Modifier_Mutation_DeathExplosion_TeamAura; +struct CDOTA_Modifier_Mutation_DropItemOnDeath_Team; +struct CDOTA_Modifier_Mutation_FreeRapiers_Team; +struct CDOTA_Modifier_Mutation_KillstreakPower; +struct CDOTA_Modifier_Mutation_KillstreakPower_Aura; +struct CDOTA_Modifier_Mutation_NoHealthBars_Aura; +struct CDOTA_Modifier_Mutation_PocketRoshan_Team; +struct CDOTA_Modifier_Mutation_Spellcast; +struct CDOTA_Modifier_Mutation_StationaryDamageReduction; +struct CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura; +struct CDOTA_Modifier_Mutation_Treecutter; +struct CDOTA_Modifier_Mutation_Treecutter_Aura; +struct CDOTA_Modifier_Mutation_Vampire; +struct CDOTA_Modifier_Mutation_Vampire_Aura; +struct CDOTA_Modifier_Muted; +struct CDOTA_Modifier_NPXBuff; +struct CDOTA_Modifier_NagaSiren_Crit_Passive; +struct CDOTA_Modifier_NagaSiren_Ensnare; +struct CDOTA_Modifier_NagaSiren_MirrorImage; +struct CDOTA_Modifier_NagaSiren_RipTide; +struct CDOTA_Modifier_NagaSiren_RipTideCounter; +struct CDOTA_Modifier_NagaSiren_RipTide_Passive; +struct CDOTA_Modifier_NagaSiren_RipTide_Slow; +struct CDOTA_Modifier_NagaSiren_SongOfTheSiren; +struct CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura; +struct CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura; +struct CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe; +struct CDOTA_Modifier_Naga_Siren_Reel_In; +struct CDOTA_Modifier_Necrolyte_Heartstopper_Aura; +struct CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter; +struct CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect; +struct CDOTA_Modifier_Necrolyte_ReapersScythe; +struct CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime; +struct CDOTA_Modifier_Necrolyte_Sadist_Active; +struct CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect; +struct CDOTA_Modifier_Necronomicon_Archer_AoE; +struct CDOTA_Modifier_Necronomicon_Archer_Purge; +struct CDOTA_Modifier_Necronomicon_Warrior_LastWill; +struct CDOTA_Modifier_Necronomicon_Warrior_ManaBurn; +struct CDOTA_Modifier_Necronomicon_Warrior_Sight; +struct CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal; +struct CDOTA_Modifier_Neutral_Creep_Lost; +struct CDOTA_Modifier_Neutral_Sleep_AI; +struct CDOTA_Modifier_Neutral_SpellImmunity; +struct CDOTA_Modifier_Neutral_SpellImmunity_Visible; +struct CDOTA_Modifier_Neutral_Upgrade; +struct CDOTA_Modifier_Nevermore_Necromastery; +struct CDOTA_Modifier_Nevermore_Necromastery_Fear; +struct CDOTA_Modifier_Nevermore_Presence; +struct CDOTA_Modifier_Nevermore_Presence_Aura; +struct CDOTA_Modifier_Nevermore_Requiem_Aura; +struct CDOTA_Modifier_Nevermore_Requiem_Fear; +struct CDOTA_Modifier_Nevermore_Requiem_InvisBreak; +struct CDOTA_Modifier_Nevermore_Requiem_Slow; +struct CDOTA_Modifier_Nevermore_Requiem_Thinker; +struct CDOTA_Modifier_NianCharge; +struct CDOTA_Modifier_NianChargePinned; +struct CDOTA_Modifier_Nian_Apocalypse; +struct CDOTA_Modifier_Nian_Attachment; +struct CDOTA_Modifier_Nian_Attachment_Regrow; +struct CDOTA_Modifier_Nian_Big_Flinch; +struct CDOTA_Modifier_Nian_Damage_Reflection; +struct CDOTA_Modifier_Nian_Dive; +struct CDOTA_Modifier_Nian_EruptionPendingThinker; +struct CDOTA_Modifier_Nian_EruptionThinker; +struct CDOTA_Modifier_Nian_Flag_Trap_Thinker; +struct CDOTA_Modifier_Nian_Flag_Trapped; +struct CDOTA_Modifier_Nian_Frenzy; +struct CDOTA_Modifier_Nian_GreaterBash; +struct CDOTA_Modifier_Nian_GreaterBash_Speed; +struct CDOTA_Modifier_Nian_Hurricane_Whirlpool; +struct CDOTA_Modifier_Nian_Intrinsic; +struct CDOTA_Modifier_Nian_Invulnerable; +struct CDOTA_Modifier_Nian_Knockdown; +struct CDOTA_Modifier_Nian_Leap; +struct CDOTA_Modifier_Nian_Roar; +struct CDOTA_Modifier_Nian_Tail_Swipe_AirTime; +struct CDOTA_Modifier_Nian_Tail_Swipe_Wall; +struct CDOTA_Modifier_Nian_Torrent_Thinker; +struct CDOTA_Modifier_Nian_Waiting; +struct CDOTA_Modifier_Nian_Waterball; +struct CDOTA_Modifier_Nian_WhirlpoolThinker; +struct CDOTA_Modifier_Nian_Whirlpool_Pull; +struct CDOTA_Modifier_NightStalker_CripplingFear; +struct CDOTA_Modifier_NightStalker_CripplingFear_Aura; +struct CDOTA_Modifier_NightStalker_Darkness; +struct CDOTA_Modifier_NightStalker_HunterInTheNight; +struct CDOTA_Modifier_NightStalker_Void; +struct CDOTA_Modifier_NoHealthBar; +struct CDOTA_Modifier_No_Invisibility; +struct CDOTA_Modifier_NotOnMinimap; +struct CDOTA_Modifier_Nullifier; +struct CDOTA_Modifier_Nullifier_Mute; +struct CDOTA_Modifier_Nyx_Assassin_Burrow; +struct CDOTA_Modifier_Nyx_Assassin_Impale; +struct CDOTA_Modifier_Nyx_Assassin_SpikedCarapace; +struct CDOTA_Modifier_Nyx_Assassin_Vendetta; +struct CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction; +struct CDOTA_Modifier_Nyx_Assassin_Vendetta_Break; +struct CDOTA_Modifier_Oakheart_Healing; +struct CDOTA_Modifier_ObliterateSoldier; +struct CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb; +struct CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff; +struct CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter; +struct CDOTA_Modifier_Obsidian_Destroyer_EssenceAura; +struct CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect; +struct CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker; +struct CDOTA_Modifier_Ofrenda_Pledge; +struct CDOTA_Modifier_OgreMagi_FrostArmor; +struct CDOTA_Modifier_OgreMagi_FrostArmor_Slow; +struct CDOTA_Modifier_OgreSealTotem_Active; +struct CDOTA_Modifier_OgreSealTotem_Slow; +struct CDOTA_Modifier_OgreSmash_Swing; +struct CDOTA_Modifier_Ogre_Magi_Arcana; +struct CDOTA_Modifier_Ogre_Magi_Bloodlust; +struct CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast; +struct CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc; +struct CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast; +struct CDOTA_Modifier_Ogre_Magi_Ignite; +struct CDOTA_Modifier_Ogre_Magi_Ignite_Multicast; +struct CDOTA_Modifier_Ogre_Magi_Item_Multicast; +struct CDOTA_Modifier_Ogre_Magi_Smash_Buff; +struct CDOTA_Modifier_Omniknight_Angelic_Flight; +struct CDOTA_Modifier_Omniknight_Degen_Aura; +struct CDOTA_Modifier_Omniknight_Degen_Aura_Effect; +struct CDOTA_Modifier_Omniknight_GuardianAngel; +struct CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb; +struct CDOTA_Modifier_Omniknight_Marty; +struct CDOTA_Modifier_Omniknight_Pacify; +struct CDOTA_Modifier_Omniknight_Repel; +struct CDOTA_Modifier_Oracle_FalsePromise; +struct CDOTA_Modifier_Oracle_FalsePromiseTimer; +struct CDOTA_Modifier_Oracle_FalsePromise_Invis; +struct CDOTA_Modifier_Oracle_FatesEdict; +struct CDOTA_Modifier_Oracle_FortunesEndChannelTarget; +struct CDOTA_Modifier_Oracle_FortunesEndPurge; +struct CDOTA_Modifier_Oracle_PurifyingFlames; +struct CDOTA_Modifier_Oracle_RainOfDestiny; +struct CDOTA_Modifier_Oracle_RainOfDestiny_Aura; +struct CDOTA_Modifier_Orb_Of_Corrosion_Debuff; +struct CDOTA_Modifier_Orb_Of_Destruction_Debuff; +struct CDOTA_Modifier_Orb_Of_Revelations; +struct CDOTA_Modifier_Orb_Of_Revelations_Reveal; +struct CDOTA_Modifier_OrchidMalevolence_Debuff; +struct CDOTA_Modifier_Outpost_Summoning; +struct CDOTA_Modifier_Overflowing_Elixir_Regen; +struct CDOTA_Modifier_Pangolier_Gyroshell; +struct CDOTA_Modifier_Pangolier_GyroshellBounce; +struct CDOTA_Modifier_Pangolier_GyroshellTimeout; +struct CDOTA_Modifier_Pangolier_Gyroshell_Ricochet; +struct CDOTA_Modifier_Pangolier_Gyroshell_Stun; +struct CDOTA_Modifier_Pangolier_HeartPiercer; +struct CDOTA_Modifier_Pangolier_HeartPiercer_Debuff; +struct CDOTA_Modifier_Pangolier_HeartPiercer_Delay; +struct CDOTA_Modifier_Pangolier_LuckyShot; +struct CDOTA_Modifier_Pangolier_LuckyShot_Disarm; +struct CDOTA_Modifier_Pangolier_LuckyShot_Silence; +struct CDOTA_Modifier_Pangolier_Rollup; +struct CDOTA_Modifier_Pangolier_ShieldCrash_Buff; +struct CDOTA_Modifier_Pangolier_ShieldCrash_Jump; +struct CDOTA_Modifier_Pangolier_ShieldCrash_Slow; +struct CDOTA_Modifier_Pangolier_Swashbuckle; +struct CDOTA_Modifier_Pangolier_Swashbuckle_Attack; +struct CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter; +struct CDOTA_Modifier_Pangolier_Swashbuckle_Stunned; +struct CDOTA_Modifier_Passive_Mango_Tree; +struct CDOTA_Modifier_Penta_Edged_Sword_Maim; +struct CDOTA_Modifier_PersistentInvisibility; +struct CDOTA_Modifier_Pet; +struct CDOTA_Modifier_PhantomAssassin_Blur; +struct CDOTA_Modifier_PhantomAssassin_BlurActive; +struct CDOTA_Modifier_PhantomAssassin_CoupdeGrace; +struct CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives; +struct CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker; +struct CDOTA_Modifier_PhantomAssassin_Gravestone; +struct CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker; +struct CDOTA_Modifier_PhantomAssassin_PhantomStrike; +struct CDOTA_Modifier_PhantomAssassin_ScreenSplatter; +struct CDOTA_Modifier_PhantomAssassin_StiflingDagger; +struct CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster; +struct CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion; +struct CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase; +struct CDOTA_Modifier_PhantomLancer_Juxtapose; +struct CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion; +struct CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker; +struct CDOTA_Modifier_PhantomLancer_PhantomEdge; +struct CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility; +struct CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost; +struct CDOTA_Modifier_PhantomLancer_SpiritLance; +struct CDOTA_Modifier_Phantom_Assassin_GroundDagger; +struct CDOTA_Modifier_Phased; +struct CDOTA_Modifier_Phoenix_FireSpiritBurn; +struct CDOTA_Modifier_Phoenix_FireSpiritCount; +struct CDOTA_Modifier_Phoenix_IcarusDive; +struct CDOTA_Modifier_Phoenix_IcarusDiveBurn; +struct CDOTA_Modifier_Phoenix_Sun; +struct CDOTA_Modifier_Phoenix_SunRay; +struct CDOTA_Modifier_Phoenix_SunRayVision; +struct CDOTA_Modifier_Phoenix_SunRay_Luminance; +struct CDOTA_Modifier_Phoenix_Sun_Debuff; +struct CDOTA_Modifier_Phoenix_Sun_Ray_Slow; +struct CDOTA_Modifier_Phoenix_SupernovaHiding; +struct CDOTA_Modifier_PineCone_AcornShot_BonusDamage; +struct CDOTA_Modifier_PineCone_AcornShot_DelayThinker; +struct CDOTA_Modifier_PineCone_AcornShot_Slow; +struct CDOTA_Modifier_PineCone_AcornShot_TreeThinker; +struct CDOTA_Modifier_PineCone_ShieldBash_Crit; +struct CDOTA_Modifier_PineCone_ShieldBash_Slow; +struct CDOTA_Modifier_Plague_Wards_Bonus; +struct CDOTA_Modifier_Plague_Wards_Bonus_Range; +struct CDOTA_Modifier_Plus_HighFiveRequested; +struct CDOTA_Modifier_Pogo_Stick_Active; +struct CDOTA_Modifier_PoisonNova_Thinker; +struct CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap; +struct CDOTA_Modifier_PreventTaunts; +struct CDOTA_Modifier_PrimalBeast_Onslaught_Knockback; +struct CDOTA_Modifier_PrimalBeast_Onslaught_Movement; +struct CDOTA_Modifier_PrimalBeast_Onslaught_Windup; +struct CDOTA_Modifier_PrimalBeast_Pulverize; +struct CDOTA_Modifier_PrimalBeast_Pulverize_Self; +struct CDOTA_Modifier_PrimalBeast_Uproar; +struct CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self; +struct CDOTA_Modifier_PrimalBeast_Uproar_Slow; +struct CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker; +struct CDOTA_Modifier_Primalbeast_Trample; +struct CDOTA_Modifier_ProjectileVision; +struct CDOTA_Modifier_ProjectileVisionOnMinimap; +struct CDOTA_Modifier_Prosperous_Soul; +struct CDOTA_Modifier_Provide_Vision; +struct CDOTA_Modifier_Psychic_Headband; +struct CDOTA_Modifier_Puck_Coiled; +struct CDOTA_Modifier_Puck_DreamCoil_Thinker; +struct CDOTA_Modifier_Puck_PhaseShift; +struct CDOTA_Modifier_PudgeMiniboss_ArmorCorruption; +struct CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff; +struct CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack; +struct CDOTA_Modifier_PudgeMiniboss_HatefulStrike; +struct CDOTA_Modifier_Pudge_Dismember; +struct CDOTA_Modifier_Pudge_Dismember_Pull; +struct CDOTA_Modifier_Pudge_FleshHeap; +struct CDOTA_Modifier_Pudge_FleshHeap_Block; +struct CDOTA_Modifier_Pudge_Meat_Hook; +struct CDOTA_Modifier_Pudge_Meat_Hook_PathingFix; +struct CDOTA_Modifier_Pudge_Rot; +struct CDOTA_Modifier_Pudge_Swallow; +struct CDOTA_Modifier_Pudge_Swallow_Effect; +struct CDOTA_Modifier_Pudge_Swallow_Hide; +struct CDOTA_Modifier_Pugna_Decrepify; +struct CDOTA_Modifier_Pugna_LifeDrain; +struct CDOTA_Modifier_Pugna_LifeDrain_SpellAmp; +struct CDOTA_Modifier_Pugna_NetherBlast_Thinker; +struct CDOTA_Modifier_Pugna_NetherWard; +struct CDOTA_Modifier_Pugna_NetherWard_Aura; +struct CDOTA_Modifier_QueenOfPain_Arcana; +struct CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect; +struct CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear; +struct CDOTA_Modifier_QueenOfPain_ShadowStrike; +struct CDOTA_Modifier_QueenOfPain_SonicWave_Delay; +struct CDOTA_Modifier_QueenOfPain_SonicWave_Effect; +struct CDOTA_Modifier_Radar_Thinker; +struct CDOTA_Modifier_Rattletrap_BatteryAssault; +struct CDOTA_Modifier_Rattletrap_Cog; +struct CDOTA_Modifier_Rattletrap_CogPush; +struct CDOTA_Modifier_Rattletrap_Cog_Immune; +struct CDOTA_Modifier_Rattletrap_Cog_Leash; +struct CDOTA_Modifier_Rattletrap_Cog_Marker; +struct CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses; +struct CDOTA_Modifier_Rattletrap_Cog_Thinker; +struct CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash; +struct CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses; +struct CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent; +struct CDOTA_Modifier_Rattletrap_Hookshot; +struct CDOTA_Modifier_Rattletrap_JetPack; +struct CDOTA_Modifier_Rattletrap_Overclocking; +struct CDOTA_Modifier_Rattletrap_RocketFlare; +struct CDOTA_Modifier_Rattletrap_RocketFlare_Overclock; +struct CDOTA_Modifier_Razor_Arcana; +struct CDOTA_Modifier_Razor_Arcana_EmpoweredState; +struct CDOTA_Modifier_Razor_Arcana_Kill_Effect; +struct CDOTA_Modifier_Razor_EyeOfTheStorm; +struct CDOTA_Modifier_Razor_EyeOfTheStorm_Armor; +struct CDOTA_Modifier_Razor_EyeOfTheStorm_Passive; +struct CDOTA_Modifier_Razor_Link_Vision; +struct CDOTA_Modifier_Razor_PlasmaField_Slow; +struct CDOTA_Modifier_Razor_PlasmaField_Thinker; +struct CDOTA_Modifier_Razor_StaticLink; +struct CDOTA_Modifier_Razor_StaticLink_Buff; +struct CDOTA_Modifier_Razor_StaticLink_Debuff; +struct CDOTA_Modifier_Razor_UnstableCurrent_Aura; +struct CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage; +struct CDOTA_Modifier_Razor_UnstableCurrent_Slow; +struct CDOTA_Modifier_Repair_Kit; +struct CDOTA_Modifier_Riki_Backstab; +struct CDOTA_Modifier_Riki_BlinkStrike; +struct CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter; +struct CDOTA_Modifier_Riki_BlinkStrike_Slow; +struct CDOTA_Modifier_Riki_Permanent_Invisibility; +struct CDOTA_Modifier_Riki_Poison_Dart; +struct CDOTA_Modifier_Riki_Poison_Dart_Debuff; +struct CDOTA_Modifier_Riki_SmokeScreen; +struct CDOTA_Modifier_Riki_SmokeScreenThinker; +struct CDOTA_Modifier_Riki_TricksOfTheTrade_Phase; +struct CDOTA_Modifier_RodOfAtos_Debuff; +struct CDOTA_Modifier_Rooted; +struct CDOTA_Modifier_Roshan_Bash; +struct CDOTA_Modifier_Roshan_Devotion; +struct CDOTA_Modifier_Roshan_DevotionAura; +struct CDOTA_Modifier_Roshan_InherentBuffs; +struct CDOTA_Modifier_Roshan_Slam; +struct CDOTA_Modifier_Roshan_SpellBlock; +struct CDOTA_Modifier_Royal_Jelly; +struct CDOTA_Modifier_Rubick_Arcane_Supremacy; +struct CDOTA_Modifier_Rubick_FadeBolt; +struct CDOTA_Modifier_Rubick_FadeBoltBuff; +struct CDOTA_Modifier_Rubick_FadeBoltDebuff; +struct CDOTA_Modifier_Rubick_FadeBolt_BuffCounter; +struct CDOTA_Modifier_Rubick_NullField; +struct CDOTA_Modifier_Rubick_NullField_Effect; +struct CDOTA_Modifier_Rubick_SpellSteal; +struct CDOTA_Modifier_Rubick_Telekinesis; +struct CDOTA_Modifier_Rubick_Telekinesis_Stun; +struct CDOTA_Modifier_Rune_Arcane; +struct CDOTA_Modifier_Rune_DoubleDamage; +struct CDOTA_Modifier_Rune_ExtraDamage; +struct CDOTA_Modifier_Rune_FlyingHaste; +struct CDOTA_Modifier_Rune_Haste; +struct CDOTA_Modifier_Rune_Illusion; +struct CDOTA_Modifier_Rune_Invisibility; +struct CDOTA_Modifier_Rune_Regen; +struct CDOTA_Modifier_Rune_SuperArcane; +struct CDOTA_Modifier_Rune_SuperRegen; +struct CDOTA_Modifier_Rune_Super_Invisibility; +struct CDOTA_Modifier_SandKing_CausticFinale; +struct CDOTA_Modifier_SandKing_CausticFinaleOrb; +struct CDOTA_Modifier_SandKing_Epicenter; +struct CDOTA_Modifier_SandKing_Epicenter_Slow; +struct CDOTA_Modifier_SandKing_Impale; +struct CDOTA_Modifier_SandKing_SandStorm; +struct CDOTA_Modifier_SandKing_SandStorm_Slow; +struct CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker; +struct CDOTA_Modifier_Sand_King_BurrowStrike; +struct CDOTA_Modifier_Sand_King_Shard; +struct CDOTA_Modifier_SatyrHellcaller_UnholyAura; +struct CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus; +struct CDOTA_Modifier_SatyrSoulstealer_ManaBurn; +struct CDOTA_Modifier_SatyrTrickster_Purge; +struct CDOTA_Modifier_ScriptedMotionController; +struct CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested; +struct CDOTA_Modifier_Seasonal_FestiveFirework; +struct CDOTA_Modifier_Seasonal_Firecrackers; +struct CDOTA_Modifier_Seasonal_Penguin; +struct CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker; +struct CDOTA_Modifier_Seasonal_Summon_Common_Thinker; +struct CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker; +struct CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker; +struct CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals; +struct CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker; +struct CDOTA_Modifier_Seasonal_TI10_DiscoBall; +struct CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling; +struct CDOTA_Modifier_Seasonal_TI10_HighFiveRequested; +struct CDOTA_Modifier_Seasonal_TI10_HotPotato; +struct CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff; +struct CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato; +struct CDOTA_Modifier_Seasonal_TI10_Portal; +struct CDOTA_Modifier_Seasonal_TI10_SoccerBall; +struct CDOTA_Modifier_Seasonal_TI11_BubbleGun; +struct CDOTA_Modifier_Seasonal_TI11_CongaLine; +struct CDOTA_Modifier_Seasonal_TI11_CongaLineDancer; +struct CDOTA_Modifier_Seasonal_TI11_CongaLineSlow; +struct CDOTA_Modifier_Seasonal_TI11_DuelAccepted; +struct CDOTA_Modifier_Seasonal_TI11_RockPaperScissors; +struct CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing; +struct CDOTA_Modifier_Seasonal_TI9_Drums_Thinker; +struct CDOTA_Modifier_Seasonal_TI9_MonkeyPoop; +struct CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker; +struct CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan; +struct CDOTA_Modifier_Seasonal_TI9_Shovel_Ghost_Haunt; +struct CDOTA_Modifier_Seasonal_TI9_Shovel_Pudgling; +struct CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap; +struct CDOTA_Modifier_SecondaryUnit_Taunt; +struct CDOTA_Modifier_Seer_Stone; +struct CDOTA_Modifier_Seer_Stone_Truesight; +struct CDOTA_Modifier_ShadowAmulet_Fade; +struct CDOTA_Modifier_ShadowShaman_EtherShock; +struct CDOTA_Modifier_ShadowShaman_SerpentWard; +struct CDOTA_Modifier_ShadowShaman_Shackles; +struct CDOTA_Modifier_ShadowShaman_Voodoo; +struct CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter; +struct CDOTA_Modifier_Shadow_Demon_Disruption; +struct CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter; +struct CDOTA_Modifier_Shadow_Demon_Disseminate; +struct CDOTA_Modifier_Shadow_Demon_Purge_Slow; +struct CDOTA_Modifier_Shadow_Demon_Shadow_Poison; +struct CDOTA_Modifier_Shadow_Demon_Soul_Catcher; +struct CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion; +struct CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp; +struct CDOTA_Modifier_Shadowraze_Counter; +struct CDOTA_Modifier_Shadowraze_Debuff; +struct CDOTA_Modifier_SheepStick_Debuff; +struct CDOTA_Modifier_Shredder_Chakram_Debuff; +struct CDOTA_Modifier_Shredder_Chakram_Debuff_2; +struct CDOTA_Modifier_Shredder_Chakram_Disarm; +struct CDOTA_Modifier_Shredder_Chakram_Thinker; +struct CDOTA_Modifier_Shredder_Flamethrower; +struct CDOTA_Modifier_Shredder_Flamethrower_Damage; +struct CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker; +struct CDOTA_Modifier_Shredder_Reactive_Armor; +struct CDOTA_Modifier_Shredder_Reactive_Armor_Stack; +struct CDOTA_Modifier_Shredder_TimberChain; +struct CDOTA_Modifier_Shredder_WhirlingDeath_Debuff; +struct CDOTA_Modifier_Silence; +struct CDOTA_Modifier_Silencer_CurseOfTheSilent; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff; +struct CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter; +struct CDOTA_Modifier_Silencer_GlobalSilence; +struct CDOTA_Modifier_Silencer_LastWord; +struct CDOTA_Modifier_Silencer_LastWord_Disarm; +struct CDOTA_Modifier_Silver_Edge_Debuff; +struct CDOTA_Modifier_Silver_Edge_WindWalk; +struct CDOTA_Modifier_SkeletonKing_HellfireBlast; +struct CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff; +struct CDOTA_Modifier_SkeletonKing_MortalStrike; +struct CDOTA_Modifier_SkeletonKing_Reincarnation; +struct CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter; +struct CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active; +struct CDOTA_Modifier_SkeletonKing_Reincarnation_Slow; +struct CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons; +struct CDOTA_Modifier_SkeletonKing_VampiricAura; +struct CDOTA_Modifier_SkeletonKing_VampiricAura_Summon; +struct CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker; +struct CDOTA_Modifier_Skeleton_King_Arcana; +struct CDOTA_Modifier_Skeleton_King_Scepter_Tracker; +struct CDOTA_Modifier_Skywrath_Mage_Ancient_Seal; +struct CDOTA_Modifier_Skywrath_Mage_Concussive_Shot; +struct CDOTA_Modifier_Skywrath_Mage_Mystic_Flare; +struct CDOTA_Modifier_Skywrath_Mage_Shard; +struct CDOTA_Modifier_Skywrath_Mage_Shard_Bonus; +struct CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter; +struct CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect; +struct CDOTA_Modifier_Slardar_Amplify_Damage; +struct CDOTA_Modifier_Slardar_Bash_Active; +struct CDOTA_Modifier_Slardar_Puddle; +struct CDOTA_Modifier_Slardar_Puddle_Thinker; +struct CDOTA_Modifier_Slardar_Slithereen_Crush; +struct CDOTA_Modifier_Slardar_Sprint; +struct CDOTA_Modifier_Slardar_Sprint_Passive; +struct CDOTA_Modifier_Slardar_Sprint_River; +struct CDOTA_Modifier_Slark_DarkPact; +struct CDOTA_Modifier_Slark_DarkPact_Pulses; +struct CDOTA_Modifier_Slark_Depth_Shroud; +struct CDOTA_Modifier_Slark_Depth_Shroud_Thinker; +struct CDOTA_Modifier_Slark_EssenceShift; +struct CDOTA_Modifier_Slark_EssenceShift_Buff; +struct CDOTA_Modifier_Slark_EssenceShift_Debuff; +struct CDOTA_Modifier_Slark_EssenceShift_DebuffCounter; +struct CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff; +struct CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff; +struct CDOTA_Modifier_Slark_Fish_Bait_Post; +struct CDOTA_Modifier_Slark_Fish_Bait_Pre; +struct CDOTA_Modifier_Slark_Pounce; +struct CDOTA_Modifier_Slark_Pounce_ChargeCounter; +struct CDOTA_Modifier_Slark_Pounce_Leash; +struct CDOTA_Modifier_Slark_ShadowDance; +struct CDOTA_Modifier_Slark_ShadowDance_Aura; +struct CDOTA_Modifier_Slark_ShadowDance_Passive; +struct CDOTA_Modifier_Slark_ShadowDance_PassiveRegen; +struct CDOTA_Modifier_Slark_ShadowDance_Visual; +struct CDOTA_Modifier_Smoke_Of_Deceit; +struct CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim; +struct CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture; +struct CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop; +struct CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop; +struct CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit; +struct CDOTA_Modifier_Snapfire_GobbleUp_Creep; +struct CDOTA_Modifier_Snapfire_LilShredder_Attack; +struct CDOTA_Modifier_Snapfire_LilShredder_Buff; +struct CDOTA_Modifier_Snapfire_LilShredder_Debuff; +struct CDOTA_Modifier_Snapfire_Magma_Burn_Slow; +struct CDOTA_Modifier_Snapfire_Magma_Thinker; +struct CDOTA_Modifier_Snapfire_MortimerKisses; +struct CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource; +struct CDOTA_Modifier_Snapfire_Scatterblast_Disarm; +struct CDOTA_Modifier_Snapfire_Scatterblast_Slow; +struct CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit; +struct CDOTA_Modifier_Sniper_Assassinate; +struct CDOTA_Modifier_Sniper_Assassinate_Crit; +struct CDOTA_Modifier_Sniper_Concussive_Grenade; +struct CDOTA_Modifier_Sniper_Headshot; +struct CDOTA_Modifier_Sniper_Headshot_Slow; +struct CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter; +struct CDOTA_Modifier_Sniper_Shrapnel_Slow; +struct CDOTA_Modifier_Sniper_Shrapnel_Thinker; +struct CDOTA_Modifier_Sniper_TakeAim; +struct CDOTA_Modifier_Sniper_TakeAim_Bonus; +struct CDOTA_Modifier_Soul_Ring_Buff; +struct CDOTA_Modifier_Spawnlord_Aura; +struct CDOTA_Modifier_Spawnlord_Aura_Bonus; +struct CDOTA_Modifier_Spawnlord_Master_Freeze; +struct CDOTA_Modifier_Spawnlord_Master_Freeze_Root; +struct CDOTA_Modifier_Spawnlord_Master_Stomp; +struct CDOTA_Modifier_Special_Bonus_20_Bash; +struct CDOTA_Modifier_Special_Bonus_Agility; +struct CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence; +struct CDOTA_Modifier_Special_Bonus_All_Stats; +struct CDOTA_Modifier_Special_Bonus_Armor; +struct CDOTA_Modifier_Special_Bonus_Attack_Base_Damage; +struct CDOTA_Modifier_Special_Bonus_Attack_Damage; +struct CDOTA_Modifier_Special_Bonus_Attack_Range; +struct CDOTA_Modifier_Special_Bonus_Attack_Speed; +struct CDOTA_Modifier_Special_Bonus_Attributes; +struct CDOTA_Modifier_Special_Bonus_Base_Attack_Rate; +struct CDOTA_Modifier_Special_Bonus_Cast_Range; +struct CDOTA_Modifier_Special_Bonus_Cast_Speed; +struct CDOTA_Modifier_Special_Bonus_Cleave; +struct CDOTA_Modifier_Special_Bonus_Cooldown_Reduction; +struct CDOTA_Modifier_Special_Bonus_Corruption; +struct CDOTA_Modifier_Special_Bonus_Corruption_Debuff; +struct CDOTA_Modifier_Special_Bonus_Crit; +struct CDOTA_Modifier_Special_Bonus_Day_Vision; +struct CDOTA_Modifier_Special_Bonus_Evasion; +struct CDOTA_Modifier_Special_Bonus_Exp_Boost; +struct CDOTA_Modifier_Special_Bonus_Gold; +struct CDOTA_Modifier_Special_Bonus_Gold_Income; +struct CDOTA_Modifier_Special_Bonus_HP; +struct CDOTA_Modifier_Special_Bonus_HP_Regen; +struct CDOTA_Modifier_Special_Bonus_Haste; +struct CDOTA_Modifier_Special_Bonus_Intelligence; +struct CDOTA_Modifier_Special_Bonus_Lifesteal; +struct CDOTA_Modifier_Special_Bonus_MP; +struct CDOTA_Modifier_Special_Bonus_MP_Regen; +struct CDOTA_Modifier_Special_Bonus_MP_Regen_Amp; +struct CDOTA_Modifier_Special_Bonus_Magic_Resistance; +struct CDOTA_Modifier_Special_Bonus_Mana_Break; +struct CDOTA_Modifier_Special_Bonus_Manaloss_Reduction; +struct CDOTA_Modifier_Special_Bonus_Movement_Speed; +struct CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage; +struct CDOTA_Modifier_Special_Bonus_Night_Vision; +struct CDOTA_Modifier_Special_Bonus_Reincarnation; +struct CDOTA_Modifier_Special_Bonus_Respawn_Reduction; +struct CDOTA_Modifier_Special_Bonus_Spell_Amplify; +struct CDOTA_Modifier_Special_Bonus_Spell_Block; +struct CDOTA_Modifier_Special_Bonus_Spell_Immunity; +struct CDOTA_Modifier_Special_Bonus_Spell_Lifesteal; +struct CDOTA_Modifier_Special_Bonus_Status_Resistance; +struct CDOTA_Modifier_Special_Bonus_Strength; +struct CDOTA_Modifier_Special_Bonus_Tree_Walking; +struct CDOTA_Modifier_Special_Bonus_TrueStrike; +struct CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5; +struct CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura; +struct CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6; +struct CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura; +struct CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4; +struct CDOTA_Modifier_Special_Bonus_Unique_Meepo_5; +struct CDOTA_Modifier_Special_Bonus_Unique_Morphling_4; +struct CDOTA_Modifier_Special_Bonus_Unique_Treant_3; +struct CDOTA_Modifier_Special_Bonus_Vision; +struct CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines; +struct CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn; +struct CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker; +struct CDOTA_Modifier_Spectre_Arcana; +struct CDOTA_Modifier_Spectre_Arcana_Kill_Effect; +struct CDOTA_Modifier_Spectre_Desolate; +struct CDOTA_Modifier_Spectre_Desolate_Blind; +struct CDOTA_Modifier_Spectre_Dispersion; +struct CDOTA_Modifier_Spectre_Dispersion_Memory; +struct CDOTA_Modifier_Spectre_Haunt; +struct CDOTA_Modifier_Spectre_SpectralDagger; +struct CDOTA_Modifier_Spectre_SpectralDaggerInPath; +struct CDOTA_Modifier_Spectre_SpectralDaggerPath; +struct CDOTA_Modifier_Spectre_SpectralDaggerPathPhased; +struct CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly; +struct CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions; +struct CDOTA_Modifier_Spell_Prism; +struct CDOTA_Modifier_Spell_Prism_Active; +struct CDOTA_Modifier_Spider_Legs; +struct CDOTA_Modifier_SpiritBreaker_Bulldoze; +struct CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness; +struct CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget; +struct CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision; +struct CDOTA_Modifier_SpiritBreaker_EmpoweringHaste; +struct CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura; +struct CDOTA_Modifier_SpiritBreaker_GreaterBash; +struct CDOTA_Modifier_SpiritBreaker_GreaterBash_Break; +struct CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed; +struct CDOTA_Modifier_SpiritBreaker_NetherStrike; +struct CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision; +struct CDOTA_Modifier_SpiritBreaker_PlanarPocket; +struct CDOTA_Modifier_SpiritBreaker_PlanarPocketAura; +struct CDOTA_Modifier_SpiritBreaker_SpecialAttack; +struct CDOTA_Modifier_Spirit_Bear_Attack_Damage; +struct CDOTA_Modifier_Spirit_Gem; +struct CDOTA_Modifier_Spring2021_BombHolder; +struct CDOTA_Modifier_Spring2021_BombPlantable; +struct CDOTA_Modifier_Spring2021_DefusalBomb; +struct CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker; +struct CDOTA_Modifier_StackedNeutral; +struct CDOTA_Modifier_Stacking_Base; +struct CDOTA_Modifier_Stacking_Exp_Rate_Boost; +struct CDOTA_Modifier_Stacking_Gold_Rate_Boost; +struct CDOTA_Modifier_Stacking_Multiple_Buff_Base; +struct CDOTA_Modifier_StaffOfWizardry; +struct CDOTA_Modifier_StormSpirit_BallLightning; +struct CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack; +struct CDOTA_Modifier_StormSpirit_ElectricVortex_Pull; +struct CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow; +struct CDOTA_Modifier_StormSpirit_Electric_Rave; +struct CDOTA_Modifier_StormSpirit_Overload; +struct CDOTA_Modifier_StormSpirit_OverloadSlow; +struct CDOTA_Modifier_StormSpirit_Overload_Passive; +struct CDOTA_Modifier_StormSpirit_StaticRemnantThinker; +struct CDOTA_Modifier_StormSpirit_StaticRemnant_Talent; +struct CDOTA_Modifier_Stormcrafter_Slow; +struct CDOTA_Modifier_Stunned; +struct CDOTA_Modifier_Sven_GodsStrength; +struct CDOTA_Modifier_Sven_GreatCleave; +struct CDOTA_Modifier_Sven_Stormbolt_Hide; +struct CDOTA_Modifier_Sven_Warcry; +struct CDOTA_Modifier_Sven_Warcry_Aura; +struct CDOTA_Modifier_Sven_Warcry_Passive; +struct CDOTA_Modifier_TangoHeal; +struct CDOTA_Modifier_Taunt; +struct CDOTA_Modifier_TeamShowcase_Global; +struct CDOTA_Modifier_TeamShowcase_Showcase; +struct CDOTA_Modifier_Techies_Arcana_DamageListener; +struct CDOTA_Modifier_Techies_DeployRemoteMine; +struct CDOTA_Modifier_Techies_LandMine; +struct CDOTA_Modifier_Techies_LandMine_Burn; +struct CDOTA_Modifier_Techies_LandMines_ChargeCounter; +struct CDOTA_Modifier_Techies_Minefield_Sign_Aura; +struct CDOTA_Modifier_Techies_Minefield_Sign_Thinker; +struct CDOTA_Modifier_Techies_ReactiveTazer; +struct CDOTA_Modifier_Techies_ReactiveTazer_Disarm; +struct CDOTA_Modifier_Techies_RemoteMine; +struct CDOTA_Modifier_Techies_StasisTrap; +struct CDOTA_Modifier_Techies_StasisTrap_Stunned; +struct CDOTA_Modifier_Techies_StickyBombThrow; +struct CDOTA_Modifier_Techies_StickyBomb_Chase; +struct CDOTA_Modifier_Techies_StickyBomb_Countdown; +struct CDOTA_Modifier_Techies_StickyBomb_Slow; +struct CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary; +struct CDOTA_Modifier_Techies_Suicide_Leap; +struct CDOTA_Modifier_Techies_Suicide_Leap_Animation; +struct CDOTA_Modifier_Techies_Suicide_RespawnTime; +struct CDOTA_Modifier_Teleporting; +struct CDOTA_Modifier_Teleporting_Root_Logic; +struct CDOTA_Modifier_TemplarAssassin_Meld; +struct CDOTA_Modifier_TemplarAssassin_MeldArmor; +struct CDOTA_Modifier_TemplarAssassin_Meld_Animation; +struct CDOTA_Modifier_TemplarAssassin_PsiBlades; +struct CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow; +struct CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter; +struct CDOTA_Modifier_TemplarAssassin_RefractionAbsorb; +struct CDOTA_Modifier_TemplarAssassin_RefractionDamage; +struct CDOTA_Modifier_TemplarAssassin_Refraction_Holdout; +struct CDOTA_Modifier_TemplarAssassin_Trap; +struct CDOTA_Modifier_TemplarAssassin_Trap_Slow; +struct CDOTA_Modifier_Tenderizer_Weaken; +struct CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect; +struct CDOTA_Modifier_Terrorblade_ConjureImage; +struct CDOTA_Modifier_Terrorblade_Demon_Zeal; +struct CDOTA_Modifier_Terrorblade_Fear; +struct CDOTA_Modifier_Terrorblade_Metamorphosis; +struct CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker; +struct CDOTA_Modifier_Terrorblade_Metamorphosis_Transform; +struct CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura; +struct CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier; +struct CDOTA_Modifier_Terrorblade_Reflection_Invulnerability; +struct CDOTA_Modifier_Terrorblade_Reflection_Slow; +struct CDOTA_Modifier_Third_Eye; +struct CDOTA_Modifier_Tidehunter_AnchorSmash; +struct CDOTA_Modifier_Tidehunter_AnchorSmash_Caster; +struct CDOTA_Modifier_Tidehunter_Gush; +struct CDOTA_Modifier_Tidehunter_KrakenShell; +struct CDOTA_Modifier_Tidehunter_Ravage; +struct CDOTA_Modifier_Tidehunter_SmashAttack; +struct CDOTA_Modifier_Tinker_Defensive_Matrix; +struct CDOTA_Modifier_Tinker_LaserBlind; +struct CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker; +struct CDOTA_Modifier_Tinker_Rearm; +struct CDOTA_Modifier_Tinker_Warp_Grenade; +struct CDOTA_Modifier_Tiny_Avalanche; +struct CDOTA_Modifier_Tiny_Avalanche_Stun; +struct CDOTA_Modifier_Tiny_CraggyExterior; +struct CDOTA_Modifier_Tiny_Grow; +struct CDOTA_Modifier_Tiny_Toss; +struct CDOTA_Modifier_Tiny_TossTree_Bonus; +struct CDOTA_Modifier_Tiny_TossTree_Slow; +struct CDOTA_Modifier_Tiny_Toss_ChargeCounter; +struct CDOTA_Modifier_Tiny_Tree_Channel; +struct CDOTA_Modifier_Tiny_Tree_Channel_Bonus; +struct CDOTA_Modifier_Tiny_Tree_Grab; +struct CDOTA_Modifier_Tome_Of_Knowledge; +struct CDOTA_Modifier_Tome_Of_Knowledge_Consumed; +struct CDOTA_Modifier_Tome_of_Aghanim; +struct CDOTA_Modifier_Tornado_ExpirationTime; +struct CDOTA_Modifier_Tornado_Tempest; +struct CDOTA_Modifier_Tornado_Tempest_Debuff; +struct CDOTA_Modifier_Tower_Armor_Bonus; +struct CDOTA_Modifier_Tower_Aura; +struct CDOTA_Modifier_Tower_Aura_Bonus; +struct CDOTA_Modifier_Tower_Truesight_Aura; +struct CDOTA_Modifier_Track_Order_Issuer; +struct CDOTA_Modifier_Treant_Bonus; +struct CDOTA_Modifier_Treant_EyesInTheForest_Thinker; +struct CDOTA_Modifier_Treant_Large_Bonus; +struct CDOTA_Modifier_Treant_LeechSeed; +struct CDOTA_Modifier_Treant_LeechSeed_Slow; +struct CDOTA_Modifier_Treant_Lifebomb_Explode; +struct CDOTA_Modifier_Treant_LivingArmor; +struct CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker; +struct CDOTA_Modifier_Treant_NaturesGrasp_Damage; +struct CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus; +struct CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker; +struct CDOTA_Modifier_Treant_NaturesGuise; +struct CDOTA_Modifier_Treant_NaturesGuise_Invis; +struct CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay; +struct CDOTA_Modifier_Treant_NaturesGuise_Root; +struct CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking; +struct CDOTA_Modifier_Treant_Overgrowth; +struct CDOTA_Modifier_TrollWarlord_Axe_Invulnerable; +struct CDOTA_Modifier_TrollWarlord_BattleTrance; +struct CDOTA_Modifier_TrollWarlord_BattleTrance_Aura; +struct CDOTA_Modifier_TrollWarlord_BattleTrance_Vision; +struct CDOTA_Modifier_TrollWarlord_BerserkersRage; +struct CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare; +struct CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim; +struct CDOTA_Modifier_TrollWarlord_Fervor; +struct CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind; +struct CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow; +struct CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee; +struct CDOTA_Modifier_Troll_Warlord_Rampage; +struct CDOTA_Modifier_TrueSight; +struct CDOTA_Modifier_TrueSightAll; +struct CDOTA_Modifier_TrueSightFoW; +struct CDOTA_Modifier_Truesight_Aura; +struct CDOTA_Modifier_Turbo_Courier_Haste; +struct CDOTA_Modifier_Turbo_Courier_Invulnerable; +struct CDOTA_Modifier_Tusk_FrozenSigil; +struct CDOTA_Modifier_Tusk_FrozenSigil_Aura; +struct CDOTA_Modifier_Tusk_IceShard; +struct CDOTA_Modifier_Tusk_IceShard_Slow_Aura; +struct CDOTA_Modifier_Tusk_SnowballMeteor_Burn; +struct CDOTA_Modifier_Tusk_SnowballMeteor_Land; +struct CDOTA_Modifier_Tusk_Snowball_Movement; +struct CDOTA_Modifier_Tusk_Snowball_Movement_Friendly; +struct CDOTA_Modifier_Tusk_Snowball_Target; +struct CDOTA_Modifier_Tusk_Snowball_Visible; +struct CDOTA_Modifier_Tusk_Tag_Team; +struct CDOTA_Modifier_Tusk_Tag_Team_Aura; +struct CDOTA_Modifier_Tusk_Tag_Team_Slow; +struct CDOTA_Modifier_Tusk_WalrusKick_AirTime; +struct CDOTA_Modifier_Tusk_WalrusKick_Slow; +struct CDOTA_Modifier_Tusk_WalrusPunch; +struct CDOTA_Modifier_Tusk_WalrusPunch_AirTime; +struct CDOTA_Modifier_Tusk_WalrusPunch_Slow; +struct CDOTA_Modifier_TutorialNPCBlocker; +struct CDOTA_Modifier_TutorialNPCBlocker_Thinker; +struct CDOTA_Modifier_Tutorial_Disable_Healing; +struct CDOTA_Modifier_Tutorial_ForceAnimation; +struct CDOTA_Modifier_Tutorial_HideNPC; +struct CDOTA_Modifier_Tutorial_LastHitHelper; +struct CDOTA_Modifier_Tutorial_LastHittable; +struct CDOTA_Modifier_Tutorial_LowAttackPriority; +struct CDOTA_Modifier_Tutorial_Sleep; +struct CDOTA_Modifier_Tutorial_SpeechBubble; +struct CDOTA_Modifier_Underlord_Fear; +struct CDOTA_Modifier_Underlord_Portal_Buff; +struct CDOTA_Modifier_Underlord_Portal_FX; +struct CDOTA_Modifier_Underlord_Portal_Warp_Channel; +struct CDOTA_Modifier_Undying_Decay_Buff; +struct CDOTA_Modifier_Undying_Decay_BuffCounter; +struct CDOTA_Modifier_Undying_Decay_Debuff; +struct CDOTA_Modifier_Undying_Decay_DebuffCounter; +struct CDOTA_Modifier_Undying_Decay_On_Attack; +struct CDOTA_Modifier_Undying_FleshGolem; +struct CDOTA_Modifier_Undying_FleshGolem_PlagueAura; +struct CDOTA_Modifier_Undying_FleshGolem_Slow; +struct CDOTA_Modifier_Undying_Tombstone_Death_Trigger; +struct CDOTA_Modifier_Undying_Tombstone_HP; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Aura; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter; +struct CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier; +struct CDOTA_Modifier_UpgradedBarricade; +struct CDOTA_Modifier_UpgradedMortar; +struct CDOTA_Modifier_UpheavalUrn_Reincarnation; +struct CDOTA_Modifier_UrnUpheaval; +struct CDOTA_Modifier_Ursa_Earthshock; +struct CDOTA_Modifier_Ursa_Earthshock_Move; +struct CDOTA_Modifier_Ursa_Enrage; +struct CDOTA_Modifier_Ursa_Fury_Swipes; +struct CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase; +struct CDOTA_Modifier_Ursa_Overpower; +struct CDOTA_Modifier_Vengeances_Shadow_Illusions; +struct CDOTA_Modifier_VengefulSpirit_Command_Aura; +struct CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect; +struct CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion; +struct CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura; +struct CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect; +struct CDOTA_Modifier_VengefulSpirit_Hybrid_Special; +struct CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter; +struct CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction; +struct CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix; +struct CDOTA_Modifier_VengefulSpirit_WaveOfTerror; +struct CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff; +struct CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear; +struct CDOTA_Modifier_VengefulSpirit_XP_Earn; +struct CDOTA_Modifier_Venom_Gland_Debuff; +struct CDOTA_Modifier_Venomancer_Latent_Poison; +struct CDOTA_Modifier_Venomancer_PoisonNova; +struct CDOTA_Modifier_Venomancer_PoisonSting; +struct CDOTA_Modifier_Venomancer_PoisonStingBase; +struct CDOTA_Modifier_Venomancer_PoisonStingWard; +struct CDOTA_Modifier_Venomancer_PoisonSting_Applier; +struct CDOTA_Modifier_Venomancer_VenomousGale; +struct CDOTA_Modifier_Viper_CorrosiveSkin; +struct CDOTA_Modifier_Viper_CorrosiveSkin_Slow; +struct CDOTA_Modifier_Viper_Nethertoxin; +struct CDOTA_Modifier_Viper_NethertoxinMute; +struct CDOTA_Modifier_Viper_Nethertoxin_Thinker; +struct CDOTA_Modifier_Viper_Nose_Dive; +struct CDOTA_Modifier_Viper_Nose_Dive_Effect; +struct CDOTA_Modifier_Viper_PoisonAttack; +struct CDOTA_Modifier_Viper_PoisonAttack_Slow; +struct CDOTA_Modifier_Viper_ViperStrike_Slow; +struct CDOTA_Modifier_Visage_Amor_Reduction; +struct CDOTA_Modifier_Visage_GraveChill_Buff; +struct CDOTA_Modifier_Visage_GraveChill_Debuff; +struct CDOTA_Modifier_Visage_GravekeepersCloak; +struct CDOTA_Modifier_Visage_GravekeepersCloak_Secondary; +struct CDOTA_Modifier_Visage_GravekeepersCloak_Stack; +struct CDOTA_Modifier_Visage_Scepter; +struct CDOTA_Modifier_Visage_Silent_As_The_Grave; +struct CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus; +struct CDOTA_Modifier_Visage_SoulAssumption; +struct CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager; +struct CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge; +struct CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff; +struct CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker; +struct CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer; +struct CDOTA_Modifier_Visage_SummonFamiliars_Talents; +struct CDOTA_Modifier_VoidSpirit_AetherRemnantThinker; +struct CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight; +struct CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull; +struct CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit; +struct CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker; +struct CDOTA_Modifier_VoidSpirit_AstralStep_Caster; +struct CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter; +struct CDOTA_Modifier_VoidSpirit_AstralStep_Debuff; +struct CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic; +struct CDOTA_Modifier_VoidSpirit_Dissimilate_Invis; +struct CDOTA_Modifier_VoidSpirit_Dissimilate_Phase; +struct CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff; +struct CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring; +struct CDOTA_Modifier_Voidwalker_Phased; +struct CDOTA_Modifier_Ward_Delay; +struct CDOTA_Modifier_Warlock_FatalBonds; +struct CDOTA_Modifier_Warlock_Golem_Flaming_Fists; +struct CDOTA_Modifier_Warlock_Golem_Permanent_Immolation; +struct CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff; +struct CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger; +struct CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem; +struct CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker; +struct CDOTA_Modifier_Warlock_Shadow_Word; +struct CDOTA_Modifier_Warlock_Upheaval; +struct CDOTA_Modifier_Warlock_Upheaval_Ally; +struct CDOTA_Modifier_WarpineRaider_SeedShot; +struct CDOTA_Modifier_WarpineRaider_SeedShot_Slow; +struct CDOTA_Modifier_Watch_Tower; +struct CDOTA_Modifier_Watch_Tower_Capturing; +struct CDOTA_Modifier_Watch_Tower_Invulnerable; +struct CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary; +struct CDOTA_Modifier_Watch_Tower_Marker; +struct CDOTA_Modifier_Wave_Blast_Disarm; +struct CDOTA_Modifier_Wave_Blast_Knockback; +struct CDOTA_Modifier_Weaver_GeminateAttack; +struct CDOTA_Modifier_Weaver_GeminateAttack_Bonus; +struct CDOTA_Modifier_Weaver_Shukuchi; +struct CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark; +struct CDOTA_Modifier_Weaver_Swarm; +struct CDOTA_Modifier_Weaver_Swarm_Debuff; +struct CDOTA_Modifier_Weaver_TimeLapse; +struct CDOTA_Modifier_Wildkin_Tornado; +struct CDOTA_Modifier_Wind_Waker; +struct CDOTA_Modifier_Windrunner_Arcana; +struct CDOTA_Modifier_Windrunner_Arcana_Kill_Effect; +struct CDOTA_Modifier_Windrunner_FocusFire; +struct CDOTA_Modifier_Windrunner_GaleForce; +struct CDOTA_Modifier_Windrunner_GaleForce_Aura; +struct CDOTA_Modifier_Windrunner_ShackleShot; +struct CDOTA_Modifier_Windrunner_Windrun; +struct CDOTA_Modifier_Windrunner_Windrun_ChargeCounter; +struct CDOTA_Modifier_Windrunner_Windrun_Invis; +struct CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker; +struct CDOTA_Modifier_Windrunner_Windrun_Passive; +struct CDOTA_Modifier_Windrunner_Windrun_Slow; +struct CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract; +struct CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight; +struct CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack; +struct CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow; +struct CDOTA_Modifier_Winter_Wyvern_Cold_Embrace; +struct CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow; +struct CDOTA_Modifier_Winter_Wyvern_Winters_Curse; +struct CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura; +struct CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit; +struct CDOTA_Modifier_Wisp_Overcharge; +struct CDOTA_Modifier_Wisp_Relocate_Return; +struct CDOTA_Modifier_Wisp_Relocate_Thinker; +struct CDOTA_Modifier_Wisp_Spirit_Invulnerable; +struct CDOTA_Modifier_Wisp_Spirits; +struct CDOTA_Modifier_Wisp_Spirits_Slow; +struct CDOTA_Modifier_Wisp_Tentacles; +struct CDOTA_Modifier_Wisp_Tether; +struct CDOTA_Modifier_Wisp_Tether_Haste; +struct CDOTA_Modifier_Wisp_Tether_Scepter; +struct CDOTA_Modifier_Wisp_Tether_Slow; +struct CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal; +struct CDOTA_Modifier_Wisp_Tether_Stun_Tracker; +struct CDOTA_Modifier_WitchDoctor_Cask_Thinker; +struct CDOTA_Modifier_WitchDoctor_DeathWard; +struct CDOTA_Modifier_WitchDoctor_Maledict; +struct CDOTA_Modifier_WitchDoctor_MaledictDoT; +struct CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura; +struct CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal; +struct CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo; +struct CDOTA_Modifier_Woodland_Striders_Active; +struct CDOTA_Modifier_Yasha_And_Kaya_Maim; +struct CDOTA_Modifier_Zombie_Berserk; +struct CDOTA_Modifier_Zuus_ArcLightning; +struct CDOTA_Modifier_Zuus_ArcLightningSlow; +struct CDOTA_Modifier_Zuus_Cloud; +struct CDOTA_Modifier_Zuus_Heavenly_Jump; +struct CDOTA_Modifier_Zuus_Heavenly_Jump_Boost; +struct CDOTA_Modifier_Zuus_LightningBoltThinker; +struct CDOTA_Modifier_Zuus_Static_Field; +struct CDOTA_Modifier_Zuus_Static_Field_Slow; +struct CDOTA_Modifier_Zuus_ThundergodsWrathThinker; +struct CDOTA_Muerta_Revenant; +struct CDOTA_NPCSpawner; +struct CDOTA_NPCSpawnerBadBot; +struct CDOTA_NPCSpawnerBadMid; +struct CDOTA_NPCSpawnerBadTop; +struct CDOTA_NPCSpawnerGoodBot; +struct CDOTA_NPCSpawnerGoodMid; +struct CDOTA_NPCSpawnerGoodTop; +struct CDOTA_NPC_AghsFort_Lich_Ice_Spire; +struct CDOTA_NPC_Aghsfort_WitchDoctor_Ward; +struct CDOTA_NPC_BroodmotherStickyWeb; +struct CDOTA_NPC_DataDriven; +struct CDOTA_NPC_Lich_Ice_Spire; +struct CDOTA_NPC_Observer_Ward; +struct CDOTA_NPC_Observer_Ward_TrueSight; +struct CDOTA_NPC_Rattletrap_Cog; +struct CDOTA_NPC_TechiesMines; +struct CDOTA_NPC_Techies_Minefield_Sign; +struct CDOTA_NPC_Treant_EyesInTheForest; +struct CDOTA_NPC_WitchDoctor_Ward; +struct CDOTA_NeutralSpawner; +struct CDOTA_NoWardTrigger; +struct CDOTA_Orb; +struct CDOTA_Pet_CarriedItem; +struct CDOTA_PhantomAssassin_Gravestone; +struct CDOTA_PlayerChallengeInfo; +struct CDOTA_PlayerResource; +struct CDOTA_ReconnectInfo; +struct CDOTA_RoshanSpawner; +struct CDOTA_ScriptedSpawner; +struct CDOTA_ScriptedSpawner::scripted_moveto_t; +struct CDOTA_ShopTrigger; +struct CDOTA_SimpleObstruction; +struct CDOTA_TeamCommander; +struct CDOTA_TempTree; +struct CDOTA_Tiny_ScepterTree; +struct CDOTA_Tree; +struct CDOTA_UnitInventory; +struct CDOTA_Unit_AghsFort_Creature_Batrider; +struct CDOTA_Unit_AghsFort_Creature_DragonKnight; +struct CDOTA_Unit_AghsFort_Creature_DungeonBat; +struct CDOTA_Unit_AghsFort_EarthSpiritBoss_Stone; +struct CDOTA_Unit_AghsFort_SpectralTusk_Tombstone; +struct CDOTA_Unit_Aghsfort_Aziyog_Underlord_Portal; +struct CDOTA_Unit_Announcer; +struct CDOTA_Unit_Announcer_Killing_Spree; +struct CDOTA_Unit_Brewmaster_PrimalEarth; +struct CDOTA_Unit_Brewmaster_PrimalFire; +struct CDOTA_Unit_Brewmaster_PrimalStorm; +struct CDOTA_Unit_Brewmaster_PrimalVoid; +struct CDOTA_Unit_Broodmother_Spiderling; +struct CDOTA_Unit_Broodmother_Web; +struct CDOTA_Unit_Courier; +struct CDOTA_Unit_CustomGameAnnouncer; +struct CDOTA_Unit_CustomGameAnnouncerAghanim; +struct CDOTA_Unit_Diretide_Portal; +struct CDOTA_Unit_Earth_Spirit_Stone; +struct CDOTA_Unit_Elder_Titan_AncestralSpirit; +struct CDOTA_Unit_Fountain; +struct CDOTA_Unit_Grimstroke_InkCreature; +struct CDOTA_Unit_Hero_Abaddon; +struct CDOTA_Unit_Hero_AbyssalUnderlord; +struct CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss; +struct CDOTA_Unit_Hero_Alchemist; +struct CDOTA_Unit_Hero_AncientApparition; +struct CDOTA_Unit_Hero_AntiMage; +struct CDOTA_Unit_Hero_ArcWarden; +struct CDOTA_Unit_Hero_Axe; +struct CDOTA_Unit_Hero_Bane; +struct CDOTA_Unit_Hero_Batrider; +struct CDOTA_Unit_Hero_Beastmaster; +struct CDOTA_Unit_Hero_Beastmaster_Beasts; +struct CDOTA_Unit_Hero_Beastmaster_Boar; +struct CDOTA_Unit_Hero_Beastmaster_Hawk; +struct CDOTA_Unit_Hero_Bloodseeker; +struct CDOTA_Unit_Hero_BountyHunter; +struct CDOTA_Unit_Hero_Brewmaster; +struct CDOTA_Unit_Hero_Bristleback; +struct CDOTA_Unit_Hero_Broodmother; +struct CDOTA_Unit_Hero_Centaur; +struct CDOTA_Unit_Hero_ChaosKnight; +struct CDOTA_Unit_Hero_Chen; +struct CDOTA_Unit_Hero_Clinkz; +struct CDOTA_Unit_Hero_CrystalMaiden; +struct CDOTA_Unit_Hero_DarkSeer; +struct CDOTA_Unit_Hero_DarkWillow; +struct CDOTA_Unit_Hero_Dawnbreaker; +struct CDOTA_Unit_Hero_Dazzle; +struct CDOTA_Unit_Hero_DeathProphet; +struct CDOTA_Unit_Hero_Disruptor; +struct CDOTA_Unit_Hero_DoomBringer; +struct CDOTA_Unit_Hero_DragonKnight; +struct CDOTA_Unit_Hero_DrowRanger; +struct CDOTA_Unit_Hero_EarthSpirit; +struct CDOTA_Unit_Hero_Earthshaker; +struct CDOTA_Unit_Hero_Elder_Titan; +struct CDOTA_Unit_Hero_EmberSpirit; +struct CDOTA_Unit_Hero_Enchantress; +struct CDOTA_Unit_Hero_Enigma; +struct CDOTA_Unit_Hero_FacelessVoid; +struct CDOTA_Unit_Hero_Furion; +struct CDOTA_Unit_Hero_Grimstroke; +struct CDOTA_Unit_Hero_Gyrocopter; +struct CDOTA_Unit_Hero_Hoodwink; +struct CDOTA_Unit_Hero_Huskar; +struct CDOTA_Unit_Hero_Invoker; +struct CDOTA_Unit_Hero_Jakiro; +struct CDOTA_Unit_Hero_Juggernaut; +struct CDOTA_Unit_Hero_KeeperOfTheLight; +struct CDOTA_Unit_Hero_Kunkka; +struct CDOTA_Unit_Hero_Legion_Commander; +struct CDOTA_Unit_Hero_Leshrac; +struct CDOTA_Unit_Hero_Lich; +struct CDOTA_Unit_Hero_Life_Stealer; +struct CDOTA_Unit_Hero_Lina; +struct CDOTA_Unit_Hero_Lion; +struct CDOTA_Unit_Hero_LoneDruid; +struct CDOTA_Unit_Hero_Luna; +struct CDOTA_Unit_Hero_Lycan; +struct CDOTA_Unit_Hero_Magnataur; +struct CDOTA_Unit_Hero_Marci; +struct CDOTA_Unit_Hero_Mars; +struct CDOTA_Unit_Hero_Medusa; +struct CDOTA_Unit_Hero_Meepo; +struct CDOTA_Unit_Hero_Mirana; +struct CDOTA_Unit_Hero_MonkeyKing; +struct CDOTA_Unit_Hero_Morphling; +struct CDOTA_Unit_Hero_Muerta; +struct CDOTA_Unit_Hero_Naga_Siren; +struct CDOTA_Unit_Hero_Necrolyte; +struct CDOTA_Unit_Hero_Nevermore; +struct CDOTA_Unit_Hero_NightStalker; +struct CDOTA_Unit_Hero_Nyx_Assassin; +struct CDOTA_Unit_Hero_Obsidian_Destroyer; +struct CDOTA_Unit_Hero_Ogre_Magi; +struct CDOTA_Unit_Hero_Omniknight; +struct CDOTA_Unit_Hero_Oracle; +struct CDOTA_Unit_Hero_Pangolier; +struct CDOTA_Unit_Hero_PhantomAssassin; +struct CDOTA_Unit_Hero_PhantomLancer; +struct CDOTA_Unit_Hero_Phoenix; +struct CDOTA_Unit_Hero_PrimalBeast; +struct CDOTA_Unit_Hero_Puck; +struct CDOTA_Unit_Hero_Pudge; +struct CDOTA_Unit_Hero_Pugna; +struct CDOTA_Unit_Hero_QueenOfPain; +struct CDOTA_Unit_Hero_Rattletrap; +struct CDOTA_Unit_Hero_Razor; +struct CDOTA_Unit_Hero_Riki; +struct CDOTA_Unit_Hero_Rubick; +struct CDOTA_Unit_Hero_SandKing; +struct CDOTA_Unit_Hero_ShadowShaman; +struct CDOTA_Unit_Hero_Shadow_Demon; +struct CDOTA_Unit_Hero_Shredder; +struct CDOTA_Unit_Hero_Silencer; +struct CDOTA_Unit_Hero_SkeletonKing; +struct CDOTA_Unit_Hero_Skywrath_Mage; +struct CDOTA_Unit_Hero_Slardar; +struct CDOTA_Unit_Hero_Slark; +struct CDOTA_Unit_Hero_Snapfire; +struct CDOTA_Unit_Hero_Sniper; +struct CDOTA_Unit_Hero_Spectre; +struct CDOTA_Unit_Hero_SpiritBreaker; +struct CDOTA_Unit_Hero_StormSpirit; +struct CDOTA_Unit_Hero_Sven; +struct CDOTA_Unit_Hero_Techies; +struct CDOTA_Unit_Hero_TemplarAssassin; +struct CDOTA_Unit_Hero_Terrorblade; +struct CDOTA_Unit_Hero_Tidehunter; +struct CDOTA_Unit_Hero_Tinker; +struct CDOTA_Unit_Hero_Tiny; +struct CDOTA_Unit_Hero_Treant; +struct CDOTA_Unit_Hero_TrollWarlord; +struct CDOTA_Unit_Hero_Tusk; +struct CDOTA_Unit_Hero_Undying; +struct CDOTA_Unit_Hero_Ursa; +struct CDOTA_Unit_Hero_VengefulSpirit; +struct CDOTA_Unit_Hero_Venomancer; +struct CDOTA_Unit_Hero_Viper; +struct CDOTA_Unit_Hero_Visage; +struct CDOTA_Unit_Hero_Void_Spirit; +struct CDOTA_Unit_Hero_Warlock; +struct CDOTA_Unit_Hero_Weaver; +struct CDOTA_Unit_Hero_Windrunner; +struct CDOTA_Unit_Hero_Winter_Wyvern; +struct CDOTA_Unit_Hero_Wisp; +struct CDOTA_Unit_Hero_WitchDoctor; +struct CDOTA_Unit_Hero_Zuus; +struct CDOTA_Unit_IngisFatuus; +struct CDOTA_Unit_LoopingSound; +struct CDOTA_Unit_Nian; +struct CDOTA_Unit_Nian_Attachment; +struct CDOTA_Unit_Roshan; +struct CDOTA_Unit_SpectralTusk_Tombstone; +struct CDOTA_Unit_SpiritBear; +struct CDOTA_Unit_TargetDummy; +struct CDOTA_Unit_Underlord_Portal; +struct CDOTA_Unit_Undying_Tombstone; +struct CDOTA_Unit_Undying_Zombie; +struct CDOTA_Unit_VisageFamiliar; +struct CDOTA_Unit_ZeusCloud; +struct CDOTA_VR_Modifier_Statue_Mode; +struct CDOTA_Wisp_Spirit; +struct CDOTA_modifier_aghsfort_juggernaut_omnislash; +struct CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera; +struct CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability; +struct CDSPMixgroupModifier; +struct CDSPPresetMixgroupModifierTable; +struct CDampedPathAnimMotor; +struct CDampedPathAnimMotorUpdater; +struct CDampedValueComponent; +struct CDampedValueComponentUpdater; +struct CDampedValueItem; +struct CDampedValueUpdateItem; +struct CDebugHistory; +struct CDecalInfo; +struct CDeferredLightBase; +struct CDirectPlaybackAnimNode; +struct CDirectPlaybackTagData; +struct CDirectPlaybackUpdateNode; +struct CDirectionalBlendAnimNode; +struct CDirectionalBlendUpdateNode; +struct CDistanceRemainingMetric; +struct CDistanceRemainingMetricEvaluator; +struct CDotaEntityFilterFlags; +struct CDotaParticleRelay; +struct CDotaQuest; +struct CDotaQuestBase; +struct CDotaSubquestAbilityCastCount; +struct CDotaSubquestBase; +struct CDotaSubquestBuyItems; +struct CDotaSubquestEntityDeath; +struct CDotaSubquestPlayerStat; +struct CDotaSubquestTutorialEvent; +struct CDotaTutorialNPCBlocker; +struct CDotaTutorialNetworker; +struct CDrawCullingData; +struct CDspPresetModifierList; +struct CDynamicLight; +struct CDynamicProp; +struct CDynamicPropAlias_cable_dynamic; +struct CDynamicPropAlias_dynamic_prop; +struct CDynamicPropAlias_prop_dynamic_override; +struct CEconEntity; +struct CEconEntity::AttachedParticleInfo_t; +struct CEconItemAttribute; +struct CEconItemView; +struct CEconWearable; +struct CEditableMotionGraph; +struct CEffectData; +struct CEmitTagAction; +struct CEmitTagActionUpdater; +struct CEmptyEntityInstance; +struct CEnableMotionFixup; +struct CEntityBlocker; +struct CEntityComponent; +struct CEntityComponentHelper; +struct CEntityDissolve; +struct CEntityIOOutput; +struct CEntityIdentity; +struct CEntityInstance; +struct CEntitySubclassVDataBase; +struct CEnumAnimParameter; +struct CEnvBeam; +struct CEnvCombinedLightProbeVolume; +struct CEnvCubemap; +struct CEnvCubemapBox; +struct CEnvCubemapFog; +struct CEnvDecal; +struct CEnvDeferredLight; +struct CEnvDeferredSpotLight; +struct CEnvDetailController; +struct CEnvEntityMaker; +struct CEnvExplosion; +struct CEnvFade; +struct CEnvGlobal; +struct CEnvInstructorHint; +struct CEnvInstructorVRHint; +struct CEnvLightProbeVolume; +struct CEnvMicrophone; +struct CEnvParticleGlow; +struct CEnvProjectedTexture; +struct CEnvScreenOverlay; +struct CEnvShake; +struct CEnvSky; +struct CEnvSoundscape; +struct CEnvSoundscapeAlias_snd_soundscape; +struct CEnvSoundscapeProxy; +struct CEnvSoundscapeProxyAlias_snd_soundscape_proxy; +struct CEnvSoundscapeTriggerable; +struct CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable; +struct CEnvSpark; +struct CEnvTilt; +struct CEnvVolumetricFogController; +struct CEnvVolumetricFogVolume; +struct CEnvWindShared; +struct CEnvWindShared::WindAveEvent_t; +struct CEnvWindShared::WindVariationEvent_t; +struct CEnvZoom; +struct CExampleSchemaVData_Monomorphic; +struct CExampleSchemaVData_PolymorphicBase; +struct CExampleSchemaVData_PolymorphicDerivedA; +struct CExampleSchemaVData_PolymorphicDerivedB; +struct CExpressionAction; +struct CExpressionActionUpdater; +struct CFailableAchievement; +struct CFeIndexedJiggleBone; +struct CFeJiggleBone; +struct CFeMorphLayer; +struct CFeNamedJiggleBone; +struct CFeVertexMapBuildArray; +struct CFilterAttributeInt; +struct CFilterClass; +struct CFilterContext; +struct CFilterDotaEntities; +struct CFilterEnemy; +struct CFilterLOS; +struct CFilterMassGreater; +struct CFilterModel; +struct CFilterMultiple; +struct CFilterName; +struct CFilterProximity; +struct CFingerBone; +struct CFingerChain; +struct CFingerSource; +struct CFinishedCondition; +struct CFlashlightEffect; +struct CFlexController; +struct CFlexDesc; +struct CFlexOp; +struct CFlexRule; +struct CFloatAnimParameter; +struct CFloatAnimValue; +struct CFoWBlockerEntity; +struct CFoWBlockerRegion; +struct CFoWRevealerEntity; +struct CFogController; +struct CFogTrigger; +struct CFogVolume; +struct CFollowAttachmentAnimNode; +struct CFollowAttachmentUpdateNode; +struct CFollowPathAnimNode; +struct CFollowPathUpdateNode; +struct CFootAdjustmentAnimNode; +struct CFootAdjustmentUpdateNode; +struct CFootCycle; +struct CFootCycleDefinition; +struct CFootCycleMetric; +struct CFootCycleMetricEvaluator; +struct CFootDefinition; +struct CFootFallAnimTag; +struct CFootLockAnimNode; +struct CFootLockItem; +struct CFootLockUpdateNode; +struct CFootMotion; +struct CFootPinningAnimNode; +struct CFootPinningItem; +struct CFootPinningUpdateNode; +struct CFootPositionMetric; +struct CFootPositionMetricEvaluator; +struct CFootStepTriggerAnimNode; +struct CFootStepTriggerItem; +struct CFootStepTriggerUpdateNode; +struct CFootStride; +struct CFootTrajectories; +struct CFootTrajectory; +struct CFootstepLandedAnimTag; +struct CFootstepTableHandle; +struct CFuncBrush; +struct CFuncElectrifiedVolume; +struct CFuncIllusionary; +struct CFuncInteractionLayerClip; +struct CFuncMoveLinear; +struct CFuncMoveLinearAlias_momentary_door; +struct CFuncNavBlocker; +struct CFuncNavObstruction; +struct CFuncPlat; +struct CFuncPlatRot; +struct CFuncPropRespawnZone; +struct CFuncRotating; +struct CFuncTimescale; +struct CFuncTrackAuto; +struct CFuncTrackChange; +struct CFuncTrackTrain; +struct CFuncTrain; +struct CFuncTrainControls; +struct CFuncVPhysicsClip; +struct CFuncVehicleClip; +struct CFuncWall; +struct CFuncWallToggle; +struct CFuncWaterAnalog; +struct CFuseProgram; +struct CFuseSymbolTable; +struct CFutureFacingMetric; +struct CFutureFacingMetricEvaluator; +struct CFutureVelocityMetric; +struct CFutureVelocityMetricEvaluator; +struct CGameChoreoServices; +struct CGameGibManager; +struct CGameRules; +struct CGameRulesProxy; +struct CGameSceneNode; +struct CGameSceneNodeHandle; +struct CGameScriptedMoveData; +struct CGameWeaponManager; +struct CGeneralRandomRotation; +struct CGeneralSpin; +struct CGenericConstraint; +struct CGlobalLightBase; +struct CGlowOverlay; +struct CGlowProperty; +struct CGlowSprite; +struct CGraphMotionItem; +struct CGroupAnimNode; +struct CGroupInputAnimNode; +struct CGroupOutputAnimNode; +struct CGunTarget; +struct CHeadLookParams; +struct CHeroStatueLiked; +struct CHeroesPerPlayer; +struct CHitBox; +struct CHitBoxSet; +struct CHitBoxSetList; +struct CHitReactAnimNode; +struct CHitReactUpdateNode; +struct CHitboxComponent; +struct CHorizontalMotionController; +struct CInButtonState; +struct CInfoCourierSpawn; +struct CInfoCourierSpawnDire; +struct CInfoCourierSpawnDire1; +struct CInfoCourierSpawnDire2; +struct CInfoCourierSpawnDire3; +struct CInfoCourierSpawnDire4; +struct CInfoCourierSpawnDire5; +struct CInfoCourierSpawnRadiant; +struct CInfoCourierSpawnRadiant1; +struct CInfoCourierSpawnRadiant2; +struct CInfoCourierSpawnRadiant3; +struct CInfoCourierSpawnRadiant4; +struct CInfoCourierSpawnRadiant5; +struct CInfoData; +struct CInfoDynamicShadowHint; +struct CInfoDynamicShadowHintBox; +struct CInfoGameEventProxy; +struct CInfoInstructorHintTarget; +struct CInfoLandmark; +struct CInfoOffscreenPanoramaTexture; +struct CInfoOfrendaStatue; +struct CInfoOfrendaStatueSpawn; +struct CInfoParticleTarget; +struct CInfoPlayerStart; +struct CInfoPlayerStartBadGuys; +struct CInfoPlayerStartDota; +struct CInfoPlayerStartGoodGuys; +struct CInfoSpawnGroupLandmark; +struct CInfoSpawnGroupLoadUnload; +struct CInfoSpawnGroupLoadUnloadAlias_info_spawngroup_load; +struct CInfoSpawnGroupLoadUnloadAlias_info_spawngroup_unload; +struct CInfoTarget; +struct CInfoTeleportDestination; +struct CInfoVisibilityBox; +struct CInfoWorldLayer; +struct CIngameEvent_Base; +struct CIngameEvent_Diretide2020; +struct CIngameEvent_DotaPlus; +struct CIngameEvent_DotaPrime; +struct CIngameEvent_FM2015; +struct CIngameEvent_FM2016; +struct CIngameEvent_FV2018; +struct CIngameEvent_FV2019; +struct CIngameEvent_Fall2021; +struct CIngameEvent_MuertaReleaseSpring2023; +struct CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder; +struct CIngameEvent_NB2020; +struct CIngameEvent_NewBloom2019; +struct CIngameEvent_Spring2021; +struct CIngameEvent_TI2020; +struct CIngameEvent_TI2022; +struct CIngameEvent_TI6; +struct CIngameEvent_TI7; +struct CIngameEvent_TI8; +struct CIngameEvent_TI9; +struct CIngameEvent_WM2016; +struct CIngameEvent_WM2017; +struct CInputStreamAnimNode; +struct CInputStreamUpdateNode; +struct CInstancedSceneEntity; +struct CInstructorEventEntity; +struct CIntAnimParameter; +struct CInterpolatedValue; +struct CItem; +struct CItemGeneric; +struct CItemGenericTriggerHelper; +struct CJiggleBoneAnimNode; +struct CJiggleBoneItem; +struct CJiggleBoneUpdateNode; +struct CJiggleBones; +struct CJumpHelperAnimNode; +struct CJumpHelperUpdateNode; +struct CKeepUpright; +struct CLODComponent; +struct CLODComponentUpdater; +struct CLeafUpdateNode; +struct CLeanMatrixAnimNode; +struct CLeanMatrixUpdateNode; +struct CLightComponent; +struct CLightDirectionalEntity; +struct CLightEntity; +struct CLightEnvironmentEntity; +struct CLightGlow; +struct CLightInfoBase; +struct CLightOrthoEntity; +struct CLightSpotEntity; +struct CLocalNPCObstructionsCache; +struct CLocomotionBase; +struct CLogicAchievement; +struct CLogicActiveAutosave; +struct CLogicAuto; +struct CLogicAutosave; +struct CLogicBranch; +struct CLogicBranchList; +struct CLogicCase; +struct CLogicCollisionPair; +struct CLogicCompare; +struct CLogicDistanceAutosave; +struct CLogicDistanceCheck; +struct CLogicGameEvent; +struct CLogicGameEventListener; +struct CLogicLineToEntity; +struct CLogicMeasureMovement; +struct CLogicNPCCounter; +struct CLogicNPCCounterAABB; +struct CLogicNPCCounterOBB; +struct CLogicNavigation; +struct CLogicPlayerProxy; +struct CLogicProximity; +struct CLogicRelay; +struct CLogicScript; +struct CLogicalEntity; +struct CLookAtAnimNode; +struct CLookAtUpdateNode; +struct CLookComponent; +struct CLookComponentUpdater; +struct CMarkupVolume; +struct CMarkupVolumeTagged; +struct CMarkupVolumeTagged_Nav; +struct CMarkupVolumeTagged_NavGame; +struct CMarkupVolumeWithRef; +struct CMaterialAttributeAnimTag; +struct CMaterialDrawDescriptor; +struct CMathColorBlend; +struct CMathCounter; +struct CMathRemap; +struct CMeshletDescriptor; +struct CMessage; +struct CMessageEntity; +struct CModelConfig; +struct CModelConfigElement; +struct CModelConfigElement_AttachedModel; +struct CModelConfigElement_Command; +struct CModelConfigElement_RandomColor; +struct CModelConfigElement_RandomPick; +struct CModelConfigElement_SetBodygroup; +struct CModelConfigElement_SetBodygroupOnAttachedModels; +struct CModelConfigElement_SetMaterialGroup; +struct CModelConfigElement_SetMaterialGroupOnAttachedModels; +struct CModelConfigElement_SetRenderColor; +struct CModelConfigElement_UserPick; +struct CModelConfigList; +struct CModelPointEntity; +struct CModelState; +struct CModifierParams; +struct CMoodVData; +struct CMorphBundleData; +struct CMorphConstraint; +struct CMorphData; +struct CMorphRectData; +struct CMorphSetData; +struct CMotionDataSet; +struct CMotionGraph; +struct CMotionGraphConfig; +struct CMotionGraphGroup; +struct CMotionItem; +struct CMotionItemGroup; +struct CMotionMatchingAnimNode; +struct CMotionMatchingUpdateNode; +struct CMotionMetricBase; +struct CMotionMetricEvaluator; +struct CMotionNode; +struct CMotionNodeBlend1D; +struct CMotionNodeManager; +struct CMotionNodeSequence; +struct CMotionParameter; +struct CMotionParameterManager; +struct CMotionSearchDB; +struct CMotionSearchNode; +struct CMotorController; +struct CMovementComponent; +struct CMovementComponentUpdater; +struct CMovementMode; +struct CMoverAnimNode; +struct CMoverUpdateNode; +struct CMultiLightProxy; +struct CMultiSource; +struct CMultiplayRules; +struct CMultiplayer_Expresser; +struct CNavLinkAnimgraphVar; +struct CNavLinkAreaEntity; +struct CNavLinkMovementVData; +struct CNavSpaceInfo; +struct CNavVolume; +struct CNavVolumeAll; +struct CNavVolumeBreadthFirstSearch; +struct CNavVolumeCalculatedVector; +struct CNavVolumeMarkupVolume; +struct CNavVolumeSphere; +struct CNavVolumeSphericalShell; +struct CNavVolumeVector; +struct CNavWalkable; +struct CNetworkOriginCellCoordQuantizedVector; +struct CNetworkOriginQuantizedVector; +struct CNetworkTransmitComponent; +struct CNetworkVarChainer; +struct CNetworkVelocityVector; +struct CNetworkViewOffsetVector; +struct CNetworkedSequenceOperation; +struct CNewParticleEffect; +struct CNodeBlend2DItem; +struct CNullEntity; +struct CObstructionObject; +struct COrCondition; +struct COrientConstraint; +struct COrnamentProp; +struct CParamSpanUpdater; +struct CParameterCondition; +struct CParentConstraint; +struct CParticleAnimTag; +struct CParticleCollectionFloatInput; +struct CParticleCollectionVecInput; +struct CParticleFloatInput; +struct CParticleFunction; +struct CParticleFunctionConstraint; +struct CParticleFunctionEmitter; +struct CParticleFunctionForce; +struct CParticleFunctionInitializer; +struct CParticleFunctionOperator; +struct CParticleFunctionPreEmission; +struct CParticleFunctionRenderer; +struct CParticleProperty; +struct CParticleRemapFloatInput; +struct CParticleSystem; +struct CParticleSystemDefinition; +struct CParticleTransformInput; +struct CParticleVecInput; +struct CParticleVisibilityInputs; +struct CPathAnimMotor; +struct CPathAnimMotorBase; +struct CPathAnimMotorUpdater; +struct CPathAnimMotorUpdaterBase; +struct CPathCorner; +struct CPathCornerCrash; +struct CPathHelperAnimNode; +struct CPathHelperUpdateNode; +struct CPathKeyFrame; +struct CPathMetric; +struct CPathMetricEvaluator; +struct CPathParameters; +struct CPathParticleRope; +struct CPathTrack; +struct CPerParticleFloatInput; +struct CPerParticleVecInput; +struct CPhysBallSocket; +struct CPhysBox; +struct CPhysConstraint; +struct CPhysExplosion; +struct CPhysFixed; +struct CPhysForce; +struct CPhysHinge; +struct CPhysHingeAlias_phys_hinge_local; +struct CPhysImpact; +struct CPhysLength; +struct CPhysMagnet; +struct CPhysMotor; +struct CPhysPulley; +struct CPhysSlideConstraint; +struct CPhysSurfaceProperties; +struct CPhysSurfacePropertiesAudio; +struct CPhysSurfacePropertiesPhysics; +struct CPhysSurfacePropertiesSoundNames; +struct CPhysThruster; +struct CPhysTorque; +struct CPhysWheelConstraint; +struct CPhysicsEntitySolver; +struct CPhysicsProp; +struct CPhysicsPropOverride; +struct CPhysicsPropRespawnable; +struct CPhysicsShake; +struct CPhysicsSpring; +struct CPlatTrigger; +struct CPlayerControllerComponent; +struct CPlayerInputAnimMotor; +struct CPlayerInputAnimMotorUpdater; +struct CPlayerPawnComponent; +struct CPlayer_AutoaimServices; +struct CPlayer_CameraServices; +struct CPlayer_FlashlightServices; +struct CPlayer_ItemServices; +struct CPlayer_MovementServices; +struct CPlayer_MovementServices_Humanoid; +struct CPlayer_ObserverServices; +struct CPlayer_UseServices; +struct CPlayer_WaterServices; +struct CPlayer_WeaponServices; +struct CPointAngularVelocitySensor; +struct CPointCamera; +struct CPointCameraVFOV; +struct CPointClientUIDialog; +struct CPointClientUIWorldPanel; +struct CPointClientUIWorldTextPanel; +struct CPointCommentaryNode; +struct CPointConstraint; +struct CPointEntity; +struct CPointEntityFinder; +struct CPointHMDAnchor; +struct CPointHMDAnchorOverride; +struct CPointHintUi; +struct CPointOffScreenIndicatorUi; +struct CPointPrefab; +struct CPointPush; +struct CPointTemplate; +struct CPointValueRemapper; +struct CPointVelocitySensor; +struct CPointWorldText; +struct CPortraitData; +struct CPoseHandle; +struct CPostProcessingVolume; +struct CPrecipitationVData; +struct CProductQuantizer; +struct CProjectedDecal; +struct CProjectedTextureBase; +struct CProxyAnimNodeBase; +struct CPushable; +struct CQuaternionAnimParameter; +struct CRR_Response; +struct CRagdoll; +struct CRagdollAnimNode; +struct CRagdollAnimTag; +struct CRagdollComponent; +struct CRagdollComponentUpdater; +struct CRagdollConstraint; +struct CRagdollMagnet; +struct CRagdollManager; +struct CRagdollProp; +struct CRagdollPropAlias_physics_prop_ragdoll; +struct CRagdollPropAttached; +struct CRagdollUpdateNode; +struct CRandSimTimer; +struct CRandStopwatch; +struct CRandomNumberGeneratorParameters; +struct CRangeFloat; +struct CRangeInt; +struct CRegionSVM; +struct CRemapFloat; +struct CRenderBufferBinding; +struct CRenderComponent; +struct CRenderMesh; +struct CRenderSkeleton; +struct CResponseCriteriaSet; +struct CResponseQueue; +struct CResponseQueue::CDeferredResponse; +struct CRevertSaved; +struct CRigidBodyWeight; +struct CRigidBodyWeightList; +struct CRootAnimNode; +struct CRootUpdateNode; +struct CRopeKeyframe; +struct CRopeKeyframeAlias_move_rope; +struct CSSDSEndFrameViewInfo; +struct CSSDSMsg_EndFrame; +struct CSSDSMsg_LayerBase; +struct CSSDSMsg_PostLayer; +struct CSSDSMsg_PreLayer; +struct CSSDSMsg_ViewRender; +struct CSSDSMsg_ViewTarget; +struct CSSDSMsg_ViewTargetList; +struct CSceneEntity; +struct CSceneEntityAlias_logic_choreographed_scene; +struct CSceneEventInfo; +struct CSceneListManager; +struct CSceneObjectData; +struct CSchemaSystemInternalRegistration; +struct CScriptComponent; +struct CScriptItem; +struct CScriptNavBlocker; +struct CScriptTriggerHurt; +struct CScriptTriggerMultiple; +struct CScriptTriggerOnce; +struct CScriptTriggerPush; +struct CScriptUniformRandomStream; +struct CScriptedSequence; +struct CSelectorAnimNode; +struct CSelectorUpdateNode; +struct CSeqAutoLayer; +struct CSeqAutoLayerFlag; +struct CSeqBoneMaskList; +struct CSeqCmdLayer; +struct CSeqCmdSeqDesc; +struct CSeqIKLock; +struct CSeqMultiFetch; +struct CSeqMultiFetchFlag; +struct CSeqPoseParamDesc; +struct CSeqPoseSetting; +struct CSeqS1SeqDesc; +struct CSeqScaleSet; +struct CSeqSeqDescFlag; +struct CSeqSynthAnimDesc; +struct CSeqTransition; +struct CSequenceAnimNode; +struct CSequenceBlend2DItem; +struct CSequenceFinishedAnimTag; +struct CSequenceGroupData; +struct CSequenceMotionItem; +struct CSequenceTransitioner2; +struct CSequenceUpdateNode; +struct CServerOnlyEntity; +struct CServerOnlyModelEntity; +struct CServerOnlyPointEntity; +struct CServerRagdollTrigger; +struct CSetFacingAnimNode; +struct CSetFacingUpdateNode; +struct CSetParameterAction; +struct CSetParameterActionUpdater; +struct CShower; +struct CSimTimer; +struct CSimpleMarkupVolumeTagged; +struct CSimpleSimTimer; +struct CSimpleStopwatch; +struct CSingleFrameAnimNode; +struct CSingleFrameUpdateNode; +struct CSingleplayRules; +struct CSkeletalInputAnimNode; +struct CSkeletalInputUpdateNode; +struct CSkeletonAnimationController; +struct CSkeletonInstance; +struct CSkillDamage; +struct CSkillFloat; +struct CSkillInt; +struct CSkyCamera; +struct CSkyboxReference; +struct CSlopeComponent; +struct CSlopeComponentUpdater; +struct CSlowDownOnSlopesAnimNode; +struct CSlowDownOnSlopesUpdateNode; +struct CSmoothFunc; +struct CSolveIKChainAnimNode; +struct CSolveIKChainAnimNodeChainData; +struct CSolveIKChainUpdateNode; +struct CSosGroupActionLimitSchema; +struct CSosGroupActionSchema; +struct CSosGroupActionTimeLimitSchema; +struct CSosGroupBranchPattern; +struct CSosGroupMatchPattern; +struct CSosSoundEventGroupListSchema; +struct CSosSoundEventGroupSchema; +struct CSound; +struct CSoundAreaEntityBase; +struct CSoundAreaEntityOrientedBox; +struct CSoundAreaEntitySphere; +struct CSoundEnt; +struct CSoundEnvelope; +struct CSoundEventAABBEntity; +struct CSoundEventEntity; +struct CSoundEventEntityAlias_snd_event_point; +struct CSoundEventMetaData; +struct CSoundEventParameter; +struct CSoundEventPathCornerEntity; +struct CSoundOpvarSetAABBEntity; +struct CSoundOpvarSetEntity; +struct CSoundOpvarSetOBBEntity; +struct CSoundOpvarSetOBBWindEntity; +struct CSoundOpvarSetPathCornerEntity; +struct CSoundOpvarSetPointBase; +struct CSoundOpvarSetPointEntity; +struct CSoundPatch; +struct CSoundStackSave; +struct CSpeechBubbleInfo; +struct CSpeechBubbleManager; +struct CSpeedScaleAnimNode; +struct CSpeedScaleUpdateNode; +struct CSpinUpdateBase; +struct CSplineConstraint; +struct CSpotlightEnd; +struct CSprite; +struct CSpriteAlias_env_glow; +struct CSpriteOriented; +struct CStanceOverrideAnimNode; +struct CStanceOverrideUpdateNode; +struct CStanceScaleAnimNode; +struct CStanceScaleUpdateNode; +struct CStateAction; +struct CStateActionUpdater; +struct CStateMachineAnimNode; +struct CStateMachineComponent; +struct CStateMachineComponentUpdater; +struct CStateMachineUpdateNode; +struct CStateNodeStateData; +struct CStateNodeTransitionData; +struct CStateStatusCondition; +struct CStateUpdateData; +struct CStaticPoseCache; +struct CStaticPoseCacheBuilder; +struct CStepsRemainingMetric; +struct CStepsRemainingMetricEvaluator; +struct CStopAtGoalAnimNode; +struct CStopAtGoalUpdateNode; +struct CStopwatch; +struct CStopwatchBase; +struct CStringAnimTag; +struct CSubGraphAnimNode; +struct CSubtractAnimNode; +struct CSubtractUpdateNode; +struct CTFWearableItem; +struct CTagCondition; +struct CTakeDamageInfo; +struct CTakeDamageResult; +struct CTakeDamageSummaryScopeGuard; +struct CTaskStatusAnimTag; +struct CTeam; +struct CTextureBasedAnimatable; +struct CTiltTwistConstraint; +struct CTimeCondition; +struct CTimeRemainingMetric; +struct CTimeRemainingMetricEvaluator; +struct CTimeline; +struct CTimerEntity; +struct CToggleComponentAction; +struct CToggleComponentActionUpdater; +struct CTonemapController2; +struct CTonemapController2Alias_env_tonemap_controller2; +struct CTonemapTrigger; +struct CTouchExpansionComponent; +struct CTransitionUpdateData; +struct CTriggerActiveWeaponDetect; +struct CTriggerBrush; +struct CTriggerBuoyancy; +struct CTriggerCallback; +struct CTriggerCamera; +struct CTriggerDetectBulletFire; +struct CTriggerDetectExplosion; +struct CTriggerDota; +struct CTriggerFan; +struct CTriggerGameEvent; +struct CTriggerGravity; +struct CTriggerHurt; +struct CTriggerHurtGhost; +struct CTriggerImpact; +struct CTriggerLerpObject; +struct CTriggerLook; +struct CTriggerMultiple; +struct CTriggerOnce; +struct CTriggerPhysics; +struct CTriggerProximity; +struct CTriggerPush; +struct CTriggerRemove; +struct CTriggerSave; +struct CTriggerSndSosOpvar; +struct CTriggerSoundscape; +struct CTriggerTeleport; +struct CTriggerToggleSave; +struct CTriggerVolume; +struct CTurnHelperAnimNode; +struct CTurnHelperUpdateNode; +struct CTwistConstraint; +struct CTwoBoneIKAnimNode; +struct CTwoBoneIKUpdateNode; +struct CUnaryUpdateNode; +struct CUnitOrders; +struct CVPhysXSurfacePropertiesList; +struct CVRInputComponent; +struct CVRInputComponentUpdater; +struct CVariantDefaultAllocator; +struct CVectorAnimParameter; +struct CVectorQuantizer; +struct CVehicleEntityIO; +struct CVehicleEntityIOVData; +struct CVerticalMotionController; +struct CVoxelVisibility; +struct CVrSkeletalInputSettings; +struct CWayPointHelperAnimNode; +struct CWayPointHelperUpdateNode; +struct CWheeledPhysicsVehicle; +struct CWheeledPhysicsVehicleVData; +struct CWorld; +struct CWristBone; +struct CZeroPoseAnimNode; +struct CZeroPoseUpdateNode; +struct C_BaseAnimatingController; +struct C_BaseAnimatingOverlay; +struct C_BaseAnimatingOverlayController; +struct C_BaseButton; +struct C_BaseClientUIEntity; +struct C_BaseCombatCharacter; +struct C_BaseDoor; +struct C_BaseEntity; +struct C_BaseFlex; +struct C_BaseFlex::Emphasized_Phoneme; +struct C_BaseModelEntity; +struct C_BasePlayerPawn; +struct C_BasePlayerWeapon; +struct C_BasePropDoor; +struct C_BaseToggle; +struct C_BaseTrigger; +struct C_Beam; +struct C_BodyComponentBaseAnimating; +struct C_BodyComponentBaseAnimatingOverlay; +struct C_Breakable; +struct C_BreakableProp; +struct C_CDOTA_Ability_Treant_LeechSeed; +struct C_CSequenceTransitioner2; +struct C_CaptureCallbackHandler; +struct C_ClientRagdoll; +struct C_ColorCorrection; +struct C_ColorCorrectionVolume; +struct C_CommandContext; +struct C_DOTAAmbientCreatureParticleZone; +struct C_DOTAAppCheers; +struct C_DOTABaseAbility; +struct C_DOTABaseCustomHeroPickRules; +struct C_DOTABaseGameMode; +struct C_DOTACameraBounds; +struct C_DOTACheers; +struct C_DOTACustomGameHeroPickRules; +struct C_DOTAFogOfWarTempViewers; +struct C_DOTAGameManager; +struct C_DOTAGameManagerProxy; +struct C_DOTAGamerules; +struct C_DOTAGamerulesProxy; +struct C_DOTAMutationGameMode; +struct C_DOTANewPlayerPoolGameMode; +struct C_DOTAPlayerController; +struct C_DOTAPropCustomTexture; +struct C_DOTAReflectionSkybox; +struct C_DOTASceneEntity; +struct C_DOTASpecGraphPlayerData; +struct C_DOTASpectatorGraphManager; +struct C_DOTASpectatorGraphManagerProxy; +struct C_DOTATeam; +struct C_DOTATurboGameMode; +struct C_DOTATurboHeroPickRules; +struct C_DOTAWearableItem; +struct C_DOTAWorldParticleSystem; +struct C_DOTA_Ability_Abaddon_AphoticShield; +struct C_DOTA_Ability_Abaddon_DeathCoil; +struct C_DOTA_Ability_AbyssalUnderlord_DarkRift; +struct C_DOTA_Ability_AbyssalUnderlord_Dark_Portal; +struct C_DOTA_Ability_AbyssalUnderlord_Portal_Warp; +struct C_DOTA_Ability_Aghanim_UrnUpheaval; +struct C_DOTA_Ability_AghanimsFortress_SkeletonKing_VampiricAura; +struct C_DOTA_Ability_AghsFort2_DrowRanger_FrostArrows; +struct C_DOTA_Ability_AghsFort_ArcWardenBoss_Flux; +struct C_DOTA_Ability_AghsFort_AssaultCaptain_SearingChains; +struct C_DOTA_Ability_AghsFort_AssaultCaptain_SunRay; +struct C_DOTA_Ability_AghsFort_Bane_Enfeeble; +struct C_DOTA_Ability_AghsFort_BossDarkWillow_CursedCrown; +struct C_DOTA_Ability_AghsFort_BossDarkWillow_ShadowRealm; +struct C_DOTA_Ability_AghsFort_Creature_Phoenix_FireSpirits; +struct C_DOTA_Ability_AghsFort_Creature_Venomancer_PoisonNova; +struct C_DOTA_Ability_AghsFort_EarthSpiritBoss_Magnetize; +struct C_DOTA_Ability_AghsFort_Gyrocopter_Multi_Homing_Missile; +struct C_DOTA_Ability_AghsFort_Juggernaut_BladeDance; +struct C_DOTA_Ability_AghsFort_Juggernaut_HealingWard; +struct C_DOTA_Ability_AghsFort_Juggernaut_Omnislash; +struct C_DOTA_Ability_AghsFort_Juggernaut_ZenWard; +struct C_DOTA_Ability_AghsFort_Kunkka_Angry_Recall; +struct C_DOTA_Ability_AghsFort_Kunkka_Davy_Jones_Locker; +struct C_DOTA_Ability_AghsFort_Kunkka_Dread_Pirate; +struct C_DOTA_Ability_AghsFort_Kunkka_GhostShip; +struct C_DOTA_Ability_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons; +struct C_DOTA_Ability_AghsFort_Kunkka_Green_Around_the_Gills; +struct C_DOTA_Ability_AghsFort_Kunkka_Grog_Blossom; +struct C_DOTA_Ability_AghsFort_Kunkka_Keelhaul; +struct C_DOTA_Ability_AghsFort_Kunkka_Man_the_Helm; +struct C_DOTA_Ability_AghsFort_Kunkka_Marked; +struct C_DOTA_Ability_AghsFort_Kunkka_No_Quarter; +struct C_DOTA_Ability_AghsFort_Kunkka_Return; +struct C_DOTA_Ability_AghsFort_Kunkka_Rumboldened; +struct C_DOTA_Ability_AghsFort_Kunkka_Sealegs; +struct C_DOTA_Ability_AghsFort_Kunkka_Skull_and_Bones; +struct C_DOTA_Ability_AghsFort_Kunkka_Squall; +struct C_DOTA_Ability_AghsFort_Kunkka_Tidal_Wave; +struct C_DOTA_Ability_AghsFort_Kunkka_Tidebringer; +struct C_DOTA_Ability_AghsFort_Kunkka_Tidebringer_Charges; +struct C_DOTA_Ability_AghsFort_Kunkka_Torrent; +struct C_DOTA_Ability_AghsFort_Kunkka_Torrent_Storm; +struct C_DOTA_Ability_AghsFort_Kunkka_XMarksTheSpot; +struct C_DOTA_Ability_AghsFort_Lich_ChainFrost; +struct C_DOTA_Ability_AghsFort_Lich_FrostNova; +struct C_DOTA_Ability_AghsFort_Lich_FrostShield; +struct C_DOTA_Ability_AghsFort_Lich_Ice_Spire; +struct C_DOTA_Ability_AghsFort_Lich_Sinister_Gaze; +struct C_DOTA_Ability_AghsFort_Luna_Eclipse; +struct C_DOTA_Ability_AghsFort_Luna_LucentBeam; +struct C_DOTA_Ability_AghsFort_Luna_LunarBlessing; +struct C_DOTA_Ability_AghsFort_Luna_Lunar_Grace; +struct C_DOTA_Ability_AghsFort_Luna_MoonGlaive; +struct C_DOTA_Ability_AghsFort_Omniknight_Degen_Aura; +struct C_DOTA_Ability_AghsFort_Omniknight_Purification; +struct C_DOTA_Ability_AghsFort_Phoenix_FireSpirits; +struct C_DOTA_Ability_AghsFort_Phoenix_IcarusDiveStop; +struct C_DOTA_Ability_AghsFort_Phoenix_SunRayStop; +struct C_DOTA_Ability_AghsFort_Phoenix_SunRayToggleMove; +struct C_DOTA_Ability_AghsFort_QueenOfPain_Blink; +struct C_DOTA_Ability_AghsFort_QueenOfPain_ScreamOfPain; +struct C_DOTA_Ability_AghsFort_QueenOfPain_ShadowStrike; +struct C_DOTA_Ability_AghsFort_QueenOfPain_SonicWave; +struct C_DOTA_Ability_AghsFort_RockGolem_Smash; +struct C_DOTA_Ability_AghsFort_Sand_King_BurrowStrike_Channel_Stop; +struct C_DOTA_Ability_AghsFort_ShadowShaman_Shackles; +struct C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison; +struct C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison_Release; +struct C_DOTA_Ability_AghsFort_Sniper_Concussive_Grenade; +struct C_DOTA_Ability_AghsFort_Sniper_Headshot; +struct C_DOTA_Ability_AghsFort_StonehallGeneral_OverwhelmingOdds; +struct C_DOTA_Ability_AghsFort_TrapRoom_Hookshot; +struct C_DOTA_Ability_AghsFort_Ursa_Fury_Swipes; +struct C_DOTA_Ability_AghsFort_Wave_Blast; +struct C_DOTA_Ability_AghsFort_Waveblaster_Leap; +struct C_DOTA_Ability_Aghsfort2_DrowRanger_Marksmanship; +struct C_DOTA_Ability_Aghsfort2_DrowRanger_Multishot; +struct C_DOTA_Ability_Aghsfort2_DrowRanger_WaveOfSilence; +struct C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal; +struct C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Portal_Warp; +struct C_DOTA_Ability_Aghsfort_Bane_BrainSap; +struct C_DOTA_Ability_Aghsfort_Bane_FiendsGrip; +struct C_DOTA_Ability_Aghsfort_Bane_Nightmare; +struct C_DOTA_Ability_Aghsfort_Bane_NightmareEnd; +struct C_DOTA_Ability_Aghsfort_Dawnbreaker_Converge; +struct C_DOTA_Ability_Aghsfort_Dawnbreaker_Fire_Wreath; +struct C_DOTA_Ability_Aghsfort_Dawnbreaker_Land; +struct C_DOTA_Ability_Aghsfort_Dawnbreaker_Luminosity; +struct C_DOTA_Ability_Aghsfort_Dawnbreaker_Solar_Guardian; +struct C_DOTA_Ability_Aghsfort_Disruptor_Glimpse; +struct C_DOTA_Ability_Aghsfort_Disruptor_KineticField; +struct C_DOTA_Ability_Aghsfort_Disruptor_StaticStorm; +struct C_DOTA_Ability_Aghsfort_Disruptor_Thunder_Strike; +struct C_DOTA_Ability_Aghsfort_Elemental_Wisp_Tether; +struct C_DOTA_Ability_Aghsfort_Gyrocopter_Flak_Cannon; +struct C_DOTA_Ability_Aghsfort_Gyrocopter_Homing_Missile; +struct C_DOTA_Ability_Aghsfort_Gyrocopter_Rocket_Barrage; +struct C_DOTA_Ability_Aghsfort_Lina_DragonSlave; +struct C_DOTA_Ability_Aghsfort_Lina_LagunaBlade; +struct C_DOTA_Ability_Aghsfort_Lina_LightStrikeArray; +struct C_DOTA_Ability_Aghsfort_Magnataur_Empower; +struct C_DOTA_Ability_Aghsfort_Magnataur_FriendlySkewer; +struct C_DOTA_Ability_Aghsfort_Magnataur_Horn_Toss; +struct C_DOTA_Ability_Aghsfort_Magnataur_ReversePolarity; +struct C_DOTA_Ability_Aghsfort_Magnataur_Shockwave; +struct C_DOTA_Ability_Aghsfort_Magnataur_Skewer; +struct C_DOTA_Ability_Aghsfort_Mars_Bulwark_Stop; +struct C_DOTA_Ability_Aghsfort_Omniknight_GuardianAngel; +struct C_DOTA_Ability_Aghsfort_PhantomAssassin_Blur; +struct C_DOTA_Ability_Aghsfort_PhantomAssassin_CoupdeGrace; +struct C_DOTA_Ability_Aghsfort_PhantomAssassin_PhantomStrike; +struct C_DOTA_Ability_Aghsfort_PhantomAssassin_Stifling_Dagger; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_CreateRock; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_HeavySteps; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Inhibition; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Onslaught; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Pummel; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_RoarAttack; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_TectonicShift; +struct C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Vault; +struct C_DOTA_Ability_Aghsfort_Pugna_Grandmaster_NetherWard; +struct C_DOTA_Ability_Aghsfort_Sand_King_BurrowStrike; +struct C_DOTA_Ability_Aghsfort_Sand_King_CausticFinale; +struct C_DOTA_Ability_Aghsfort_Sand_King_Epicenter; +struct C_DOTA_Ability_Aghsfort_Sand_King_SandStorm; +struct C_DOTA_Ability_Aghsfort_Slark_EssenceShift; +struct C_DOTA_Ability_Aghsfort_Slark_Pounce; +struct C_DOTA_Ability_Aghsfort_Slark_ShadowDance; +struct C_DOTA_Ability_Aghsfort_Special_Magnataur_ReversePolarity_Polarity; +struct C_DOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Reverse; +struct C_DOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies; +struct C_DOTA_Ability_Aghsfort_TemplarAssassin_PsiBlades; +struct C_DOTA_Ability_Aghsfort_TemplarAssassin_PsionicTrap; +struct C_DOTA_Ability_Aghsfort_TemplarAssassin_Refraction_Holdout; +struct C_DOTA_Ability_Aghsfort_TuskBoss_IceShards; +struct C_DOTA_Ability_Aghsfort_TuskBoss_Snowball; +struct C_DOTA_Ability_Aghsfort_TuskBoss_WalrusPunch; +struct C_DOTA_Ability_Aghsfort_Tusk_IceShards; +struct C_DOTA_Ability_Aghsfort_Tusk_Launch_Snowball; +struct C_DOTA_Ability_Aghsfort_Tusk_Snowball; +struct C_DOTA_Ability_Aghsfort_Tusk_Snowball_Dummy; +struct C_DOTA_Ability_Aghsfort_Tusk_WalrusPunch; +struct C_DOTA_Ability_Aghsfort_Viper_Aghsfort_ViperStrike; +struct C_DOTA_Ability_Aghsfort_Viper_CorrosiveSkin; +struct C_DOTA_Ability_Aghsfort_Viper_PoisonAttack; +struct C_DOTA_Ability_Aghsfort_Weaver_GeminateAttack; +struct C_DOTA_Ability_Aghsfort_Weaver_Shukuchi; +struct C_DOTA_Ability_Aghsfort_Weaver_TheSwarm; +struct C_DOTA_Ability_Aghsfort_Weaver_TimeLapse; +struct C_DOTA_Ability_Aghsfort_Wildwing_Tornado_Blast; +struct C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard; +struct C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard_No_Channel; +struct C_DOTA_Ability_Aghsfort_WitchDoctor_Maledict; +struct C_DOTA_Ability_Aghsfort_WitchDoctor_ParalyzingCask; +struct C_DOTA_Ability_Aghsfort_WitchDoctor_VoodooRestoration; +struct C_DOTA_Ability_Alchemist_Berserk_Potion; +struct C_DOTA_Ability_Alchemist_GoblinsGreed; +struct C_DOTA_Ability_Alchemist_UnstableConcoction; +struct C_DOTA_Ability_AlphaWolf_CommandAura; +struct C_DOTA_Ability_AlphaWolf_CriticalStrike; +struct C_DOTA_Ability_AncientGolem_Rockslide; +struct C_DOTA_Ability_AncientRockGolem_Weakening_Aura; +struct C_DOTA_Ability_Animation_Attack; +struct C_DOTA_Ability_Animation_LeftClawSwipe; +struct C_DOTA_Ability_Animation_RightClawSwipe; +struct C_DOTA_Ability_Animation_TailSpin; +struct C_DOTA_Ability_AntiMage_Blink; +struct C_DOTA_Ability_AntiMage_Blink_Fake; +struct C_DOTA_Ability_AntiMage_Counterspell; +struct C_DOTA_Ability_AntiMage_ManaBreak; +struct C_DOTA_Ability_AntiMage_ManaVoid; +struct C_DOTA_Ability_AntiMage_Mana_Overload; +struct C_DOTA_Ability_AntiMage_SpellShield; +struct C_DOTA_Ability_ArcWardenBoss_SparkWraith_Missile; +struct C_DOTA_Ability_ArcWarden_Flux; +struct C_DOTA_Ability_ArcWarden_MagneticField; +struct C_DOTA_Ability_ArcWarden_Scepter; +struct C_DOTA_Ability_ArcWarden_SparkWraith; +struct C_DOTA_Ability_ArcWarden_TempestDouble; +struct C_DOTA_Ability_AttributeBonus; +struct C_DOTA_Ability_Axe_BattleHunger; +struct C_DOTA_Ability_Axe_BerserkersCall; +struct C_DOTA_Ability_Axe_CounterHelix; +struct C_DOTA_Ability_Axe_CullingBlade; +struct C_DOTA_Ability_BackdoorProtection; +struct C_DOTA_Ability_BackdoorProtectionInBase; +struct C_DOTA_Ability_Bane_BrainSap; +struct C_DOTA_Ability_Bane_Enfeeble; +struct C_DOTA_Ability_Bane_FiendsGrip; +struct C_DOTA_Ability_Bane_Nightmare; +struct C_DOTA_Ability_Bane_NightmareEnd; +struct C_DOTA_Ability_Batrider_Firefly; +struct C_DOTA_Ability_Batrider_Flamebreak; +struct C_DOTA_Ability_Batrider_FlamingLasso; +struct C_DOTA_Ability_Batrider_StickyNapalm; +struct C_DOTA_Ability_Batrider_StickyNapalm_Application_Damage; +struct C_DOTA_Ability_Bear_Empty1; +struct C_DOTA_Ability_Bear_Empty2; +struct C_DOTA_Ability_Beastmaster_CallOfTheWild_Boar; +struct C_DOTA_Ability_Beastmaster_CallOfTheWild_Hawk; +struct C_DOTA_Ability_Beastmaster_DrumsOfSlom; +struct C_DOTA_Ability_Beastmaster_Hawk_Dive; +struct C_DOTA_Ability_Beastmaster_InnerBeast; +struct C_DOTA_Ability_Beastmaster_Mark_Of_The_Beast; +struct C_DOTA_Ability_Beastmaster_WildAxes; +struct C_DOTA_Ability_BigThunderLizard_Frenzy; +struct C_DOTA_Ability_BigThunderLizard_Slam; +struct C_DOTA_Ability_BlackDragon_Fireball; +struct C_DOTA_Ability_BlackDragon_SplashAttack; +struct C_DOTA_Ability_BlackDrake_MagicAmplification_Aura; +struct C_DOTA_Ability_Bloodseeker_BloodMist; +struct C_DOTA_Ability_Bloodseeker_Bloodrage; +struct C_DOTA_Ability_Bloodseeker_Rupture; +struct C_DOTA_Ability_Bloodseeker_Thirst; +struct C_DOTA_Ability_BlueDragonspawnOverseer_DevotionAura; +struct C_DOTA_Ability_BlueDragonspawnOverseer_Evasion; +struct C_DOTA_Ability_BlueDragonspawnSorcerer_Evasion; +struct C_DOTA_Ability_BountyHunter_Jinada; +struct C_DOTA_Ability_BountyHunter_Lookout; +struct C_DOTA_Ability_BountyHunter_ShurikenToss; +struct C_DOTA_Ability_BountyHunter_Track; +struct C_DOTA_Ability_BountyHunter_WindWalk; +struct C_DOTA_Ability_Brewmaster_AstralPulse; +struct C_DOTA_Ability_Brewmaster_CinderBrew; +struct C_DOTA_Ability_Brewmaster_Cyclone; +struct C_DOTA_Ability_Brewmaster_DispelMagic; +struct C_DOTA_Ability_Brewmaster_DrunkenBrawler; +struct C_DOTA_Ability_Brewmaster_DrunkenHaze; +struct C_DOTA_Ability_Brewmaster_HurlBoulder; +struct C_DOTA_Ability_Brewmaster_PermanentImmolation; +struct C_DOTA_Ability_Brewmaster_PrimalSplit; +struct C_DOTA_Ability_Brewmaster_Primal_Split_Cancel; +struct C_DOTA_Ability_Brewmaster_Primal_Split_Fire_Phase; +struct C_DOTA_Ability_Brewmaster_Pulverize; +struct C_DOTA_Ability_Brewmaster_SpellImmunity; +struct C_DOTA_Ability_Brewmaster_ThunderClap; +struct C_DOTA_Ability_Brewmaster_WindWalk; +struct C_DOTA_Ability_Bristleback_Bristleback; +struct C_DOTA_Ability_Bristleback_Hairball; +struct C_DOTA_Ability_Bristleback_QuillSpray; +struct C_DOTA_Ability_Bristleback_ViscousNasalGoo; +struct C_DOTA_Ability_Bristleback_Warpath; +struct C_DOTA_Ability_Broodmother_IncapacitatingBite; +struct C_DOTA_Ability_Broodmother_InsatiableHunger; +struct C_DOTA_Ability_Broodmother_PoisonSting; +struct C_DOTA_Ability_Broodmother_Silken_Bola; +struct C_DOTA_Ability_Broodmother_SpawnSpiderite; +struct C_DOTA_Ability_Broodmother_SpawnSpiderlings; +struct C_DOTA_Ability_Broodmother_SpinWeb; +struct C_DOTA_Ability_Broodmother_StickySnare; +struct C_DOTA_Ability_CentaurKhan_EnduranceAura; +struct C_DOTA_Ability_CentaurKhan_WarStomp; +struct C_DOTA_Ability_Centaur_HoofStomp; +struct C_DOTA_Ability_ChaosKnight_Chaos_Bolt; +struct C_DOTA_Ability_ChaosKnight_Chaos_Strike; +struct C_DOTA_Ability_ChaosKnight_Phantasm; +struct C_DOTA_Ability_ChaosKnight_Reality_Rift; +struct C_DOTA_Ability_Chen_DivineFavor; +struct C_DOTA_Ability_Chen_HandOfGod; +struct C_DOTA_Ability_Chen_HolyPersuasion; +struct C_DOTA_Ability_Chen_Martyrdom; +struct C_DOTA_Ability_Chen_Penitence; +struct C_DOTA_Ability_Chen_TestOfFaith; +struct C_DOTA_Ability_Chen_TestOfFaithTeleport; +struct C_DOTA_Ability_Clinkz_Burning_Army; +struct C_DOTA_Ability_Clinkz_DeathPact; +struct C_DOTA_Ability_Clinkz_Empty1; +struct C_DOTA_Ability_Clinkz_PiercingArrow; +struct C_DOTA_Ability_Clinkz_Scepter; +struct C_DOTA_Ability_Clinkz_Strafe; +struct C_DOTA_Ability_Clinkz_WindWalk; +struct C_DOTA_Ability_Corspselord_Revive; +struct C_DOTA_Ability_Courier_Burst; +struct C_DOTA_Ability_Courier_DequeuePickupFromStash; +struct C_DOTA_Ability_Courier_GoToEnemySecretShop; +struct C_DOTA_Ability_Courier_GoToSecretShop; +struct C_DOTA_Ability_Courier_GoToSideShop; +struct C_DOTA_Ability_Courier_GoToSideShop2; +struct C_DOTA_Ability_Courier_QueuePickupFromStash; +struct C_DOTA_Ability_Courier_ReturnStashItems; +struct C_DOTA_Ability_Courier_ReturnToBase; +struct C_DOTA_Ability_Courier_Shield; +struct C_DOTA_Ability_Courier_TakeStashAndTransferItems; +struct C_DOTA_Ability_Courier_TakeStashItems; +struct C_DOTA_Ability_Courier_TransferItems; +struct C_DOTA_Ability_Courier_TransferItems_ToOtherPlayer; +struct C_DOTA_Ability_Creature_Fire_Breath; +struct C_DOTA_Ability_Creature_Ice_Breath; +struct C_DOTA_Ability_Creep_Irresolute; +struct C_DOTA_Ability_Creep_Piercing; +struct C_DOTA_Ability_Creep_Siege; +struct C_DOTA_Ability_CrystalMaiden_BrillianceAura; +struct C_DOTA_Ability_CrystalMaiden_CrystalNova; +struct C_DOTA_Ability_CrystalMaiden_FreezingField; +struct C_DOTA_Ability_CrystalMaiden_FreezingFieldStop; +struct C_DOTA_Ability_CrystalMaiden_Frostbite; +struct C_DOTA_Ability_CrystalMaiden_Let_It_Go; +struct C_DOTA_Ability_DarkSeer_IonShell; +struct C_DOTA_Ability_DarkSeer_Normal_Punch; +struct C_DOTA_Ability_DarkSeer_Surge; +struct C_DOTA_Ability_DarkSeer_Vacuum; +struct C_DOTA_Ability_DarkSeer_WallOfReplica; +struct C_DOTA_Ability_DarkTrollWarlord_Ensnare; +struct C_DOTA_Ability_DarkTrollWarlord_RaiseDead; +struct C_DOTA_Ability_DarkWillow_Bedlam; +struct C_DOTA_Ability_DarkWillow_BrambleMaze; +struct C_DOTA_Ability_DarkWillow_CursedCrown; +struct C_DOTA_Ability_DarkWillow_ShadowRealm; +struct C_DOTA_Ability_DarkWillow_Terrorize; +struct C_DOTA_Ability_DataDriven; +struct C_DOTA_Ability_Dawnbreaker_Converge; +struct C_DOTA_Ability_Dawnbreaker_Fire_Wreath; +struct C_DOTA_Ability_Dawnbreaker_Land; +struct C_DOTA_Ability_Dawnbreaker_Luminosity; +struct C_DOTA_Ability_Dawnbreaker_Solar_Guardian; +struct C_DOTA_Ability_Dazzle_Bad_Juju; +struct C_DOTA_Ability_Dazzle_Good_Juju; +struct C_DOTA_Ability_Dazzle_Poison_Touch; +struct C_DOTA_Ability_Dazzle_Rain_Of_Vermin; +struct C_DOTA_Ability_Dazzle_ShadowWave; +struct C_DOTA_Ability_Dazzle_Shallow_Grave; +struct C_DOTA_Ability_Dazzle_Weave; +struct C_DOTA_Ability_DeathProphet_CarrionSwarm; +struct C_DOTA_Ability_DeathProphet_Exorcism; +struct C_DOTA_Ability_DeathProphet_Silence; +struct C_DOTA_Ability_DeathProphet_SpiritSiphon; +struct C_DOTA_Ability_DeathProphet_Witchcraft; +struct C_DOTA_Ability_Disruptor_Glimpse; +struct C_DOTA_Ability_Disruptor_KineticField; +struct C_DOTA_Ability_Disruptor_StaticStorm; +struct C_DOTA_Ability_Disruptor_Thunder_Strike; +struct C_DOTA_Ability_DoomBringer_Devour; +struct C_DOTA_Ability_DoomBringer_Doom; +struct C_DOTA_Ability_DoomBringer_Empty1; +struct C_DOTA_Ability_DoomBringer_Empty2; +struct C_DOTA_Ability_DoomBringer_InfernalBlade; +struct C_DOTA_Ability_DoomBringer_ScorchedEarth; +struct C_DOTA_Ability_DragonKnight_BreatheFire; +struct C_DOTA_Ability_DragonKnight_DragonBlood; +struct C_DOTA_Ability_DragonKnight_DragonTail; +struct C_DOTA_Ability_DragonKnight_ElderDragonForm; +struct C_DOTA_Ability_DragonKnight_Fireball; +struct C_DOTA_Ability_DrowRanger_FrostArrows; +struct C_DOTA_Ability_DrowRanger_Marksmanship; +struct C_DOTA_Ability_DrowRanger_Multishot; +struct C_DOTA_Ability_DrowRanger_Silence; +struct C_DOTA_Ability_DrowRanger_Trueshot; +struct C_DOTA_Ability_DrowRanger_WaveOfSilence; +struct C_DOTA_Ability_EarthSpirit_BoulderSmash; +struct C_DOTA_Ability_EarthSpirit_GeomagneticGrip; +struct C_DOTA_Ability_EarthSpirit_Magnetize; +struct C_DOTA_Ability_EarthSpirit_RollingBoulder; +struct C_DOTA_Ability_EarthSpirit_StoneCaller; +struct C_DOTA_Ability_Earthshaker_Aftershock; +struct C_DOTA_Ability_Earthshaker_EchoSlam; +struct C_DOTA_Ability_Earthshaker_EnchantTotem; +struct C_DOTA_Ability_Earthshaker_Fissure; +struct C_DOTA_Ability_Elder_Titan_AncestralSpirit; +struct C_DOTA_Ability_Elder_Titan_EchoStomp; +struct C_DOTA_Ability_Elder_Titan_NaturalOrder; +struct C_DOTA_Ability_Elder_Titan_NaturalOrder_Spirit; +struct C_DOTA_Ability_EmberSpirit_Activate_FireRemnant; +struct C_DOTA_Ability_EmberSpirit_FireRemnant; +struct C_DOTA_Ability_EmberSpirit_FlameGuard; +struct C_DOTA_Ability_EmberSpirit_SearingChains; +struct C_DOTA_Ability_EmberSpirit_SleightOfFist; +struct C_DOTA_Ability_Enchantress_Bunny_Hop; +struct C_DOTA_Ability_Enchantress_Enchant; +struct C_DOTA_Ability_Enchantress_Impetus; +struct C_DOTA_Ability_Enchantress_Little_Friends; +struct C_DOTA_Ability_Enchantress_NaturesAttendants; +struct C_DOTA_Ability_Enchantress_Untouchable; +struct C_DOTA_Ability_Enigma_BlackHole; +struct C_DOTA_Ability_Enigma_DemonicConversion; +struct C_DOTA_Ability_Enigma_Malefice; +struct C_DOTA_Ability_Enigma_MidnightPulse; +struct C_DOTA_Ability_EnragedWildkin_Tornado; +struct C_DOTA_Ability_EnragedWildkin_ToughnessAura; +struct C_DOTA_Ability_FacelessVoid_Backtrack; +struct C_DOTA_Ability_FacelessVoid_Chronosphere; +struct C_DOTA_Ability_FacelessVoid_TimeDilation; +struct C_DOTA_Ability_FacelessVoid_TimeLock; +struct C_DOTA_Ability_FacelessVoid_TimeWalk; +struct C_DOTA_Ability_FacelessVoid_TimeWalk_Reverse; +struct C_DOTA_Ability_Firework_Mine; +struct C_DOTA_Ability_FlagBearer_Creep_Aura_Effect; +struct C_DOTA_Ability_ForestTrollHighPriest_Heal; +struct C_DOTA_Ability_ForestTrollHighPriest_ManaAura; +struct C_DOTA_Ability_ForgedSpirit_MeltingStrike; +struct C_DOTA_Ability_Frostivus2018_Clinkz_WindWalk; +struct C_DOTA_Ability_Frostivus2018_DarkWillow_Bedlam; +struct C_DOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze; +struct C_DOTA_Ability_Frostivus2018_DarkWillow_ShadowRealm; +struct C_DOTA_Ability_Frostivus2018_Decorate_Tree; +struct C_DOTA_Ability_Frostivus2018_Festive_Firework; +struct C_DOTA_Ability_Frostivus2018_Huskar_Burning_Spear; +struct C_DOTA_Ability_Frostivus2018_Huskar_Inner_Fire; +struct C_DOTA_Ability_Frostivus2018_Huskar_Life_Break; +struct C_DOTA_Ability_Frostivus2018_Magnataur_Skewer; +struct C_DOTA_Ability_Frostivus2018_Omniknight_Degen_Aura; +struct C_DOTA_Ability_Frostivus2018_Omniknight_Purification; +struct C_DOTA_Ability_Frostivus2018_Omniknight_Repel; +struct C_DOTA_Ability_Frostivus2018_Pangolier_ShieldCrash; +struct C_DOTA_Ability_Frostivus2018_Puck_DreamCoil; +struct C_DOTA_Ability_Frostivus2018_Rubick_GhostShip; +struct C_DOTA_Ability_Frostivus2018_Summon_Snowman; +struct C_DOTA_Ability_Frostivus2018_Throw_Snowball; +struct C_DOTA_Ability_Frostivus2018_TrollWarlord_BattleTrance; +struct C_DOTA_Ability_Frostivus2018_TrollWarlord_Fervor; +struct C_DOTA_Ability_Frostivus2018_Weaver_GeminateAttack; +struct C_DOTA_Ability_Frostivus2018_Windrunner_Shackleshot; +struct C_DOTA_Ability_Furion_CurseOfTheForest; +struct C_DOTA_Ability_Furion_ForceOfNature; +struct C_DOTA_Ability_Furion_Greater_Sprout; +struct C_DOTA_Ability_Furion_Sprout; +struct C_DOTA_Ability_Furion_Teleportation; +struct C_DOTA_Ability_Furion_WrathOfNature; +struct C_DOTA_Ability_Ghost_FrostAttack; +struct C_DOTA_Ability_GiantWolf_CriticalStrike; +struct C_DOTA_Ability_GnollAssassin_EnvenomedWeapon; +struct C_DOTA_Ability_Greevil_Miniboss_Black_BrainSap; +struct C_DOTA_Ability_Greevil_Miniboss_Black_Nightmare; +struct C_DOTA_Ability_Greevil_Miniboss_Blue_ColdFeet; +struct C_DOTA_Ability_Greevil_Miniboss_Blue_IceVortex; +struct C_DOTA_Ability_Greevil_Miniboss_Green_LivingArmor; +struct C_DOTA_Ability_Greevil_Miniboss_Green_Overgrowth; +struct C_DOTA_Ability_Greevil_Miniboss_Orange_DragonSlave; +struct C_DOTA_Ability_Greevil_Miniboss_Orange_LightStrikeArray; +struct C_DOTA_Ability_Greevil_Miniboss_Purple_PlagueWard; +struct C_DOTA_Ability_Greevil_Miniboss_Purple_VenomousGale; +struct C_DOTA_Ability_Greevil_Miniboss_Red_Earthshock; +struct C_DOTA_Ability_Greevil_Miniboss_Red_Overpower; +struct C_DOTA_Ability_Greevil_Miniboss_Sight; +struct C_DOTA_Ability_Greevil_Miniboss_White_Degen_Aura; +struct C_DOTA_Ability_Greevil_Miniboss_White_Purification; +struct C_DOTA_Ability_Greevil_Miniboss_Yellow_IonShell; +struct C_DOTA_Ability_Greevil_Miniboss_Yellow_Surge; +struct C_DOTA_Ability_Grimstroke_Dark_Portrait; +struct C_DOTA_Ability_Grimstroke_Ink_Over; +struct C_DOTA_Ability_Grimstroke_Scepter; +struct C_DOTA_Ability_Gyrocopter_Flak_Cannon; +struct C_DOTA_Ability_Gyrocopter_Homing_Missile; +struct C_DOTA_Ability_Gyrocopter_Rocket_Barrage; +struct C_DOTA_Ability_HarpyScout_TakeOff; +struct C_DOTA_Ability_HarpyStorm_ChainLightning; +struct C_DOTA_Ability_Healing_Campfire; +struct C_DOTA_Ability_Holdout_BladeFury; +struct C_DOTA_Ability_Holdout_CullingBlade; +struct C_DOTA_Ability_Holdout_GladiatorsUnite; +struct C_DOTA_Ability_Holdout_Omnislash; +struct C_DOTA_Ability_Holdout_ScourgeWard; +struct C_DOTA_Ability_Hoodwink_AcornShot; +struct C_DOTA_Ability_Hoodwink_Bushwhack; +struct C_DOTA_Ability_Hoodwink_Caltrops; +struct C_DOTA_Ability_Hoodwink_HeavyQuiver; +struct C_DOTA_Ability_Hoodwink_HuntersBoomerang; +struct C_DOTA_Ability_Hoodwink_HuntersQuiver; +struct C_DOTA_Ability_Hoodwink_Scurry; +struct C_DOTA_Ability_Hoodwink_Sharpshooter; +struct C_DOTA_Ability_Hoodwink_Sharpshooter_Release; +struct C_DOTA_Ability_Huskar_Berserkers_Blood; +struct C_DOTA_Ability_Huskar_Burning_Spear; +struct C_DOTA_Ability_Huskar_Inner_Fire; +struct C_DOTA_Ability_Huskar_Inner_Vitality; +struct C_DOTA_Ability_Huskar_Life_Break; +struct C_DOTA_Ability_IceShaman_IncendiaryBomb; +struct C_DOTA_Ability_Invoker_Alacrity; +struct C_DOTA_Ability_Invoker_Alacrity_AD; +struct C_DOTA_Ability_Invoker_AttributeBonus; +struct C_DOTA_Ability_Invoker_ChaosMeteor; +struct C_DOTA_Ability_Invoker_ChaosMeteor_AD; +struct C_DOTA_Ability_Invoker_ColdSnap; +struct C_DOTA_Ability_Invoker_ColdSnap_AD; +struct C_DOTA_Ability_Invoker_DeafeningBlast; +struct C_DOTA_Ability_Invoker_DeafeningBlast_AD; +struct C_DOTA_Ability_Invoker_EMP; +struct C_DOTA_Ability_Invoker_EMP_AD; +struct C_DOTA_Ability_Invoker_Empty1; +struct C_DOTA_Ability_Invoker_Empty2; +struct C_DOTA_Ability_Invoker_Exort; +struct C_DOTA_Ability_Invoker_ForgeSpirit; +struct C_DOTA_Ability_Invoker_ForgeSpirit_AD; +struct C_DOTA_Ability_Invoker_GhostWalk; +struct C_DOTA_Ability_Invoker_GhostWalk_AD; +struct C_DOTA_Ability_Invoker_IceWall; +struct C_DOTA_Ability_Invoker_IceWall_AD; +struct C_DOTA_Ability_Invoker_Invoke; +struct C_DOTA_Ability_Invoker_Quas; +struct C_DOTA_Ability_Invoker_SunStrike; +struct C_DOTA_Ability_Invoker_SunStrike_AD; +struct C_DOTA_Ability_Invoker_Tornado; +struct C_DOTA_Ability_Invoker_Tornado_AD; +struct C_DOTA_Ability_Invoker_Wex; +struct C_DOTA_Ability_Jakiro_DualBreath; +struct C_DOTA_Ability_Jakiro_IcePath; +struct C_DOTA_Ability_Jakiro_Liquid_Fire; +struct C_DOTA_Ability_Jakiro_Liquid_Ice; +struct C_DOTA_Ability_Jakiro_Macropyre; +struct C_DOTA_Ability_Juggernaut_BladeDance; +struct C_DOTA_Ability_Juggernaut_BladeFury; +struct C_DOTA_Ability_Juggernaut_HealingWard; +struct C_DOTA_Ability_Juggernaut_Omnislash; +struct C_DOTA_Ability_JungleSpirit_Storm_Cyclone; +struct C_DOTA_Ability_JungleSpirit_Volcano_Eruption; +struct C_DOTA_Ability_Jungle_Spirit_Range_Attack; +struct C_DOTA_Ability_KeeperOfTheLight_BlindingLight; +struct C_DOTA_Ability_KeeperOfTheLight_ChakraMagic; +struct C_DOTA_Ability_KeeperOfTheLight_Illuminate; +struct C_DOTA_Ability_KeeperOfTheLight_IlluminateEnd; +struct C_DOTA_Ability_KeeperOfTheLight_ManaLeak; +struct C_DOTA_Ability_KeeperOfTheLight_Radiant_Bind; +struct C_DOTA_Ability_KeeperOfTheLight_Recall; +struct C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate; +struct C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd; +struct C_DOTA_Ability_KeeperOfTheLight_Will_O_Wisp; +struct C_DOTA_Ability_KoboldTaskmaster_SpeedAura; +struct C_DOTA_Ability_Kunkka_GhostShip; +struct C_DOTA_Ability_Kunkka_Return; +struct C_DOTA_Ability_Kunkka_Tidal_Wave; +struct C_DOTA_Ability_Kunkka_Tidebringer; +struct C_DOTA_Ability_Kunkka_Torrent; +struct C_DOTA_Ability_Kunkka_Torrent_Storm; +struct C_DOTA_Ability_Kunkka_XMarksTheSpot; +struct C_DOTA_Ability_Legion_Commander_Duel; +struct C_DOTA_Ability_Legion_Commander_MomentOfCourage; +struct C_DOTA_Ability_Legion_Commander_OverwhelmingOdds; +struct C_DOTA_Ability_Legion_Commander_PressTheAttack; +struct C_DOTA_Ability_Leshrac_Diabolic_Edict; +struct C_DOTA_Ability_Leshrac_Greater_Lightning_Storm; +struct C_DOTA_Ability_Leshrac_Lightning_Storm; +struct C_DOTA_Ability_Leshrac_Pulse_Nova; +struct C_DOTA_Ability_Leshrac_Split_Earth; +struct C_DOTA_Ability_Lesser_NightCrawler_Pounce; +struct C_DOTA_Ability_Lich_ChainFrost; +struct C_DOTA_Ability_Lich_DarkSorcery; +struct C_DOTA_Ability_Lich_FrostArmor; +struct C_DOTA_Ability_Lich_FrostNova; +struct C_DOTA_Ability_Lich_FrostShield; +struct C_DOTA_Ability_Lich_Ice_Spire; +struct C_DOTA_Ability_Lich_Sinister_Gaze; +struct C_DOTA_Ability_Life_Stealer_Consume; +struct C_DOTA_Ability_Life_Stealer_Feast; +struct C_DOTA_Ability_Life_Stealer_Ghoul_Frenzy; +struct C_DOTA_Ability_Life_Stealer_Infest; +struct C_DOTA_Ability_Life_Stealer_Open_Wounds; +struct C_DOTA_Ability_Life_Stealer_Rage; +struct C_DOTA_Ability_Lina_DragonSlave; +struct C_DOTA_Ability_Lina_FierySoul; +struct C_DOTA_Ability_Lina_Flame_Cloak; +struct C_DOTA_Ability_Lina_LagunaBlade; +struct C_DOTA_Ability_Lina_LightStrikeArray; +struct C_DOTA_Ability_Lion_FingerOfDeath; +struct C_DOTA_Ability_Lion_Impale; +struct C_DOTA_Ability_Lion_ManaDrain; +struct C_DOTA_Ability_Lion_Voodoo; +struct C_DOTA_Ability_LoneDruid_Entangling_Claws; +struct C_DOTA_Ability_LoneDruid_Rabid; +struct C_DOTA_Ability_LoneDruid_SavageRoar; +struct C_DOTA_Ability_LoneDruid_SavageRoar_Bear; +struct C_DOTA_Ability_LoneDruid_SpiritBear; +struct C_DOTA_Ability_LoneDruid_SpiritBear_Defender; +struct C_DOTA_Ability_LoneDruid_SpiritBear_Demolish; +struct C_DOTA_Ability_LoneDruid_SpiritBear_Entangle; +struct C_DOTA_Ability_LoneDruid_SpiritBear_Return; +struct C_DOTA_Ability_LoneDruid_SpiritLink; +struct C_DOTA_Ability_LoneDruid_TrueForm; +struct C_DOTA_Ability_LoneDruid_TrueForm_BattleCry; +struct C_DOTA_Ability_LoneDruid_TrueForm_Druid; +struct C_DOTA_Ability_Lua; +struct C_DOTA_Ability_Luna_Eclipse; +struct C_DOTA_Ability_Luna_LucentBeam; +struct C_DOTA_Ability_Luna_LunarBlessing; +struct C_DOTA_Ability_Luna_Lunar_Grace; +struct C_DOTA_Ability_Luna_MoonGlaive; +struct C_DOTA_Ability_Lycan_FeralImpulse; +struct C_DOTA_Ability_Lycan_Howl; +struct C_DOTA_Ability_Lycan_Shapeshift; +struct C_DOTA_Ability_Lycan_SummonWolves; +struct C_DOTA_Ability_Lycan_SummonWolves_CriticalStrike; +struct C_DOTA_Ability_Lycan_SummonWolves_PermanentInvisibility; +struct C_DOTA_Ability_Lycan_Wolf_Bite; +struct C_DOTA_Ability_Magnataur_Empower; +struct C_DOTA_Ability_Magnataur_Horn_Toss; +struct C_DOTA_Ability_Magnataur_ReversePolarity; +struct C_DOTA_Ability_Magnataur_Shockwave; +struct C_DOTA_Ability_Magnataur_Skewer; +struct C_DOTA_Ability_Medusa_Cold_Blooded; +struct C_DOTA_Ability_Medusa_ManaShield; +struct C_DOTA_Ability_Medusa_MysticSnake; +struct C_DOTA_Ability_Medusa_SplitShot; +struct C_DOTA_Ability_Medusa_StoneGaze; +struct C_DOTA_Ability_Meepo_DividedWeStand; +struct C_DOTA_Ability_Meepo_Earthbind; +struct C_DOTA_Ability_Meepo_Geostrike; +struct C_DOTA_Ability_Meepo_Petrify; +struct C_DOTA_Ability_Meepo_Ransack; +struct C_DOTA_Ability_Mirana_Arrow; +struct C_DOTA_Ability_Mirana_Leap; +struct C_DOTA_Ability_Mirana_MoonlightShadow; +struct C_DOTA_Ability_Mirana_Starfall; +struct C_DOTA_Ability_MonkeyKing_Boundless_Strike; +struct C_DOTA_Ability_MonkeyKing_FurArmy; +struct C_DOTA_Ability_MonkeyKing_QuadrupleTap; +struct C_DOTA_Ability_MonkeyKing_Spring; +struct C_DOTA_Ability_MonkeyKing_Spring_Early; +struct C_DOTA_Ability_MonkeyKing_Transform; +struct C_DOTA_Ability_MonkeyKing_TreeDance; +struct C_DOTA_Ability_MonkeyKing_UnTransform; +struct C_DOTA_Ability_Morokai_JungleHealBeam; +struct C_DOTA_Ability_Morphling_AdaptiveStrike_Agi; +struct C_DOTA_Ability_Morphling_AdaptiveStrike_Str; +struct C_DOTA_Ability_Morphling_Morph; +struct C_DOTA_Ability_Morphling_MorphReplicate; +struct C_DOTA_Ability_Morphling_Morph_Agi; +struct C_DOTA_Ability_Morphling_Morph_Str; +struct C_DOTA_Ability_Morphling_Replicate; +struct C_DOTA_Ability_Morphling_Waveform; +struct C_DOTA_Ability_Morty_Hop; +struct C_DOTA_Ability_Morty_Hop_Launch; +struct C_DOTA_Ability_Muerta_DeadShot; +struct C_DOTA_Ability_Muerta_Gunslinger; +struct C_DOTA_Ability_Muerta_PierceTheVeil; +struct C_DOTA_Ability_Muerta_TheCalling; +struct C_DOTA_Ability_NagaSiren_Crit; +struct C_DOTA_Ability_NagaSiren_Ensnare; +struct C_DOTA_Ability_NagaSiren_MirrorImage; +struct C_DOTA_Ability_NagaSiren_RipTide; +struct C_DOTA_Ability_NagaSiren_SongOfTheSiren; +struct C_DOTA_Ability_NagaSiren_SongOfTheSiren_Cancel; +struct C_DOTA_Ability_Naga_Siren_Reel_In; +struct C_DOTA_Ability_Necrolyte_Death_Pulse; +struct C_DOTA_Ability_Necrolyte_Death_Seeker; +struct C_DOTA_Ability_Necrolyte_Heartstopper_Aura; +struct C_DOTA_Ability_Necrolyte_ReapersScythe; +struct C_DOTA_Ability_Necrolyte_Sadist; +struct C_DOTA_Ability_Necrolyte_Sadist_Stop; +struct C_DOTA_Ability_Necronomicon_Archer_AoE; +struct C_DOTA_Ability_Necronomicon_Archer_ManaBurn; +struct C_DOTA_Ability_Necronomicon_Warrior_LastWill; +struct C_DOTA_Ability_Necronomicon_Warrior_ManaBurn; +struct C_DOTA_Ability_Necronomicon_Warrior_Sight; +struct C_DOTA_Ability_Neutral_SpellImmunity; +struct C_DOTA_Ability_Nevermore_Presence; +struct C_DOTA_Ability_Nevermore_Requiem; +struct C_DOTA_Ability_Nevermore_Shadowraze; +struct C_DOTA_Ability_Nevermore_Shadowraze1; +struct C_DOTA_Ability_Nevermore_Shadowraze2; +struct C_DOTA_Ability_Nevermore_Shadowraze3; +struct C_DOTA_Ability_NianCharge; +struct C_DOTA_Ability_Nian_Apocalypse; +struct C_DOTA_Ability_Nian_Dive; +struct C_DOTA_Ability_Nian_Eruption; +struct C_DOTA_Ability_Nian_Frenzy; +struct C_DOTA_Ability_Nian_GreaterBash; +struct C_DOTA_Ability_Nian_Hurricane; +struct C_DOTA_Ability_Nian_Leap; +struct C_DOTA_Ability_Nian_Roar; +struct C_DOTA_Ability_Nian_Sigils; +struct C_DOTA_Ability_Nian_Tail_Swipe; +struct C_DOTA_Ability_Nian_Waterball; +struct C_DOTA_Ability_Nian_Whirlpool; +struct C_DOTA_Ability_NightStalker_CripplingFear; +struct C_DOTA_Ability_NightStalker_Darkness; +struct C_DOTA_Ability_NightStalker_HunterInTheNight; +struct C_DOTA_Ability_NightStalker_Void; +struct C_DOTA_Ability_Nyx_Assassin_Impale; +struct C_DOTA_Ability_Nyx_Assassin_SpikedCarapace; +struct C_DOTA_Ability_Nyx_Assassin_Vendetta; +struct C_DOTA_Ability_Obsidian_Destroyer_ArcaneOrb; +struct C_DOTA_Ability_Obsidian_Destroyer_AstralImprisonment; +struct C_DOTA_Ability_Obsidian_Destroyer_Equilibrium; +struct C_DOTA_Ability_Obsidian_Destroyer_EssenceAura; +struct C_DOTA_Ability_Obsidian_Destroyer_SanityEclipse; +struct C_DOTA_Ability_OgreBruiser_OgreSmash; +struct C_DOTA_Ability_OgreMagi_FrostArmor; +struct C_DOTA_Ability_Ogre_Magi_Bloodlust; +struct C_DOTA_Ability_Ogre_Magi_Fireblast; +struct C_DOTA_Ability_Ogre_Magi_Ignite; +struct C_DOTA_Ability_Ogre_Magi_Multicast; +struct C_DOTA_Ability_Ogre_Magi_Smash; +struct C_DOTA_Ability_Ogre_Magi_Unrefined_Fireblast; +struct C_DOTA_Ability_Omniknight_Degen_Aura; +struct C_DOTA_Ability_Omniknight_GuardianAngel; +struct C_DOTA_Ability_Omniknight_Hammer_Of_Purity; +struct C_DOTA_Ability_Omniknight_Martyr; +struct C_DOTA_Ability_Omniknight_Pacify; +struct C_DOTA_Ability_Omniknight_Purification; +struct C_DOTA_Ability_Omniknight_Repel; +struct C_DOTA_Ability_Oracle_FalsePromise; +struct C_DOTA_Ability_Oracle_FatesEdict; +struct C_DOTA_Ability_Oracle_FortunesEnd; +struct C_DOTA_Ability_Oracle_PurifyingFlames; +struct C_DOTA_Ability_Oracle_RainOfDestiny; +struct C_DOTA_Ability_Pangolier_Gyroshell; +struct C_DOTA_Ability_Pangolier_GyroshellStop; +struct C_DOTA_Ability_Pangolier_HeartPiercer; +struct C_DOTA_Ability_Pangolier_LuckyShot; +struct C_DOTA_Ability_Pangolier_Rollup; +struct C_DOTA_Ability_Pangolier_RollupStop; +struct C_DOTA_Ability_Pangolier_ShieldCrash; +struct C_DOTA_Ability_Pangolier_Swashbuckle; +struct C_DOTA_Ability_PhantomAssassin_Blur; +struct C_DOTA_Ability_PhantomAssassin_CoupdeGrace; +struct C_DOTA_Ability_PhantomAssassin_Fan_Of_Knives; +struct C_DOTA_Ability_PhantomAssassin_PhantomStrike; +struct C_DOTA_Ability_PhantomAssassin_Stifling_Dagger; +struct C_DOTA_Ability_PhantomLancer_Doppelwalk; +struct C_DOTA_Ability_PhantomLancer_Juxtapose; +struct C_DOTA_Ability_PhantomLancer_PhantomEdge; +struct C_DOTA_Ability_PhantomLancer_SpiritLance; +struct C_DOTA_Ability_Phoenix_FireSpirits; +struct C_DOTA_Ability_Phoenix_IcarusDive; +struct C_DOTA_Ability_Phoenix_IcarusDiveStop; +struct C_DOTA_Ability_Phoenix_LaunchFireSpirit; +struct C_DOTA_Ability_Phoenix_SunRay; +struct C_DOTA_Ability_Phoenix_SunRayStop; +struct C_DOTA_Ability_Phoenix_SunRayToggleMove; +struct C_DOTA_Ability_Phoenix_SunRayToggleMoveEmpty; +struct C_DOTA_Ability_Phoenix_Supernova; +struct C_DOTA_Ability_PineCone_AcornShot; +struct C_DOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap; +struct C_DOTA_Ability_PrimalBeast_Onslaught; +struct C_DOTA_Ability_PrimalBeast_Onslaught_Release; +struct C_DOTA_Ability_PrimalBeast_Pulverize; +struct C_DOTA_Ability_PrimalBeast_Trample; +struct C_DOTA_Ability_PrimalBeast_Uproar; +struct C_DOTA_Ability_Primal_Companion; +struct C_DOTA_Ability_Puck_DreamCoil; +struct C_DOTA_Ability_Puck_EtherealJaunt; +struct C_DOTA_Ability_Puck_IllusoryOrb; +struct C_DOTA_Ability_Puck_PhaseShift; +struct C_DOTA_Ability_PudgeMiniboss_ArmorCorruption; +struct C_DOTA_Ability_PudgeMiniboss_HatefulStrike; +struct C_DOTA_Ability_Pudge_FleshHeap; +struct C_DOTA_Ability_Pudge_Rot; +struct C_DOTA_Ability_Pugna_Decrepify; +struct C_DOTA_Ability_Pugna_LifeDrain; +struct C_DOTA_Ability_Pugna_NetherBlast; +struct C_DOTA_Ability_Pugna_NetherWard; +struct C_DOTA_Ability_QueenOfPain_Blink; +struct C_DOTA_Ability_QueenOfPain_ScreamOfPain; +struct C_DOTA_Ability_QueenOfPain_ShadowStrike; +struct C_DOTA_Ability_QueenOfPain_SonicWave; +struct C_DOTA_Ability_Rattletrap_BatteryAssault; +struct C_DOTA_Ability_Rattletrap_Hookshot; +struct C_DOTA_Ability_Rattletrap_JetPack; +struct C_DOTA_Ability_Rattletrap_Overclocking; +struct C_DOTA_Ability_Rattletrap_PowerCogs; +struct C_DOTA_Ability_Rattletrap_RocketFlare; +struct C_DOTA_Ability_Razor_EyeOfTheStorm; +struct C_DOTA_Ability_Razor_PlasmaField; +struct C_DOTA_Ability_Razor_StaticLink; +struct C_DOTA_Ability_Razor_UnstableCurrent; +struct C_DOTA_Ability_Riki_Backstab; +struct C_DOTA_Ability_Riki_BlinkStrike; +struct C_DOTA_Ability_Riki_Permanent_Invisibility; +struct C_DOTA_Ability_Riki_Poison_Dart; +struct C_DOTA_Ability_Riki_SmokeScreen; +struct C_DOTA_Ability_Riki_TricksOfTheTrade; +struct C_DOTA_Ability_Roshan_Bash; +struct C_DOTA_Ability_Roshan_Devotion; +struct C_DOTA_Ability_Roshan_InherentBuffs; +struct C_DOTA_Ability_Roshan_Slam; +struct C_DOTA_Ability_Roshan_SpellBlock; +struct C_DOTA_Ability_Rubick_Arcane_Supremacy; +struct C_DOTA_Ability_Rubick_Empty1; +struct C_DOTA_Ability_Rubick_Empty2; +struct C_DOTA_Ability_Rubick_FadeBolt; +struct C_DOTA_Ability_Rubick_Hidden1; +struct C_DOTA_Ability_Rubick_Hidden2; +struct C_DOTA_Ability_Rubick_Hidden3; +struct C_DOTA_Ability_Rubick_NullField; +struct C_DOTA_Ability_Rubick_SpellSteal; +struct C_DOTA_Ability_Rubick_Telekinesis; +struct C_DOTA_Ability_Rubick_TelekinesisLand; +struct C_DOTA_Ability_Rubick_TelekinesisLand_Self; +struct C_DOTA_Ability_SandKing_BurrowStrike; +struct C_DOTA_Ability_SandKing_CausticFinale; +struct C_DOTA_Ability_SandKing_Epicenter; +struct C_DOTA_Ability_SandKing_SandStorm; +struct C_DOTA_Ability_SatyrHellcaller_Shockwave; +struct C_DOTA_Ability_SatyrHellcaller_UnholyAura; +struct C_DOTA_Ability_SatyrSoulstealer_ManaBurn; +struct C_DOTA_Ability_SatyrTrickster_Purge; +struct C_DOTA_Ability_Seasonal_Decorate_Tree; +struct C_DOTA_Ability_Seasonal_Festive_Firework; +struct C_DOTA_Ability_Seasonal_Summon_Snowman; +struct C_DOTA_Ability_Seasonal_Throw_Snowball; +struct C_DOTA_Ability_ShadowShamanVoodoo; +struct C_DOTA_Ability_ShadowShaman_EtherShock; +struct C_DOTA_Ability_ShadowShaman_MassSerpentWard; +struct C_DOTA_Ability_ShadowShaman_Serpentine; +struct C_DOTA_Ability_ShadowShaman_Shackles; +struct C_DOTA_Ability_Shadow_Demon_Demonic_Cleanse; +struct C_DOTA_Ability_Shadow_Demon_Demonic_Purge; +struct C_DOTA_Ability_Shadow_Demon_Disruption; +struct C_DOTA_Ability_Shadow_Demon_Disseminate; +struct C_DOTA_Ability_Shadow_Demon_Shadow_Poison; +struct C_DOTA_Ability_Shadow_Demon_Shadow_Poison_Release; +struct C_DOTA_Ability_Shadow_Demon_Soul_Catcher; +struct C_DOTA_Ability_Shredder_Chakram; +struct C_DOTA_Ability_Shredder_ChakramAlias_shredder_chakram_2; +struct C_DOTA_Ability_Shredder_Flamethrower; +struct C_DOTA_Ability_Shredder_Reactive_Armor; +struct C_DOTA_Ability_Shredder_ReturnChakram; +struct C_DOTA_Ability_Shredder_ReturnChakramAlias_shredder_return_chakram_2; +struct C_DOTA_Ability_Shredder_TimberChain; +struct C_DOTA_Ability_Shredder_WhirlingDeath; +struct C_DOTA_Ability_Silencer_CurseOfTheSilent; +struct C_DOTA_Ability_Silencer_GlaivesOfWisdom; +struct C_DOTA_Ability_Silencer_GlobalSilence; +struct C_DOTA_Ability_Silencer_LastWord; +struct C_DOTA_Ability_SkeletonKing_HellfireBlast; +struct C_DOTA_Ability_SkeletonKing_MortalStrike; +struct C_DOTA_Ability_SkeletonKing_Reincarnation; +struct C_DOTA_Ability_SkeletonKing_VampiricAura; +struct C_DOTA_Ability_Skywrath_Mage_Ancient_Seal; +struct C_DOTA_Ability_Skywrath_Mage_Arcane_Bolt; +struct C_DOTA_Ability_Skywrath_Mage_Concussive_Shot; +struct C_DOTA_Ability_Skywrath_Mage_Mystic_Flare; +struct C_DOTA_Ability_Skywrath_Mage_Shield_Of_The_Scion; +struct C_DOTA_Ability_Slardar_Amplify_Damage; +struct C_DOTA_Ability_Slardar_Bash; +struct C_DOTA_Ability_Slardar_Slithereen_Crush; +struct C_DOTA_Ability_Slardar_Sprint; +struct C_DOTA_Ability_Slark_Depth_Shroud; +struct C_DOTA_Ability_Slark_EssenceShift; +struct C_DOTA_Ability_Slark_Fish_Bait; +struct C_DOTA_Ability_Slark_Pounce; +struct C_DOTA_Ability_Slark_ShadowDance; +struct C_DOTA_Ability_Slithereen_Riptide; +struct C_DOTA_Ability_Sniper_Assassinate; +struct C_DOTA_Ability_Sniper_Concussive_Grenade; +struct C_DOTA_Ability_Sniper_Headshot; +struct C_DOTA_Ability_Sniper_Shrapnel; +struct C_DOTA_Ability_Sniper_TakeAim; +struct C_DOTA_Ability_Spawnlord_Master_Freeze; +struct C_DOTA_Ability_Special_Bonus_20_Bash_2; +struct C_DOTA_Ability_Special_Bonus_20_Crit_15; +struct C_DOTA_Ability_Special_Bonus_24_Crit_2; +struct C_DOTA_Ability_Special_Bonus_30_Crit_2; +struct C_DOTA_Ability_Special_Bonus_50_Crit_40; +struct C_DOTA_Ability_Special_Bonus_Agility_10; +struct C_DOTA_Ability_Special_Bonus_Agility_100; +struct C_DOTA_Ability_Special_Bonus_Agility_12; +struct C_DOTA_Ability_Special_Bonus_Agility_13; +struct C_DOTA_Ability_Special_Bonus_Agility_14; +struct C_DOTA_Ability_Special_Bonus_Agility_15; +struct C_DOTA_Ability_Special_Bonus_Agility_16; +struct C_DOTA_Ability_Special_Bonus_Agility_20; +struct C_DOTA_Ability_Special_Bonus_Agility_25; +struct C_DOTA_Ability_Special_Bonus_Agility_30; +struct C_DOTA_Ability_Special_Bonus_Agility_40; +struct C_DOTA_Ability_Special_Bonus_Agility_5; +struct C_DOTA_Ability_Special_Bonus_Agility_6; +struct C_DOTA_Ability_Special_Bonus_Agility_7; +struct C_DOTA_Ability_Special_Bonus_Agility_8; +struct C_DOTA_Ability_Special_Bonus_Agility_80; +struct C_DOTA_Ability_Special_Bonus_Agility_9; +struct C_DOTA_Ability_Special_Bonus_Agility_And_Intelligence_6; +struct C_DOTA_Ability_Special_Bonus_All_Stats_10; +struct C_DOTA_Ability_Special_Bonus_All_Stats_12; +struct C_DOTA_Ability_Special_Bonus_All_Stats_14; +struct C_DOTA_Ability_Special_Bonus_All_Stats_15; +struct C_DOTA_Ability_Special_Bonus_All_Stats_20; +struct C_DOTA_Ability_Special_Bonus_All_Stats_4; +struct C_DOTA_Ability_Special_Bonus_All_Stats_5; +struct C_DOTA_Ability_Special_Bonus_All_Stats_6; +struct C_DOTA_Ability_Special_Bonus_All_Stats_7; +struct C_DOTA_Ability_Special_Bonus_All_Stats_8; +struct C_DOTA_Ability_Special_Bonus_Armor_10; +struct C_DOTA_Ability_Special_Bonus_Armor_12; +struct C_DOTA_Ability_Special_Bonus_Armor_15; +struct C_DOTA_Ability_Special_Bonus_Armor_2; +struct C_DOTA_Ability_Special_Bonus_Armor_20; +struct C_DOTA_Ability_Special_Bonus_Armor_3; +struct C_DOTA_Ability_Special_Bonus_Armor_30; +struct C_DOTA_Ability_Special_Bonus_Armor_4; +struct C_DOTA_Ability_Special_Bonus_Armor_5; +struct C_DOTA_Ability_Special_Bonus_Armor_6; +struct C_DOTA_Ability_Special_Bonus_Armor_7; +struct C_DOTA_Ability_Special_Bonus_Armor_8; +struct C_DOTA_Ability_Special_Bonus_Armor_9; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_100; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_15; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_20; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_25; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_30; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_40; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_45; +struct C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_50; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_10; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_100; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_12; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_120; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_15; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_150; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_16; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_160; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_18; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_20; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_200; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_25; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_250; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_251; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_252; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_30; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_35; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_40; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_400; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_45; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_50; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_55; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_60; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_65; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_70; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_75; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_80; +struct C_DOTA_Ability_Special_Bonus_Attack_Damage_90; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_100; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_125; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_150; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_175; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_200; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_250; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_275; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_300; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_325; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_400; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_50; +struct C_DOTA_Ability_Special_Bonus_Attack_Range_75; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_10; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_100; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_110; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_120; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_140; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_15; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_160; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_175; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_20; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_200; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_25; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_250; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_30; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_35; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_40; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_45; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_50; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_55; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_60; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_70; +struct C_DOTA_Ability_Special_Bonus_Attack_Speed_80; +struct C_DOTA_Ability_Special_Bonus_Attributes; +struct C_DOTA_Ability_Special_Bonus_Base; +struct C_DOTA_Ability_Special_Bonus_Base_Attack_Rate_1; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_100; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_125; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_150; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_175; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_200; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_225; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_250; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_275; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_300; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_325; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_350; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_400; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_50; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_60; +struct C_DOTA_Ability_Special_Bonus_Cast_Range_75; +struct C_DOTA_Ability_Special_Bonus_Cast_Speed_30; +struct C_DOTA_Ability_Special_Bonus_Cleave_100; +struct C_DOTA_Ability_Special_Bonus_Cleave_130; +struct C_DOTA_Ability_Special_Bonus_Cleave_140; +struct C_DOTA_Ability_Special_Bonus_Cleave_15; +struct C_DOTA_Ability_Special_Bonus_Cleave_150; +struct C_DOTA_Ability_Special_Bonus_Cleave_175; +struct C_DOTA_Ability_Special_Bonus_Cleave_20; +struct C_DOTA_Ability_Special_Bonus_Cleave_25; +struct C_DOTA_Ability_Special_Bonus_Cleave_30; +struct C_DOTA_Ability_Special_Bonus_Cleave_35; +struct C_DOTA_Ability_Special_Bonus_Cleave_40; +struct C_DOTA_Ability_Special_Bonus_Cleave_60; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_10; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_12; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_14; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_15; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_20; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_25; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_30; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_40; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_50; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_6; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_65; +struct C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_8; +struct C_DOTA_Ability_Special_Bonus_Corruption_3; +struct C_DOTA_Ability_Special_Bonus_Corruption_4; +struct C_DOTA_Ability_Special_Bonus_Corruption_5; +struct C_DOTA_Ability_Special_Bonus_Day_Vision_400; +struct C_DOTA_Ability_Special_Bonus_Evasion_10; +struct C_DOTA_Ability_Special_Bonus_Evasion_12; +struct C_DOTA_Ability_Special_Bonus_Evasion_15; +struct C_DOTA_Ability_Special_Bonus_Evasion_16; +struct C_DOTA_Ability_Special_Bonus_Evasion_20; +struct C_DOTA_Ability_Special_Bonus_Evasion_25; +struct C_DOTA_Ability_Special_Bonus_Evasion_30; +struct C_DOTA_Ability_Special_Bonus_Evasion_40; +struct C_DOTA_Ability_Special_Bonus_Evasion_50; +struct C_DOTA_Ability_Special_Bonus_Evasion_75; +struct C_DOTA_Ability_Special_Bonus_Evasion_8; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_10; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_15; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_20; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_25; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_30; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_35; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_40; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_5; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_50; +struct C_DOTA_Ability_Special_Bonus_Exp_Boost_60; +struct C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_120; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_150; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_180; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_210; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_240; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_30; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_300; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_420; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_60; +struct C_DOTA_Ability_Special_Bonus_Gold_Income_90; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl10_l; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl15_l; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl15_r; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl20_l; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl20_r; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl25_l; +struct C_DOTA_Ability_Special_Bonus_Gold_lvl25_r; +struct C_DOTA_Ability_Special_Bonus_HP_100; +struct C_DOTA_Ability_Special_Bonus_HP_1000; +struct C_DOTA_Ability_Special_Bonus_HP_125; +struct C_DOTA_Ability_Special_Bonus_HP_150; +struct C_DOTA_Ability_Special_Bonus_HP_175; +struct C_DOTA_Ability_Special_Bonus_HP_200; +struct C_DOTA_Ability_Special_Bonus_HP_225; +struct C_DOTA_Ability_Special_Bonus_HP_250; +struct C_DOTA_Ability_Special_Bonus_HP_275; +struct C_DOTA_Ability_Special_Bonus_HP_300; +struct C_DOTA_Ability_Special_Bonus_HP_325; +struct C_DOTA_Ability_Special_Bonus_HP_350; +struct C_DOTA_Ability_Special_Bonus_HP_375; +struct C_DOTA_Ability_Special_Bonus_HP_400; +struct C_DOTA_Ability_Special_Bonus_HP_450; +struct C_DOTA_Ability_Special_Bonus_HP_475; +struct C_DOTA_Ability_Special_Bonus_HP_500; +struct C_DOTA_Ability_Special_Bonus_HP_600; +struct C_DOTA_Ability_Special_Bonus_HP_650; +struct C_DOTA_Ability_Special_Bonus_HP_700; +struct C_DOTA_Ability_Special_Bonus_HP_800; +struct C_DOTA_Ability_Special_Bonus_HP_900; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_10; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_12; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_14; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_15; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_16; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_20; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_25; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_30; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_35; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_4; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_40; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_5; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_50; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_6; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_7; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_8; +struct C_DOTA_Ability_Special_Bonus_HP_Regen_80; +struct C_DOTA_Ability_Special_Bonus_Haste; +struct C_DOTA_Ability_Special_Bonus_Intelligence_10; +struct C_DOTA_Ability_Special_Bonus_Intelligence_12; +struct C_DOTA_Ability_Special_Bonus_Intelligence_13; +struct C_DOTA_Ability_Special_Bonus_Intelligence_14; +struct C_DOTA_Ability_Special_Bonus_Intelligence_15; +struct C_DOTA_Ability_Special_Bonus_Intelligence_16; +struct C_DOTA_Ability_Special_Bonus_Intelligence_20; +struct C_DOTA_Ability_Special_Bonus_Intelligence_25; +struct C_DOTA_Ability_Special_Bonus_Intelligence_30; +struct C_DOTA_Ability_Special_Bonus_Intelligence_35; +struct C_DOTA_Ability_Special_Bonus_Intelligence_6; +struct C_DOTA_Ability_Special_Bonus_Intelligence_7; +struct C_DOTA_Ability_Special_Bonus_Intelligence_75; +struct C_DOTA_Ability_Special_Bonus_Intelligence_8; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_10; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_100; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_12; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_15; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_18; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_20; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_25; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_30; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_35; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_40; +struct C_DOTA_Ability_Special_Bonus_Lifesteal_8; +struct C_DOTA_Ability_Special_Bonus_MP_100; +struct C_DOTA_Ability_Special_Bonus_MP_1000; +struct C_DOTA_Ability_Special_Bonus_MP_125; +struct C_DOTA_Ability_Special_Bonus_MP_150; +struct C_DOTA_Ability_Special_Bonus_MP_175; +struct C_DOTA_Ability_Special_Bonus_MP_200; +struct C_DOTA_Ability_Special_Bonus_MP_225; +struct C_DOTA_Ability_Special_Bonus_MP_250; +struct C_DOTA_Ability_Special_Bonus_MP_275; +struct C_DOTA_Ability_Special_Bonus_MP_300; +struct C_DOTA_Ability_Special_Bonus_MP_350; +struct C_DOTA_Ability_Special_Bonus_MP_400; +struct C_DOTA_Ability_Special_Bonus_MP_500; +struct C_DOTA_Ability_Special_Bonus_MP_600; +struct C_DOTA_Ability_Special_Bonus_MP_700; +struct C_DOTA_Ability_Special_Bonus_MP_800; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_1; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_10; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_125; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_14; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_150; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_175; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_2; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_250; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_3; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_4; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_5; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_6; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_8; +struct C_DOTA_Ability_Special_Bonus_MP_Regen_Amp_10; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_10; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_100; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_12; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_14; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_15; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_20; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_25; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_30; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_35; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_40; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_5; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_50; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_6; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_8; +struct C_DOTA_Ability_Special_Bonus_Magic_Resistance_80; +struct C_DOTA_Ability_Special_Bonus_Mana_Break_15; +struct C_DOTA_Ability_Special_Bonus_Mana_Break_20; +struct C_DOTA_Ability_Special_Bonus_Mana_Break_25; +struct C_DOTA_Ability_Special_Bonus_Mana_Break_35; +struct C_DOTA_Ability_Special_Bonus_Mana_Break_40; +struct C_DOTA_Ability_Special_Bonus_Mana_Reduction_11; +struct C_DOTA_Ability_Special_Bonus_Mana_Reduction_8; +struct C_DOTA_Ability_Special_Bonus_Mana_Reduction_9; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_10; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_100; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_15; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_20; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_25; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_30; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_35; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_40; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_45; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_50; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_60; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_65; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_75; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_90; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_10; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_12; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_14; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_16; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_5; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_6; +struct C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_8; +struct C_DOTA_Ability_Special_Bonus_Night_Vision_1000; +struct C_DOTA_Ability_Special_Bonus_Night_Vision_400; +struct C_DOTA_Ability_Special_Bonus_Night_Vision_500; +struct C_DOTA_Ability_Special_Bonus_Night_Vision_600; +struct C_DOTA_Ability_Special_Bonus_Night_Vision_800; +struct C_DOTA_Ability_Special_Bonus_Reincarnation_200; +struct C_DOTA_Ability_Special_Bonus_Reincarnation_250; +struct C_DOTA_Ability_Special_Bonus_Reincarnation_300; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_15; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_20; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_25; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_30; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_35; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_40; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_45; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_50; +struct C_DOTA_Ability_Special_Bonus_Respawn_Reduction_60; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_10; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_11; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_12; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_14; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_15; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_16; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_18; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_20; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_25; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_3; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_4; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_5; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_6; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_7; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_8; +struct C_DOTA_Ability_Special_Bonus_Spell_Amplify_9; +struct C_DOTA_Ability_Special_Bonus_Spell_Block_15; +struct C_DOTA_Ability_Special_Bonus_Spell_Block_18; +struct C_DOTA_Ability_Special_Bonus_Spell_Block_20; +struct C_DOTA_Ability_Special_Bonus_Spell_Immunity; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_10; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_12; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_13; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_15; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_20; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_25; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_30; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_40; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_50; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_6; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_60; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_70; +struct C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_8; +struct C_DOTA_Ability_Special_Bonus_Status_Resistance_10; +struct C_DOTA_Ability_Special_Bonus_Status_Resistance_15; +struct C_DOTA_Ability_Special_Bonus_Status_Resistance_20; +struct C_DOTA_Ability_Special_Bonus_Status_Resistance_25; +struct C_DOTA_Ability_Special_Bonus_Strength_10; +struct C_DOTA_Ability_Special_Bonus_Strength_11; +struct C_DOTA_Ability_Special_Bonus_Strength_12; +struct C_DOTA_Ability_Special_Bonus_Strength_13; +struct C_DOTA_Ability_Special_Bonus_Strength_14; +struct C_DOTA_Ability_Special_Bonus_Strength_15; +struct C_DOTA_Ability_Special_Bonus_Strength_16; +struct C_DOTA_Ability_Special_Bonus_Strength_18; +struct C_DOTA_Ability_Special_Bonus_Strength_20; +struct C_DOTA_Ability_Special_Bonus_Strength_25; +struct C_DOTA_Ability_Special_Bonus_Strength_3; +struct C_DOTA_Ability_Special_Bonus_Strength_30; +struct C_DOTA_Ability_Special_Bonus_Strength_4; +struct C_DOTA_Ability_Special_Bonus_Strength_40; +struct C_DOTA_Ability_Special_Bonus_Strength_5; +struct C_DOTA_Ability_Special_Bonus_Strength_6; +struct C_DOTA_Ability_Special_Bonus_Strength_7; +struct C_DOTA_Ability_Special_Bonus_Strength_8; +struct C_DOTA_Ability_Special_Bonus_Strength_9; +struct C_DOTA_Ability_Special_Bonus_TrueStrike; +struct C_DOTA_Ability_Special_Bonus_Undefined; +struct C_DOTA_Ability_Special_Bonus_Unique_Abaddon; +struct C_DOTA_Ability_Special_Bonus_Unique_Abaddon_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Abaddon_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Abaddon_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Abaddon_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Aghsfort_Lich_Extra_Chain_Frost_Jumps; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Alchemist_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Antimage_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Axe_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Bane_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Batrider_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Bristleback; +struct C_DOTA_Ability_Special_Bonus_Unique_Bristleback_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Bristleback_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Bristleback_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Broodmother_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Broodmother_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Broodmother_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Broodmother_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Broodmother_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Centaur_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Chen_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Clinkz_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_6; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_1; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_2; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_3; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_4; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_5; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_6; +struct C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_13; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Dazzle_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Dazzle_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Dazzle_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Dazzle_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Dazzle_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet; +struct C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Disruptor_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Doom_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan; +struct C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Enchantress_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Enchantress_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Enchantress_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Enchantress_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Enchantress_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Enigma_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Furion; +struct C_DOTA_Ability_Special_Bonus_Unique_Furion_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Furion_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Furion_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Furion_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotBounces; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotCharges; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotDamage; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShot_ArmorCorruption; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_BushwhackCooldown; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Damage; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Duration; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_ScurryDuration; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPureDamage; +struct C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Sharpshooter_Speed; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Huskar_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_13; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Invoker_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Jakiro_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Juggernaut; +struct C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Attack_Damage; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Armor; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Cooldown_Reduction; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Evasion; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Health_Regen; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Magic_Resistance; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Movement_Speed; +struct C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Lifesteal; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Kunkka_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Leshrac_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Lich_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lina_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Lion_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Luna_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Lycan_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Magnus_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Medusa; +struct C_DOTA_Ability_Special_Bonus_Unique_Medusa_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Medusa_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Medusa_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Medusa_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Meepo_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Mirana_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Morphling_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Necrophos_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Nevermore_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Nyx_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi; +struct C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Omniknight_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Oracle_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer; +struct C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Pangolier_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Phoenix_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Puck_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Pudge_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Pugna_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Razor_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Riki_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Rubick_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Sand_King_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Silencer_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Skywrath_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Slardar_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Slark_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Sniper_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Spectre_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Sven_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Techies; +struct C_DOTA_Ability_Special_Bonus_Unique_Techies_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Techies_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Techies_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Techies_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Terrorblade; +struct C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Timbersaw; +struct C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Tinker_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Tiny_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_12; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_13; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Treant_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Tusk_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Underlord_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Undying_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Ursa_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Venomancer_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Viper_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Visage_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Warlock_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Weaver_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Windranger_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Wisp_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_1; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_10; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_11; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_4; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_5; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_6; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_7; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_8; +struct C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_9; +struct C_DOTA_Ability_Special_Bonus_Unique_Zeus; +struct C_DOTA_Ability_Special_Bonus_Unique_Zeus_2; +struct C_DOTA_Ability_Special_Bonus_Unique_Zeus_3; +struct C_DOTA_Ability_Special_Bonus_Unique_Zeus_4; +struct C_DOTA_Ability_Special_Bonus_Vision_200; +struct C_DOTA_Ability_Spectre_Desolate; +struct C_DOTA_Ability_Spectre_Dispersion; +struct C_DOTA_Ability_Spectre_Haunt; +struct C_DOTA_Ability_Spectre_Haunt_Single; +struct C_DOTA_Ability_Spectre_Reality; +struct C_DOTA_Ability_Spectre_SpectralDagger; +struct C_DOTA_Ability_SpiritBreaker_Bulldoze; +struct C_DOTA_Ability_SpiritBreaker_ChargeOfDarkness; +struct C_DOTA_Ability_SpiritBreaker_EmpoweringHaste; +struct C_DOTA_Ability_SpiritBreaker_GreaterBash; +struct C_DOTA_Ability_SpiritBreaker_NetherStrike; +struct C_DOTA_Ability_SpiritBreaker_PlanarPocket; +struct C_DOTA_Ability_StormSpirit_BallLightning; +struct C_DOTA_Ability_StormSpirit_ElectricVortex; +struct C_DOTA_Ability_StormSpirit_Overload; +struct C_DOTA_Ability_StormSpirit_StaticRemnant; +struct C_DOTA_Ability_Storm_Spirit_Electric_Rave; +struct C_DOTA_Ability_Sven_GodsStrength; +struct C_DOTA_Ability_Sven_GreatCleave; +struct C_DOTA_Ability_Sven_StormBolt; +struct C_DOTA_Ability_Sven_Warcry; +struct C_DOTA_Ability_Techies_FocusedDetonate; +struct C_DOTA_Ability_Techies_Suicide; +struct C_DOTA_Ability_TemplarAssassin_Meld; +struct C_DOTA_Ability_TemplarAssassin_PsiBlades; +struct C_DOTA_Ability_TemplarAssassin_PsionicTrap; +struct C_DOTA_Ability_TemplarAssassin_Refraction; +struct C_DOTA_Ability_TemplarAssassin_Refraction_Holdout; +struct C_DOTA_Ability_TemplarAssassin_SelfTrap; +struct C_DOTA_Ability_TemplarAssassin_Trap; +struct C_DOTA_Ability_TemplarAssassin_Trap_Teleport; +struct C_DOTA_Ability_Terrorblade_ConjureImage; +struct C_DOTA_Ability_Terrorblade_Demon_Zeal; +struct C_DOTA_Ability_Terrorblade_Metamorphosis; +struct C_DOTA_Ability_Terrorblade_Reflection; +struct C_DOTA_Ability_Terrorblade_Sunder; +struct C_DOTA_Ability_Terrorblade_Terror_Wave; +struct C_DOTA_Ability_Throw_Coal; +struct C_DOTA_Ability_Throw_Snowball; +struct C_DOTA_Ability_Tidehunter_AnchorSmash; +struct C_DOTA_Ability_Tidehunter_ArmOfTheDeep; +struct C_DOTA_Ability_Tidehunter_Gush; +struct C_DOTA_Ability_Tidehunter_KrakenShell; +struct C_DOTA_Ability_Tidehunter_Ravage; +struct C_DOTA_Ability_Tinker_Defensive_Matrix; +struct C_DOTA_Ability_Tinker_HeatSeekingMissile; +struct C_DOTA_Ability_Tinker_Keen_Teleport; +struct C_DOTA_Ability_Tinker_Laser; +struct C_DOTA_Ability_Tinker_MarchOfTheMachines; +struct C_DOTA_Ability_Tinker_Rearm; +struct C_DOTA_Ability_Tiny_Avalanche; +struct C_DOTA_Ability_Tiny_CraggyExterior; +struct C_DOTA_Ability_Tiny_Grow; +struct C_DOTA_Ability_Tiny_Toss; +struct C_DOTA_Ability_Tiny_TossTree; +struct C_DOTA_Ability_Tiny_Tree_Channel; +struct C_DOTA_Ability_Tiny_Tree_Grab; +struct C_DOTA_Ability_Tornado_Tempest; +struct C_DOTA_Ability_Treant_LivingArmor; +struct C_DOTA_Ability_Treant_NaturesGrasp; +struct C_DOTA_Ability_Treant_NaturesGuise; +struct C_DOTA_Ability_Treant_Overgrowth; +struct C_DOTA_Ability_TrollWarlord_BattleTrance; +struct C_DOTA_Ability_TrollWarlord_BerserkersRage; +struct C_DOTA_Ability_TrollWarlord_Fervor; +struct C_DOTA_Ability_TrollWarlord_WhirlingAxes_Ranged; +struct C_DOTA_Ability_TrollWarlord_Whirling_Axes_Melee; +struct C_DOTA_Ability_Troll_Warlord_Rampage; +struct C_DOTA_Ability_Tusk_FrozenSigil; +struct C_DOTA_Ability_Tusk_IceShards; +struct C_DOTA_Ability_Tusk_Launch_Snowball; +struct C_DOTA_Ability_Tusk_Snowball; +struct C_DOTA_Ability_Tusk_WalrusPunch; +struct C_DOTA_Ability_Undying_Decay; +struct C_DOTA_Ability_Undying_FleshGolem; +struct C_DOTA_Ability_Undying_SoulRip; +struct C_DOTA_Ability_Undying_Tombstone; +struct C_DOTA_Ability_Undying_Tombstone_Zombie_DeathStrike; +struct C_DOTA_Ability_Ursa_Earthshock; +struct C_DOTA_Ability_Ursa_Enrage; +struct C_DOTA_Ability_Ursa_Fury_Swipes; +struct C_DOTA_Ability_Ursa_Overpower; +struct C_DOTA_Ability_VengefulSpirit_Command_Aura; +struct C_DOTA_Ability_VengefulSpirit_Magic_Missile; +struct C_DOTA_Ability_VengefulSpirit_Nether_Swap; +struct C_DOTA_Ability_VengefulSpirit_WaveOfTerror; +struct C_DOTA_Ability_Venomancer_Latent_Poison; +struct C_DOTA_Ability_Venomancer_PlagueWard; +struct C_DOTA_Ability_Venomancer_PoisonNova; +struct C_DOTA_Ability_Venomancer_PoisonSting; +struct C_DOTA_Ability_Venomancer_VenomousGale; +struct C_DOTA_Ability_Viper_CorrosiveSkin; +struct C_DOTA_Ability_Viper_Nose_Dive; +struct C_DOTA_Ability_Viper_PoisonAttack; +struct C_DOTA_Ability_Viper_ViperStrike; +struct C_DOTA_Ability_Visage_GraveChill; +struct C_DOTA_Ability_Visage_GravekeepersCloak; +struct C_DOTA_Ability_Visage_Silent_As_The_Grave; +struct C_DOTA_Ability_Visage_SoulAssumption; +struct C_DOTA_Ability_Visage_Stone_Form_Self_Cast; +struct C_DOTA_Ability_Visage_SummonFamiliars; +struct C_DOTA_Ability_Visage_SummonFamiliars_StoneForm; +struct C_DOTA_Ability_Warlock_Fatal_Bonds; +struct C_DOTA_Ability_Warlock_Golem_Flaming_Fists; +struct C_DOTA_Ability_Warlock_Golem_Permanent_Immolation; +struct C_DOTA_Ability_Warlock_RainOfChaos; +struct C_DOTA_Ability_Warlock_Shadow_Word; +struct C_DOTA_Ability_Warlock_Upheaval; +struct C_DOTA_Ability_WarpineRaider_SeedShot; +struct C_DOTA_Ability_Weaver_GeminateAttack; +struct C_DOTA_Ability_Weaver_Shukuchi; +struct C_DOTA_Ability_Weaver_TheSwarm; +struct C_DOTA_Ability_Weaver_TimeLapse; +struct C_DOTA_Ability_Windrunner_FocusFire; +struct C_DOTA_Ability_Windrunner_FocusFire_End; +struct C_DOTA_Ability_Windrunner_GaleForce; +struct C_DOTA_Ability_Windrunner_Powershot; +struct C_DOTA_Ability_Windrunner_Shackleshot; +struct C_DOTA_Ability_Windrunner_Windrun; +struct C_DOTA_Ability_Wisp_Empty1; +struct C_DOTA_Ability_Wisp_Empty2; +struct C_DOTA_Ability_Wisp_Overcharge; +struct C_DOTA_Ability_Wisp_Relocate; +struct C_DOTA_Ability_Wisp_Spirits; +struct C_DOTA_Ability_Wisp_Spirits_In; +struct C_DOTA_Ability_Wisp_Spirits_Out; +struct C_DOTA_Ability_Wisp_Tether; +struct C_DOTA_Ability_Wisp_Tether_Break; +struct C_DOTA_Ability_WitchDoctor_DeathWard; +struct C_DOTA_Ability_WitchDoctor_Maledict; +struct C_DOTA_Ability_WitchDoctor_ParalyzingCask; +struct C_DOTA_Ability_WitchDoctor_VoodooRestoration; +struct C_DOTA_Ability_WitchDoctor_Voodoo_Switcheroo; +struct C_DOTA_Ability_Zombie_Berserk; +struct C_DOTA_Ability_Zuus_ArcLightning; +struct C_DOTA_Ability_Zuus_Cloud; +struct C_DOTA_Ability_Zuus_Heavenly_Jump; +struct C_DOTA_Ability_Zuus_LightningBolt; +struct C_DOTA_Ability_Zuus_StaticField; +struct C_DOTA_Ability_Zuus_ThundergodsVengeance; +struct C_DOTA_Ability_Zuus_ThundergodsWrath; +struct C_DOTA_Ability_aghsfort_tusk_boss_Launch_Snowball; +struct C_DOTA_AghsFort_Ability_ArcWardenBoss_MagneticField; +struct C_DOTA_AghsFort_Ability_ArcWardenBoss_SparkWraith; +struct C_DOTA_AghsFort_Ability_ArcWardenBoss_TempestDouble; +struct C_DOTA_AghsFort_Ability_Juggernaut_BladeFury; +struct C_DOTA_AghsFort_Ability_Sniper_TakeAim; +struct C_DOTA_AghsFort_Ability_Undying_Decay; +struct C_DOTA_AghsFort_Ability_Undying_FleshGolem; +struct C_DOTA_AghsFort_Ability_Undying_SoulRip; +struct C_DOTA_AghsFort_Ability_Undying_Tombstone; +struct C_DOTA_AghsFort_Ability_Undying_Tombstone_Zombie_DeathStrike; +struct C_DOTA_AghsFort_Hero_Clinkz; +struct C_DOTA_AghsFort_Hero_Phoenix; +struct C_DOTA_AghsFort_Unit_Hero_Undying; +struct C_DOTA_AghsFort_Unit_Undying_Tombstone; +struct C_DOTA_AghsFort_Unit_Undying_Zombie; +struct C_DOTA_Aghsfort_AbilityCrystalMaiden_FreezingField; +struct C_DOTA_Aghsfort_Ability_ArcWardenBoss_Gleipnir; +struct C_DOTA_Aghsfort_Ability_Creature_Magnus_Push_Skewer; +struct C_DOTA_Aghsfort_Ability_CrystalMaiden_CrystalNova; +struct C_DOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang; +struct C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_SoulRip_Charges; +struct C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_TombstoneOnDeath; +struct C_DOTA_ArcanaDataEntity; +struct C_DOTA_BaseNPC; +struct C_DOTA_BaseNPC_Additive; +struct C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer; +struct C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus; +struct C_DOTA_BaseNPC_Barracks; +struct C_DOTA_BaseNPC_Building; +struct C_DOTA_BaseNPC_Clinkz_Skeleton_Army; +struct C_DOTA_BaseNPC_Creature; +struct C_DOTA_BaseNPC_Creep; +struct C_DOTA_BaseNPC_Creep_Lane; +struct C_DOTA_BaseNPC_Creep_Neutral; +struct C_DOTA_BaseNPC_Creep_Siege; +struct C_DOTA_BaseNPC_Creep_Talking; +struct C_DOTA_BaseNPC_Effigy_BattleCup; +struct C_DOTA_BaseNPC_Effigy_Statue; +struct C_DOTA_BaseNPC_Filler; +struct C_DOTA_BaseNPC_Fort; +struct C_DOTA_BaseNPC_Frostivus2018_Snowman; +struct C_DOTA_BaseNPC_HallofFame; +struct C_DOTA_BaseNPC_Healer; +struct C_DOTA_BaseNPC_Hero; +struct C_DOTA_BaseNPC_HoldoutTower; +struct C_DOTA_BaseNPC_HoldoutTower_HeavySlow; +struct C_DOTA_BaseNPC_HoldoutTower_LightFast; +struct C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed; +struct C_DOTA_BaseNPC_Invoker_Forged_Spirit; +struct C_DOTA_BaseNPC_NeutralItemStash; +struct C_DOTA_BaseNPC_Promo; +struct C_DOTA_BaseNPC_RotatableBuilding; +struct C_DOTA_BaseNPC_SDKTower; +struct C_DOTA_BaseNPC_Seasonal_Snowman; +struct C_DOTA_BaseNPC_ShadowShaman_SerpentWard; +struct C_DOTA_BaseNPC_Shop; +struct C_DOTA_BaseNPC_Tower; +struct C_DOTA_BaseNPC_Trap_Ward; +struct C_DOTA_BaseNPC_Tusk_Sigil; +struct C_DOTA_BaseNPC_Venomancer_PlagueWard; +struct C_DOTA_BaseNPC_Warlock_Golem; +struct C_DOTA_BaseNPC_Watch_Tower; +struct C_DOTA_Beastmaster_Axe; +struct C_DOTA_BinaryObject; +struct C_DOTA_CDOTA_Item_BagOfGold_Caster_Only; +struct C_DOTA_CombatLogQueryProgress; +struct C_DOTA_DarkWillow_Creature; +struct C_DOTA_DataCustomTeam; +struct C_DOTA_DataDire; +struct C_DOTA_DataNonSpectator; +struct C_DOTA_DataRadiant; +struct C_DOTA_DataSpectator; +struct C_DOTA_DeathProphet_Exorcism_Spirit; +struct C_DOTA_DisplacementVisibility; +struct C_DOTA_GuildBannerDynamic; +struct C_DOTA_GuildBannerProp; +struct C_DOTA_Hero_Recorder; +struct C_DOTA_Item; +struct C_DOTA_Item_AbyssalBlade; +struct C_DOTA_Item_Aegis; +struct C_DOTA_Item_AeonDisk; +struct C_DOTA_Item_Aether_Lens; +struct C_DOTA_Item_Aghanims_Shard; +struct C_DOTA_Item_Aghanims_Shard_Roshan; +struct C_DOTA_Item_AghsFort_Bloodstone; +struct C_DOTA_Item_Ancient_Janggo; +struct C_DOTA_Item_Ancient_Perseverance; +struct C_DOTA_Item_Arcane_Blink; +struct C_DOTA_Item_Arcane_Boots; +struct C_DOTA_Item_Arcane_Ring; +struct C_DOTA_Item_Arcane_Scout; +struct C_DOTA_Item_Armlet; +struct C_DOTA_Item_AsceticCap; +struct C_DOTA_Item_AssassinsDagger; +struct C_DOTA_Item_Assault_Cuirass; +struct C_DOTA_Item_BagOfGold; +struct C_DOTA_Item_Barricade; +struct C_DOTA_Item_BeltOfStrength; +struct C_DOTA_Item_Black_King_Bar; +struct C_DOTA_Item_BladeOfAlacrity; +struct C_DOTA_Item_Blade_Mail; +struct C_DOTA_Item_BladesOfAttack; +struct C_DOTA_Item_Blight_Stone; +struct C_DOTA_Item_BlinkDagger; +struct C_DOTA_Item_Blitz_Knuckles; +struct C_DOTA_Item_Bloodstone; +struct C_DOTA_Item_Bloodthorn; +struct C_DOTA_Item_Book_Of_Shadows; +struct C_DOTA_Item_BootsOfElven; +struct C_DOTA_Item_BootsOfSpeed; +struct C_DOTA_Item_BootsOfTravel; +struct C_DOTA_Item_Boots_Of_Bearing; +struct C_DOTA_Item_Bottomless_Chalice; +struct C_DOTA_Item_Bracer; +struct C_DOTA_Item_Broadsword; +struct C_DOTA_Item_Buckler; +struct C_DOTA_Item_Bullwhip; +struct C_DOTA_Item_Butterfly; +struct C_DOTA_Item_Ceremonial_Robe; +struct C_DOTA_Item_ChainMail; +struct C_DOTA_Item_Cheese; +struct C_DOTA_Item_Chipped_Vest; +struct C_DOTA_Item_Circlet; +struct C_DOTA_Item_Clarity; +struct C_DOTA_Item_Claymore; +struct C_DOTA_Item_Cloak_Of_Flames; +struct C_DOTA_Item_Courier; +struct C_DOTA_Item_Craggy_Coat; +struct C_DOTA_Item_CraniumBasher; +struct C_DOTA_Item_Crimson_Guard; +struct C_DOTA_Item_Crown; +struct C_DOTA_Item_Cyclone; +struct C_DOTA_Item_DaggerOfRistul; +struct C_DOTA_Item_Dagon; +struct C_DOTA_Item_Dagon_Upgraded; +struct C_DOTA_Item_Dagon_Upgraded2; +struct C_DOTA_Item_Dagon_Upgraded3; +struct C_DOTA_Item_Dagon_Upgraded4; +struct C_DOTA_Item_Dagon_Upgraded5; +struct C_DOTA_Item_DataDriven; +struct C_DOTA_Item_DeathGoldDropped; +struct C_DOTA_Item_DemonEdge; +struct C_DOTA_Item_Desolator; +struct C_DOTA_Item_Desolator_2; +struct C_DOTA_Item_Diffusal_Blade; +struct C_DOTA_Item_Diffusal_Blade_Level2; +struct C_DOTA_Item_DivineRapier; +struct C_DOTA_Item_DragonLance; +struct C_DOTA_Item_DustofAppearance; +struct C_DOTA_Item_Dynamite_Jacket; +struct C_DOTA_Item_EagleEye; +struct C_DOTA_Item_Eaglehorn; +struct C_DOTA_Item_EchoSabre; +struct C_DOTA_Item_Elixer; +struct C_DOTA_Item_Elven_Tunic; +struct C_DOTA_Item_EmptyBottle; +struct C_DOTA_Item_EnergyBooster; +struct C_DOTA_Item_Eternal_Shroud; +struct C_DOTA_Item_Ethereal_Blade; +struct C_DOTA_Item_EyeOfTheVizier; +struct C_DOTA_Item_Faerie_Fire; +struct C_DOTA_Item_Falcon_Blade; +struct C_DOTA_Item_Fallen_Sky; +struct C_DOTA_Item_Flask; +struct C_DOTA_Item_Flicker; +struct C_DOTA_Item_Fluffy_Hat; +struct C_DOTA_Item_Flying_Courier; +struct C_DOTA_Item_Force_Field; +struct C_DOTA_Item_Fusion_rune; +struct C_DOTA_Item_Gauntlets; +struct C_DOTA_Item_GemOfTrueSight; +struct C_DOTA_Item_GhostScepter; +struct C_DOTA_Item_Giants_Ring; +struct C_DOTA_Item_Gladiator_Helm; +struct C_DOTA_Item_GlovesOfHaste; +struct C_DOTA_Item_Gloves_Of_Travel; +struct C_DOTA_Item_Grandmasters_Glaive; +struct C_DOTA_Item_GreaterClarity; +struct C_DOTA_Item_GreaterCritical; +struct C_DOTA_Item_Greater_Faerie_Fire; +struct C_DOTA_Item_Grove_Bow; +struct C_DOTA_Item_Gungir; +struct C_DOTA_Item_HandOfMidas; +struct C_DOTA_Item_Harpoon; +struct C_DOTA_Item_Headdress; +struct C_DOTA_Item_Heart; +struct C_DOTA_Item_HeavensHalberd; +struct C_DOTA_Item_Heavy_Blade; +struct C_DOTA_Item_HelmOfIronWill; +struct C_DOTA_Item_HelmOfTheDominator; +struct C_DOTA_Item_HelmOfTheDominator_2; +struct C_DOTA_Item_HelmOfTheOverlord; +struct C_DOTA_Item_Holy_Locket; +struct C_DOTA_Item_Hood_Of_Defiance; +struct C_DOTA_Item_Horizon; +struct C_DOTA_Item_Hyperstone; +struct C_DOTA_Item_IcarusWings; +struct C_DOTA_Item_Imp_Claw; +struct C_DOTA_Item_Infused_Raindrop; +struct C_DOTA_Item_InvisibilityEdge; +struct C_DOTA_Item_Iron_Talon; +struct C_DOTA_Item_IronwoodBranch; +struct C_DOTA_Item_Ironwood_tree; +struct C_DOTA_Item_Javelin; +struct C_DOTA_Item_JumpBoots; +struct C_DOTA_Item_Kaya; +struct C_DOTA_Item_Keen_Optic; +struct C_DOTA_Item_LanceOfPursuit; +struct C_DOTA_Item_LesserCritical; +struct C_DOTA_Item_LightRobes; +struct C_DOTA_Item_Lua; +struct C_DOTA_Item_Maelstrom; +struct C_DOTA_Item_Mage_Slayer; +struct C_DOTA_Item_MagicStick; +struct C_DOTA_Item_MagicWand; +struct C_DOTA_Item_Magus_Minimus; +struct C_DOTA_Item_ManaclesOfPower; +struct C_DOTA_Item_MantaStyle; +struct C_DOTA_Item_Mantle; +struct C_DOTA_Item_MaskOfDeath; +struct C_DOTA_Item_MaskOfDispair; +struct C_DOTA_Item_MaskOfMadness; +struct C_DOTA_Item_Mechanical_Arm; +struct C_DOTA_Item_Mekansm; +struct C_DOTA_Item_MeteorHammer; +struct C_DOTA_Item_Mind_Breaker; +struct C_DOTA_Item_Mirror_Shield; +struct C_DOTA_Item_Misericorde; +struct C_DOTA_Item_MithrilHammer; +struct C_DOTA_Item_Mjollnir; +struct C_DOTA_Item_MonkeyKingBar; +struct C_DOTA_Item_Muertas_Gun; +struct C_DOTA_Item_Mysterious_Hat; +struct C_DOTA_Item_MysticStaff; +struct C_DOTA_Item_Naginata; +struct C_DOTA_Item_Necronomicon; +struct C_DOTA_Item_Necronomicon_Level2; +struct C_DOTA_Item_Necronomicon_Level3; +struct C_DOTA_Item_Nian_Flag_Trap; +struct C_DOTA_Item_NullTalisman; +struct C_DOTA_Item_Nullifier; +struct C_DOTA_Item_Oakheart; +struct C_DOTA_Item_OblivionStaff; +struct C_DOTA_Item_Occult_Bracelet; +struct C_DOTA_Item_Ofrenda; +struct C_DOTA_Item_Ofrenda_Pledge; +struct C_DOTA_Item_OgreAxe; +struct C_DOTA_Item_Orb_Of_Corrosion; +struct C_DOTA_Item_Orb_Of_Revelations; +struct C_DOTA_Item_Orb_of_Pestilence; +struct C_DOTA_Item_Orb_of_Venom; +struct C_DOTA_Item_OrchidMalevolence; +struct C_DOTA_Item_Overflowing_Elixir; +struct C_DOTA_Item_Overwhelming_Blink; +struct C_DOTA_Item_Paintball; +struct C_DOTA_Item_Penta_Edged_Sword; +struct C_DOTA_Item_Perseverance; +struct C_DOTA_Item_PhaseBoots; +struct C_DOTA_Item_Philosophers_Stone; +struct C_DOTA_Item_Phoenix_Ash; +struct C_DOTA_Item_Phylactery; +struct C_DOTA_Item_Physical; +struct C_DOTA_Item_Pipe; +struct C_DOTA_Item_PlaneswalkersCloak; +struct C_DOTA_Item_PlateMail; +struct C_DOTA_Item_PocketRoshan; +struct C_DOTA_Item_PocketTower; +struct C_DOTA_Item_PointBooster; +struct C_DOTA_Item_PoorMansShield; +struct C_DOTA_Item_Possessed_Mask; +struct C_DOTA_Item_PowerTreads; +struct C_DOTA_Item_Princes_Knife; +struct C_DOTA_Item_Psychic_Headband; +struct C_DOTA_Item_Pupils_gift; +struct C_DOTA_Item_Quarterstaff; +struct C_DOTA_Item_QuellingBlade; +struct C_DOTA_Item_Radiance; +struct C_DOTA_Item_Reaver; +struct C_DOTA_Item_Recipe_AbyssalBlade; +struct C_DOTA_Item_Recipe_AeonDisk; +struct C_DOTA_Item_Recipe_AghsFort_Bloodstone; +struct C_DOTA_Item_Recipe_Ancient_Janggo; +struct C_DOTA_Item_Recipe_Ancient_Perseverance; +struct C_DOTA_Item_Recipe_Arcane_Boots; +struct C_DOTA_Item_Recipe_Arcane_Ring; +struct C_DOTA_Item_Recipe_Armlet; +struct C_DOTA_Item_Recipe_Assault_Cuirass; +struct C_DOTA_Item_Recipe_Black_King_Bar; +struct C_DOTA_Item_Recipe_Blade_Mail; +struct C_DOTA_Item_Recipe_Bloodstone; +struct C_DOTA_Item_Recipe_Bloodthorn; +struct C_DOTA_Item_Recipe_Book_Of_Shadows; +struct C_DOTA_Item_Recipe_BootsOfTravel; +struct C_DOTA_Item_Recipe_Boots_Of_Bearing; +struct C_DOTA_Item_Recipe_Bracer; +struct C_DOTA_Item_Recipe_Buckler; +struct C_DOTA_Item_Recipe_Bullwhip; +struct C_DOTA_Item_Recipe_Butterfly; +struct C_DOTA_Item_Recipe_Ceremonial_Robe; +struct C_DOTA_Item_Recipe_Chipped_Vest; +struct C_DOTA_Item_Recipe_Cloak_Of_Flames; +struct C_DOTA_Item_Recipe_CraniumBasher; +struct C_DOTA_Item_Recipe_Cyclone; +struct C_DOTA_Item_Recipe_Dagon; +struct C_DOTA_Item_Recipe_Dagon2; +struct C_DOTA_Item_Recipe_Dagon3; +struct C_DOTA_Item_Recipe_Dagon4; +struct C_DOTA_Item_Recipe_Dagon5; +struct C_DOTA_Item_Recipe_Desolator; +struct C_DOTA_Item_Recipe_Desolator_2; +struct C_DOTA_Item_Recipe_Diffusal_Blade; +struct C_DOTA_Item_Recipe_DivineRapier; +struct C_DOTA_Item_Recipe_Elven_Tunic; +struct C_DOTA_Item_Recipe_Eternal_Shroud; +struct C_DOTA_Item_Recipe_Ethereal_Blade; +struct C_DOTA_Item_Recipe_Falcon_Blade; +struct C_DOTA_Item_Recipe_Fluffy_Hat; +struct C_DOTA_Item_Recipe_Giants_Ring; +struct C_DOTA_Item_Recipe_Gladiator_Helm; +struct C_DOTA_Item_Recipe_Gloves_Of_Travel; +struct C_DOTA_Item_Recipe_Grandmasters_Glaive; +struct C_DOTA_Item_Recipe_GreaterCritical; +struct C_DOTA_Item_Recipe_Gungir; +struct C_DOTA_Item_Recipe_HandOfMidas; +struct C_DOTA_Item_Recipe_Headdress; +struct C_DOTA_Item_Recipe_Heart; +struct C_DOTA_Item_Recipe_HeavensHalberd; +struct C_DOTA_Item_Recipe_HelmOfTheDominator; +struct C_DOTA_Item_Recipe_HelmOfTheDominator_2; +struct C_DOTA_Item_Recipe_HelmOfTheOverlord; +struct C_DOTA_Item_Recipe_Holy_Locket; +struct C_DOTA_Item_Recipe_Hood_Of_Defiance; +struct C_DOTA_Item_Recipe_InvisibilityEdge; +struct C_DOTA_Item_Recipe_Ironwood_tree; +struct C_DOTA_Item_Recipe_Kaya; +struct C_DOTA_Item_Recipe_LesserCritical; +struct C_DOTA_Item_Recipe_Maelstrom; +struct C_DOTA_Item_Recipe_Mage_Slayer; +struct C_DOTA_Item_Recipe_MagicWand; +struct C_DOTA_Item_Recipe_Magus_Minimus; +struct C_DOTA_Item_Recipe_MantaStyle; +struct C_DOTA_Item_Recipe_MaskOfDispair; +struct C_DOTA_Item_Recipe_MaskOfMadness; +struct C_DOTA_Item_Recipe_Mekansm; +struct C_DOTA_Item_Recipe_Mind_Breaker; +struct C_DOTA_Item_Recipe_Mjollnir; +struct C_DOTA_Item_Recipe_MonkeyKingBar; +struct C_DOTA_Item_Recipe_Mysterious_Hat; +struct C_DOTA_Item_Recipe_Naginata; +struct C_DOTA_Item_Recipe_Necronomicon; +struct C_DOTA_Item_Recipe_Necronomicon_2; +struct C_DOTA_Item_Recipe_Necronomicon_3; +struct C_DOTA_Item_Recipe_NullTalisman; +struct C_DOTA_Item_Recipe_Oakheart; +struct C_DOTA_Item_Recipe_OblivionStaff; +struct C_DOTA_Item_Recipe_Orb_Of_Corrosion; +struct C_DOTA_Item_Recipe_Orb_Of_Revelations; +struct C_DOTA_Item_Recipe_OrchidMalevolence; +struct C_DOTA_Item_Recipe_Overflowing_Elixir; +struct C_DOTA_Item_Recipe_Penta_Edged_Sword; +struct C_DOTA_Item_Recipe_Perseverance; +struct C_DOTA_Item_Recipe_PhaseBoots; +struct C_DOTA_Item_Recipe_Phoenix_Ash; +struct C_DOTA_Item_Recipe_Phylactery; +struct C_DOTA_Item_Recipe_Pipe; +struct C_DOTA_Item_Recipe_PoorMansShield; +struct C_DOTA_Item_Recipe_Possessed_Mask; +struct C_DOTA_Item_Recipe_PowerTreads; +struct C_DOTA_Item_Recipe_Psychic_Headband; +struct C_DOTA_Item_Recipe_Pupils_gift; +struct C_DOTA_Item_Recipe_Radiance; +struct C_DOTA_Item_Recipe_RefresherOrb; +struct C_DOTA_Item_Recipe_Revenants_Brooch; +struct C_DOTA_Item_Recipe_RingOfAquila; +struct C_DOTA_Item_Recipe_Ring_Of_Basilius; +struct C_DOTA_Item_Recipe_RodOfAtos; +struct C_DOTA_Item_Recipe_Sange; +struct C_DOTA_Item_Recipe_SangeAndYasha; +struct C_DOTA_Item_Recipe_Satanic; +struct C_DOTA_Item_Recipe_SheepStick; +struct C_DOTA_Item_Recipe_Shivas_Guard; +struct C_DOTA_Item_Recipe_Skadi; +struct C_DOTA_Item_Recipe_Sorcerers_Staff; +struct C_DOTA_Item_Recipe_Soul_Booster; +struct C_DOTA_Item_Recipe_Soul_Ring; +struct C_DOTA_Item_Recipe_Sphere; +struct C_DOTA_Item_Recipe_Spirit_Vessel; +struct C_DOTA_Item_Recipe_Star_Mace; +struct C_DOTA_Item_Recipe_Stormcrafter; +struct C_DOTA_Item_Recipe_Tenderizer; +struct C_DOTA_Item_Recipe_Timeless_Relic; +struct C_DOTA_Item_Recipe_Titan_Sliver; +struct C_DOTA_Item_Recipe_TranquilBoots; +struct C_DOTA_Item_Recipe_Trickster_Cloak; +struct C_DOTA_Item_Recipe_UltimateScepter; +struct C_DOTA_Item_Recipe_UltimateScepter_2; +struct C_DOTA_Item_Recipe_Urn_Of_Shadows; +struct C_DOTA_Item_Recipe_Vambrace; +struct C_DOTA_Item_Recipe_Vanguard; +struct C_DOTA_Item_Recipe_Veil_Of_Discord; +struct C_DOTA_Item_Recipe_Vengeances_Shadow; +struct C_DOTA_Item_Recipe_Venom_Gland; +struct C_DOTA_Item_Recipe_Vladmir; +struct C_DOTA_Item_Recipe_VoidwalkerScythe; +struct C_DOTA_Item_Recipe_Warhammer; +struct C_DOTA_Item_Recipe_Wind_Waker; +struct C_DOTA_Item_Recipe_Witch_Blade; +struct C_DOTA_Item_Recipe_Wizard_Glass; +struct C_DOTA_Item_Recipe_WraithBand; +struct C_DOTA_Item_Recipe_WraithPact; +struct C_DOTA_Item_Recipe_Yasha; +struct C_DOTA_Item_Recipe_Yasha_And_Kaya; +struct C_DOTA_Item_RefresherOrb; +struct C_DOTA_Item_Repair_kit; +struct C_DOTA_Item_Revenants_Brooch; +struct C_DOTA_Item_RingOfAquila; +struct C_DOTA_Item_RingOfHealth; +struct C_DOTA_Item_RingOfProtection; +struct C_DOTA_Item_RingOfRegeneration; +struct C_DOTA_Item_RingOfTarrasque; +struct C_DOTA_Item_Ring_Of_Basilius; +struct C_DOTA_Item_RiverPainter; +struct C_DOTA_Item_RiverPainter2; +struct C_DOTA_Item_RobeOfMagi; +struct C_DOTA_Item_RodOfAtos; +struct C_DOTA_Item_Royal_jelly; +struct C_DOTA_Item_Rune; +struct C_DOTA_Item_RuneSpawner; +struct C_DOTA_Item_RuneSpawner_Bounty; +struct C_DOTA_Item_RuneSpawner_Powerup; +struct C_DOTA_Item_SacredRelic; +struct C_DOTA_Item_SamplePicker; +struct C_DOTA_Item_Sange; +struct C_DOTA_Item_SangeAndYasha; +struct C_DOTA_Item_Satanic; +struct C_DOTA_Item_Satchel; +struct C_DOTA_Item_Seer_Stone; +struct C_DOTA_Item_ShadowAmulet; +struct C_DOTA_Item_SheepStick; +struct C_DOTA_Item_Shivas_Guard; +struct C_DOTA_Item_Skadi; +struct C_DOTA_Item_Slime_Vial; +struct C_DOTA_Item_Slippers; +struct C_DOTA_Item_Smoke_Of_Deceit; +struct C_DOTA_Item_SobiMask; +struct C_DOTA_Item_Sorcerers_Staff; +struct C_DOTA_Item_Soul_Booster; +struct C_DOTA_Item_Soul_Ring; +struct C_DOTA_Item_SpecialistsArray; +struct C_DOTA_Item_Spell_Prism; +struct C_DOTA_Item_Sphere; +struct C_DOTA_Item_Spirit_Vessel; +struct C_DOTA_Item_SpookyTeleportScroll; +struct C_DOTA_Item_Spring2021_DefusalBomb; +struct C_DOTA_Item_Spy_Gadget; +struct C_DOTA_Item_StaffOfWizardry; +struct C_DOTA_Item_Star_Mace; +struct C_DOTA_Item_Stormcrafter; +struct C_DOTA_Item_StoutShield; +struct C_DOTA_Item_Swift_Blink; +struct C_DOTA_Item_TalismanOfEvasion; +struct C_DOTA_Item_Tango; +struct C_DOTA_Item_Tango_Single; +struct C_DOTA_Item_TeleportScroll; +struct C_DOTA_Item_Tenderizer; +struct C_DOTA_Item_Third_eye; +struct C_DOTA_Item_Timeless_Relic; +struct C_DOTA_Item_Titan_Sliver; +struct C_DOTA_Item_Tombstone; +struct C_DOTA_Item_Tome_Of_Knowledge; +struct C_DOTA_Item_Tome_of_Omniscience; +struct C_DOTA_Item_Tome_of_aghanim; +struct C_DOTA_Item_TranquilBoots; +struct C_DOTA_Item_TranquilBoots2; +struct C_DOTA_Item_Tree_Processor; +struct C_DOTA_Item_Trickster_Cloak; +struct C_DOTA_Item_UltimateOrb; +struct C_DOTA_Item_UltimateScepter; +struct C_DOTA_Item_UltimateScepter_2; +struct C_DOTA_Item_UltimateScepter_Roshan; +struct C_DOTA_Item_UnstableWand; +struct C_DOTA_Item_UpgradedBarricade; +struct C_DOTA_Item_UpgradedMortar; +struct C_DOTA_Item_Urn_Of_Shadows; +struct C_DOTA_Item_Vambrace; +struct C_DOTA_Item_Vampire_Fangs; +struct C_DOTA_Item_Vanguard; +struct C_DOTA_Item_Veil_Of_Discord; +struct C_DOTA_Item_Vengeances_Shadow; +struct C_DOTA_Item_Venom_Gland; +struct C_DOTA_Item_Vermillion_Robe; +struct C_DOTA_Item_VitalityBooster; +struct C_DOTA_Item_Vladmir; +struct C_DOTA_Item_VoidStone; +struct C_DOTA_Item_VoidwalkerScythe; +struct C_DOTA_Item_Voodoo_Mask; +struct C_DOTA_Item_Warhammer; +struct C_DOTA_Item_WindLace; +struct C_DOTA_Item_Wind_Waker; +struct C_DOTA_Item_Witch_Blade; +struct C_DOTA_Item_Witless_shako; +struct C_DOTA_Item_Wizard_Glass; +struct C_DOTA_Item_WraithBand; +struct C_DOTA_Item_WraithPact; +struct C_DOTA_Item_Yasha; +struct C_DOTA_Item_Yasha_And_Kaya; +struct C_DOTA_Jungle_Varmint_Dive; +struct C_DOTA_LightInfo; +struct C_DOTA_MapTree; +struct C_DOTA_NPC_AghsFort_Lich_Ice_Spire; +struct C_DOTA_NPC_Aghsfort_WitchDoctor_Ward; +struct C_DOTA_NPC_BroodmotherStickyWeb; +struct C_DOTA_NPC_DataDriven; +struct C_DOTA_NPC_Lich_Ice_Spire; +struct C_DOTA_NPC_TechiesMines; +struct C_DOTA_NPC_Techies_Minefield_Sign; +struct C_DOTA_NPC_Treant_EyesInTheForest; +struct C_DOTA_NPC_WitchDoctor_Ward; +struct C_DOTA_NeutralSpawner; +struct C_DOTA_PhantomAssassin_Gravestone; +struct C_DOTA_PlayerResource; +struct C_DOTA_PortraitBaseModel; +struct C_DOTA_PortraitBuilding; +struct C_DOTA_PortraitEntity; +struct C_DOTA_PortraitEntity_FullBody; +struct C_DOTA_PortraitTree; +struct C_DOTA_RoshanSpawner; +struct C_DOTA_SimpleObstruction; +struct C_DOTA_TempTree; +struct C_DOTA_Tiny_ScepterTree; +struct C_DOTA_UnitInventory; +struct C_DOTA_Unit_AghsFort_Creature_Batrider; +struct C_DOTA_Unit_AghsFort_Creature_DungeonBat; +struct C_DOTA_Unit_AghsFort_EarthSpiritBoss_Stone; +struct C_DOTA_Unit_Aghsfort_Aziyog_Underlord_Portal; +struct C_DOTA_Unit_Brewmaster_PrimalEarth; +struct C_DOTA_Unit_Brewmaster_PrimalFire; +struct C_DOTA_Unit_Brewmaster_PrimalStorm; +struct C_DOTA_Unit_Brewmaster_PrimalVoid; +struct C_DOTA_Unit_Broodmother_Spiderling; +struct C_DOTA_Unit_Broodmother_Web; +struct C_DOTA_Unit_Courier; +struct C_DOTA_Unit_Diretide_Portal; +struct C_DOTA_Unit_Earth_Spirit_Stone; +struct C_DOTA_Unit_Fountain; +struct C_DOTA_Unit_Hero_AntiMage; +struct C_DOTA_Unit_Hero_Axe; +struct C_DOTA_Unit_Hero_Bane; +struct C_DOTA_Unit_Hero_Batrider; +struct C_DOTA_Unit_Hero_Beastmaster; +struct C_DOTA_Unit_Hero_Beastmaster_Beasts; +struct C_DOTA_Unit_Hero_Beastmaster_Boar; +struct C_DOTA_Unit_Hero_Beastmaster_Hawk; +struct C_DOTA_Unit_Hero_Bloodseeker; +struct C_DOTA_Unit_Hero_BountyHunter; +struct C_DOTA_Unit_Hero_Brewmaster; +struct C_DOTA_Unit_Hero_Bristleback; +struct C_DOTA_Unit_Hero_Broodmother; +struct C_DOTA_Unit_Hero_ChaosKnight; +struct C_DOTA_Unit_Hero_Chen; +struct C_DOTA_Unit_Hero_Clinkz; +struct C_DOTA_Unit_Hero_CrystalMaiden; +struct C_DOTA_Unit_Hero_DarkSeer; +struct C_DOTA_Unit_Hero_DarkWillow; +struct C_DOTA_Unit_Hero_Dazzle; +struct C_DOTA_Unit_Hero_DeathProphet; +struct C_DOTA_Unit_Hero_Disruptor; +struct C_DOTA_Unit_Hero_DoomBringer; +struct C_DOTA_Unit_Hero_DragonKnight; +struct C_DOTA_Unit_Hero_DrowRanger; +struct C_DOTA_Unit_Hero_EarthSpirit; +struct C_DOTA_Unit_Hero_Earthshaker; +struct C_DOTA_Unit_Hero_EmberSpirit; +struct C_DOTA_Unit_Hero_Enchantress; +struct C_DOTA_Unit_Hero_Enigma; +struct C_DOTA_Unit_Hero_FacelessVoid; +struct C_DOTA_Unit_Hero_Furion; +struct C_DOTA_Unit_Hero_Hoodwink; +struct C_DOTA_Unit_Hero_Huskar; +struct C_DOTA_Unit_Hero_Invoker; +struct C_DOTA_Unit_Hero_Jakiro; +struct C_DOTA_Unit_Hero_Juggernaut; +struct C_DOTA_Unit_Hero_KeeperOfTheLight; +struct C_DOTA_Unit_Hero_Kunkka; +struct C_DOTA_Unit_Hero_Legion_Commander; +struct C_DOTA_Unit_Hero_Leshrac; +struct C_DOTA_Unit_Hero_Lich; +struct C_DOTA_Unit_Hero_Life_Stealer; +struct C_DOTA_Unit_Hero_Lina; +struct C_DOTA_Unit_Hero_Lion; +struct C_DOTA_Unit_Hero_LoneDruid; +struct C_DOTA_Unit_Hero_Luna; +struct C_DOTA_Unit_Hero_Lycan; +struct C_DOTA_Unit_Hero_Magnataur; +struct C_DOTA_Unit_Hero_Medusa; +struct C_DOTA_Unit_Hero_Meepo; +struct C_DOTA_Unit_Hero_Mirana; +struct C_DOTA_Unit_Hero_MonkeyKing; +struct C_DOTA_Unit_Hero_Morphling; +struct C_DOTA_Unit_Hero_Muerta; +struct C_DOTA_Unit_Hero_Naga_Siren; +struct C_DOTA_Unit_Hero_Necrolyte; +struct C_DOTA_Unit_Hero_Nevermore; +struct C_DOTA_Unit_Hero_NightStalker; +struct C_DOTA_Unit_Hero_Nyx_Assassin; +struct C_DOTA_Unit_Hero_Obsidian_Destroyer; +struct C_DOTA_Unit_Hero_Ogre_Magi; +struct C_DOTA_Unit_Hero_Omniknight; +struct C_DOTA_Unit_Hero_Oracle; +struct C_DOTA_Unit_Hero_Pangolier; +struct C_DOTA_Unit_Hero_PhantomAssassin; +struct C_DOTA_Unit_Hero_PhantomLancer; +struct C_DOTA_Unit_Hero_Phoenix; +struct C_DOTA_Unit_Hero_Puck; +struct C_DOTA_Unit_Hero_Pudge; +struct C_DOTA_Unit_Hero_Pugna; +struct C_DOTA_Unit_Hero_QueenOfPain; +struct C_DOTA_Unit_Hero_Rattletrap; +struct C_DOTA_Unit_Hero_Razor; +struct C_DOTA_Unit_Hero_Riki; +struct C_DOTA_Unit_Hero_Rubick; +struct C_DOTA_Unit_Hero_SandKing; +struct C_DOTA_Unit_Hero_ShadowShaman; +struct C_DOTA_Unit_Hero_Shadow_Demon; +struct C_DOTA_Unit_Hero_Shredder; +struct C_DOTA_Unit_Hero_Silencer; +struct C_DOTA_Unit_Hero_SkeletonKing; +struct C_DOTA_Unit_Hero_Skywrath_Mage; +struct C_DOTA_Unit_Hero_Slardar; +struct C_DOTA_Unit_Hero_Slark; +struct C_DOTA_Unit_Hero_Sniper; +struct C_DOTA_Unit_Hero_Spectre; +struct C_DOTA_Unit_Hero_SpiritBreaker; +struct C_DOTA_Unit_Hero_StormSpirit; +struct C_DOTA_Unit_Hero_Sven; +struct C_DOTA_Unit_Hero_Techies; +struct C_DOTA_Unit_Hero_TemplarAssassin; +struct C_DOTA_Unit_Hero_Terrorblade; +struct C_DOTA_Unit_Hero_Tidehunter; +struct C_DOTA_Unit_Hero_Tinker; +struct C_DOTA_Unit_Hero_Tiny; +struct C_DOTA_Unit_Hero_Treant; +struct C_DOTA_Unit_Hero_TrollWarlord; +struct C_DOTA_Unit_Hero_Tusk; +struct C_DOTA_Unit_Hero_Undying; +struct C_DOTA_Unit_Hero_Ursa; +struct C_DOTA_Unit_Hero_VengefulSpirit; +struct C_DOTA_Unit_Hero_Venomancer; +struct C_DOTA_Unit_Hero_Viper; +struct C_DOTA_Unit_Hero_Visage; +struct C_DOTA_Unit_Hero_Warlock; +struct C_DOTA_Unit_Hero_Weaver; +struct C_DOTA_Unit_Hero_Windrunner; +struct C_DOTA_Unit_Hero_Winter_Wyvern; +struct C_DOTA_Unit_Hero_Wisp; +struct C_DOTA_Unit_Hero_WitchDoctor; +struct C_DOTA_Unit_Hero_Zuus; +struct C_DOTA_Unit_IngisFatuus; +struct C_DOTA_Unit_LoopingSound; +struct C_DOTA_Unit_Nian; +struct C_DOTA_Unit_Roshan; +struct C_DOTA_Unit_SpiritBear; +struct C_DOTA_Unit_TargetDummy; +struct C_DOTA_Unit_Underlord_Portal; +struct C_DOTA_Unit_Undying_Tombstone; +struct C_DOTA_Unit_Undying_Zombie; +struct C_DOTA_Unit_VisageFamiliar; +struct C_DOTA_Unit_ZeusCloud; +struct C_DOTA_Wisp_Spirit; +struct C_DotaQuest; +struct C_DotaQuestBase; +struct C_DotaSubquestAbilityCastCount; +struct C_DotaSubquestBase; +struct C_DotaSubquestBuyItems; +struct C_DotaSubquestEntityDeath; +struct C_DotaSubquestPlayerStat; +struct C_DotaSubquestTutorialEvent; +struct C_DotaTree; +struct C_DotaTutorialNetworker; +struct C_DynamicLight; +struct C_DynamicProp; +struct C_DynamicPropAlias_cable_dynamic; +struct C_DynamicPropAlias_dynamic_prop; +struct C_DynamicPropAlias_prop_dynamic_override; +struct C_DynamicPropClientFadeOut; +struct C_DynamicPropClientside; +struct C_EconEntity; +struct C_EconEntity::AttachedModelData_t; +struct C_EconEntity::AttachedParticleInfo_t; +struct C_EconItemAttribute; +struct C_EconItemView; +struct C_EconWearable; +struct C_EntityDissolve; +struct C_EntityFlame; +struct C_EnvCombinedLightProbeVolume; +struct C_EnvCubemap; +struct C_EnvCubemapBox; +struct C_EnvCubemapFog; +struct C_EnvDecal; +struct C_EnvDeferredLight; +struct C_EnvDeferredLightClientOnly; +struct C_EnvDeferredSpotLightClientOnly; +struct C_EnvDetailController; +struct C_EnvLightProbeVolume; +struct C_EnvParticleGlow; +struct C_EnvProjectedTexture; +struct C_EnvScreenOverlay; +struct C_EnvSky; +struct C_EnvVolumetricFogController; +struct C_EnvVolumetricFogVolume; +struct C_EnvWind; +struct C_EnvWindClientside; +struct C_EnvWindShared; +struct C_EnvWindShared::WindAveEvent_t; +struct C_EnvWindShared::WindVariationEvent_t; +struct C_FoWBlockerEntity; +struct C_FoWRevealerEntity; +struct C_FogController; +struct C_FuncBrush; +struct C_FuncElectrifiedVolume; +struct C_FuncMoveLinear; +struct C_FuncRotating; +struct C_FuncTrackTrain; +struct C_GameRules; +struct C_GameRulesProxy; +struct C_GlobalLight; +struct C_HorizontalMotionController; +struct C_INIT_AddVectorToVector; +struct C_INIT_AgeNoise; +struct C_INIT_ChaoticAttractor; +struct C_INIT_ColorLitPerParticle; +struct C_INIT_CreateAlongPath; +struct C_INIT_CreateFromCPs; +struct C_INIT_CreateFromParentParticles; +struct C_INIT_CreateFromPlaneCache; +struct C_INIT_CreateInEpitrochoid; +struct C_INIT_CreateOnGrid; +struct C_INIT_CreateOnModel; +struct C_INIT_CreateOnModelAtHeight; +struct C_INIT_CreateParticleImpulse; +struct C_INIT_CreatePhyllotaxis; +struct C_INIT_CreateSequentialPath; +struct C_INIT_CreateSequentialPathV2; +struct C_INIT_CreateSpiralSphere; +struct C_INIT_CreateWithinBox; +struct C_INIT_CreateWithinSphereTransform; +struct C_INIT_CreationNoise; +struct C_INIT_DistanceCull; +struct C_INIT_DistanceToCPInit; +struct C_INIT_DistanceToNeighborCull; +struct C_INIT_GlobalScale; +struct C_INIT_InheritFromParentParticles; +struct C_INIT_InheritVelocity; +struct C_INIT_InitFloat; +struct C_INIT_InitFloatCollection; +struct C_INIT_InitFromCPSnapshot; +struct C_INIT_InitFromParentKilled; +struct C_INIT_InitFromVectorFieldSnapshot; +struct C_INIT_InitSkinnedPositionFromCPSnapshot; +struct C_INIT_InitVec; +struct C_INIT_InitVecCollection; +struct C_INIT_InitialRepulsionVelocity; +struct C_INIT_InitialSequenceFromModel; +struct C_INIT_InitialVelocityFromHitbox; +struct C_INIT_InitialVelocityNoise; +struct C_INIT_LifespanFromVelocity; +struct C_INIT_ModelCull; +struct C_INIT_MoveBetweenPoints; +struct C_INIT_NormalAlignToCP; +struct C_INIT_NormalOffset; +struct C_INIT_OffsetVectorToVector; +struct C_INIT_Orient2DRelToCP; +struct C_INIT_PlaneCull; +struct C_INIT_PointList; +struct C_INIT_PositionOffset; +struct C_INIT_PositionOffsetToCP; +struct C_INIT_PositionPlaceOnGround; +struct C_INIT_PositionWarp; +struct C_INIT_PositionWarpScalar; +struct C_INIT_QuantizeFloat; +struct C_INIT_RadiusFromCPObject; +struct C_INIT_RandomAlpha; +struct C_INIT_RandomAlphaWindowThreshold; +struct C_INIT_RandomColor; +struct C_INIT_RandomLifeTime; +struct C_INIT_RandomModelSequence; +struct C_INIT_RandomNamedModelBodyPart; +struct C_INIT_RandomNamedModelElement; +struct C_INIT_RandomNamedModelMeshGroup; +struct C_INIT_RandomNamedModelSequence; +struct C_INIT_RandomRadius; +struct C_INIT_RandomRotation; +struct C_INIT_RandomRotationSpeed; +struct C_INIT_RandomScalar; +struct C_INIT_RandomSecondSequence; +struct C_INIT_RandomSequence; +struct C_INIT_RandomTrailLength; +struct C_INIT_RandomVector; +struct C_INIT_RandomVectorComponent; +struct C_INIT_RandomYaw; +struct C_INIT_RandomYawFlip; +struct C_INIT_RemapCPtoScalar; +struct C_INIT_RemapInitialDirectionToTransformToVector; +struct C_INIT_RemapInitialTransformDirectionToRotation; +struct C_INIT_RemapInitialVisibilityScalar; +struct C_INIT_RemapNamedModelBodyPartToScalar; +struct C_INIT_RemapNamedModelElementToScalar; +struct C_INIT_RemapNamedModelMeshGroupToScalar; +struct C_INIT_RemapNamedModelSequenceToScalar; +struct C_INIT_RemapParticleCountToNamedModelBodyPartScalar; +struct C_INIT_RemapParticleCountToNamedModelElementScalar; +struct C_INIT_RemapParticleCountToNamedModelMeshGroupScalar; +struct C_INIT_RemapParticleCountToNamedModelSequenceScalar; +struct C_INIT_RemapParticleCountToScalar; +struct C_INIT_RemapQAnglesToRotation; +struct C_INIT_RemapScalar; +struct C_INIT_RemapScalarToVector; +struct C_INIT_RemapSpeedToScalar; +struct C_INIT_RemapTransformOrientationToRotations; +struct C_INIT_RemapTransformToVector; +struct C_INIT_RingWave; +struct C_INIT_RtEnvCull; +struct C_INIT_ScaleVelocity; +struct C_INIT_SequenceFromCP; +struct C_INIT_SequenceLifeTime; +struct C_INIT_SetHitboxToClosest; +struct C_INIT_SetHitboxToModel; +struct C_INIT_SetRigidAttachment; +struct C_INIT_SetVectorAttributeToVectorExpression; +struct C_INIT_StatusEffect; +struct C_INIT_StatusEffectCitadel; +struct C_INIT_VelocityFromCP; +struct C_INIT_VelocityFromNormal; +struct C_INIT_VelocityRadialRandom; +struct C_INIT_VelocityRandom; +struct C_InfoPlayerStartBadGuys; +struct C_InfoPlayerStartDota; +struct C_InfoPlayerStartGoodGuys; +struct C_InfoVisibilityBox; +struct C_IngameEvent_Base; +struct C_IngameEvent_DotaPlus; +struct C_IngameEvent_DotaPrime; +struct C_IngameEvent_FM2015; +struct C_IngameEvent_FM2016; +struct C_IngameEvent_FV2018; +struct C_IngameEvent_FV2019; +struct C_IngameEvent_NB2020; +struct C_IngameEvent_TI6; +struct C_IngameEvent_TI7; +struct C_IngameEvent_TI8; +struct C_IngameEvent_TI9; +struct C_IngameEvent_WM2016; +struct C_IngameEvent_WM2017; +struct C_LightDirectionalEntity; +struct C_LightEntity; +struct C_LightEnvironmentEntity; +struct C_LightOrthoEntity; +struct C_LightSpotEntity; +struct C_LocalTempEntity; +struct C_ModelPointEntity; +struct C_MultiplayRules; +struct C_NetTestBaseCombatCharacter; +struct C_NextBotCombatCharacter; +struct C_OP_AlphaDecay; +struct C_OP_AttractToControlPoint; +struct C_OP_BasicMovement; +struct C_OP_BoxConstraint; +struct C_OP_CPOffsetToPercentageBetweenCPs; +struct C_OP_CPVelocityForce; +struct C_OP_CalculateVectorAttribute; +struct C_OP_Callback; +struct C_OP_ChladniWave; +struct C_OP_ChooseRandomChildrenInGroup; +struct C_OP_ClampScalar; +struct C_OP_ClampVector; +struct C_OP_CollideWithParentParticles; +struct C_OP_CollideWithSelf; +struct C_OP_ColorAdjustHSL; +struct C_OP_ColorInterpolate; +struct C_OP_ColorInterpolateRandom; +struct C_OP_ConnectParentParticleToNearest; +struct C_OP_ConstrainDistance; +struct C_OP_ConstrainDistanceToPath; +struct C_OP_ConstrainDistanceToUserSpecifiedPath; +struct C_OP_ConstrainLineLength; +struct C_OP_ContinuousEmitter; +struct C_OP_ControlPointToRadialScreenSpace; +struct C_OP_ControlpointLight; +struct C_OP_Cull; +struct C_OP_CurlNoiseForce; +struct C_OP_CycleScalar; +struct C_OP_CylindricalDistanceToTransform; +struct C_OP_DampenToCP; +struct C_OP_Decay; +struct C_OP_DecayClampCount; +struct C_OP_DecayMaintainCount; +struct C_OP_DecayOffscreen; +struct C_OP_DensityForce; +struct C_OP_DifferencePreviousParticle; +struct C_OP_DirectionBetweenVecsToVec; +struct C_OP_DistanceBetweenCPsToCP; +struct C_OP_DistanceBetweenTransforms; +struct C_OP_DistanceBetweenVecs; +struct C_OP_DistanceCull; +struct C_OP_DistanceToTransform; +struct C_OP_DriveCPFromGlobalSoundFloat; +struct C_OP_EnableChildrenFromParentParticleCount; +struct C_OP_EndCapDecay; +struct C_OP_EndCapTimedDecay; +struct C_OP_EndCapTimedFreeze; +struct C_OP_ExternalGameImpulseForce; +struct C_OP_ExternalGenericForce; +struct C_OP_ExternalWindForce; +struct C_OP_FadeAndKill; +struct C_OP_FadeAndKillForTracers; +struct C_OP_FadeIn; +struct C_OP_FadeInSimple; +struct C_OP_FadeOut; +struct C_OP_FadeOutSimple; +struct C_OP_ForceBasedOnDistanceToPlane; +struct C_OP_ForceControlPointStub; +struct C_OP_GlobalLight; +struct C_OP_HSVShiftToCP; +struct C_OP_InheritFromParentParticles; +struct C_OP_InheritFromParentParticlesV2; +struct C_OP_InheritFromPeerSystem; +struct C_OP_InstantaneousEmitter; +struct C_OP_InterpolateRadius; +struct C_OP_LagCompensation; +struct C_OP_LerpEndCapScalar; +struct C_OP_LerpEndCapVector; +struct C_OP_LerpScalar; +struct C_OP_LerpToInitialPosition; +struct C_OP_LerpToOtherAttribute; +struct C_OP_LerpVector; +struct C_OP_LightningSnapshotGenerator; +struct C_OP_LocalAccelerationForce; +struct C_OP_LockPoints; +struct C_OP_LockToBone; +struct C_OP_LockToPointList; +struct C_OP_LockToSavedSequentialPath; +struct C_OP_LockToSavedSequentialPathV2; +struct C_OP_MaintainEmitter; +struct C_OP_MaintainSequentialPath; +struct C_OP_MaxVelocity; +struct C_OP_ModelCull; +struct C_OP_ModelDampenMovement; +struct C_OP_MoveToHitbox; +struct C_OP_MovementLoopInsideSphere; +struct C_OP_MovementMaintainOffset; +struct C_OP_MovementMoveAlongSkinnedCPSnapshot; +struct C_OP_MovementPlaceOnGround; +struct C_OP_MovementRigidAttachToCP; +struct C_OP_MovementRotateParticleAroundAxis; +struct C_OP_MovementSkinnedPositionFromCPSnapshot; +struct C_OP_Noise; +struct C_OP_NoiseEmitter; +struct C_OP_NormalLock; +struct C_OP_NormalizeVector; +struct C_OP_Orient2DRelToCP; +struct C_OP_OrientTo2dDirection; +struct C_OP_OscillateScalar; +struct C_OP_OscillateScalarSimple; +struct C_OP_OscillateVector; +struct C_OP_OscillateVectorSimple; +struct C_OP_ParentVortices; +struct C_OP_PerParticleForce; +struct C_OP_PercentageBetweenTransformLerpCPs; +struct C_OP_PercentageBetweenTransforms; +struct C_OP_PercentageBetweenTransformsVector; +struct C_OP_PinParticleToCP; +struct C_OP_PlanarConstraint; +struct C_OP_PlaneCull; +struct C_OP_PlayEndCapWhenFinished; +struct C_OP_PointVectorAtNextParticle; +struct C_OP_PositionLock; +struct C_OP_QuantizeCPComponent; +struct C_OP_QuantizeFloat; +struct C_OP_RadiusDecay; +struct C_OP_RampCPLinearRandom; +struct C_OP_RampScalarLinear; +struct C_OP_RampScalarLinearSimple; +struct C_OP_RampScalarSpline; +struct C_OP_RampScalarSplineSimple; +struct C_OP_RandomForce; +struct C_OP_ReadFromNeighboringParticle; +struct C_OP_ReinitializeScalarEndCap; +struct C_OP_RemapAverageHitboxSpeedtoCP; +struct C_OP_RemapAverageScalarValuetoCP; +struct C_OP_RemapBoundingVolumetoCP; +struct C_OP_RemapCPVelocityToVector; +struct C_OP_RemapCPtoCP; +struct C_OP_RemapCPtoScalar; +struct C_OP_RemapCPtoVector; +struct C_OP_RemapControlPointDirectionToVector; +struct C_OP_RemapControlPointOrientationToRotation; +struct C_OP_RemapCrossProductOfTwoVectorsToVector; +struct C_OP_RemapDensityGradientToVectorAttribute; +struct C_OP_RemapDensityToVector; +struct C_OP_RemapDirectionToCPToVector; +struct C_OP_RemapDistanceToLineSegmentBase; +struct C_OP_RemapDistanceToLineSegmentToScalar; +struct C_OP_RemapDistanceToLineSegmentToVector; +struct C_OP_RemapDotProductToCP; +struct C_OP_RemapDotProductToScalar; +struct C_OP_RemapExternalWindToCP; +struct C_OP_RemapModelVolumetoCP; +struct C_OP_RemapNamedModelBodyPartEndCap; +struct C_OP_RemapNamedModelBodyPartOnceTimed; +struct C_OP_RemapNamedModelElementEndCap; +struct C_OP_RemapNamedModelElementOnceTimed; +struct C_OP_RemapNamedModelMeshGroupEndCap; +struct C_OP_RemapNamedModelMeshGroupOnceTimed; +struct C_OP_RemapNamedModelSequenceEndCap; +struct C_OP_RemapNamedModelSequenceOnceTimed; +struct C_OP_RemapParticleCountOnScalarEndCap; +struct C_OP_RemapParticleCountToScalar; +struct C_OP_RemapScalar; +struct C_OP_RemapScalarEndCap; +struct C_OP_RemapScalarOnceTimed; +struct C_OP_RemapSpeed; +struct C_OP_RemapSpeedtoCP; +struct C_OP_RemapTransformOrientationToRotations; +struct C_OP_RemapTransformOrientationToYaw; +struct C_OP_RemapTransformToVelocity; +struct C_OP_RemapTransformVisibilityToScalar; +struct C_OP_RemapTransformVisibilityToVector; +struct C_OP_RemapVectorComponentToScalar; +struct C_OP_RemapVectortoCP; +struct C_OP_RemapVelocityToVector; +struct C_OP_RemapVisibilityScalar; +struct C_OP_RenderAsModels; +struct C_OP_RenderBlobs; +struct C_OP_RenderCables; +struct C_OP_RenderClothForce; +struct C_OP_RenderDeferredLight; +struct C_OP_RenderFlattenGrass; +struct C_OP_RenderLights; +struct C_OP_RenderMaterialProxy; +struct C_OP_RenderModels; +struct C_OP_RenderOmni2Light; +struct C_OP_RenderPoints; +struct C_OP_RenderPostProcessing; +struct C_OP_RenderProjected; +struct C_OP_RenderRopes; +struct C_OP_RenderScreenShake; +struct C_OP_RenderScreenVelocityRotate; +struct C_OP_RenderSound; +struct C_OP_RenderSprites; +struct C_OP_RenderStandardLight; +struct C_OP_RenderStatusEffect; +struct C_OP_RenderStatusEffectCitadel; +struct C_OP_RenderText; +struct C_OP_RenderTonemapController; +struct C_OP_RenderTrails; +struct C_OP_RenderTreeShake; +struct C_OP_RenderVRHapticEvent; +struct C_OP_RepeatedTriggerChildGroup; +struct C_OP_RestartAfterDuration; +struct C_OP_RopeSpringConstraint; +struct C_OP_RotateVector; +struct C_OP_RtEnvCull; +struct C_OP_ScreenForceFromPlayerView; +struct C_OP_SelectivelyEnableChildren; +struct C_OP_SequenceFromModel; +struct C_OP_SetAttributeToScalarExpression; +struct C_OP_SetCPOrientationToDirection; +struct C_OP_SetCPOrientationToGroundNormal; +struct C_OP_SetCPOrientationToPointAtCP; +struct C_OP_SetCPtoVector; +struct C_OP_SetChildControlPoints; +struct C_OP_SetControlPointFieldFromVectorExpression; +struct C_OP_SetControlPointFieldToScalarExpression; +struct C_OP_SetControlPointFieldToWater; +struct C_OP_SetControlPointFromObjectScale; +struct C_OP_SetControlPointOrientation; +struct C_OP_SetControlPointOrientationToCPVelocity; +struct C_OP_SetControlPointPositionToRandomActiveCP; +struct C_OP_SetControlPointPositionToTimeOfDayValue; +struct C_OP_SetControlPointPositions; +struct C_OP_SetControlPointRotation; +struct C_OP_SetControlPointToCPVelocity; +struct C_OP_SetControlPointToCenter; +struct C_OP_SetControlPointToHMD; +struct C_OP_SetControlPointToHand; +struct C_OP_SetControlPointToImpactPoint; +struct C_OP_SetControlPointToPlayer; +struct C_OP_SetControlPointToVectorExpression; +struct C_OP_SetControlPointToWaterSurface; +struct C_OP_SetControlPointsToModelParticles; +struct C_OP_SetControlPointsToParticle; +struct C_OP_SetFloat; +struct C_OP_SetFloatAttributeToVectorExpression; +struct C_OP_SetFloatCollection; +struct C_OP_SetFromCPSnapshot; +struct C_OP_SetParentControlPointsToChildCP; +struct C_OP_SetPerChildControlPoint; +struct C_OP_SetPerChildControlPointFromAttribute; +struct C_OP_SetRandomControlPointPosition; +struct C_OP_SetSimulationRate; +struct C_OP_SetSingleControlPointPosition; +struct C_OP_SetToCP; +struct C_OP_SetVec; +struct C_OP_SetVectorAttributeToVectorExpression; +struct C_OP_SnapshotRigidSkinToBones; +struct C_OP_SnapshotSkinToBones; +struct C_OP_Spin; +struct C_OP_SpinUpdate; +struct C_OP_SpinYaw; +struct C_OP_SpringToVectorConstraint; +struct C_OP_StopAfterCPDuration; +struct C_OP_TeleportBeam; +struct C_OP_TimeVaryingForce; +struct C_OP_TurbulenceForce; +struct C_OP_TwistAroundAxis; +struct C_OP_UpdateLightSource; +struct C_OP_VectorFieldSnapshot; +struct C_OP_VectorNoise; +struct C_OP_VelocityDecay; +struct C_OP_VelocityMatchingForce; +struct C_OP_WindForce; +struct C_OP_WorldCollideConstraint; +struct C_OP_WorldTraceConstraint; +struct C_ParticleSystem; +struct C_PathParticleRope; +struct C_PhysBox; +struct C_PhysPropClientside; +struct C_PhysicsProp; +struct C_PlayerCosmeticPropClientside; +struct C_PointCamera; +struct C_PointCameraVFOV; +struct C_PointClientUIDialog; +struct C_PointClientUIHUD; +struct C_PointClientUIWorldPanel; +struct C_PointClientUIWorldTextPanel; +struct C_PointCommentaryNode; +struct C_PointEntity; +struct C_PointEntityAlias_info_target_portrait_root; +struct C_PointHMDAnchor; +struct C_PointHMDAnchorOverride; +struct C_PointHintUIArrowHighlightModel; +struct C_PointHintUIButtonHighlightModel; +struct C_PointHintUIHighlightModel; +struct C_PointHintUi; +struct C_PointValueRemapper; +struct C_PointWorldText; +struct C_PortraitHero; +struct C_PortraitWorldCallbackHandler; +struct C_PortraitWorldPet; +struct C_PortraitWorldUnit; +struct C_PostProcessingVolume; +struct C_PrecipitationBlocker; +struct C_RagdollManager; +struct C_RagdollProp; +struct C_RagdollPropAttached; +struct C_RopeKeyframe; +struct C_RopeKeyframe::CPhysicsDelegate; +struct C_SceneEntity; +struct C_SceneEntity::QueuedEvents_t; +struct C_SingleplayRules; +struct C_SkyCamera; +struct C_SoundAreaEntityBase; +struct C_SoundAreaEntityOrientedBox; +struct C_SoundAreaEntitySphere; +struct C_SoundOpvarSetAABBEntity; +struct C_SoundOpvarSetOBBEntity; +struct C_SoundOpvarSetOBBWindEntity; +struct C_SoundOpvarSetPathCornerEntity; +struct C_SoundOpvarSetPointBase; +struct C_SoundOpvarSetPointEntity; +struct C_SpeechBubbleInfo; +struct C_SpeechBubbleManager; +struct C_Sprite; +struct C_SpriteOriented; +struct C_TFWearableItem; +struct C_Team; +struct C_TextureBasedAnimatable; +struct C_TintController; +struct C_TonemapController2; +struct C_TonemapController2Alias_env_tonemap_controller2; +struct C_TriggerBuoyancy; +struct C_TriggerCamera; +struct C_TriggerLerpObject; +struct C_TriggerVolume; +struct C_VerticalMotionController; +struct C_World; +struct C_fogplayerparams_t; +struct CandyShopCandyType_t; +struct CandyShopRewardOption_t; +struct CandyShopRewardSlot_t; +struct CastSphereSATParams_t; +struct CavernCrawlMapVariant_t; +struct CavernCrawlPathID_t; +struct CavernCrawlPath_t; +struct CavernCrawlRewardType_t; +struct CavernCrawlReward_t; +struct CavernCrawlRoomID_t; +struct CavernCrawlRoom_t; +struct ChainToSolveData_t; +struct ChangeAccessorFieldPathIndex_t; +struct ChatWheelMessageID_t; +struct ClientQuickBuyItemState; +struct CollisionGroupContext_t; +struct CommandToolCommand_t; +struct ConceptHistory_t; +struct ConfigIndex; +struct ConstantInfo_t; +struct ConstraintSoundInfo; +struct ControlPointReference_t; +struct CountdownTimer; +struct CovMatrix3; +struct CreatureAbilityData_t; +struct CreatureStateData_t; +struct DOTAAbilityDefinition_t; +struct DOTACavernCrawlMapResult_t; +struct DOTALevelingAbilityBonus_t; +struct DOTAOutgoingBonus_t; +struct DOTASpecialAbilityBonus_t; +struct DOTASpecialAbility_t; +struct DOTAThreatLevelInfo_t; +struct DOTA_AssassinMinigameNetworkState; +struct DamageShareEvent_t; +struct DataTeamPlayer_t; +struct Dop26_t; +struct EngineCountdownTimer; +struct EngineLoopState_t; +struct EntComponentInfo_t; +struct EntInput_t; +struct EntOutput_t; +struct EntityIOConnectionData_t; +struct EntityKeyValueData_t; +struct EntityRenderAttribute_t; +struct EventAdvanceTick_t; +struct EventAppShutdown_t; +struct EventClientAdvanceTick_t; +struct EventClientFrameSimulate_t; +struct EventClientOutput_t; +struct EventClientPauseSimulate_t; +struct EventClientPollInput_t; +struct EventClientPollNetworking_t; +struct EventClientPostAdvanceTick_t; +struct EventClientPostOutput_t; +struct EventClientPostSimulate_t; +struct EventClientPreOutput_t; +struct EventClientPreSimulate_t; +struct EventClientPredictionPostNetupdate_t; +struct EventClientProcessGameInput_t; +struct EventClientProcessInput_t; +struct EventClientProcessNetworking_t; +struct EventClientSceneSystemThreadStateChange_t; +struct EventClientSendInput_t; +struct EventClientSimulate_t; +struct EventFrameBoundary_t; +struct EventModInitialized_t; +struct EventPostAdvanceTick_t; +struct EventPostDataUpdate_t; +struct EventPreDataUpdate_t; +struct EventProfileStorageAvailable_t; +struct EventServerAdvanceTick_t; +struct EventServerPollNetworking_t; +struct EventServerPostAdvanceTick_t; +struct EventServerPostSimulate_t; +struct EventServerProcessNetworking_t; +struct EventServerSimulate_t; +struct EventSetTime_t; +struct EventSimpleLoopFrameUpdate_t; +struct EventSimulate_t; +struct EventSplitScreenStateChanged_t; +struct Extent; +struct ExtraVertexStreamOverride_t; +struct FantasyPeriod_t; +struct FeAnimStrayRadius_t; +struct FeAxialEdgeBend_t; +struct FeBandBendLimit_t; +struct FeBoxRigid_t; +struct FeBuildBoxRigid_t; +struct FeBuildSphereRigid_t; +struct FeBuildTaperedCapsuleRigid_t; +struct FeCollisionPlane_t; +struct FeCollisionSphere_t; +struct FeCtrlOffset_t; +struct FeCtrlOsOffset_t; +struct FeCtrlSoftOffset_t; +struct FeEdgeDesc_t; +struct FeEffectDesc_t; +struct FeFitInfluence_t; +struct FeFitMatrix_t; +struct FeFitWeight_t; +struct FeFollowNode_t; +struct FeKelagerBend2_t; +struct FeMorphLayerDepr_t; +struct FeNodeBase_t; +struct FeNodeIntegrator_t; +struct FeNodeReverseOffset_t; +struct FeNodeWindBase_t; +struct FeProxyVertexMap_t; +struct FeQuad_t; +struct FeRigidColliderIndices_t; +struct FeRodConstraint_t; +struct FeSimdAnimStrayRadius_t; +struct FeSimdNodeBase_t; +struct FeSimdQuad_t; +struct FeSimdRodConstraint_t; +struct FeSimdSpringIntegrator_t; +struct FeSimdTri_t; +struct FeSoftParent_t; +struct FeSourceEdge_t; +struct FeSphereRigid_t; +struct FeSpringIntegrator_t; +struct FeStiffHingeBuild_t; +struct FeTaperedCapsuleRigid_t; +struct FeTaperedCapsuleStretch_t; +struct FeTreeChildren_t; +struct FeTri_t; +struct FeTwistConstraint_t; +struct FeVertexMapBuild_t; +struct FeVertexMapDesc_t; +struct FeWeightedNode_t; +struct FeWorldCollisionParams_t; +struct FilterDamageType; +struct FilterHealth; +struct FilterTeam; +struct FingerBone_t; +struct FingerChain_t; +struct FingerSource_t; +struct FloatInputMaterialVariable_t; +struct FollowAttachmentSettings_t; +struct FootFixedData_t; +struct FootFixedSettings; +struct FootLockPoseOpFixedSettings; +struct FootPinningPoseOpFixedData_t; +struct FootStepTrigger; +struct FourCovMatrices3; +struct FourQuaternions; +struct FourVectors2D; +struct FowBlocker_t; +struct FunctionInfo_t; +struct FuseFunctionIndex_t; +struct FuseVariableIndex_t; +struct GCPlayerSlot_t; +struct GameChatLogEntry_t; +struct GameTick_t; +struct GameTime_t; +struct GuildID_t; +struct HSequence; +struct HeroDeathRecord_t; +struct HeroPersona_t; +struct HeroPickRecord_t; +struct HitReactFixedSettings_t; +struct HullFlags_t; +struct IBody; +struct IChoreoServices; +struct IClientAlphaProperty; +struct IContextualQuery; +struct IControlPointEditorData; +struct IEconItemInterface; +struct IHandleEntity; +struct IHasAttributes; +struct IIntention; +struct IKBoneNameAndIndex_t; +struct IKSolverSettings_t; +struct IKTargetSettings_t; +struct INextBotComponent; +struct INextBotEventResponder; +struct INextBotReply; +struct IParticleCollection; +struct IParticleEffect; +struct IParticleSystemDefinition; +struct IPhysicsPlayerController; +struct IRagdoll; +struct InGamePredictionData_t; +struct InfoForResourceTypeCAnimData; +struct InfoForResourceTypeCAnimationGroup; +struct InfoForResourceTypeCCSGOItem; +struct InfoForResourceTypeCChoreoSceneFileData; +struct InfoForResourceTypeCCompositeMaterialKit; +struct InfoForResourceTypeCDACGameDefsData; +struct InfoForResourceTypeCDOTAPatchNotesList; +struct InfoForResourceTypeCDotaItemDefinitionResource; +struct InfoForResourceTypeCEntityLump; +struct InfoForResourceTypeCModel; +struct InfoForResourceTypeCMorphSetData; +struct InfoForResourceTypeCPanoramaDynamicImages; +struct InfoForResourceTypeCPanoramaLayout; +struct InfoForResourceTypeCPanoramaScript; +struct InfoForResourceTypeCPanoramaStyle; +struct InfoForResourceTypeCPanoramaTypeScript; +struct InfoForResourceTypeCPhysAggregateData; +struct InfoForResourceTypeCPostProcessingResource; +struct InfoForResourceTypeCRenderMesh; +struct InfoForResourceTypeCResourceManifestInternal; +struct InfoForResourceTypeCResponseRulesList; +struct InfoForResourceTypeCSequenceGroupData; +struct InfoForResourceTypeCSmartProp; +struct InfoForResourceTypeCTextureBase; +struct InfoForResourceTypeCVDataResource; +struct InfoForResourceTypeCVMixListResource; +struct InfoForResourceTypeCVPhysXSurfacePropertiesList; +struct InfoForResourceTypeCVSoundEventScriptList; +struct InfoForResourceTypeCVSoundStackScriptList; +struct InfoForResourceTypeCVoxelVisibility; +struct InfoForResourceTypeCWorldNode; +struct InfoForResourceTypeIAnimGraphModelBinding; +struct InfoForResourceTypeIMaterial2; +struct InfoForResourceTypeIParticleSnapshot; +struct InfoForResourceTypeIParticleSystemDefinition; +struct InfoForResourceTypeIVectorGraphic; +struct InfoForResourceTypeManifestTestResource_t; +struct InfoForResourceTypeProceduralTestResource_t; +struct InfoForResourceTypeTestResource_t; +struct InfoForResourceTypeVMapResourceData_t; +struct InfoForResourceTypeVSound_t; +struct InfoForResourceTypeWorld_t; +struct InfoOverlayData_t; +struct IntervalTimer; +struct ItemDropData_t; +struct ItemRecipe_t; +struct JiggleBoneSettingsList_t; +struct JiggleBoneSettings_t; +struct JiggleData; +struct LeagueID_t; +struct LeagueNodeGroupID_t; +struct LeagueNodeID_t; +struct LookAtBone_t; +struct LookAtOpFixedSettings_t; +struct ManifestTestResource_t; +struct MatchID_t; +struct MaterialGroup_t; +struct MaterialOverride_t; +struct MaterialParamBuffer_t; +struct MaterialParamFloat_t; +struct MaterialParamInt_t; +struct MaterialParamString_t; +struct MaterialParamTexture_t; +struct MaterialParamVector_t; +struct MaterialParam_t; +struct MaterialResourceData_t; +struct MaterialVariable_t; +struct ModelBoneFlexDriverControl_t; +struct ModelBoneFlexDriver_t; +struct ModelConfigHandle_t; +struct ModelReference_t; +struct ModelSkeletonData_t; +struct MoodAnimationLayer_t; +struct MoodAnimation_t; +struct MotionBlendItem; +struct MotionDBIndex; +struct MotionIndex; +struct NagaSiren_SongOfTheSiren_Healing; +struct NeutralCampStackPullAlarm_t; +struct NeutralSpawnBoxes_t; +struct NextBotCombatCharacter; +struct NianDamageTaken_t; +struct NodeData_t; +struct OldFeEdge_t; +struct PARTICLE_EHANDLE__; +struct PARTICLE_WORLD_HANDLE__; +struct PackedAABB_t; +struct ParamSpanSample_t; +struct ParamSpan_t; +struct ParticleAttributeIndex_t; +struct ParticleChildrenInfo_t; +struct ParticleControlPointConfiguration_t; +struct ParticleControlPointDriver_t; +struct ParticleIndex_t; +struct ParticlePreviewBodyGroup_t; +struct ParticlePreviewState_t; +struct PeriodicResourceID_t; +struct PermEntityLumpData_t; +struct PermModelDataAnimatedMaterialAttribute_t; +struct PermModelData_t; +struct PermModelExtPart_t; +struct PermModelInfo_t; +struct PhysFeModelDesc_t; +struct PhysSoftbodyDesc_t; +struct PhysicsRagdollPose_t; +struct PingConfirmationState_t; +struct PingWheelMessageID_t; +struct PlayerID_t; +struct PlayerResourceBroadcasterData_t; +struct PlayerResourcePlayerData_t; +struct PlayerResourcePlayerEventData_t; +struct PlayerResourcePlayerPeriodicResourceData_t; +struct PlayerResourcePlayerTeamData_t; +struct PlayerSeatAssignment_t; +struct PointDefinitionWithTimeValues_t; +struct PointDefinition_t; +struct PostProcessingBloomParameters_t; +struct PostProcessingLocalContrastParameters_t; +struct PostProcessingResource_t; +struct PostProcessingTonemapParameters_t; +struct PostProcessingVignetteParameters_t; +struct PurchasedItem_t; +struct RagdollCreationParams_t; +struct RelationshipOverride_t; +struct Relationship_t; +struct RemnantData_t; +struct RenderInputLayoutField_t; +struct RenderSkeletonBone_t; +struct ResourceId_t; +struct ResponseContext_t; +struct ResponseFollowup; +struct ResponseParams; +struct RnBlendVertex_t; +struct RnCapsuleDesc_t; +struct RnCapsule_t; +struct RnFace_t; +struct RnHalfEdge_t; +struct RnHullDesc_t; +struct RnHull_t; +struct RnMeshDesc_t; +struct RnMesh_t; +struct RnNode_t; +struct RnPlane_t; +struct RnShapeDesc_t; +struct RnSoftbodyCapsule_t; +struct RnSoftbodyParticle_t; +struct RnSoftbodySpring_t; +struct RnSphereDesc_t; +struct RnSphere_t; +struct RnTriangle_t; +struct RnWing_t; +struct SPingWheelMessageDefinition; +struct SampleCode; +struct SceneObject_t; +struct SceneViewId_t; +struct ScriptInfo_t; +struct SelectedEditItemInfo_t; +struct SequenceWeightedList_t; +struct SimpleConstraintSoundProfile; +struct SkeletalInputOpFixedSettings_t; +struct SkeletonBoneBounds_t; +struct SolveIKChainPoseOpFixedSettings_t; +struct SosEditItemInfo_t; +struct StanceInfo_t; +struct SummaryTakeDamageInfo_t; +struct TagSpan_t; +struct TempViewerInfo_t; +struct TestResource_t; +struct TextureControls_t; +struct TextureGroup_t; +struct TimedEvent; +struct TimedHeroStats_t; +struct TimedKillEvent_t; +struct TimedTeamStats_t; +struct TraceSettings_t; +struct TransitioningLayer_t; +struct TreeModelReplacement_t; +struct TrophyLevel_t; +struct TwoBoneIKSettings_t; +struct VMapResourceData_t; +struct VMixAutoFilterDesc_t; +struct VMixBoxverbDesc_t; +struct VMixConvolutionDesc_t; +struct VMixDelayDesc_t; +struct VMixDiffusorDesc_t; +struct VMixDynamics3BandDesc_t; +struct VMixDynamicsBand_t; +struct VMixDynamicsCompressorDesc_t; +struct VMixDynamicsDesc_t; +struct VMixEQ8Desc_t; +struct VMixEffectChainDesc_t; +struct VMixEnvelopeDesc_t; +struct VMixFilterDesc_t; +struct VMixFreeverbDesc_t; +struct VMixModDelayDesc_t; +struct VMixOscDesc_t; +struct VMixPannerDesc_t; +struct VMixPitchShiftDesc_t; +struct VMixPlateverbDesc_t; +struct VMixShaperDesc_t; +struct VMixSubgraphSwitchDesc_t; +struct VMixUtilityDesc_t; +struct VMixVocoderDesc_t; +struct VPhysXAggregateData_t; +struct VPhysXBodyPart_t; +struct VPhysXCollisionAttributes_t; +struct VPhysXConstraint2_t; +struct VPhysXConstraintParams_t; +struct VPhysXJoint_t; +struct VPhysXRange_t; +struct VPhysics2ShapeDef_t; +struct VPhysicsCollisionAttribute_t; +struct VariableInfo_t; +struct VecInputMaterialVariable_t; +struct VehiclePassengerInternalInfo_t; +struct VelocitySampler; +struct VertexPositionColor_t; +struct VertexPositionNormal_t; +struct VoxelVisBlockOffset_t; +struct VsInputSignatureElement_t; +struct VsInputSignature_t; +struct WaveData_t; +struct WeightList; +struct WeightedAbilitySuggestion_t; +struct WeightedSuggestion_t; +struct WheeledPhysicsVehicleAeroData_t; +struct WheeledPhysicsVehicleAxleData_t; +struct WheeledPhysicsVehicleCameraData_t; +struct WheeledPhysicsVehicleControlsData_t; +struct WheeledPhysicsVehicleDrivetrainData_t; +struct WheeledPhysicsVehicleLookSteeringData_t; +struct WheeledPhysicsVehiclePhysicsData_t; +struct WheeledPhysicsVehicleTireModelData_t; +struct WheeledPhysicsVehicleWheelData_t; +struct WorldBuilderParams_t; +struct WorldNodeOnDiskBufferData_t; +struct WorldNode_t; +struct World_t; +struct WristBone_t; +struct attrib_definition_index_db32_t; +struct attrib_definition_index_t; +struct audioparams_t; +struct constraint_axislimit_t; +struct constraint_breakableparams_t; +struct constraint_hingeparams_t; +struct dota_minimap_boundary; +struct dynpitchvol_base_t; +struct dynpitchvol_t; +struct fogparams_t; +struct fogplayerparams_t; +struct hudtextparms_t; +struct item_definition_index_t; +struct item_steam_cache_version_t; +struct itemid_t; +struct lerpdata_t; +struct locksound_t; +struct magnetted_objects_t; +struct ragdoll_t; +struct ragdollelement_t; +struct sAbilityHistory; +struct sAcquireHistory; +struct sAghsFortGlaiveInfo; +struct sAghsfortWardBounceInfo; +struct sBounceInfo; +struct sControlGroupElem; +struct sGlaiveDef; +struct sGlaiveInfo; +struct sGlaiveInfoSilencer; +struct sGlaiveInfoStorm; +struct sLilShredderBounceInfo; +struct sLoadoutItem; +struct sPendingTreeModelChange; +struct sPendingTreeRemoval; +struct sPlayerSnapshot; +struct sRevenantDef; +struct sSharedCooldownInfo; +struct sSpiritDef; +struct sSpiritInfo; +struct sky3dparams_t; +struct style_index_t; +struct thinkfunc_t; diff --git a/sdk/particles.hpp b/sdk/particles.hpp index a131a982..72c59478 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: particles.dll -// Classes count: 418 -// Enums count: 66 +// Classes count: 489 +// Enums count: 70 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -608,8 +608,77 @@ enum class TextureRepetitionMode_t : uint32_t TEXTURE_REPETITION_PATH = 0x1, }; +// Alignment: 2 +// Size: 0x24 +enum class PulseInstructionCode_t : uint16_t +{ + INVALID = 0x0, + IMMEDIATE_HALT = 0x1, + RETURN_VOID = 0x2, + RETURN_VALUE = 0x3, + NOP = 0x4, + JUMP = 0x5, + JUMP_COND = 0x6, + CHUNK_LEAP = 0x7, + CHUNK_LEAP_COND = 0x8, + PULSE_CALL_SYNC = 0x9, + PULSE_CALL_ASYNC_FIRE = 0xa, + CELL_INVOKE = 0xb, + LIBRARY_INVOKE = 0xc, + SET_VAR_REG_BOOL = 0xd, + SET_VAR_REG_INT = 0xe, + SET_VAR_REG_FLOAT = 0xf, + SET_VAR_REG_STR = 0x10, + SET_VAR_REG_EHANDLE = 0x11, + SET_VAR_REG_SNDEVT_GUID = 0x12, + SET_VAR_REG_VEC3 = 0x13, + GET_VAR_REG_BOOL = 0x14, + GET_VAR_REG_INT = 0x15, + GET_VAR_REG_FLOAT = 0x16, + GET_VAR_REG_STR = 0x17, + GET_VAR_REG_EHANDLE = 0x18, + GET_VAR_REG_SNDEVT_GUID = 0x19, + GET_VAR_REG_VEC3 = 0x1a, + SET_REGISTER_LIT_BOOL = 0x1b, + SET_REGISTER_LIT_INT = 0x1c, + SET_REGISTER_LIT_FLOAT = 0x1d, + SET_REGISTER_LIT_STR = 0x1e, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x1f, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x20, + SET_REGISTER_LIT_VEC3 = 0x21, + SET_REGISTER_DOMAIN_VALUE = 0x22, + COUNT = 0x23, +}; + // Alignment: 4 -// Size: 0x14 +// Size: 0x2 +enum class PulseMethodCallMode_t : uint32_t +{ + SYNC_WAIT_FOR_COMPLETION = 0x0, + ASYNC_FIRE_AND_FORGET = 0x1, +}; + +// Alignment: 4 +// Size: 0xd +enum class PulseValueType_t : uint32_t +{ + PVAL_INVALID = 0xffffffffffffffff, + PVAL_BOOL = 0x0, + PVAL_INT = 0x1, + PVAL_FLOAT = 0x2, + PVAL_STRING = 0x3, + PVAL_VEC3 = 0x4, + PVAL_TRANSFORM = 0x5, + PVAL_EHANDLE = 0x6, + PVAL_RESOURCE = 0x7, + PVAL_SNDEVT_GUID = 0x8, + PVAL_CURSOR_FLOW = 0x9, + PVAL_ANY = 0xa, + PVAL_COUNT = 0xb, +}; + +// Alignment: 4 +// Size: 0x16 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -623,15 +692,17 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7, PF_TYPE_CONTROL_POINT_SPEED = 0x8, PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9, - PF_TYPE_PARTICLE_NOISE = 0xa, - PF_TYPE_PARTICLE_AGE = 0xb, - PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xc, - PF_TYPE_PARTICLE_FLOAT = 0xd, - PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0xe, - PF_TYPE_PARTICLE_SPEED = 0xf, - PF_TYPE_PARTICLE_NUMBER = 0x10, - PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x11, - PF_TYPE_COUNT = 0x12, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xa, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xb, + PF_TYPE_PARTICLE_NOISE = 0xc, + PF_TYPE_PARTICLE_AGE = 0xd, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xe, + PF_TYPE_PARTICLE_FLOAT = 0xf, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x10, + PF_TYPE_PARTICLE_SPEED = 0x11, + PF_TYPE_PARTICLE_NUMBER = 0x12, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x13, + PF_TYPE_COUNT = 0x14, }; // Alignment: 4 @@ -722,6 +793,17 @@ enum class ParticleTransformType_t : uint32_t PT_TYPE_COUNT = 0x4, }; +// Alignment: 4 +// Size: 0x5 +enum class ParticleModelType_t : uint32_t +{ + PM_TYPE_INVALID = 0x0, + PM_TYPE_NAMED_VALUE_MODEL = 0x1, + PM_TYPE_NAMED_VALUE_EHANDLE = 0x2, + PM_TYPE_CONTROL_POINT = 0x3, + PM_TYPE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x11 enum class ParticleVecType_t : uint32_t @@ -749,9 +831,22 @@ struct ParticleAttributeIndex_t; struct ParticlePreviewState_t; struct CParticleCollectionFloatInput; struct CParticleVisibilityInputs; +struct CParticleCollectionRendererFloatInput; struct TextureControls_t; +struct CParticleCollectionRendererVecInput; struct CParticleCollectionVecInput; struct CParticleTransformInput; +struct PulseRuntimeRegisterIndex_t; +struct PulseRegisterMap_t; +struct PulseRuntimeCellIndex_t; +struct PulseRuntimeChunkIndex_t; +struct PulseDocNodeID_t; +struct PulseRuntimeVarIndex_t; +struct PulseRuntimeInvokeIndex_t; +struct PulseRuntimeCallInfoIndex_t; +struct PulseRuntimeOutputIndex_t; +struct CPulse_ResumePoint; +struct CPulse_OutflowConnection; struct CParticleFloatInput; struct CNewParticleEffect; struct IParticleCollection; @@ -763,6 +858,7 @@ struct CPerParticleVecInput; struct CRandomNumberGeneratorParameters; struct CParticleRemapFloatInput; struct ControlPointReference_t; +struct CParticleModelInput; // Alignment: 2 // Size: 0x8 @@ -1062,8 +1158,19 @@ public: float m_flTimeDuration; // 0x14 }; -// Alignment: 60 -// Size: 0x3a0 +// Alignment: 3 +// Size: 0x10 +struct ParticleNamedValueSource_t +{ +public: + CUtlString m_Name; // 0x0 + // MPropertyAttributeChoiceName "particlefield_namedvaluetype" + PulseValueType_t m_Type; // 0x8 + bool m_IsPublic; // 0xc +}; + +// Alignment: 63 +// Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { public: @@ -1095,149 +1202,160 @@ public: // MPropertySuppressField int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 private: - [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c + [[maybe_unused]] uint8_t __pad017c[0x94]; // 0x17c public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x210 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x214 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x218 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x21c // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x228 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x234 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x238 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x23c + // MPropertyStartGroup "Named Values" + // MPropertyFriendlyName "Enable Named Values (EXPERIMENTAL)" + bool m_bEnableNamedValues; // 0x23d +private: + [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e +public: + // MPropertyFriendlyName "Domain Class" + // MPropertyAttributeChoiceName "particlefield_domain" + // MPropertyAutoRebuildOnChange + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlString m_NamedValueDomain; // 0x240 + // MPropertyFriendlyName "Variables" + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlVector< ParticleNamedValueSource_t > m_NamedValueLocals; // 0x248 // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d -private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 -public: + Color m_ConstantColor; // 0x260 // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x264 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x270 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x274 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x278 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x27c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x280 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x284 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 + int32_t m_nSnapshotControlPoint; // 0x288 private: - [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c public: - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x290 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x298 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x2a0 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x2a4 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x2b0 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x2b8 private: - [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c + [[maybe_unused]] uint8_t __pad02bc[0x4]; // 0x2bc public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x2c0 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x2c8 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x2d0 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x2d4 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x2d8 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x2dc // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2e0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2e4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2e8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ec // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2f0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2f4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2f8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2fc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x300 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x304 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x308 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d private: - [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce + [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x310 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x314 private: - [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 + [[maybe_unused]] uint8_t __pad0315[0x3]; // 0x315 public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x318 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x320 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x324 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 + [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 }; -// Alignment: 43 -// Size: 0x138 +// Alignment: 44 +// Size: 0x140 class CParticleFloatInput { public: @@ -1281,25 +1399,32 @@ public: float m_flNoiseImgPreviewScale; // 0xb4 bool m_bNoiseImgPreviewLive; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 + [[maybe_unused]] uint8_t __pad00b9[0x8]; // 0xb9 public: - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 + bool m_bUseBoundsCenter; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad00c2[0x2]; // 0xc2 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc4 + float m_flMultFactor; // 0xc8 + float m_flInput0; // 0xcc + float m_flInput1; // 0xd0 + float m_flOutput0; // 0xd4 + float m_flOutput1; // 0xd8 + float m_flNotchedRangeMin; // 0xdc + float m_flNotchedRangeMax; // 0xe0 + float m_flNotchedOutputOutside; // 0xe4 + float m_flNotchedOutputInside; // 0xe8 + ParticleFloatBiasType_t m_nBiasType; // 0xec + float m_flBiasParameter; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x4]; // 0xf4 +public: + CPiecewiseCurve m_Curve; // 0xf8 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -1307,7 +1432,7 @@ public: }; // Alignment: 16 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunction { private: @@ -1318,79 +1443,79 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + ParticleEndcapMode_t m_nOpEndCapState; // 0x148 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 + float m_flOpStartFadeInTime; // 0x14c // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 + float m_flOpEndFadeInTime; // 0x150 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c + float m_flOpStartFadeOutTime; // 0x154 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 + float m_flOpEndFadeOutTime; // 0x158 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 + float m_flOpFadeOscillatePeriod; // 0x15c // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 + bool m_bNormalizeToStopTime; // 0x160 private: - [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 + [[maybe_unused]] uint8_t __pad0161[0x3]; // 0x161 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c + float m_flOpTimeOffsetMin; // 0x164 // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 + float m_flOpTimeOffsetMax; // 0x168 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 + int32_t m_nOpTimeOffsetSeed; // 0x16c // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 + int32_t m_nOpTimeScaleSeed; // 0x170 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c + float m_flOpTimeScaleMin; // 0x174 // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 + float m_flOpTimeScaleMax; // 0x178 private: - [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 + [[maybe_unused]] uint8_t __pad017c[0x1]; // 0x17c public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x175 + bool m_bDisableOperator; // 0x17d private: - [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 + [[maybe_unused]] uint8_t __pad017e[0x2]; // 0x17e public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 + CUtlString m_Notes; // 0x180 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionConstraint : public CParticleFunction { public: @@ -1398,7 +1523,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionForce : public CParticleFunction { public: @@ -1406,7 +1531,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionOperator : public CParticleFunction { public: @@ -1414,74 +1539,826 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + bool m_bRunOnce; // 0x210 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x260 class CParticleFunctionRenderer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "VisibilityInputs" @ 0x1e8 because of the struct collision + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x210 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c + bool m_bCannotBeRefracted; // 0x254 // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + bool m_bSkipRenderingOnMobile; // 0x255 +}; + +// Alignment: 0 +// Size: 0x140 +class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput +{ +public: + // No members available }; // Alignment: 16 -// Size: 0x8a8 +// Size: 0x8e0 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x140 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x280 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3c0 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x500 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x640 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x780 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 + bool m_bRandomizeOffsets; // 0x8c0 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 + bool m_bClampUVs; // 0x8c1 private: - [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a + [[maybe_unused]] uint8_t __pad08c2[0x2]; // 0x8c2 public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x8c4 // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x8c8 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x8cc // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x8d0 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x8d4 // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8d8 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8dc +}; + +// Alignment: 22 +// Size: 0x5e8 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1d0 + CParticleFloatInput m_FloatComponentZ; // 0x310 + CParticleFloatInput m_FloatInterp; // 0x450 + float m_flInterpInput0; // 0x590 + float m_flInterpInput1; // 0x594 + Vector m_vInterpOutput0; // 0x598 + Vector m_vInterpOutput1; // 0x5a4 + CColorGradient m_Gradient; // 0x5b0 + Vector m_vRandomMin; // 0x5c8 + Vector m_vRandomMax; // 0x5d4 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x148 +struct FloatInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInput; // 0x8 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x50 +class CParticleTransformInput +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 +public: + ParticleTransformType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + bool m_bFollowNamedValue; // 0x40 + bool m_bSupportsDisabled; // 0x41 + bool m_bUseOrientation; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + int32_t m_nControlPoint; // 0x44 + int32_t m_nControlPointRangeMax; // 0x48 + float m_flEndCPGrowthTime; // 0x4c +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 +}; + +// Alignment: 3 +// Size: 0x60 +class CPulse_Chunk +{ +public: + CUtlLeanVector< PGDInstruction_t > m_Instructions; // 0x0 + CUtlLeanVector< CPulse_RegisterInfo > m_Registers; // 0x10 + CUtlLeanVector< PulseDocNodeID_t > m_InstructionEditorIDs; // 0x20 +}; + +// Alignment: 5 +// Size: 0x38 +class CPulse_Variable +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_Type; // 0x10 + KeyValues3 m_DefaultValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0030[0x2]; // 0x30 +public: + bool m_bIsPublic; // 0x32 +}; + +// Alignment: 2 +// Size: 0x10 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 +}; + +// Alignment: 4 +// Size: 0x20 +class CPulse_OutputConnection +{ +public: + CUtlSymbolLarge m_SourceOutput; // 0x0 + CUtlSymbolLarge m_TargetEntity; // 0x8 + CUtlSymbolLarge m_TargetInput; // 0x10 + CUtlSymbolLarge m_Param; // 0x18 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeChunkIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 9 -// Size: 0xa18 +// Size: 0xf8 +class CPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlSymbolLarge m_DomainIdentifier; // 0x8 + CUtlSymbolLarge m_ParentMapName; // 0x10 + CUtlVector< CPulse_Chunk* > m_Chunks; // 0x18 + CUtlVector< CPulseCell_Base* > m_Cells; // 0x30 + CUtlVector< CPulse_Variable > m_Vars; // 0x48 + CUtlVector< CPulse_PublicOutput > m_PublicOutputs; // 0x60 + CUtlVector< CPulse_InvokeBinding* > m_InvokeBindings; // 0x78 + CUtlVector< CPulse_CallInfo* > m_CallInfos; // 0x90 + CUtlVector< CPulse_OutputConnection* > m_OutputConnections; // 0xa8 +}; + +// Alignment: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCallInfoIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ +public: + uint16_t m_Value; // 0x0 +}; + +// Alignment: 5 +// Size: 0x58 +class CPulse_RegisterInfo +{ +public: + PulseRuntimeRegisterIndex_t m_nReg; // 0x0 + CPulseValueFullType m_Type; // 0x8 + CKV3MemberNameWithStorage m_OriginName; // 0x18 + int32_t m_nWrittenByInstruction; // 0x50 + int32_t m_nLastReadByInstruction; // 0x54 +}; + +// Alignment: 2 +// Size: 0x20 +struct PulseRegisterMap_t +{ +public: + KeyValues3 m_Inparams; // 0x0 + KeyValues3 m_Outparams; // 0x10 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeInvokeIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 6 +// Size: 0x40 +class CPulse_CallInfo +{ +public: + CUtlSymbolLarge m_PortName; // 0x0 + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +private: + [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc +public: + PulseRegisterMap_t m_RegisterMap; // 0x10 + PulseDocNodeID_t m_CallMethodID; // 0x30 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x34 + int32_t m_nSrcInstruction; // 0x38 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeEntrypointIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 5 +// Size: 0x38 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 + PulseRuntimeChunkIndex_t m_nSrcChunk; // 0x2c + int32_t m_nSrcInstruction; // 0x30 +}; + +// Alignment: 16 +// Size: 0x68 +struct PGDInstruction_t +{ +public: + PulseInstructionCode_t m_nCode; // 0x0 + PulseRuntimeVarIndex_t m_nVar; // 0x4 + PulseRuntimeRegisterIndex_t m_nReg0; // 0x8 + PulseRuntimeRegisterIndex_t m_nReg1; // 0xa + PulseRuntimeRegisterIndex_t m_nReg2; // 0xc +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: + PulseRuntimeInvokeIndex_t m_nInvokeBindingIndex; // 0x10 + PulseRuntimeChunkIndex_t m_nChunk; // 0x14 + int32_t m_nDestInstruction; // 0x18 + PulseRuntimeCallInfoIndex_t m_nCallInfoIndex; // 0x1c + CUtlSymbolLarge m_Arg0Name; // 0x20 + CUtlSymbolLarge m_Arg1Name; // 0x28 + bool m_bLiteralBool; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + int32_t m_nLiteralInt; // 0x34 + float m_flLiteralFloat; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CBufferString m_LiteralString; // 0x40 + Vector m_vLiteralVec3; // 0x50 +}; + +// Alignment: 3 +// Size: 0x10 +class CPulse_OutflowConnection +{ +public: + CUtlSymbolLarge m_SourceOutflowName; // 0x0 + PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 + int32_t m_nInstruction; // 0xc +}; + +// Alignment: 0 +// Size: 0x10 +class CPulse_ResumePoint : public CPulse_OutflowConnection +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x48 +class CPulseCell_Base +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MFgdFromSchemaCompletelySkipField + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseFlow : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Inflow_BaseEntrypoint : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeChunkIndex_t m_EntryChunk; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + PulseRegisterMap_t m_RegisterMap; // 0x50 +}; + +// Alignment: 10 +// Size: 0x138 +class CPulseCell_Inflow_Method : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_MethodName; // 0x70 + CUtlString m_Description; // 0x78 + bool m_bIsPublic; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ReturnType; // 0x88 + CKV3MemberNameWithStorage m_Arg0Name; // 0x98 + CUtlString m_Arg0Description; // 0xd0 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg0Type; // 0xd8 + CKV3MemberNameWithStorage m_Arg1Name; // 0xe8 + CUtlString m_Arg1Description; // 0x120 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg1Type; // 0x128 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_EventName; // 0x70 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_HookName; // 0x70 +}; + +// Alignment: 4 +// Size: 0x98 +class CPulseCell_Inflow_EntOutputHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceEntity; // 0x70 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceOutput; // 0x78 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_TargetInput; // 0x80 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ExpectedParamType; // 0x88 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseValue : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x68 +class CPulseCell_Value_Expression : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_PublicOutput : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeOutputIndex_t m_OutputIndex; // 0x48 +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_UnyieldResume; // 0x48 +}; + +// Alignment: 1 +// Size: 0x58 +class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_WakeResume; // 0x48 +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Outflow_StringSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x58 +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Outflow_IntSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x58 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleOrdered : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 1 +// Size: 0x4 +struct CPulseCell_Outflow_CycleOrdered__InstanceState_t +{ +public: + int32_t m_nNextIndex; // 0x0 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 2 +// Size: 0x28 +struct CPulseCell_Outflow_CycleShuffled__InstanceState_t +{ +public: + CUtlVectorFixedGrowable< uint8 > m_Shuffle; // 0x0 + int32_t m_nNextShuffle; // 0x20 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_SimultaneousParallel : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 2 +// Size: 0x68 +class CPulseCell_Outflow_TestRandomYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_No; // 0x58 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_RandomInt : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_DebugLog : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0xc0 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CKV3MemberNameWithStorage m_Arg0Name; // 0x50 + CKV3MemberNameWithStorage m_Arg1Name; // 0x88 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 5 +// Size: 0x108 +class CPulseGraphInstance_TestDomain : public CBasePulseGraphInstance +{ +public: + bool m_bIsRunningUnitTests; // 0xd0 + bool m_bExplicitTimeStepping; // 0xd1 + bool m_bExpectingToDestroyWithYieldedCursors; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d3[0x1]; // 0xd3 +public: + int32_t m_nNextValidateIndex; // 0xd4 + CUtlVector< CUtlString > m_Tracepoints; // 0xd8 + + // Static fields: + static double &Get_s_flExplicitCurTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("particles.dll")->FindDeclaredClass("CPulseGraphInstance_TestDomain")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_TestDomainEntFire : public CPulseCell_BaseFlow +{ +public: + CUtlString m_Input; // 0x48 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainFindEntityByName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x108 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_DerivedDomain +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTurtleGraphicsLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionEmitter : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x210 +}; + +// Alignment: 0 +// Size: 0x140 +class CPerParticleFloatInput : public CParticleFloatInput +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionInitializer : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x210 +}; + +// Alignment: 9 +// Size: 0xa58 struct TextureGroup_t { public: @@ -1513,71 +2390,359 @@ private: public: // MPropertyFriendlyName "Blend Amount" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - CParticleCollectionFloatInput m_flTextureBlend; // 0x38 + CParticleCollectionRendererFloatInput m_flTextureBlend; // 0x38 // MPropertyFriendlyName "Texture Controls" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 -}; - -// Alignment: 22 -// Size: 0x5c8 -class CParticleVecInput -{ -public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 -public: - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 -private: - [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c -public: - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 + TextureControls_t m_TextureControls; // 0x178 }; // Alignment: 0 -// Size: 0x5c8 -class CParticleCollectionVecInput : public CParticleVecInput +// Size: 0x140 +class CParticleRemapFloatInput : public CParticleFloatInput +{ +public: + // No members available +}; + +// Alignment: 61 +// Size: 0x2270 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4e0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionRendererVecInput m_vecColorScale; // 0x628 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xc10 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xc14 + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xc18 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc20 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd60 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xea0 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xea4 + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xea8 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xec0 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xec4 + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xec8 +private: + [[maybe_unused]] uint8_t __pad0ec9[0x7]; // 0xec9 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xed0 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1010 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x1150 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x1154 + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1158 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x115c + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x115d +private: + [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1160 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x12a0 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x13e0 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1520 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1524 + // MPropertyFriendlyName "Fog Scale" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1528 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1668 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1669 +private: + [[maybe_unused]] uint8_t __pad166a[0x2]; // 0x166a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x166c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1670 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1674 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1678 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x17b8 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x18f8 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1a38 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1a39 +private: + [[maybe_unused]] uint8_t __pad1a3a[0x6]; // 0x1a3a +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1a40 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1b80 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1b84 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1b88 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1b89 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x1b8a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1b8b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x1b8c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1c0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1c0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1c8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1c8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1c8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1c90 +private: + [[maybe_unused]] uint8_t __pad1c91[0x3]; // 0x1c91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1c94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1c98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1dd8 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x1f18 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x2058 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x205c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x2060 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x2061 +}; + +// Alignment: 3 +// Size: 0x48 +class CParticleModelInput +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 +public: + ParticleModelType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + int32_t m_nControlPoint; // 0x40 +}; + +// Alignment: 22 +// Size: 0x1330 +class C_OP_RenderCables : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x4e0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xac8 +private: + [[maybe_unused]] uint8_t __pad0acc[0x4]; // 0xacc +public: + // MPropertyStartGroup + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xad0 + // MPropertyFriendlyName "texture repetition mode" + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xad8 +private: + [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc +public: + // MPropertyFriendlyName "texture repetitions" + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xae0 + // MPropertyFriendlyName "texture repetitions around cable" + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc20 + // MPropertyFriendlyName "color map offset along path" + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd60 + // MPropertyFriendlyName "color map offset around cable" + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xea0 + // MPropertyFriendlyName "normal map offset along path" + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xfe0 + // MPropertyFriendlyName "normal map offset around cable" + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1120 + // MPropertyFriendlyName "draw caps at each end of the cable" + bool m_bDrawCableCaps; // 0x1260 +private: + [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 +public: + // MPropertyFriendlyName "cable end cap shape factor" + // MPropertyAttributeRange "0 2" + float m_flCapRoundness; // 0x1264 + // MPropertyFriendlyName "cable end cap offset amount" + // MPropertyAttributeRange "0 2" + float m_flCapOffsetAmount; // 0x1268 + // MPropertyFriendlyName "tessellation scale factor" + float m_flTessScale; // 0x126c + // MPropertyFriendlyName "minimum steps between particles" + int32_t m_nMinTesselation; // 0x1270 + // MPropertyFriendlyName "maximum steps between particles" + int32_t m_nMaxTesselation; // 0x1274 + // MPropertyFriendlyName "roundness factor" + int32_t m_nRoundness; // 0x1278 +private: + [[maybe_unused]] uint8_t __pad127c[0x4]; // 0x127c +public: + // MPropertyFriendlyName "diffuse lighting origin" + // MParticleTransformInputOptional + CParticleTransformInput m_LightingTransform; // 0x1280 + // MPropertyFriendlyName "material float variables" + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12e8[0x18]; // 0x12e8 +public: + // MPropertyFriendlyName "material vector variables" + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1300 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CPerParticleVecInput : public CParticleVecInput { public: // No members available }; // Alignment: 2 -// Size: 0x140 -struct FloatInputMaterialVariable_t -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 -}; - -// Alignment: 2 -// Size: 0x5d0 +// Size: 0x5f0 struct VecInputMaterialVariable_t { public: @@ -1587,505 +2752,130 @@ public: CParticleCollectionVecInput m_vecInput; // 0x8 }; -// Alignment: 8 -// Size: 0x50 -class CParticleTransformInput -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 -public: - ParticleTransformType_t m_nType; // 0x4 - CKV3MemberNameWithStorage m_NamedValue; // 0x8 - bool m_bFollowNamedValue; // 0x40 - bool m_bSupportsDisabled; // 0x41 - bool m_bUseOrientation; // 0x42 -private: - [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 -public: - int32_t m_nControlPoint; // 0x44 - int32_t m_nControlPointRangeMax; // 0x48 - float m_flEndCPGrowthTime; // 0x4c -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionEmitter : public CParticleFunction -{ - // Collision detected(0x1e8->0x1f0), output may be wrong. -public: - // Skipped field "m_nEmitterIndex" @ 0x1e8 because of the struct collision -}; - -// Alignment: 0 -// Size: 0x138 -class CPerParticleFloatInput : public CParticleFloatInput -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionInitializer : public CParticleFunction -{ - // Collision detected(0x1e8->0x1f0), output may be wrong. -public: - // Skipped field "m_nAssociatedEmitterIndex" @ 0x1e8 because of the struct collision -}; - -// Alignment: 0 -// Size: 0x138 -class CParticleRemapFloatInput : public CParticleFloatInput -{ -public: - // No members available -}; - -// Alignment: 22 -// Size: 0x12a0 -class C_OP_RenderCables : public CParticleFunctionRenderer -{ -public: - // MPropertyStartGroup "Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 -private: - [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c -public: - // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 - // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 -private: - [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c -public: - // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 - // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 - // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 - // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 - // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 - // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 - // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 -private: - [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 -public: - // MPropertyFriendlyName "cable end cap shape factor" - // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 - // MPropertyFriendlyName "cable end cap offset amount" - // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 - // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc - // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 - // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 - // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 -private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec -public: - // MPropertyFriendlyName "diffuse lighting origin" - // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 - // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 -private: - [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 -public: - // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 -}; - -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer -{ -public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 -private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc -public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 -private: - [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 -public: - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" - // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 -private: - [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 -public: - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 -private: - [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a -public: - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 -private: - [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 -public: - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 -private: - [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 -public: - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 -}; - -// Alignment: 0 -// Size: 0x5c8 -class CPerParticleVecInput : public CParticleVecInput -{ -public: - // No members available -}; - // Alignment: 27 -// Size: 0x26c0 +// Size: 0x2910 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2270 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x23b0 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c + int32_t m_nOrientationControlPoint; // 0x23b4 // MPropertyFriendlyName "enable yaw for particles aligned to normals" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 + bool m_bUseYawWithNormalAligned; // 0x23b8 private: - [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 + [[maybe_unused]] uint8_t __pad23b9[0x3]; // 0x23b9 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 + float m_flMinSize; // 0x23bc // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 + float m_flMaxSize; // 0x23c0 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c + float m_flAlphaAdjustWithSizeAdjust; // 0x23c4 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23c8 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2508 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 + float m_flStartFadeDot; // 0x2648 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 + float m_flEndFadeDot; // 0x264c // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 + bool m_bDistanceAlpha; // 0x2650 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 + bool m_bSoftEdges; // 0x2651 private: - [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a + [[maybe_unused]] uint8_t __pad2652[0x2]; // 0x2652 public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c + float m_flEdgeSoftnessStart; // 0x2654 // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 + float m_flEdgeSoftnessEnd; // 0x2658 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 + bool m_bOutline; // 0x265c // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 + Color m_OutlineColor; // 0x265d private: - [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 + [[maybe_unused]] uint8_t __pad2661[0x3]; // 0x2661 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c + int32_t m_nOutlineAlpha; // 0x2664 // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 + float m_flOutlineStart0; // 0x2668 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 + float m_flOutlineStart1; // 0x266c // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 + float m_flOutlineEnd0; // 0x2670 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c + float m_flOutlineEnd1; // 0x2674 // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 + ParticleLightingQuality_t m_nLightingMode; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x4]; // 0x267c public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2680 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x27c0 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 + bool m_bParticleShadows; // 0x2900 private: - [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 + [[maybe_unused]] uint8_t __pad2901[0x3]; // 0x2901 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc + float m_flShadowDensity; // 0x2904 }; // Alignment: 1 @@ -2114,6 +2904,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x108 +class CParticleCollectionBindingInstance : public CBasePulseGraphInstance +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x28 class CParticleProperty @@ -2179,116 +2977,116 @@ public: }; // Alignment: 5 -// Size: 0x480 +// Size: 0x4b0 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x350 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x490 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x494 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x4a0 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 + CPerParticleFloatInput m_flMinimumSpeed; // 0x350 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x210 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x350 }; // Alignment: 8 -// Size: 0x250 +// Size: 0x270 class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x214 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x218 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x21c + CPathParameters m_PathParameters; // 0x220 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x260 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x264 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x268 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 + float m_flTimeScale; // 0x218 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc + bool m_bLoopedPath; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x220 }; // Alignment: 7 -// Size: 0x480 +// Size: 0x4b0 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x210 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x21c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x22c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x22d private: - [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x230 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x370 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: @@ -2296,849 +3094,846 @@ public: }; // Alignment: 26 -// Size: 0x8e0 +// Size: 0x920 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x214 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x220 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x224 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x228 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x20c + char m_CollisionGroupName[128]; // 0x22c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x2ac // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x2ad // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x2ae private: - [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f + [[maybe_unused]] uint8_t __pad02af[0x1]; // 0x2af public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x2b0 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x2b4 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x2b8 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x2bc // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2c0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2c4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2c8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x408 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x548 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x688 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x7c8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x7c9 private: - [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a + [[maybe_unused]] uint8_t __pad07ca[0x2]; // 0x7ca public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x7cc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7d4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x7d8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x918 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x210 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x21c // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x228 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + CParticleCollectionFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 + CParticleCollectionFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + CParticleCollectionFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 + float m_flAdjustmentScale; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d8 }; // Alignment: 5 -// Size: 0xca0 +// Size: 0xd00 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x5d0 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x710 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConstrainLineLength : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 + float m_flMinDistance; // 0x210 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 }; // Alignment: 11 -// Size: 0xc10 +// Size: 0xc80 class C_INIT_RingWave : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x270 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x3b0 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4f0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x770 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x8b0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x9f0 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xb30 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc70 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc71 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x224 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x228 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x22c // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x230 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x234 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x238 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x780 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 + int32_t m_nComponent1; // 0x220 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 -private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc -public: + int32_t m_nComponent2; // 0x224 + // MPropertyFriendlyName "input transform" + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 + CPerParticleFloatInput m_flParticleDensity; // 0x278 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 + CPerParticleFloatInput m_flOffset; // 0x3b8 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 + CPerParticleFloatInput m_flRadius1; // 0x4f8 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 + bool m_bUseCount; // 0x778 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 + bool m_bUseLocalCoords; // 0x779 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 + bool m_bOffsetExistingPos; // 0x77a }; // Alignment: 14 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x224 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x228 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x22c // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x230 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x234 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x238 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x23c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x240 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x244 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x248 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x24c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x24d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x24e }; // Alignment: 12 -// Size: 0xf60 +// Size: 0xfd0 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x22c // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x818 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x81c // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x820 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd98 + char m_HitboxSetName[128]; // 0xe08 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe88 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe89 private: - [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a + [[maybe_unused]] uint8_t __pad0e8a[0x6]; // 0xe8a public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe90 }; // Alignment: 14 -// Size: 0x11c0 +// Size: 0x1250 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x220 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x228 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x230 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x370 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x958 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xf40 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xf44 // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xf45 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xece + char m_HitboxSetName[128]; // 0xf46 private: - [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e + [[maybe_unused]] uint8_t __pad0fc6[0x2]; // 0xfc6 public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xfc8 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1108 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9e0 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x224 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7c0 + char m_HitboxSetName[128]; // 0x810 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x890 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x891 private: - [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 + [[maybe_unused]] uint8_t __pad0892[0x2]; // 0x892 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x894 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x898 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x9d8 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9f0 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 + Vector m_vecDirectionBias; // 0x818 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 + bool m_bMaintainHitbox; // 0x824 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 + bool m_bUseBones; // 0x825 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7d6 + char m_HitboxSetName[128]; // 0x826 private: - [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 + [[maybe_unused]] uint8_t __pad08a6[0x2]; // 0x8a6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 + CParticleCollectionFloatInput m_flShellSize; // 0x8a8 }; // Alignment: 14 -// Size: 0x18a0 +// Size: 0x1950 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x220 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x360 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x4a0 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa88 private: - [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 + [[maybe_unused]] uint8_t __pad0a94[0x4]; // 0xa94 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa98 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xae8 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xc28 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xd68 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xd6c private: - [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd + [[maybe_unused]] uint8_t __pad0d6d[0x3]; // 0xd6d public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd70 private: - [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd78 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1360 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1948 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x194c }; // Alignment: 5 -// Size: 0xd90 +// Size: 0xe00 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xdf0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdf8 }; // Alignment: 10 -// Size: 0x950 +// Size: 0x9b0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x220 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x360 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x4a0 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x5e0 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x860 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x9a0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x9a4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x9a5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x9a6 }; // Alignment: 6 -// Size: 0xde0 +// Size: 0xe50 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 + CPerParticleVecInput m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 + CPerParticleVecInput m_OffsetMax; // 0x808 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 + CParticleTransformInput m_TransformInput; // 0xdf0 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 + bool m_bLocalCoords; // 0xe40 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 + bool m_bProportional; // 0xe41 private: - [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 + [[maybe_unused]] uint8_t __pad0e42[0x2]; // 0xe42 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe44 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x220 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x224 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x228 }; // Alignment: 13 -// Size: 0x510 +// Size: 0x550 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x220 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x360 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x4a0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x520 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad0524[0xc]; // 0x524 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x530 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x534 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x535 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x536 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x537 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x538 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x53c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x540 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x544 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x220 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x228 }; // Alignment: 7 -// Size: 0x1010 +// Size: 0x1090 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x228 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x368 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x4a8 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa90 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0x1078 private: - [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x107c }; // Alignment: 10 -// Size: 0x1760 +// Size: 0x1810 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x220 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x22c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x238 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x820 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x960 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xf48 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1530 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1670 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x17b0 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1800 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x220 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1fc + char m_HitboxSetName[128]; // 0x22c // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x2ac }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x224 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x228 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x239 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x220 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x224 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x228 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c }; // Alignment: 4 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x22c // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x238 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x23c }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x22c }; // Alignment: 6 -// Size: 0x230 +// Size: 0x260 class C_INIT_AddVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x230 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x234 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x240 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x24c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomRadius : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x220 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x224 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x228 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomAlpha : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x224 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x8]; // 0x22c public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x234 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x240 class CGeneralRandomRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 + float m_flDegrees; // 0x224 // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 + float m_flDegreesMin; // 0x228 // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc + float m_flDegreesMax; // 0x22c // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 + float m_flRotationRandExponent; // 0x230 // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 + bool m_bRandomlyFlipDirection; // 0x234 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotation : public CGeneralRandomRotation { public: @@ -3146,21 +3941,21 @@ public: }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x228 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation { public: @@ -3168,7 +3963,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomYaw : public CGeneralRandomRotation { public: @@ -3176,345 +3971,349 @@ public: }; // Alignment: 10 -// Size: 0x240 +// Size: 0x270 class C_INIT_RandomColor : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x1c]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x1c]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x23c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x240 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x244 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x248 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x24c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x250 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x254 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x258 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x25c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x260 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x260 class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x18]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x238 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x23c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x240 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x244 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x248 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x24c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x250 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomTrailLength : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x220 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x224 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x228 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x228 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x229 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad022a[0x6]; // 0x22a public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x230 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_SequenceFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 + bool m_bKillUnused; // 0x220 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 + bool m_bRadiusScale; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + Vector m_vecOffset; // 0x228 }; -// Alignment: 2 -// Size: 0x300 +// Alignment: 3 +// Size: 0x430 class C_INIT_RandomModelSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "activity" - char m_ActivityName[256]; // 0x1f0 + // MPropertySuppressExpr "mod != dota" + char m_ActivityName[256]; // 0x220 + // MPropertyFriendlyName "sequence" + // MPropertySuppressExpr "mod == dota" + char m_SequenceName[256]; // 0x320 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x2f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x420 }; // Alignment: 1 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x220 }; // Alignment: 10 -// Size: 0xda0 +// Size: 0xe10 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x808 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xdf0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xdf4 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xdf8 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xdfc // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xe00 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xe04 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xe08 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xe09 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x390 class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 + Vector m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc + Vector m_vecWarpMax; // 0x22c // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 + CPerParticleFloatInput m_InputValue; // 0x238 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 + float m_flPrevPosScale; // 0x378 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 + int32_t m_nScaleControlPointNumber; // 0x37c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 + int32_t m_nControlPointNumber; // 0x380 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreationNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x224 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x225 private: - [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x230 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x234 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x238 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x23c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x248 }; // Alignment: 5 -// Size: 0x260 +// Size: 0x290 class C_INIT_CreateAlongPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x270 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0271[0x3]; // 0x271 public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x274 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x280 }; // Alignment: 7 -// Size: 0x810 +// Size: 0x870 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x220 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x360 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x4a0 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x5e0 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x860 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x864 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x238 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x244 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0245[0x3]; // 0x245 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 12 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x224 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x228 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 + bool m_bActiveRange; // 0x240 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 + bool m_bInvert; // 0x241 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 + bool m_bWrap; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + float m_flRemapBias; // 0x244 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x250 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 + CUtlString m_outputMinName; // 0x258 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + CUtlString m_outputMaxName; // 0x260 + bool m_bModelFromRenderer; // 0x268 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3522,7 +4321,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3530,7 +4329,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3538,945 +4337,945 @@ public: }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_InheritVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 + float m_flVelocityScale; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x224 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x228 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x22c // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x230 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x250 class C_INIT_AgeNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 + bool m_bAbsVal; // 0x220 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 + bool m_bAbsValInv; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 + float m_flOffset; // 0x224 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 + float m_flAgeMin; // 0x228 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc + float m_flAgeMax; // 0x22c // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 + float m_flNoiseScale; // 0x230 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 + float m_flNoiseScaleLoc; // 0x234 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 + Vector m_vecOffsetLoc; // 0x238 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x220 }; // Alignment: 12 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x23c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x248 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x24c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x250 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x254 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x258 private: - [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 + [[maybe_unused]] uint8_t __pad0259[0x3]; // 0x259 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x25c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x228 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x234 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x240 }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x500 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x360 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x4a0 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x4a1 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x4a2 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad04a3[0xd]; // 0x4a3 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x4b0 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x270 class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x224 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x228 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x229 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa + bool m_bSaveOffset; // 0x22a private: - [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 13 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1f0 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 + Vector m_vecOutputMin; // 0x2a4 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 + Vector m_vecOutputMax; // 0x2b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c + int32_t m_nControlPointNumber; // 0x2bc // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 + bool m_bPerParticle; // 0x2c0 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 + bool m_bTranslate; // 0x2c1 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 + bool m_bProportional; // 0x2c2 private: - [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 + [[maybe_unused]] uint8_t __pad02c3[0x1]; // 0x2c3 public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 + float m_flTraceLength; // 0x2c4 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 + bool m_bPerParticleTR; // 0x2c8 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 + bool m_bInherit; // 0x2c9 private: - [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a + [[maybe_unused]] uint8_t __pad02ca[0x2]; // 0x2ca public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c + int32_t m_nChildCP; // 0x2cc // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 + int32_t m_nChildGroupID; // 0x2d0 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomYawFlip : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x220 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x23c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x240 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x244 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 13 -// Size: 0x2e0 +// Size: 0x310 class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x224 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x230 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x248 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0254[0x4]; // 0x254 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x258 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x2a8 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2fc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x300 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x304 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x305 private: - [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 + [[maybe_unused]] uint8_t __pad0306[0x2]; // 0x306 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x308 }; // Alignment: 9 -// Size: 0x220 +// Size: 0x250 class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x220 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x224 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x228 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x22c // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x230 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x234 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x238 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x23c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x220 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x224 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x230 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x228 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x230 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x370 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x220 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x224 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x230 }; // Alignment: 15 -// Size: 0x8c0 +// Size: 0x920 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x228 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x368 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x4a8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x6dd + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8fc // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x900 private: - [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x904 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x910 }; // Alignment: 8 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "bias distance" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x220 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x22c // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 + float m_flMaxTraceLength; // 0x230 // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 + float m_flTraceTolerance; // 0x234 // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 + int32_t m_nMaxPlanes; // 0x238 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c public: // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x210 + char m_CollisionGroupName[128]; // 0x240 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 + ParticleTraceSet_t m_nTraceSet; // 0x2c0 private: - [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 + [[maybe_unused]] uint8_t __pad02c4[0xc]; // 0x2c4 public: // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 + bool m_bIncludeWater; // 0x2d0 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x220 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x239 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_ModelCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x224 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x225 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x226 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x227 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x360 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x220 }; // Alignment: 8 -// Size: 0x2a0 +// Size: 0x2d0 class C_INIT_RtEnvCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x220 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x22c // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x238 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x239 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x23a // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20b + char m_RtEnvName[128]; // 0x23b private: - [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b + [[maybe_unused]] uint8_t __pad02bb[0x1]; // 0x2bb public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2bc // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2c0 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_NormalOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x22c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x238 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x23c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x23d }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x228 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x244 }; // Alignment: 9 -// Size: 0x350 +// Size: 0x380 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x224 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x228 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x22c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x230 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x231 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0232[0x6]; // 0x232 public: // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x238 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 + int32_t m_nRandomSeed; // 0x378 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 + bool m_bLocalSpaceAngles; // 0x37c }; // Alignment: 17 -// Size: 0x230 +// Size: 0x260 class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 + bool m_bRigid; // 0x230 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 + bool m_bSetNormal; // 0x231 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 + bool m_bIgnoreDt; // 0x232 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0233[0x1]; // 0x233 public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 + float m_flMinNormalVelocity; // 0x234 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 + float m_flMaxNormalVelocity; // 0x238 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c + float m_flIncrement; // 0x23c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 + int32_t m_nFullLoopIncrement; // 0x240 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 + int32_t m_nSnapShotStartPoint; // 0x244 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 + float m_flBoneVelocity; // 0x248 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c + float m_flBoneVelocityMax; // 0x24c // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 + bool m_bCopyColor; // 0x250 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 + bool m_bCopyAlpha; // 0x251 // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 + bool m_bSetRadius; // 0x252 }; // Alignment: 1 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x220 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x224 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x228 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x230 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x274 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x278 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x27c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x288 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x274 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x278 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x270 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x27c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x27d }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x224 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x4]; // 0x220 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x240 class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c }; // Alignment: 6 -// Size: 0x200 +// Size: 0x230 class C_INIT_GlobalScale : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x22c // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x22d // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x22e }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_PointList : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x228 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x240 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x241 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x244 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 + bool m_bShuffle; // 0x240 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 + bool m_bLinear; // 0x241 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 + bool m_bModelFromRenderer; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement { public: @@ -4484,7 +5283,7 @@ public: }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement { public: @@ -4492,7 +5291,7 @@ public: }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement { public: @@ -4500,29 +5299,29 @@ public: }; // Alignment: 7 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 + CUtlVector< float32 > m_values; // 0x240 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 + ParticleAttributeIndex_t m_nFieldInput; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 + ParticleSetMethod_t m_nSetMethod; // 0x260 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + bool m_bModelFromRenderer; // 0x264 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4530,7 +5329,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4538,7 +5337,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4546,843 +5345,784 @@ public: }; // Alignment: 18 -// Size: 0x250 +// Size: 0x280 class C_INIT_StatusEffect : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x220 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x224 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x228 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x22c // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x230 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x234 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x238 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x23c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x240 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x244 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x248 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x24c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x250 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x254 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x258 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x25c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x260 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x264 }; // Alignment: 19 -// Size: 0x240 +// Size: 0x270 class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x220 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x224 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x228 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x22c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x230 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x234 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x238 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x23c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x240 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x244 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x248 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x24c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x250 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x254 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x258 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x25c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x260 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x264 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x268 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 + CPerParticleFloatInput m_InputRadius; // 0x220 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 + CPerParticleFloatInput m_InputMagnitude; // 0x360 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x4a8 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 + ParticleImpulseType_t m_nImpulseType; // 0x5e8 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_QuantizeFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe70 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xdf8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdfc // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xe00 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_InitFloatCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x4b0 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x364 // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x368 }; // Alignment: 2 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 + CParticleCollectionVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitVec : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x80c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 + bool m_bNormalizedOutput; // 0x810 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 + bool m_bWritePreviousPosition; // 0x811 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4b0 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "num to emit" // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x4a0 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x4a4 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x4a8 }; -// Alignment: 9 -// Size: 0x5b0 +// Alignment: 10 +// Size: 0x600 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x4a0 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x5e0 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x5e4 // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5e8 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 public: + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x5ec // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5f0 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5f4 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5f5 }; // Alignment: 15 -// Size: 0x230 +// Size: 0x260 class C_OP_NoiseEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x228 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x234 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x238 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x239 private: - [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a + [[maybe_unused]] uint8_t __pad023a[0x2]; // 0x23a public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x23c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x240 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x244 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x248 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x24c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x250 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x25c }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4c0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x228 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x368 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x36c // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x370 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x371 private: - [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a + [[maybe_unused]] uint8_t __pad0372[0x6]; // 0x372 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x378 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x210 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x21c }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 + float m_flForceScale; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 + Vector m_vecTwistAxis; // 0x214 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 + bool m_bFlipBasedOnYaw; // 0x220 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x214 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x224 }; // Alignment: 6 -// Size: 0x4d0 +// Size: 0x500 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x220 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x360 private: - [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c + [[maybe_unused]] uint8_t __pad0364[0x4]; // 0x364 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x368 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x3b8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4f8 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x250 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x210 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x214 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x220 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x224 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x230 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x23c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x240 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x210 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x214 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x220 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x224 }; // Alignment: 8 -// Size: 0x230 +// Size: 0x250 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x210 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x214 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x218 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x21c // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x220 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x22c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x238 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x244 }; // Alignment: 6 -// Size: 0x15c0 +// Size: 0x1650 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x218 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x800 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xde8 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x13d0 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1510 }; // Alignment: 3 -// Size: 0x900 +// Size: 0x940 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x350 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x938 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x210 }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + CPerParticleVecInput m_vecSamplePosition; // 0x210 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 + CPerParticleVecInput m_vecScale; // 0x7f8 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 + bool m_bSampleWind; // 0xde0 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 + bool m_bSampleWater; // 0xde1 }; // Alignment: 5 -// Size: 0x330 +// Size: 0x360 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x350 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x351 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x352 // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b + bool m_bParticles; // 0x353 }; // Alignment: 3 -// Size: 0x7c0 +// Size: 0x800 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x214 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x218 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce { public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x210 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ExternalGenericForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x210 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x214 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x218 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x21c // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x220 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 + float m_flForceScale; // 0x214 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x210 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x21c // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x220 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x228 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x210 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x214 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x218 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x21c }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x210 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x214 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x218 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x21c private: - [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 + [[maybe_unused]] uint8_t __pad0220[0x30]; // 0x220 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x250 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x251 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 3 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 + CPerParticleFloatInput m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 + CPerParticleFloatInput m_flOutputMax; // 0x358 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x800 }; // Alignment: 13 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x218 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 -private: - [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 -public: - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c -}; - -// Alignment: 5 -// Size: 0x230 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 - // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 -}; - -// Alignment: 15 -// Size: 0x5e0 -class C_OP_OscillateVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate min" - // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 - // MPropertyFriendlyName "oscillation rate max" - // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc - // MPropertyFriendlyName "oscillation frequency min" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 - // MPropertyFriendlyName "oscillation frequency max" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_vector" ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" bool m_bProportionalOp; // 0x225 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 private: - [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "start time min" float m_flStartTime_min; // 0x228 @@ -5393,650 +6133,711 @@ public: // MPropertyFriendlyName "end time max" float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + float m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + float m_flOscAdd; // 0x23c +}; + +// Alignment: 5 +// Size: 0x250 +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + float m_Rate; // 0x210 + // MPropertyFriendlyName "oscillation frequency" + float m_Frequency; // 0x214 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x218 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x21c + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x220 +}; + +// Alignment: 15 +// Size: 0x620 +class C_OP_OscillateVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate min" + // MVectorIsSometimesCoordinate + Vector m_RateMin; // 0x210 + // MPropertyFriendlyName "oscillation rate max" + // MVectorIsSometimesCoordinate + Vector m_RateMax; // 0x21c + // MPropertyFriendlyName "oscillation frequency min" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMin; // 0x228 + // MPropertyFriendlyName "oscillation frequency max" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMax; // 0x234 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x240 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x244 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x245 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x246 +private: + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 +public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x248 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x24c + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x250 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x254 + // MPropertyFriendlyName "oscillation multiplier" + CPerParticleFloatInput m_flOscMult; // 0x258 + // MPropertyFriendlyName "oscillation start phase" + CPerParticleFloatInput m_flOscAdd; // 0x398 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4d8 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x22c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x234 }; // Alignment: 9 -// Size: 0x210 +// Size: 0x230 class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c + bool m_bActiveRange; // 0x22c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d + bool m_bSetPreviousParticle; // 0x22d }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDensityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x218 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x21c // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x220 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x22c }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x22c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 7 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + CParticleCollectionFloatInput m_nInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 + CParticleCollectionFloatInput m_nInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 + CParticleCollectionFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 + bool m_bActiveRange; // 0x718 private: - [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 + [[maybe_unused]] uint8_t __pad0719[0x3]; // 0x719 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc + ParticleSetMethod_t m_nSetMethod; // 0x71c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x228 }; // Alignment: 8 -// Size: 0x260 +// Size: 0x280 class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x278 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x27c }; // Alignment: 8 -// Size: 0x270 +// Size: 0x290 class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x280 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x28c }; // Alignment: 4 -// Size: 0x340 +// Size: 0x360 class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 + CPerParticleFloatInput m_flOutput; // 0x218 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 + float m_flStartTime; // 0x358 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 + float m_flEndTime; // 0x35c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 + float m_flOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + float m_flLerpTime; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x220 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x220 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 4 -// Size: 0x360 +// Size: 0x380 class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x210 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x350 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x354 // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x358 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 + ParticleSetMethod_t m_nSetMethod; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + bool m_bIgnoreDelta; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x210 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x218 }; // Alignment: 8 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 private: - [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 + [[maybe_unused]] uint8_t __pad0228[0x28]; // 0x228 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x24]; // 0x22c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x255 }; // Alignment: 4 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x244 }; // Alignment: 10 -// Size: 0x1280 +// Size: 0x1300 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 + CPerParticleVecInput m_vecWaveLength; // 0x718 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 + CPerParticleVecInput m_vecHarmonics; // 0xd00 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c + int32_t m_nLocalSpaceControlPoint; // 0x12ec // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 + bool m_b3D; // 0x12f0 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc + float m_fl4NoiseScale; // 0x21c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 + bool m_bAdditive; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 + float m_flNoiseAnimationTimeScale; // 0x224 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 + Vector m_vecOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 + Vector m_vecOutputMax; // 0x220 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c + float m_fl4NoiseScale; // 0x22c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 + bool m_bAdditive; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 + bool m_bOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 + float m_flNoiseAnimationTimeScale; // 0x234 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x210 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x211 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x210 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x210 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -6044,96 +6845,96 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 + float m_flMinAlpha; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x210 }; // Alignment: 6 -// Size: 0x340 +// Size: 0x370 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x210 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x214 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x218 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x220 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x360 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x210 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x210 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x214 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x218 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x21c }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 + int32_t m_nSpinRateDegrees; // 0x210 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 + int32_t m_nSpinRateMinDegrees; // 0x214 private: - [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 + [[maybe_unused]] uint8_t __pad0218[0x4]; // 0x218 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + float m_fSpinRateStopTime; // 0x21c }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -6141,7 +6942,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_Spin : public CGeneralSpin { public: @@ -6149,7 +6950,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -6157,7 +6958,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -6165,551 +6966,470 @@ public: }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x210 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x214 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x218 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x21c // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0xc]; // 0x214 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x220 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x22c }; // Alignment: 6 -// Size: 0x230 +// Size: 0x250 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x18]; // 0x214 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 + [[maybe_unused]] uint8_t __pad0230[0xc]; // 0x230 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x23c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x240 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x248 }; // Alignment: 15 -// Size: 0x980 +// Size: 0x9c0 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x260 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x264 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x268 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x26c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x270 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x274 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x278 private: - [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x280 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x3c0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x3c4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3c8 private: - [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 + [[maybe_unused]] uint8_t __pad03c9[0x7]; // 0x3c9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x9b8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9bc }; // Alignment: 33 -// Size: 0x740 +// Size: 0x760 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4cc]; // 0x214 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6e0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6e4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6e8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6ec // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6f0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6fc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x708 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x714 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x720 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x724 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x728 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x72c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x730 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x734 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x738 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x73c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x740 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x744 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x748 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x74c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x750 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x751 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x752 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x753 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x754 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x755 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x756 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x757 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x758 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x759 private: - [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a + [[maybe_unused]] uint8_t __pad075a[0x4]; // 0x75a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x75e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x75f }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x214 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x215 }; // Alignment: 5 -// Size: 0x340 +// Size: 0x370 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 + bool m_bSetOrientation; // 0x360 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x21c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x224 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x228 }; // Alignment: 7 -// Size: 0x300 +// Size: 0x320 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f0 + char m_HitboxSetName[128]; // 0x210 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x270 + char m_AttachmentName[128]; // 0x290 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x310 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x314 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x318 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x31c // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x31d }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4b0 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x220 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x360 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 + bool m_bSetOrientation; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 + ParticleAttributeIndex_t m_nOrientationField; // 0x4a4 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 + bool m_bNumBasedOnParticleCount; // 0x4a8 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x21c // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x228 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x22c }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x260 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x264 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x268 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 + float m_flRange; // 0x214 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 + Vector m_vecOffset; // 0x214 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 + bool m_bOffsetLocal; // 0x220 }; // Alignment: 12 -// Size: 0xdf0 +// Size: 0xe60 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 + CParticleCollectionVecInput m_vecOffset; // 0x218 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 + bool m_bOffsetLocal; // 0x800 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 + ParticleSelection_t m_nParticleSelection; // 0x804 // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x808 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 + ParticlePinDistance_t m_nPinBreakType; // 0x948 private: - [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 + [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + CParticleCollectionFloatInput m_flBreakDistance; // 0x950 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa90 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 + CParticleCollectionFloatInput m_flAge; // 0xbd0 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 + int32_t m_nBreakControlPointNumber; // 0xd10 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 + int32_t m_nBreakControlPointNumber2; // 0xd14 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 + CPerParticleFloatInput m_flInterpolation; // 0xd18 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x214 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x218 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x21c // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x224 }; // Alignment: 5 -// Size: 0xa40 +// Size: 0xa90 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x358 private: - [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 + [[maybe_unused]] uint8_t __pad035c[0x4]; // 0x35c public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x360 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x4a0 }; // Alignment: 13 -// Size: 0x810 +// Size: 0x850 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 -private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 -public: - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c - // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x780 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 -private: - [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 -}; - -// Alignment: 10 -// Size: 0x2b0 -class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 -private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 -public: - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad -}; - -// Alignment: 10 -// Size: 0x2c0 -class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: @@ -6717,919 +7437,957 @@ public: CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" CParticleTransformInput m_TransformEnd; // 0x268 + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x2b8 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0x3f8 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x538 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x678 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x7b8 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x7bc + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x7c0 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x840 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x844 +private: + [[maybe_unused]] uint8_t __pad0845[0x3]; // 0x845 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x848 +}; + +// Alignment: 10 +// Size: 0x2d0 +class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x214 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x218 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x21c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x228 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x278 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2c8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2cc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2cd +}; + +// Alignment: 10 +// Size: 0x2e0 +class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x214 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x218 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x21c + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x238 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x288 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2d8 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x2dc + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x2dd }; // Alignment: 12 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 + CParticleTransformInput m_TransformStart; // 0x220 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 + CParticleTransformInput m_TransformEnd; // 0x270 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 + int32_t m_nOutputStartCP; // 0x2c0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 + int32_t m_nOutputStartField; // 0x2c4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 + int32_t m_nOutputEndCP; // 0x2c8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac + int32_t m_nOutputEndField; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 + bool m_bActiveRange; // 0x2d4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 + bool m_bRadialCheck; // 0x2d5 }; // Alignment: 9 -// Size: 0x1270 +// Size: 0x12f0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 + CPerParticleFloatInput m_flInputMin; // 0xde8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 + CPerParticleFloatInput m_flInputMax; // 0xf28 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 + CPerParticleFloatInput m_flOutputMin; // 0x1068 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + CPerParticleFloatInput m_flOutputMax; // 0x11a8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c + bool m_bDeltaTime; // 0x12ec }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 }; // Alignment: 15 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x768 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x729 + char m_CollisionGroupName[128]; // 0x769 private: - [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ec // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7f0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7f4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x7f8 + // MPropertyFriendlyName "only active within specified distance" + bool m_bActiveRange; // 0x7fc + // MPropertyFriendlyName "output is additive" + bool m_bAdditive; // 0x7fd +private: + [[maybe_unused]] uint8_t __pad07fe[0x2]; // 0x7fe +public: + // MPropertyFriendlyName "component scale" + CPerParticleVecInput m_vecComponentScale; // 0x800 +}; + +// Alignment: 11 +// Size: 0x7c0 +class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: + // MPropertyFriendlyName "cylinder inner radius" + CPerParticleFloatInput m_flInputMin; // 0x218 + // MPropertyFriendlyName "cylinder outer radius" + CPerParticleFloatInput m_flInputMax; // 0x358 + // MPropertyFriendlyName "cylinder inner output" + CPerParticleFloatInput m_flOutputMin; // 0x498 + // MPropertyFriendlyName "cylinder outer output" + CPerParticleFloatInput m_flOutputMax; // 0x5d8 + // MPropertyFriendlyName "cylindrical top transform" + CParticleTransformInput m_TransformStart; // 0x718 + // MPropertyFriendlyName "cylindrical bottom transform" + CParticleTransformInput m_TransformEnd; // 0x768 // MPropertyFriendlyName "set value method" ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" bool m_bAdditive; // 0x7bd -private: - [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be -public: - // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 -}; - -// Alignment: 11 -// Size: 0x780 -class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 -private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 -public: - // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 - // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 - // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 - // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 - // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 - // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 - // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c - // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x7be }; // Alignment: 7 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x210 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x21c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 + bool m_bCullOnMiss; // 0x228 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 + bool m_bStickInsteadOfCull; // 0x229 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20a + char m_RtEnvName[128]; // 0x22a private: - [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a + [[maybe_unused]] uint8_t __pad02aa[0x2]; // 0x2aa public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2ac // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2b0 }; // Alignment: 4 -// Size: 0x900 +// Size: 0x950 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x218 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x358 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 }; // Alignment: 8 -// Size: 0x3d0 +// Size: 0x3f0 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x218 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x2a4 private: - [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 + [[maybe_unused]] uint8_t __pad02a5[0x3]; // 0x2a5 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x2b0 }; // Alignment: 14 -// Size: 0x9a0 +// Size: 0x9e0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x214 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x218 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x2a4 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x2a5 private: - [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 + [[maybe_unused]] uint8_t __pad02a6[0x2]; // 0x2a6 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x2a8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x2ac // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x2b0 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x2b4 private: - [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 + [[maybe_unused]] uint8_t __pad02b5[0x3]; // 0x2b5 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x2b8 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x8a0 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x218 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x21c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x220 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x224 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 + float m_flInputBias; // 0x218 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc + int32_t m_nStartCP; // 0x21c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 + int32_t m_nEndCP; // 0x220 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 + int32_t m_nOffsetCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 + int32_t m_nOuputCP; // 0x228 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c + int32_t m_nInputCP; // 0x22c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 + bool m_bRadialCheck; // 0x230 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 + bool m_bScaleOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 + Vector m_vecOffset; // 0x234 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x210 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x214 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x224 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x214 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x220 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x224 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2a0 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 }; // Alignment: 7 -// Size: 0x850 +// Size: 0x890 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 private: - [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 + [[maybe_unused]] uint8_t __pad0297[0x1]; // 0x297 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x298 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x880 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x22c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityMatchingForce : public CParticleFunctionOperator { public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 + float m_flDirScale; // 0x210 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 + float m_flSpdScale; // 0x214 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + int32_t m_nCPBroadcast; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x210 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x21c // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x220 }; // Alignment: 17 -// Size: 0x3f0 +// Size: 0x410 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x350 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x354 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x358 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x35c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x338 + char m_CollisionGroupName[128]; // 0x360 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3e0 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3e4 // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3e8 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3ec private: - [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 + [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3f8 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3fc // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3fd private: - [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 + [[maybe_unused]] uint8_t __pad03fe[0x2]; // 0x3fe public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x400 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x401 private: - [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da + [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x404 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x408 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x220 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x220 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x360 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x21c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x218 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x210 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x214 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x21c // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x21c }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x210 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7f8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x938 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 + bool m_bLocalSpace; // 0x988 }; // Alignment: 7 -// Size: 0x350 +// Size: 0x380 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 + Vector m_vecRotAxisMin; // 0x214 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 + Vector m_vecRotAxisMax; // 0x220 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c + float m_flRotRateMin; // 0x22c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 + float m_flRotRateMax; // 0x230 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 + bool m_bNormalize; // 0x234 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + CPerParticleFloatInput m_flScale; // 0x238 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x210 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x214 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 + int32_t m_nDesiredVelocityCP; // 0x210 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 + int32_t m_nLatencyCP; // 0x214 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 + int32_t m_nLatencyCPField; // 0x218 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc + int32_t m_nDesiredVelocityCPField; // 0x21c }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x210 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x214 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x218 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x21c // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x220 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 + bool m_bUseParticleCount; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0xe]; // 0x222 public: - CPathParameters m_PathParams; // 0x210 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x210 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x214 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 + bool m_bCPPairs; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x7]; // 0x219 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0210[0x4]; // 0x210 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 + float m_flFadeStart; // 0x214 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 + float m_flFadeEnd; // 0x218 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc + bool m_bCPPairs; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x210 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x234 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x235 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 -}; - -// Alignment: 1 -// Size: 0x200 -class C_OP_NormalLock : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 -}; - -// Alignment: 13 -// Size: 0x240 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "emitter lifetime start time (seconds)" float m_flStartTime; // 0x22c // MPropertyFriendlyName "emitter lifetime end time (seconds)" @@ -7638,259 +8396,302 @@ public: float m_flInterpRate; // 0x234 // MPropertyFriendlyName "set value method" ParticleSetMethod_t m_nSetMethod; // 0x238 +}; + +// Alignment: 1 +// Size: 0x220 +class C_OP_NormalLock : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x210 +}; + +// Alignment: 13 +// Size: 0x260 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x210 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x218 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x21c + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x228 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x234 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x240 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x24c + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x250 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x254 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x258 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c + bool m_bOffset; // 0x25c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d + bool m_bAccelerate; // 0x25d }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x21c }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x210 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x214 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc + float m_flOffsetRot; // 0x21c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 + Vector m_vecOffsetAxis; // 0x220 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c + bool m_bNormalize; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 + ParticleAttributeIndex_t m_nFieldStrength; // 0x230 }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x210 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xde0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xde4 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x218 }; // Alignment: 9 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x214 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x218 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x21c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x200 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x2a4 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0xc]; // 0x2ac public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x2b8 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x260 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x26c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x26d }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x218 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x21c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x218 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x230 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x234 }; // Alignment: 9 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 + bool m_bProportional; // 0x261 private: - [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + float m_flRemapTime; // 0x26c }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7898,7 +8699,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7906,7 +8707,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7914,32 +8715,32 @@ public: }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0261[0x3]; // 0x261 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7947,7 +8748,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7955,7 +8756,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7963,2160 +8764,2207 @@ public: }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x214 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x218 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x21c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x220 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x224 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x228 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x368 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x4a8 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5e8 }; // Alignment: 9 -// Size: 0x910 +// Size: 0x960 class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x214 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x360 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x948 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x94c // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x94d private: - [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 + [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x950 }; // Alignment: 5 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x358 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x498 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c + ParticleSetMethod_t m_nSetMethod; // 0x49c }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe60 class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xde8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdec // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xdf0 }; // Alignment: 6 -// Size: 0xed0 +// Size: 0xf30 class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 + VectorFloatExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 + CParticleRemapFloatInput m_flOutputRemap; // 0xde8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 + ParticleAttributeIndex_t m_nOutputField; // 0xf28 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 + ParticleSetMethod_t m_nSetMethod; // 0xf2c }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x730 class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x21c // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x220 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x6]; // 0x222 public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x228 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x368 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x4a8 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5e8 }; // Alignment: 6 -// Size: 0x470 +// Size: 0x4a0 class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 + int32_t m_nSnapshotControlPointNumber; // 0x214 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 + bool m_bSetNormal; // 0x218 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 + bool m_bSetRadius; // 0x219 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad021a[0x6]; // 0x21a public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 + CPerParticleFloatInput m_flTValue; // 0x360 }; // Alignment: 2 -// Size: 0x350 +// Size: 0x380 class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x358 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x358 }; // Alignment: 5 -// Size: 0x900 +// Size: 0x950 class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7fc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x800 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x940 +}; + +// Alignment: 3 +// Size: 0x940 +class C_OP_DragRelativeToPlane : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "dampening" + CParticleCollectionFloatInput m_flDragAtPlane; // 0x210 + // MPropertyFriendlyName "plane normal" + // MVectorIsCoordinate + CParticleCollectionVecInput m_vecPlaneNormal; // 0x350 + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x938 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x210 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x214 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x218 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x21c // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 + int32_t m_nCP0; // 0x210 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 + int32_t m_nCP1; // 0x214 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 + float m_flMinInputValue; // 0x218 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc + float m_flMaxInputValue; // 0x21c // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + bool m_bInfiniteLine; // 0x220 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 + float m_flMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + float m_flMaxOutputValue; // 0x238 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x240 }; // Alignment: 11 -// Size: 0x230 +// Size: 0x250 class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x210 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x214 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x218 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x21c // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x220 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x224 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x228 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x234 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x238 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x23c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x240 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x240 class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x210 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x214 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x218 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x21c // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x220 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x224 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x228 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x22c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 }; // Alignment: 11 -// Size: 0x250 +// Size: 0x270 class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 + Vector m_vStartValue; // 0x210 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput1; // 0x21c // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 + float m_flInputScale1; // 0x220 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + ParticleAttributeIndex_t m_nFieldInput2; // 0x224 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 + float m_flInputScale2; // 0x228 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c + ControlPointReference_t m_nControlPointInput1; // 0x22c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 + float m_flControlPointScale1; // 0x240 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 + ControlPointReference_t m_nControlPointInput2; // 0x244 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 + float m_flControlPointScale2; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 + Vector m_vFinalOutputScale; // 0x260 }; // Alignment: 3 -// Size: 0x5a0 +// Size: 0x5d0 class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + CPerParticleFloatInput m_flHueAdjust; // 0x210 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + CPerParticleFloatInput m_flSaturationAdjust; // 0x350 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 + CPerParticleFloatInput m_flLightnessAdjust; // 0x490 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x210 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x214 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x210 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x214 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x218 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x21c // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x220 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x224 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x23c }; // Alignment: 10 -// Size: 0xd40 +// Size: 0xda0 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x730 private: - [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 + [[maybe_unused]] uint8_t __pad0734[0x4]; // 0x734 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x738 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xcc0 + char m_HitboxSetName[128]; // 0xd20 }; // Alignment: 8 -// Size: 0x6f0 +// Size: 0x730 class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x220 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x22c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x368 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x4a8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5e8 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5ec }; // Alignment: 6 -// Size: 0xee0 +// Size: 0xf40 class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 + VectorFloatExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 + CParticleCollectionVecInput m_vecInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 + CParticleCollectionVecInput m_vecInput2; // 0x810 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + CParticleRemapFloatInput m_flOutputRemap; // 0xdf8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 + int32_t m_nOutputCP; // 0xf38 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 + int32_t m_nOutVectorField; // 0xf3c }; // Alignment: 5 -// Size: 0xda0 +// Size: 0xe00 class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xdf8 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "output CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x224 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x230 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x224 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x224 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x230 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x224 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x228 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x22c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x230 }; // Alignment: 12 -// Size: 0x250 +// Size: 0x270 class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 + bool m_bSetOnce; // 0x222 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 + int32_t m_nCP2; // 0x228 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c + int32_t m_nCP3; // 0x22c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 + int32_t m_nCP4; // 0x230 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 + Vector m_vecCP1Pos; // 0x234 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 + Vector m_vecCP2Pos; // 0x240 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c + Vector m_vecCP3Pos; // 0x24c // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 + Vector m_vecCP4Pos; // 0x258 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 + int32_t m_nHeadLocation; // 0x264 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x810 }; // Alignment: 4 -// Size: 0x350 +// Size: 0x370 class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 + int32_t m_nHeadLocationMin; // 0x224 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 + int32_t m_nHeadLocationMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + CParticleCollectionFloatInput m_flResetRate; // 0x230 }; // Alignment: 8 -// Size: 0x4a0 +// Size: 0x4d0 class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x230 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x370 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x37c // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x388 }; // Alignment: 8 -// Size: 0x360 +// Size: 0x390 class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x1]; // 0x221 public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x222 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x223 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x22c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x238 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x248 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 15 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x220 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x22c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x230 private: - [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 + [[maybe_unused]] uint8_t __pad0231[0x3]; // 0x231 public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x240 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x244 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x248 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x24c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x22d + char m_CollisionGroupName[128]; // 0x24d private: - [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2d0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2d4 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x230 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x224 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x234 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 + bool m_bOrientToHMD; // 0x230 }; // Alignment: 3 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x224 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x2a4 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 }; // Alignment: 6 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 + int32_t m_nCPOutputVel; // 0x224 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 + bool m_bNormalize; // 0x228 private: - [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c + int32_t m_nCPOutputMag; // 0x22c // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 + int32_t m_nCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x238 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x220 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x360 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x361 }; // Alignment: 4 -// Size: 0x910 +// Size: 0x950 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x220 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x808 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x948 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x94c }; // Alignment: 10 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x224 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x240 private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x244 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x220 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x224 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x22c }; // Alignment: 11 -// Size: 0x3f0 +// Size: 0x410 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x220 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x224 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x230 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x370 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x374 // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x378 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x35c + char m_CollisionGroupName[128]; // 0x384 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x404 // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x408 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x409 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x370 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x220 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x368 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x369 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x36a }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x224 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x228 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x360 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x4a0 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5e0 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5e1 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x220 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x221 }; // Alignment: 1 -// Size: 0x210 +// Size: 0x230 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 + int32_t m_ControlPoint; // 0x220 }; // Alignment: 9 -// Size: 0x240 +// Size: 0x260 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 + int32_t m_nOutputControlPoint; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 + int32_t m_nOutputField; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 + CUtlString m_StackName; // 0x238 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 + CUtlString m_OperatorName; // 0x240 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 + CUtlString m_FieldName; // 0x248 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x228 }; // Alignment: 7 -// Size: 0x360 +// Size: 0x380 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 + int32_t m_nFlowCP; // 0x228 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c + int32_t m_nActiveCP; // 0x22c // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 + int32_t m_nActiveCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 + CParticleCollectionFloatInput m_flRetestRate; // 0x238 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 + bool m_bAdaptiveThreshold; // 0x378 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x228 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x368 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x4a8 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5e8 }; // Alignment: 2 -// Size: 0x340 +// Size: 0x370 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x228 }; // Alignment: 1 -// Size: 0x340 +// Size: 0x360 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x220 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x220 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x230 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x234 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x238 }; // Alignment: 15 -// Size: 0xf80 +// Size: 0x1000 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x220 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x224 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x230 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x370 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x4b0 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5f0 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x730 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x870 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xaf0 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc30 private: - [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 + [[maybe_unused]] uint8_t __pad0c34[0x4]; // 0xc34 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xc38 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd78 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xeb8 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x228 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x810 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x814 }; // Alignment: 4 -// Size: 0x480 +// Size: 0x4b0 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x360 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x364 // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x368 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderPoints : public CParticleFunctionRenderer { public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x260 }; // Alignment: 7 -// Size: 0x22e0 +// Size: 0x2510 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2270 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2274 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2278 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x227c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2280 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x23c0 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 + bool m_bClampV; // 0x2500 }; // Alignment: 20 -// Size: 0x3390 +// Size: 0x3620 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x2510 private: - [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 + [[maybe_unused]] uint8_t __pad2511[0x3]; // 0x2511 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x2514 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x2518 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x251c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x2520 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x2524 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x2528 private: - [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 + [[maybe_unused]] uint8_t __pad2529[0x3]; // 0x2529 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x252c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2530 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2534 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2538 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2678 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2c60 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2da0 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2ee0 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x34c8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3608 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x360c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3610 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3614 }; // Alignment: 30 -// Size: 0x2460 +// Size: 0x26a0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2270 private: - [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 + [[maybe_unused]] uint8_t __pad2271[0x3]; // 0x2271 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2274 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2278 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x227c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2280 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2284 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2288 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x228c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2290 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2294 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2298 private: - [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c + [[maybe_unused]] uint8_t __pad229c[0x4]; // 0x229c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x22a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x23e0 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2520 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2660 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x2664 private: - [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d + [[maybe_unused]] uint8_t __pad2665[0x3]; // 0x2665 public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2668 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x266c // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2670 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x2674 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x1]; // 0x267c public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x267d private: - [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 + [[maybe_unused]] uint8_t __pad267e[0x2]; // 0x267e public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2680 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x2684 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2688 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2689 private: - [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 + [[maybe_unused]] uint8_t __pad268a[0x2]; // 0x268a public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x268c // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2690 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x2694 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x2695 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderAsModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x260 private: - [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 + [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x27c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x280 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x281 private: - [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 + [[maybe_unused]] uint8_t __pad0282[0x2]; // 0x282 public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x284 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x288 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x28c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x290 }; // Alignment: 7 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderLights : public C_OP_RenderPoints { public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x270 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x274 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x278 private: - [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x27c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x280 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x284 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x288 }; // Alignment: 5 -// Size: 0x5f0 +// Size: 0x630 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionRendererFloatInput m_cubeWidth; // 0x260 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x3a0 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4e0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 + int32_t m_nScaleCP; // 0x620 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x628 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x260 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x264 }; -// Alignment: 47 -// Size: 0x20d0 +// Alignment: 48 +// Size: 0x22e0 class C_OP_RenderModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 + bool m_bOnlyRenderInEffectsBloomPass; // 0x260 // MPropertyFriendlyName "Only Render in effects water pass" // MPropertySortPriority "1050" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 + bool m_bOnlyRenderInEffectsWaterPass; // 0x261 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 + bool m_bUseMixedResolutionRendering; // 0x262 // MPropertyFriendlyName "Only Render in effects game overlay pass" // MPropertySortPriority "1210" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 + bool m_bOnlyRenderInEffecsGameOverlay; // 0x263 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 + CUtlVector< ModelReference_t > m_ModelList; // 0x268 private: - [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 + [[maybe_unused]] uint8_t __pad0280[0x4]; // 0x280 public: // MPropertyFriendlyName "bodygroup field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 + ParticleAttributeIndex_t m_nBodyGroupField; // 0x284 // MPropertyFriendlyName "submodel field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 + ParticleAttributeIndex_t m_nSubModelField; // 0x288 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "ignore normal" // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c + bool m_bIgnoreNormal; // 0x28c // MPropertyFriendlyName "orient model z to normal" // MPropertySortPriority "750" // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d + bool m_bOrientZ; // 0x28d // MPropertyFriendlyName "center mesh" // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e + bool m_bCenterOffset; // 0x28e private: - [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f public: // MPropertyFriendlyName "model local offset" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 + CPerParticleVecInput m_vecLocalOffset; // 0x290 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 + CPerParticleVecInput m_vecLocalRotation; // 0x878 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 + bool m_bIgnoreRadius; // 0xe60 private: - [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 + [[maybe_unused]] uint8_t __pad0e61[0x3]; // 0xe61 public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 + int32_t m_nModelScaleCP; // 0xe64 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 + CPerParticleVecInput m_vecComponentScale; // 0xe68 // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 + bool m_bLocalScale; // 0x1450 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 + bool m_bAnimated; // 0x1451 private: - [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 + [[maybe_unused]] uint8_t __pad1452[0x2]; // 0x1452 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 + float m_flAnimationRate; // 0x1454 // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 + bool m_bScaleAnimationRate; // 0x1458 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 + bool m_bForceLoopingAnimation; // 0x1459 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca + bool m_bResetAnimOnStop; // 0x145a // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb + bool m_bManualAnimFrame; // 0x145b // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x145c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 + ParticleAttributeIndex_t m_nAnimationField; // 0x1460 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 + ParticleAttributeIndex_t m_nManualFrameField; // 0x1464 // MPropertyFriendlyName "activity override" + // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x13d8 + char m_ActivityName[256]; // 0x1468 + // MPropertyFriendlyName "sequence override" + // MPropertySuppressExpr "mod == dota" + // MPropertySortPriority "500" + char m_SequenceName[256]; // 0x1568 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x14d8 + bool m_bEnableClothSimulation; // 0x1668 private: - [[maybe_unused]] uint8_t __pad14d9[0x7]; // 0x14d9 + [[maybe_unused]] uint8_t __pad1669[0x7]; // 0x1669 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x14e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1670 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x14e8 + bool m_bOverrideTranslucentMaterials; // 0x1678 private: - [[maybe_unused]] uint8_t __pad14e9[0x3]; // 0x14e9 + [[maybe_unused]] uint8_t __pad1679[0x3]; // 0x1679 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0x14ec + int32_t m_nSkin; // 0x167c // MPropertyFriendlyName "skin override CP" // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x14f0 + int32_t m_nSkinCP; // 0x1680 private: - [[maybe_unused]] uint8_t __pad14f4[0x4]; // 0x14f4 + [[maybe_unused]] uint8_t __pad1684[0x4]; // 0x1684 public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x14f8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1688 // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "input model" + CParticleModelInput m_modelInput; // 0x16a0 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1510 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1514 + int32_t m_nLOD; // 0x16e8 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1518 + char m_EconSlotName[256]; // 0x16ec // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1618 + bool m_bOriginalModel; // 0x17ec // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1619 + bool m_bSuppressTint; // 0x17ed // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x161a + bool m_bUseRawMeshGroup; // 0x17ee // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x161b + bool m_bDisableShadows; // 0x17ef // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x161c + bool m_bForceDrawInterlevedWithSiblings; // 0x17f0 // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x161d + char m_szRenderAttribute[260]; // 0x17f1 private: - [[maybe_unused]] uint8_t __pad1721[0x7]; // 0x1721 + [[maybe_unused]] uint8_t __pad18f5[0x3]; // 0x18f5 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1728 + CParticleCollectionFloatInput m_flRadiusScale; // 0x18f8 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1860 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1a38 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1998 + CParticleCollectionFloatInput m_flRollScale; // 0x1b78 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1ad0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1cb8 private: - [[maybe_unused]] uint8_t __pad1ad4[0x4]; // 0x1ad4 + [[maybe_unused]] uint8_t __pad1cbc[0x4]; // 0x1cbc public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1ad8 + CParticleCollectionVecInput m_vecColorScale; // 0x1cc0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x20a0 + ParticleColorBlendType_t m_nColorBlendType; // 0x22a8 }; // Alignment: 8 -// Size: 0xab0 +// Size: 0xb10 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 + int32_t m_nMaterialControlPoint; // 0x260 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 + MaterialProxyType_t m_nProxyType; // 0x264 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x268 // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x280 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x288 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 + CParticleCollectionVecInput m_vecColorScale; // 0x3c8 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 + CPerParticleFloatInput m_flAlpha; // 0x9b0 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + ParticleColorBlendType_t m_nColorBlendType; // 0xaf0 }; // Alignment: 11 -// Size: 0x280 +// Size: 0x2b0 class C_OP_RenderProjected : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x260 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x261 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x262 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x263 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x264 private: - [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 + [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x268 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x26c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x270 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x278 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x27c private: - [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x280 }; // Alignment: 16 -// Size: 0x840 +// Size: 0x890 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x260 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x261 private: - [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x268 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x26c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x270 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x85c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x860 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x864 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x868 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x86c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x870 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x874 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x878 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x880 }; // Alignment: 29 -// Size: 0x1220 +// Size: 0x12b0 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x268 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 private: - [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x858 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x998 private: - [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 + [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x9a0 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xae0 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc20 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd60 private: - [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 + [[maybe_unused]] uint8_t __pad0d64[0x4]; // 0xd64 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd68 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xea8 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xfe8 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x1128 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x1129 private: - [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 + [[maybe_unused]] uint8_t __pad112a[0x6]; // 0x112a public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x1130 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x1138 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x113c // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x1140 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1280 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x1284 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x1288 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x1289 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad128a[0x2]; // 0x128a public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x128c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1290 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1294 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x129c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x12a0 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x12a4 }; // Alignment: 13 -// Size: 0x10b0 +// Size: 0x1130 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x268 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x854 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x858 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 + [[maybe_unused]] uint8_t __pad0ad9[0x7]; // 0xad9 public: // MPropertyFriendlyName "Light Radius" - // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xae0 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xc20 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xd60 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xea0 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xfe0 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1120 +}; + +// Alignment: 7 +// Size: 0xd60 +class C_OP_RenderLightBeam : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Color Blend" + CParticleCollectionVecInput m_vColorBlend; // 0x260 + // MPropertyFriendlyName "Color Blend Type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x848 +private: + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c +public: + // MPropertyFriendlyName "Lumens Per Meter" + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x850 + // MPropertyFriendlyName "Shadows" + // MPropertySuppressExpr "mod == csgo" + bool m_bCastShadows; // 0x990 +private: + [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 +public: + // MPropertyFriendlyName "Skirt" + CParticleCollectionFloatInput m_flSkirt; // 0x998 + // MPropertyFriendlyName "Range" + CParticleCollectionFloatInput m_flRange; // 0xad8 + // MPropertyFriendlyName "Thickness" + CParticleCollectionFloatInput m_flThickness; // 0xc18 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_RenderClothForce : public CParticleFunctionRenderer { public: @@ -10124,7 +10972,7 @@ public: }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_Callback : public CParticleFunctionRenderer { public: @@ -10132,228 +10980,228 @@ public: }; // Alignment: 9 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderScreenShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x268 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x26c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x278 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x27c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x280 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderTonemapController : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x260 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x264 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x268 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x26c }; // Alignment: 3 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x260 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x3a0 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x3a8 }; // Alignment: 12 -// Size: 0x360 +// Size: 0x390 class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x264 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x268 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x26c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x278 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x27c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x280 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x284 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char m_pszSoundName[256]; // 0x258 + char m_pszSoundName[256]; // 0x288 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x388 }; // Alignment: 7 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderStatusEffect : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x268 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x270 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x278 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x280 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x288 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x290 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x268 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x270 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x278 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x280 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x288 }; // Alignment: 3 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x260 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x268 }; // Alignment: 10 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderTreeShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 + float m_flPeakStrength; // 0x260 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 + float m_flRadius; // 0x268 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x26c // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 + float m_flShakeDuration; // 0x270 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 + float m_flTransitionTime; // 0x274 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 + float m_flTwistAmount; // 0x278 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c + float m_flRadialAmount; // 0x27c // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 + float m_flControlPointOrientationAmount; // 0x280 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 + int32_t m_nControlPointForLinearDirection; // 0x284 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderText : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x268 }; // Alignment: 4 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x260 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x264 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x268 private: - [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x270 }; diff --git a/sdk/resourcesystem.hpp b/sdk/resourcesystem.hpp index 01fa6633..8e47d4d8 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll -// Classes count: 52 +// Classes count: 53 // Enums count: 2 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -95,6 +95,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeIPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeIParticleSystemDefinition @@ -437,7 +447,7 @@ public: // Alignment: 0 // Size: 0x1 -class InfoForResourceTypeCCSGOItem +class InfoForResourceTypeCCSGOEconItem { private: [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 diff --git a/sdk/server.hpp b/sdk/server.hpp index a75329f4..7efeb2cc 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: server.dll -// Classes count: 7914 -// Enums count: 315 +// Classes count: 8092 +// Enums count: 314 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -625,17 +625,6 @@ enum class ChatIgnoreType_t : uint32_t CHAT_IGNORE_TEAM = 0x2, }; -// Alignment: 1 -// Size: 0x5 -enum class VehiclePassengerState_t : uint8_t -{ - PASSENGER_NOT_THERE = 0x0, - PASSENGER_FLIPPING_VEHICLE = 0x1, - PASSENGER_ENTERING_VEHICLE = 0x2, - PASSENGER_IN_VEHICLE = 0x3, - PASSENGER_EXITING_VEHICLE = 0x4, -}; - // Alignment: 4 // Size: 0x4 enum class CommandExecMode_t : uint32_t @@ -783,11 +772,3947 @@ enum class WeaponSound_t : uint32_t // Alignment: 4 // Size: 0x3 -enum class WheeledPhysicsVehicleChassisFrame_t : uint32_t +enum class AmmoFlags_t : uint32_t { - WHEELED_VEHICLE_CHASSIS_FRAME_XFORWARD_YLEFT = 0x0, - WHEELED_VEHICLE_CHASSIS_FRAME_ZFORWARD_XLEFT = 0x1, - WHEELED_VEHICLE_CHASSIS_FRAME_YBACKWARD_XLEFT = 0x2, + AMMO_FORCE_DROP_IF_CARRIED = 0x1, + AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2, + AMMO_FLAG_MAX = 0x2, +}; + +// Alignment: 4 +// Size: 0xd +enum class TakeDamageFlags_t : uint32_t +{ + DFLAG_NONE = 0x0, + DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, + DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, + DFLAG_SUPPRESS_EFFECTS = 0x4, + DFLAG_PREVENT_DEATH = 0x8, + DFLAG_FORCE_DEATH = 0x10, + DFLAG_ALWAYS_GIB = 0x20, + DFLAG_NEVER_GIB = 0x40, + DFLAG_REMOVE_NO_RAGDOLL = 0x80, + DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100, + DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200, + DFLAG_RADIUS_DMG = 0x400, + DMG_LASTDFLAG = 0x400, +}; + +// Alignment: 4 +// Size: 0x16 +enum class DamageTypes_t : uint32_t +{ + DMG_GENERIC = 0x0, + DMG_CRUSH = 0x1, + DMG_BULLET = 0x2, + DMG_SLASH = 0x4, + DMG_BURN = 0x8, + DMG_VEHICLE = 0x10, + DMG_FALL = 0x20, + DMG_BLAST = 0x40, + DMG_CLUB = 0x80, + DMG_SHOCK = 0x100, + DMG_SONIC = 0x200, + DMG_ENERGYBEAM = 0x400, + DMG_DROWN = 0x4000, + DMG_POISON = 0x8000, + DMG_RADIATION = 0x10000, + DMG_DROWNRECOVER = 0x20000, + DMG_ACID = 0x40000, + DMG_PHYSGUN = 0x100000, + DMG_DISSOLVE = 0x200000, + DMG_BLAST_SURFACE = 0x400000, + DMG_BUCKSHOT = 0x1000000, + DMG_LASTGENERICFLAG = 0x1000000, +}; + +// Alignment: 4 +// Size: 0x11 +enum class BaseExplosionTypes_t : uint32_t +{ + EXPLOSION_TYPE_DEFAULT = 0x0, + EXPLOSION_TYPE_GRENADE = 0x1, + EXPLOSION_TYPE_MOLOTOV = 0x2, + EXPLOSION_TYPE_FIREWORKS = 0x3, + EXPLOSION_TYPE_GASCAN = 0x4, + EXPLOSION_TYPE_GASCYLINDER = 0x5, + EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6, + EXPLOSION_TYPE_ELECTRICAL = 0x7, + EXPLOSION_TYPE_EMP = 0x8, + EXPLOSION_TYPE_SHRAPNEL = 0x9, + EXPLOSION_TYPE_SMOKEGRENADE = 0xa, + EXPLOSION_TYPE_FLASHBANG = 0xb, + EXPLOSION_TYPE_TRIPMINE = 0xc, + EXPLOSION_TYPE_ICE = 0xd, + EXPLOSION_TYPE_NONE = 0xe, + EXPLOSION_TYPE_CUSTOM = 0xf, + EXPLOSION_TYPE_COUNT = 0x10, +}; + +// Alignment: 1 +// Size: 0x3 +enum class DamageOptions_t : uint8_t +{ + DAMAGE_NO = 0x0, + DAMAGE_EVENTS_ONLY = 0x1, + DAMAGE_YES = 0x2, +}; + +// Alignment: 4 +// Size: 0x6 +enum class HierarchyType_t : uint32_t +{ + HIERARCHY_NONE = 0x0, + HIERARCHY_BONE_MERGE = 0x1, + HIERARCHY_ATTACHMENT = 0x2, + HIERARCHY_ABSORIGIN = 0x3, + HIERARCHY_BONE = 0x4, + HIERARCHY_TYPE_COUNT = 0x5, +}; + +// Alignment: 4 +// Size: 0x3 +enum class CanPlaySequence_t : uint32_t +{ + CANNOT_PLAY = 0x0, + CAN_PLAY_NOW = 0x1, + CAN_PLAY_ENQUEUED = 0x2, +}; + +// Alignment: 4 +// Size: 0x6 +enum class ScriptedMoveTo_t : uint32_t +{ + CINE_MOVETO_WAIT = 0x0, + CINE_MOVETO_WALK = 0x1, + CINE_MOVETO_RUN = 0x2, + CINE_MOVETO_CUSTOM = 0x3, + CINE_MOVETO_TELEPORT = 0x4, + CINE_MOVETO_WAIT_FACING = 0x5, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ScriptedOnDeath_t : uint32_t +{ + SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, + SS_ONDEATH_UNDEFINED = 0x0, + SS_ONDEATH_RAGDOLL = 0x1, + SS_ONDEATH_ANIMATED_DEATH = 0x2, +}; + +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ScriptState_t : uint32_t +{ + SCRIPT_PLAYING = 0x0, + SCRIPT_WAIT = 0x1, + SCRIPT_POST_IDLE = 0x2, + SCRIPT_CLEANUP = 0x3, + SCRIPT_WALK_TO_MARK = 0x4, + SCRIPT_RUN_TO_MARK = 0x5, + SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, +}; + +// Alignment: 4 +// Size: 0x7 +enum class IChoreoServices__ChoreoState_t : uint32_t +{ + STATE_PRE_SCRIPT = 0x0, + STATE_WAIT_FOR_SCRIPT = 0x1, + STATE_WALK_TO_MARK = 0x2, + STATE_SYNCHRONIZE_SCRIPT = 0x3, + STATE_PLAY_SCRIPT = 0x4, + STATE_PLAY_SCRIPT_POST_IDLE = 0x5, + STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, +}; + +// Alignment: 8 +// Size: 0x12 +enum class InputBitMask_t : uint64_t +{ + IN_NONE = 0x0, + IN_ALL = 0xffffffffffffffff, + IN_ATTACK = 0x1, + IN_JUMP = 0x2, + IN_DUCK = 0x4, + IN_FORWARD = 0x8, + IN_BACK = 0x10, + IN_USE = 0x20, + IN_TURNLEFT = 0x80, + IN_TURNRIGHT = 0x100, + IN_MOVELEFT = 0x200, + IN_MOVERIGHT = 0x400, + IN_ATTACK2 = 0x800, + IN_RELOAD = 0x2000, + IN_SPEED = 0x10000, + IN_JOYAUTOSPRINT = 0x20000, + IN_FIRST_MOD_SPECIFIC_BIT = 0x100000000, + IN_QUERY = 0x100000000, +}; + +// Alignment: 4 +// Size: 0x9 +enum class EInButtonState : uint32_t +{ + IN_BUTTON_UP = 0x0, + IN_BUTTON_DOWN = 0x1, + IN_BUTTON_DOWN_UP = 0x2, + IN_BUTTON_UP_DOWN = 0x3, + IN_BUTTON_UP_DOWN_UP = 0x4, + IN_BUTTON_DOWN_UP_DOWN = 0x5, + IN_BUTTON_DOWN_UP_DOWN_UP = 0x6, + IN_BUTTON_UP_DOWN_UP_DOWN = 0x7, + IN_BUTTON_STATE_COUNT = 0x8, +}; + +// Alignment: 4 +// Size: 0x6 +enum class ShakeCommand_t : uint32_t +{ + SHAKE_START = 0x0, + SHAKE_STOP = 0x1, + SHAKE_AMPLITUDE = 0x2, + SHAKE_FREQUENCY = 0x3, + SHAKE_START_RUMBLEONLY = 0x4, + SHAKE_START_NORUMBLE = 0x5, +}; + +// Alignment: 4 +// Size: 0x5 +enum class TimelineCompression_t : uint32_t +{ + TIMELINE_COMPRESSION_SUM = 0x0, + TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1, + TIMELINE_COMPRESSION_AVERAGE = 0x2, + TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3, + TIMELINE_COMPRESSION_TOTAL = 0x4, +}; + +// Alignment: 8 +// Size: 0x28 +enum class DebugOverlayBits_t : uint64_t +{ + OVERLAY_TEXT_BIT = 0x1, + OVERLAY_NAME_BIT = 0x2, + OVERLAY_BBOX_BIT = 0x4, + OVERLAY_PIVOT_BIT = 0x8, + OVERLAY_MESSAGE_BIT = 0x10, + OVERLAY_ABSBOX_BIT = 0x20, + OVERLAY_RBOX_BIT = 0x40, + OVERLAY_SHOW_BLOCKSLOS = 0x80, + OVERLAY_ATTACHMENTS_BIT = 0x100, + OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200, + OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400, + OVERLAY_SKELETON_BIT = 0x800, + OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000, + OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000, + OVERLAY_HITBOX_BIT = 0x4000, + OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000, + OVERLAY_AUTOAIM_BIT = 0x10000, + OVERLAY_NPC_SELECTED_BIT = 0x20000, + OVERLAY_JOINT_INFO_BIT = 0x40000, + OVERLAY_NPC_ROUTE_BIT = 0x80000, + OVERLAY_NPC_TRIANGULATE_BIT = 0x100000, + OVERLAY_NPC_ZAP_BIT = 0x200000, + OVERLAY_NPC_ENEMIES_BIT = 0x400000, + OVERLAY_NPC_CONDITIONS_BIT = 0x800000, + OVERLAY_NPC_COMBAT_BIT = 0x1000000, + OVERLAY_NPC_TASK_BIT = 0x2000000, + OVERLAY_NPC_BODYLOCATIONS = 0x4000000, + OVERLAY_NPC_VIEWCONE_BIT = 0x8000000, + OVERLAY_NPC_KILL_BIT = 0x10000000, + OVERLAY_WC_CHANGE_ENTITY = 0x20000000, + OVERLAY_BUDDHA_MODE = 0x40000000, + OVERLAY_NPC_STEERING_REGULATIONS = 0x80000000, + OVERLAY_NPC_TASK_TEXT_BIT = 0x100000000, + OVERLAY_PROP_DEBUG = 0x200000000, + OVERLAY_NPC_RELATION_BIT = 0x400000000, + OVERLAY_VIEWOFFSET = 0x800000000, + OVERLAY_VCOLLIDE_WIREFRAME_BIT = 0x1000000000, + OVERLAY_NPC_NEAREST_NODE_BIT = 0x2000000000, + OVERLAY_ACTORNAME_BIT = 0x4000000000, + OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000, +}; + +// Alignment: 1 +// Size: 0xd +enum class MoveType_t : uint8_t +{ + MOVETYPE_NONE = 0x0, + MOVETYPE_OBSOLETE = 0x1, + MOVETYPE_WALK = 0x2, + MOVETYPE_STEP = 0x3, + MOVETYPE_FLY = 0x4, + MOVETYPE_FLYGRAVITY = 0x5, + MOVETYPE_VPHYSICS = 0x6, + MOVETYPE_PUSH = 0x7, + MOVETYPE_NOCLIP = 0x8, + MOVETYPE_OBSERVER = 0x9, + MOVETYPE_CUSTOM = 0xa, + MOVETYPE_LAST = 0xb, + MOVETYPE_MAX_BITS = 0x5, +}; + +// Alignment: 1 +// Size: 0x6 +enum class MoveCollide_t : uint8_t +{ + MOVECOLLIDE_DEFAULT = 0x0, + MOVECOLLIDE_FLY_BOUNCE = 0x1, + MOVECOLLIDE_FLY_CUSTOM = 0x2, + MOVECOLLIDE_FLY_SLIDE = 0x3, + MOVECOLLIDE_COUNT = 0x4, + MOVECOLLIDE_MAX_BITS = 0x3, +}; + +// Alignment: 1 +// Size: 0x9 +enum class SolidType_t : uint8_t +{ + SOLID_NONE = 0x0, + SOLID_BSP = 0x1, + SOLID_BBOX = 0x2, + SOLID_OBB = 0x3, + SOLID_SPHERE = 0x4, + SOLID_POINT = 0x5, + SOLID_VPHYSICS = 0x6, + SOLID_CAPSULE = 0x7, + SOLID_LAST = 0x8, +}; + +// Alignment: 4 +// Size: 0x3 +enum class BrushSolidities_e : uint32_t +{ + BRUSHSOLID_TOGGLE = 0x0, + BRUSHSOLID_NEVER = 0x1, + BRUSHSOLID_ALWAYS = 0x2, +}; + +// Alignment: 1 +// Size: 0xd +enum class RenderMode_t : uint8_t +{ + kRenderNormal = 0x0, + kRenderTransColor = 0x1, + kRenderTransTexture = 0x2, + kRenderGlow = 0x3, + kRenderTransAlpha = 0x4, + kRenderTransAdd = 0x5, + kRenderEnvironmental = 0x6, + kRenderTransAddFrameBlend = 0x7, + kRenderTransAlphaAdd = 0x8, + kRenderWorldGlow = 0x9, + kRenderNone = 0xa, + kRenderDevVisualizer = 0xb, + kRenderModeCount = 0xc, +}; + +// Alignment: 1 +// Size: 0x14 +enum class RenderFx_t : uint8_t +{ + kRenderFxNone = 0x0, + kRenderFxPulseSlow = 0x1, + kRenderFxPulseFast = 0x2, + kRenderFxPulseSlowWide = 0x3, + kRenderFxPulseFastWide = 0x4, + kRenderFxFadeSlow = 0x5, + kRenderFxFadeFast = 0x6, + kRenderFxSolidSlow = 0x7, + kRenderFxSolidFast = 0x8, + kRenderFxStrobeSlow = 0x9, + kRenderFxStrobeFast = 0xa, + kRenderFxStrobeFaster = 0xb, + kRenderFxFlickerSlow = 0xc, + kRenderFxFlickerFast = 0xd, + kRenderFxNoDissipation = 0xe, + kRenderFxFadeOut = 0xf, + kRenderFxFadeIn = 0x10, + kRenderFxPulseFastWider = 0x11, + kRenderFxGlowShell = 0x12, + kRenderFxMax = 0x13, +}; + +// Alignment: 4 +// Size: 0x2 +enum class CRR_Response__ResponseEnum_t : uint32_t +{ + MAX_RESPONSE_NAME = 0xc0, + MAX_RULE_NAME = 0x80, +}; + +// Alignment: 4 +// Size: 0x3 +enum class LessonPanelLayoutFileTypes_t : uint32_t +{ + LAYOUT_HAND_DEFAULT = 0x0, + LAYOUT_WORLD_DEFAULT = 0x1, + LAYOUT_CUSTOM = 0x2, +}; + +// Alignment: 4 +// Size: 0x5 +enum class Touch_t : uint32_t +{ + touch_none = 0x0, + touch_player_only = 0x1, + touch_npc_only = 0x2, + touch_player_or_npc = 0x3, + touch_player_or_npc_or_physicsprop = 0x4, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ScriptedMoveType_t : uint32_t +{ + SCRIPTED_MOVETYPE_NONE = 0x0, + SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1, + SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2, + SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ForcedCrouchState_t : uint32_t +{ + FORCEDCROUCH_NONE = 0x0, + FORCEDCROUCH_CROUCHED = 0x1, + FORCEDCROUCH_UNCROUCHED = 0x2, +}; + +// Alignment: 4 +// Size: 0xc +enum class Hull_t : uint32_t +{ + HULL_HUMAN = 0x0, + HULL_SMALL_CENTERED = 0x1, + HULL_WIDE_HUMAN = 0x2, + HULL_TINY = 0x3, + HULL_MEDIUM = 0x4, + HULL_TINY_CENTERED = 0x5, + HULL_LARGE = 0x6, + HULL_LARGE_CENTERED = 0x7, + HULL_MEDIUM_TALL = 0x8, + HULL_SMALL = 0x9, + NUM_HULLS = 0xa, + HULL_NONE = 0xb, +}; + +// Alignment: 4 +// Size: 0x1 +enum class navproperties_t : uint32_t +{ + NAV_IGNORE = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t +{ + LOGIC_BRANCH_LISTENER_NOT_INIT = 0x0, + LOGIC_BRANCH_LISTENER_ALL_TRUE = 0x1, + LOGIC_BRANCH_LISTENER_ALL_FALSE = 0x2, + LOGIC_BRANCH_LISTENER_MIXED = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EntFinderMethod_t : uint32_t +{ + ENT_FIND_METHOD_NEAREST = 0x0, + ENT_FIND_METHOD_FARTHEST = 0x1, + ENT_FIND_METHOD_RANDOM = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ValueRemapperInputType_t : uint32_t +{ + InputType_PlayerShootPosition = 0x0, + InputType_PlayerShootPositionAroundAxis = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ValueRemapperOutputType_t : uint32_t +{ + OutputType_AnimationCycle = 0x0, + OutputType_RotationX = 0x1, + OutputType_RotationY = 0x2, + OutputType_RotationZ = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ValueRemapperHapticsType_t : uint32_t +{ + HaticsType_Default = 0x0, + HaticsType_None = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ValueRemapperMomentumType_t : uint32_t +{ + MomentumType_None = 0x0, + MomentumType_Friction = 0x1, + MomentumType_SpringTowardSnapValue = 0x2, + MomentumType_SpringAwayFromSnapValue = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ValueRemapperRatchetType_t : uint32_t +{ + RatchetType_Absolute = 0x0, + RatchetType_EachEngage = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class PointWorldTextJustifyHorizontal_t : uint32_t +{ + POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, + POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1, + POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class PointWorldTextJustifyVertical_t : uint32_t +{ + POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, + POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1, + POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class PointWorldTextReorientMode_t : uint32_t +{ + POINT_WORLD_TEXT_REORIENT_NONE = 0x0, + POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, +}; + +// Alignment: 4 +// Size: 0x2 +enum class SceneOnPlayerDeath_t : uint32_t +{ + SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, + SCENE_ONPLAYERDEATH_CANCEL = 0x1, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ScriptedConflictResponse_t : uint32_t +{ + SS_CONFLICT_ENQUEUE = 0x0, + SS_CONFLICT_INTERRUPT = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class TRAIN_CODE : uint32_t +{ + TRAIN_SAFE = 0x0, + TRAIN_BLOCKING = 0x1, + TRAIN_FOLLOWING = 0x2, +}; + +// Alignment: 4 +// Size: 0x13 +enum class EDemoCommands : uint32_t +{ + DEM_Error = 0xffffffffffffffff, + DEM_Stop = 0x0, + DEM_FileHeader = 0x1, + DEM_FileInfo = 0x2, + DEM_SyncTick = 0x3, + DEM_SendTables = 0x4, + DEM_ClassInfo = 0x5, + DEM_StringTables = 0x6, + DEM_Packet = 0x7, + DEM_SignonPacket = 0x8, + DEM_ConsoleCmd = 0x9, + DEM_CustomData = 0xa, + DEM_CustomDataCallbacks = 0xb, + DEM_UserCmd = 0xc, + DEM_FullPacket = 0xd, + DEM_SaveGame = 0xe, + DEM_SpawnGroups = 0xf, + DEM_Max = 0x10, + DEM_IsCompressed = 0x40, +}; + +// Alignment: 4 +// Size: 0x8 +enum class TOGGLE_STATE : uint32_t +{ + TS_AT_TOP = 0x0, + TS_AT_BOTTOM = 0x1, + TS_GOING_UP = 0x2, + TS_GOING_DOWN = 0x3, + DOOR_OPEN = 0x0, + DOOR_CLOSED = 0x1, + DOOR_OPENING = 0x2, + DOOR_CLOSING = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class filter_t : uint32_t +{ + FILTER_AND = 0x0, + FILTER_OR = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class Explosions : uint32_t +{ + expRandom = 0x0, + expDirected = 0x1, + expUsePrecise = 0x2, +}; + +// Alignment: 4 +// Size: 0xc +enum class Materials : uint32_t +{ + matGlass = 0x0, + matWood = 0x1, + matMetal = 0x2, + matFlesh = 0x3, + matCinderBlock = 0x4, + matCeilingTile = 0x5, + matComputer = 0x6, + matUnbreakableGlass = 0x7, + matRocks = 0x8, + matWeb = 0x9, + matNone = 0xa, + matLastMaterial = 0xb, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EOverrideBlockLOS_t : uint32_t +{ + BLOCK_LOS_DEFAULT = 0x0, + BLOCK_LOS_FORCE_FALSE = 0x1, + BLOCK_LOS_FORCE_TRUE = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class MoveLinearAuthoredPos_t : uint32_t +{ + MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0, + MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1, + MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t +{ + kMIN_THRESHOLD = 0x0, + kMIN_FULL = 0x1, + kHIGHWATER = 0x2, +}; + +// Alignment: 4 +// Size: 0x17 +enum class SoundFlags_t : uint32_t +{ + SOUND_NONE = 0x0, + SOUND_COMBAT = 0x1, + SOUND_WORLD = 0x2, + SOUND_PLAYER = 0x4, + SOUND_DANGER = 0x8, + SOUND_BULLET_IMPACT = 0x10, + SOUND_THUMPER = 0x20, + SOUND_PHYSICS_DANGER = 0x40, + SOUND_MOVE_AWAY = 0x80, + SOUND_PLAYER_VEHICLE = 0x100, + SOUND_GLASS_BREAK = 0x200, + SOUND_PHYSICS_OBJECT = 0x400, + SOUND_CONTEXT_GUNFIRE = 0x100000, + SOUND_CONTEXT_COMBINE_ONLY = 0x200000, + SOUND_CONTEXT_REACT_TO_SOURCE = 0x400000, + SOUND_CONTEXT_EXPLOSION = 0x800000, + SOUND_CONTEXT_EXCLUDE_COMBINE = 0x1000000, + SOUND_CONTEXT_DANGER_APPROACH = 0x2000000, + SOUND_CONTEXT_ALLIES_ONLY = 0x4000000, + SOUND_CONTEXT_PANIC_NPCS = 0x8000000, + ALL_CONTEXTS = 0xfffffffffff00000, + ALL_SCENTS = 0x0, + ALL_SOUNDS = 0xfffff, +}; + +// Alignment: 4 +// Size: 0x3 +enum class TrainVelocityType_t : uint32_t +{ + TrainVelocity_Instantaneous = 0x0, + TrainVelocity_LinearBlend = 0x1, + TrainVelocity_EaseInEaseOut = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class TrainOrientationType_t : uint32_t +{ + TrainOrientation_Fixed = 0x0, + TrainOrientation_AtPathTracks = 0x1, + TrainOrientation_LinearBlend = 0x2, + TrainOrientation_EaseInEaseOut = 0x3, +}; + +// Alignment: 4 +// Size: 0x7 +enum class BeamType_t : uint32_t +{ + BEAM_INVALID = 0x0, + BEAM_POINTS = 0x1, + BEAM_ENTPOINT = 0x2, + BEAM_ENTS = 0x3, + BEAM_HOSE = 0x4, + BEAM_SPLINE = 0x5, + BEAM_LASER = 0x6, +}; + +// Alignment: 4 +// Size: 0x4 +enum class BeamClipStyle_t : uint32_t +{ + kNOCLIP = 0x0, + kGEOCLIP = 0x1, + kMODELCLIP = 0x2, + kBEAMCLIPSTYLE_NUMBITS = 0x2, +}; + +// Alignment: 1 +// Size: 0x9 +enum class SurroundingBoundsType_t : uint8_t +{ + USE_OBB_COLLISION_BOUNDS = 0x0, + USE_BEST_COLLISION_BOUNDS = 0x1, + USE_HITBOXES = 0x2, + USE_SPECIFIED_BOUNDS = 0x3, + USE_GAME_CODE = 0x4, + USE_ROTATION_EXPANDED_BOUNDS = 0x5, + USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x6, + USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x7, + SURROUNDING_TYPE_BIT_COUNT = 0x3, +}; + +// Alignment: 4 +// Size: 0x5 +enum class AnimLoopMode_t : uint32_t +{ + ANIM_LOOP_MODE_INVALID = 0xffffffffffffffff, + ANIM_LOOP_MODE_NOT_LOOPING = 0x0, + ANIM_LOOP_MODE_LOOPING = 0x1, + ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS = 0x2, + ANIM_LOOP_MODE_COUNT = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EntitySubclassScope_t : uint32_t +{ + SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, + SUBCLASS_SCOPE_PLAYER = 0x0, + SUBCLASS_SCOPE_COUNT = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class SubclassVDataChangeType_t : uint32_t +{ + SUBCLASS_VDATA_CREATED = 0x0, + SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1, + SUBCLASS_VDATA_RELOADED = 0x2, +}; + +// Alignment: 4 +// Size: 0x7 +enum class PlayerConnectedState : uint32_t +{ + PlayerNeverConnected = 0xffffffffffffffff, + PlayerConnected = 0x0, + PlayerConnecting = 0x1, + PlayerReconnecting = 0x2, + PlayerDisconnecting = 0x3, + PlayerDisconnected = 0x4, + PlayerReserved = 0x5, +}; + +// Alignment: 4 +// Size: 0x10 +enum class vote_create_failed_t : uint32_t +{ + VOTE_FAILED_GENERIC = 0x0, + VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1, + VOTE_FAILED_RATE_EXCEEDED = 0x2, + VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3, + VOTE_FAILED_QUORUM_FAILURE = 0x4, + VOTE_FAILED_ISSUE_DISABLED = 0x5, + VOTE_FAILED_MAP_NOT_FOUND = 0x6, + VOTE_FAILED_MAP_NAME_REQUIRED = 0x7, + VOTE_FAILED_FAILED_RECENTLY = 0x8, + VOTE_FAILED_TEAM_CANT_CALL = 0x9, + VOTE_FAILED_WAITINGFORPLAYERS = 0xa, + VOTE_FAILED_PLAYERNOTFOUND = 0xb, + VOTE_FAILED_CANNOT_KICK_ADMIN = 0xc, + VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xd, + VOTE_FAILED_SPECTATOR = 0xe, + VOTE_FAILED_MAX = 0xf, +}; + +// Alignment: 4 +// Size: 0x3 +enum class WeaponState_t : uint32_t +{ + WEAPON_NOT_CARRIED = 0x0, + WEAPON_IS_CARRIED_BY_PLAYER = 0x1, + WEAPON_IS_ACTIVE = 0x2, +}; + +// Alignment: 1 +// Size: 0x9 +enum class ItemFlagTypes_t : uint8_t +{ + ITEM_FLAG_NONE = 0x0, + ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, + ITEM_FLAG_NOAUTORELOAD = 0x2, + ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4, + ITEM_FLAG_LIMITINWORLD = 0x8, + ITEM_FLAG_EXHAUSTIBLE = 0x10, + ITEM_FLAG_DOHITLOCATIONDMG = 0x20, + ITEM_FLAG_NOAMMOPICKUPS = 0x40, + ITEM_FLAG_NOITEMPICKUP = 0x80, +}; + +// Alignment: 4 +// Size: 0x5 +enum class EntityDisolveType_t : uint32_t +{ + ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, + ENTITY_DISSOLVE_NORMAL = 0x0, + ENTITY_DISSOLVE_ELECTRICAL = 0x1, + ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2, + ENTITY_DISSOLVE_CORE = 0x3, +}; + +// Alignment: 4 +// Size: 0xe +enum class HitGroup_t : uint32_t +{ + HITGROUP_INVALID = 0xffffffffffffffff, + HITGROUP_GENERIC = 0x0, + HITGROUP_HEAD = 0x1, + HITGROUP_CHEST = 0x2, + HITGROUP_STOMACH = 0x3, + HITGROUP_LEFTARM = 0x4, + HITGROUP_RIGHTARM = 0x5, + HITGROUP_LEFTLEG = 0x6, + HITGROUP_RIGHTLEG = 0x7, + HITGROUP_NECK = 0x8, + HITGROUP_UNUSED = 0x9, + HITGROUP_GEAR = 0xa, + HITGROUP_SPECIAL = 0xb, + HITGROUP_COUNT = 0xc, +}; + +// Alignment: 1 +// Size: 0x6 +enum class WaterLevel_t : uint8_t +{ + WL_NotInWater = 0x0, + WL_Feet = 0x1, + WL_Waist = 0x2, + WL_Chest = 0x3, + WL_FullyUnderwater = 0x4, + WL_Count = 0x5, +}; + +// Alignment: 4 +// Size: 0x5 +enum class DoorState_t : uint32_t +{ + DOOR_STATE_CLOSED = 0x0, + DOOR_STATE_OPENING = 0x1, + DOOR_STATE_OPEN = 0x2, + DOOR_STATE_CLOSING = 0x3, + DOOR_STATE_AJAR = 0x4, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ShadowType_t : uint32_t +{ + SHADOWS_NONE = 0x0, + SHADOWS_SIMPLE = 0x1, +}; + +// Alignment: 4 +// Size: 0x4 +enum class Class_T : uint32_t +{ + CLASS_NONE = 0x0, + CLASS_PLAYER = 0x1, + CLASS_PLAYER_ALLY = 0x2, + NUM_CLASSIFY_CLASSES = 0x3, +}; + +// Alignment: 4 +// Size: 0xa +enum class Disposition_t : uint32_t +{ + D_ER = 0x0, + D_HT = 0x1, + D_FR = 0x2, + D_LI = 0x3, + D_NU = 0x4, + D_ERROR = 0x0, + D_HATE = 0x1, + D_FEAR = 0x2, + D_LIKE = 0x3, + D_NEUTRAL = 0x4, +}; + +// Alignment: 4 +// Size: 0x6 +enum class LatchDirtyPermission_t : uint32_t +{ + LATCH_DIRTY_DISALLOW = 0x0, + LATCH_DIRTY_SERVER_CONTROLLED = 0x1, + LATCH_DIRTY_CLIENT_SIMULATED = 0x2, + LATCH_DIRTY_PREDICTION = 0x3, + LATCH_DIRTY_FRAMESIMULATE = 0x4, + LATCH_DIRTY_PARTICLE_SIMULATE = 0x5, +}; + +// Alignment: 4 +// Size: 0x5 +enum class LifeState_t : uint32_t +{ + LIFE_ALIVE = 0x0, + LIFE_DYING = 0x1, + LIFE_DEAD = 0x2, + LIFE_RESPAWNABLE = 0x3, + LIFE_RESPAWNING = 0x4, +}; + +// Alignment: 4 +// Size: 0x4 +enum class StanceType_t : uint32_t +{ + STANCE_CURRENT = 0xffffffffffffffff, + STANCE_DEFAULT = 0x0, + STANCE_CROUCHING = 0x1, + NUM_STANCES = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ModifyDamageReturn_t : uint32_t +{ + CONTINUE_TO_APPLY_DAMAGE = 0x0, + ABORT_DO_NOT_APPLY_DAMAGE = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class WorldTextPanelHorizontalAlign_t : uint32_t +{ + WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, + WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1, + WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class WorldTextPanelVerticalAlign_t : uint32_t +{ + WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, + WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1, + WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class WorldTextPanelOrientation_t : uint32_t +{ + WORLDTEXT_ORIENTATION_DEFAULT = 0x0, + WORLDTEXT_ORIENTATION_FACEUSER = 0x1, + WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class WorldTextAttachmentType_t : uint32_t +{ + ATTACHED_NONE = 0x0, + ATTACHED_ENTITY = 0x1, + ATTACHED_ENTITY_LARGE = 0x2, + ATTACHED_HAND_SPECIFIED_IN_EVENT = 0x3, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ESourceEngine : uint32_t +{ + k_ESE_Source1 = 0x0, + k_ESE_Source2 = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class PartnerAccountType : uint32_t +{ + PARTNER_NONE = 0x0, + PARTNER_PERFECT_WORLD = 0x1, + PARTNER_INVALID = 0x3, +}; + +// Alignment: 4 +// Size: 0x7 +enum class GCConnectionStatus : uint32_t +{ + GCConnectionStatus_HAVE_SESSION = 0x0, + GCConnectionStatus_GC_GOING_DOWN = 0x1, + GCConnectionStatus_NO_SESSION = 0x2, + GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 0x3, + GCConnectionStatus_NO_STEAM = 0x4, + GCConnectionStatus_SUSPENDED = 0x5, + GCConnectionStatus_STEAM_GOING_DOWN = 0x6, +}; + +// Alignment: 4 +// Size: 0x8 +enum class ESOMsg : uint32_t +{ + k_ESOMsg_Create = 0x15, + k_ESOMsg_Update = 0x16, + k_ESOMsg_Destroy = 0x17, + k_ESOMsg_CacheSubscribed = 0x18, + k_ESOMsg_CacheUnsubscribed = 0x19, + k_ESOMsg_UpdateMultiple = 0x1a, + k_ESOMsg_CacheSubscriptionRefresh = 0x1c, + k_ESOMsg_CacheSubscribedUpToDate = 0x1d, +}; + +// Alignment: 4 +// Size: 0xd +enum class EGCBaseClientMsg : uint32_t +{ + k_EMsgGCPingRequest = 0xbb9, + k_EMsgGCPingResponse = 0xbba, + k_EMsgGCToClientPollConvarRequest = 0xbbb, + k_EMsgGCToClientPollConvarResponse = 0xbbc, + k_EMsgGCCompressedMsgToClient = 0xbbd, + k_EMsgGCCompressedMsgToClient_Legacy = 0x20b, + k_EMsgGCToClientRequestDropped = 0xbbe, + k_EMsgGCClientWelcome = 0xfa4, + k_EMsgGCServerWelcome = 0xfa5, + k_EMsgGCClientHello = 0xfa6, + k_EMsgGCServerHello = 0xfa7, + k_EMsgGCClientConnectionStatus = 0xfa9, + k_EMsgGCServerConnectionStatus = 0xfaa, +}; + +// Alignment: 4 +// Size: 0x18 +enum class EGCBaseMsg : uint32_t +{ + k_EMsgGCReplicateConVars = 0xfa2, + k_EMsgGCConVarUpdated = 0xfa3, + k_EMsgGCInviteToParty = 0x1195, + k_EMsgGCInvitationCreated = 0x1196, + k_EMsgGCPartyInviteResponse = 0x1197, + k_EMsgGCKickFromParty = 0x1198, + k_EMsgGCLeaveParty = 0x1199, + k_EMsgGCServerAvailable = 0x119a, + k_EMsgGCClientConnectToServer = 0x119b, + k_EMsgGCGameServerInfo = 0x119c, + k_EMsgGCLANServerAvailable = 0x119f, + k_EMsgGCInviteToLobby = 0x11a0, + k_EMsgGCLobbyInviteResponse = 0x11a1, + k_EMsgGCToClientPollFileRequest = 0x11a2, + k_EMsgGCToClientPollFileResponse = 0x11a3, + k_EMsgGCToGCPerformManualOp = 0x11a4, + k_EMsgGCToGCPerformManualOpCompleted = 0x11a5, + k_EMsgGCToGCReloadServerRegionSettings = 0x11a6, + k_EMsgGCAdditionalWelcomeMsgList = 0x11a7, + k_EMsgGCToClientApplyRemoteConVars = 0x11a8, + k_EMsgGCToServerApplyRemoteConVars = 0x11a9, + k_EMsgClientToGCIntegrityStatus = 0x11aa, + k_EMsgClientToGCAggregateMetrics = 0x11ab, + k_EMsgGCToClientAggregateMetricsBackoff = 0x11ac, +}; + +// Alignment: 4 +// Size: 0xa +enum class ECustomGameInstallStatus : uint32_t +{ + k_ECustomGameInstallStatus_Unknown = 0x0, + k_ECustomGameInstallStatus_Ready = 0x1, + k_ECustomGameInstallStatus_Busy = 0x2, + k_ECustomGameInstallStatus_FailedGeneric = 0x65, + k_ECustomGameInstallStatus_FailedInternalError = 0x66, + k_ECustomGameInstallStatus_RequestedTimestampTooOld = 0x67, + k_ECustomGameInstallStatus_RequestedTimestampTooNew = 0x68, + k_ECustomGameInstallStatus_CRCMismatch = 0x69, + k_ECustomGameInstallStatus_FailedSteam = 0x6a, + k_ECustomGameInstallStatus_FailedCanceled = 0x6b, +}; + +// Alignment: 4 +// Size: 0x1 +enum class EGCEconBaseMsg : uint32_t +{ + k_EMsgGCGenericResult = 0xa13, +}; + +// Alignment: 4 +// Size: 0x9 +enum class EGCMsgResponse : uint32_t +{ + k_EGCMsgResponseOK = 0x0, + k_EGCMsgResponseDenied = 0x1, + k_EGCMsgResponseServerError = 0x2, + k_EGCMsgResponseTimeout = 0x3, + k_EGCMsgResponseInvalid = 0x4, + k_EGCMsgResponseNoMatch = 0x5, + k_EGCMsgResponseUnknownError = 0x6, + k_EGCMsgResponseNotLoggedOn = 0x7, + k_EGCMsgFailedToCreate = 0x8, +}; + +// Alignment: 4 +// Size: 0xe +enum class EGCMsgUseItemResponse : uint32_t +{ + k_EGCMsgUseItemResponse_ItemUsed = 0x0, + k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 0x1, + k_EGCMsgUseItemResponse_ServerError = 0x2, + k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 0x3, + k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 0x4, + k_EGCMsgUseItemResponse_DropRateBonusAlreadyGranted = 0x5, + k_EGCMsgUseItemResponse_NotInLowPriorityPool = 0x6, + k_EGCMsgUseItemResponse_NotHighEnoughLevel = 0x7, + k_EGCMsgUseItemResponse_EventNotActive = 0x8, + k_EGCMsgUseItemResponse_ItemUsed_EventPointsGranted = 0x9, + k_EGCMsgUseItemResponse_MissingRequirement = 0xa, + k_EGCMsgUseItemResponse_EmoticonUnlock_NoNew = 0xb, + k_EGCMsgUseItemResponse_EmoticonUnlock_Complete = 0xc, + k_EGCMsgUseItemResponse_ItemUsed_Compendium = 0xd, +}; + +// Alignment: 4 +// Size: 0x7a +enum class EGCItemMsg : uint32_t +{ + k_EMsgGCBase = 0x3e8, + k_EMsgGCSetItemPosition = 0x3e9, + k_EMsgGCDelete = 0x3ec, + k_EMsgGCVerifyCacheSubscription = 0x3ed, + k_EMsgClientToGCNameItem = 0x3ee, + k_EMsgGCPaintItem = 0x3f1, + k_EMsgGCPaintItemResponse = 0x3f2, + k_EMsgGCNameBaseItem = 0x3fb, + k_EMsgGCNameBaseItemResponse = 0x3fc, + k_EMsgGCUseItemRequest = 0x401, + k_EMsgGCUseItemResponse = 0x402, + k_EMsgGCGiftedItems = 0x403, + k_EMsgGCUnwrapGiftRequest = 0x40d, + k_EMsgGCUnwrapGiftResponse = 0x40e, + k_EMsgGCSortItems = 0x411, + k_EMsgGCBackpackSortFinished = 0x422, + k_EMsgGCAdjustItemEquippedState = 0x423, + k_EMsgGCItemAcknowledged = 0x426, + k_EMsgClientToGCNameItemResponse = 0x42c, + k_EMsgGCApplyStrangePart = 0x431, + k_EMsgGCApplyPennantUpgrade = 0x434, + k_EMsgGCSetItemPositions = 0x435, + k_EMsgGCApplyEggEssence = 0x436, + k_EMsgGCNameEggEssenceResponse = 0x437, + k_EMsgGCExtractGems = 0x43e, + k_EMsgGCAddSocket = 0x43f, + k_EMsgGCAddItemToSocket = 0x440, + k_EMsgGCAddItemToSocketResponse = 0x441, + k_EMsgGCAddSocketResponse = 0x442, + k_EMsgGCResetStrangeGemCount = 0x443, + k_EMsgGCRequestCrateItems = 0x444, + k_EMsgGCRequestCrateItemsResponse = 0x445, + k_EMsgGCExtractGemsResponse = 0x446, + k_EMsgGCResetStrangeGemCountResponse = 0x447, + k_EMsgGCServerUseItemRequest = 0x44f, + k_EMsgGCAddGiftItem = 0x450, + k_EMsgClientToGCRemoveItemGifterAttributes = 0x455, + k_EMsgClientToGCRemoveItemName = 0x456, + k_EMsgClientToGCRemoveItemDescription = 0x457, + k_EMsgClientToGCRemoveItemAttributeResponse = 0x458, + k_EMsgGCDev_NewItemRequest = 0x7d1, + k_EMsgGCDev_NewItemRequestResponse = 0x7d2, + k_EMsgGCDev_UnlockAllItemStylesRequest = 0x7d3, + k_EMsgGCDev_UnlockAllItemStylesResponse = 0x7d4, + k_EMsgGCStorePurchaseFinalize = 0x9c8, + k_EMsgGCStorePurchaseFinalizeResponse = 0x9c9, + k_EMsgGCStorePurchaseCancel = 0x9ca, + k_EMsgGCStorePurchaseCancelResponse = 0x9cb, + k_EMsgGCStorePurchaseInit = 0x9ce, + k_EMsgGCStorePurchaseInitResponse = 0x9cf, + k_EMsgGCToGCBannedWordListUpdated = 0x9d3, + k_EMsgGCToGCDirtySDOCache = 0x9d4, + k_EMsgGCToGCUpdateSQLKeyValue = 0x9d6, + k_EMsgGCToGCBroadcastConsoleCommand = 0x9d9, + k_EMsgGCServerVersionUpdated = 0x9da, + k_EMsgGCApplyAutograph = 0x9db, + k_EMsgGCToGCWebAPIAccountChanged = 0x9dc, + k_EMsgGCClientVersionUpdated = 0x9e0, + k_EMsgGCToGCUpdateWelcomeMsg = 0x9e1, + k_EMsgGCToGCPlayerStrangeCountAdjustments = 0x9e7, + k_EMsgGCRequestStoreSalesData = 0x9e8, + k_EMsgGCRequestStoreSalesDataResponse = 0x9e9, + k_EMsgGCRequestStoreSalesDataUpToDateResponse = 0x9ea, + k_EMsgGCToGCPingRequest = 0x9eb, + k_EMsgGCToGCPingResponse = 0x9ec, + k_EMsgGCToGCGetUserSessionServer = 0x9ed, + k_EMsgGCToGCGetUserSessionServerResponse = 0x9ee, + k_EMsgGCToGCGetUserServerMembers = 0x9ef, + k_EMsgGCToGCGetUserServerMembersResponse = 0x9f0, + k_EMsgGCToGCCanUseDropRateBonus = 0x9f3, + k_EMsgSQLAddDropRateBonus = 0x9f4, + k_EMsgGCToGCRefreshSOCache = 0x9f5, + k_EMsgGCToGCGrantAccountRolledItems = 0x9fa, + k_EMsgGCToGCGrantSelfMadeItemToAccount = 0x9fb, + k_EMsgGCStatueCraft = 0xa01, + k_EMsgGCRedeemCode = 0xa02, + k_EMsgGCRedeemCodeResponse = 0xa03, + k_EMsgGCToGCItemConsumptionRollback = 0xa04, + k_EMsgClientToGCWrapAndDeliverGift = 0xa05, + k_EMsgClientToGCWrapAndDeliverGiftResponse = 0xa06, + k_EMsgClientToGCUnpackBundleResponse = 0xa07, + k_EMsgGCToClientStoreTransactionCompleted = 0xa08, + k_EMsgClientToGCEquipItems = 0xa09, + k_EMsgClientToGCEquipItemsResponse = 0xa0a, + k_EMsgClientToGCUnlockItemStyle = 0xa0b, + k_EMsgClientToGCUnlockItemStyleResponse = 0xa0c, + k_EMsgClientToGCSetItemInventoryCategory = 0xa0d, + k_EMsgClientToGCUnlockCrate = 0xa0e, + k_EMsgClientToGCUnlockCrateResponse = 0xa0f, + k_EMsgClientToGCUnpackBundle = 0xa10, + k_EMsgClientToGCSetItemStyle = 0xa11, + k_EMsgClientToGCSetItemStyleResponse = 0xa12, + k_EMsgSQLGCToGCGrantBackpackSlots = 0xa14, + k_EMsgClientToGCLookupAccountName = 0xa15, + k_EMsgClientToGCLookupAccountNameResponse = 0xa16, + k_EMsgClientToGCCreateStaticRecipe = 0xa18, + k_EMsgClientToGCCreateStaticRecipeResponse = 0xa19, + k_EMsgGCToGCStoreProcessCDKeyTransaction = 0xa1a, + k_EMsgGCToGCStoreProcessCDKeyTransactionResponse = 0xa1b, + k_EMsgGCToGCStoreProcessSettlement = 0xa1c, + k_EMsgGCToGCStoreProcessSettlementResponse = 0xa1d, + k_EMsgGCToGCConsoleOutput = 0xa1e, + k_EMsgGCToClientItemAges = 0xa1f, + k_EMsgGCToGCInternalTestMsg = 0xa20, + k_EMsgGCToGCClientServerVersionsUpdated = 0xa21, + k_EMsgGCUseMultipleItemsRequest = 0xa22, + k_EMsgGCGetAccountSubscriptionItem = 0xa23, + k_EMsgGCGetAccountSubscriptionItemResponse = 0xa24, + k_EMsgGCToGCBroadcastMessageFromSub = 0xa26, + k_EMsgGCToClientCurrencyPricePoints = 0xa27, + k_EMsgGCToGCAddSubscriptionTime = 0xa28, + k_EMsgGCToGCFlushSteamInventoryCache = 0xa29, + k_EMsgGCRequestCrateEscalationLevel = 0xa2a, + k_EMsgGCRequestCrateEscalationLevelResponse = 0xa2b, + k_EMsgGCToGCUpdateSubscriptionItems = 0xa2c, + k_EMsgGCToGCSelfPing = 0xa2d, + k_EMsgGCToGCGetInfuxIntervalStats = 0xa2e, + k_EMsgGCToGCGetInfuxIntervalStatsResponse = 0xa2f, + k_EMsgGCToGCPurchaseSucceeded = 0xa30, + k_EMsgClientToGCGetLimitedItemPurchaseQuantity = 0xa31, + k_EMsgClientToGCGetLimitedItemPurchaseQuantityResponse = 0xa32, + k_EMsgGCToGCBetaDeleteItems = 0xa33, +}; + +// Alignment: 4 +// Size: 0x19 +enum class EGCMsgInitiateTradeResponse : uint32_t +{ + k_EGCMsgInitiateTradeResponse_Accepted = 0x0, + k_EGCMsgInitiateTradeResponse_Declined = 0x1, + k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator = 0x2, + k_EGCMsgInitiateTradeResponse_VAC_Banned_Target = 0x3, + k_EGCMsgInitiateTradeResponse_Target_Already_Trading = 0x4, + k_EGCMsgInitiateTradeResponse_Disabled = 0x5, + k_EGCMsgInitiateTradeResponse_NotLoggedIn = 0x6, + k_EGCMsgInitiateTradeResponse_Cancel = 0x7, + k_EGCMsgInitiateTradeResponse_TooSoon = 0x8, + k_EGCMsgInitiateTradeResponse_TooSoonPenalty = 0x9, + k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator = 0xa, + k_EGCMsgInitiateTradeResponse_Trade_Banned_Target = 0xb, + k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED = 0xc, + k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator = 0xd, + k_EGCMsgInitiateTradeResponse_Service_Unavailable = 0xe, + k_EGCMsgInitiateTradeResponse_Target_Blocked = 0xf, + k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail = 0x10, + k_EGCMsgInitiateTradeResponse_NeedSteamGuard = 0x11, + k_EGCMsgInitiateTradeResponse_SteamGuardDuration = 0x12, + k_EGCMsgInitiateTradeResponse_TheyCannotTrade = 0x13, + k_EGCMsgInitiateTradeResponse_Recent_Password_Reset = 0x14, + k_EGCMsgInitiateTradeResponse_Using_New_Device = 0x15, + k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie = 0x16, + k_EGCMsgInitiateTradeResponse_TooRecentFriend = 0x17, + k_EGCMsgInitiateTradeResponse_WalledFundsNotTrusted = 0x18, +}; + +// Alignment: 4 +// Size: 0x2 +enum class attributeprovidertypes_t : uint32_t +{ + PROVIDER_GENERIC = 0x0, + PROVIDER_WEAPON = 0x1, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EconEntityParticleDisableMode_t : uint32_t +{ + ECON_ENTITY_PARTICLES_ENABLED = 0x0, + ECON_ENTITY_PARTICLES_DISABLED = 0x1, + ECON_ENTITY_PARTICLES_DISABLED_BUT_PLAY_ENDCAPS_TO_STOP = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class PetLevelup_Rule_t : uint32_t +{ + PETLEVELFROM_NOTHING = 0x0, + PETLEVELFROM_KILLEATER = 0x1, + PETLEVELFROM_COMPENDIUM_LEVEL = 0x2, + NUM_PETLEVELUPRULES = 0x3, +}; + +// Alignment: 4 +// Size: 0x2f +enum class eEconItemOrigin : uint32_t +{ + kEconItemOrigin_Invalid = 0xffffffffffffffff, + kEconItemOrigin_Drop = 0x0, + kEconItemOrigin_Achievement = 0x1, + kEconItemOrigin_Purchased = 0x2, + kEconItemOrigin_Traded = 0x3, + kEconItemOrigin_Crafted = 0x4, + kEconItemOrigin_StorePromotion = 0x5, + kEconItemOrigin_Gifted = 0x6, + kEconItemOrigin_SupportGranted = 0x7, + kEconItemOrigin_FoundInCrate = 0x8, + kEconItemOrigin_Earned = 0x9, + kEconItemOrigin_ThirdPartyPromotion = 0xa, + kEconItemOrigin_GiftWrapped = 0xb, + kEconItemOrigin_HalloweenDrop = 0xc, + kEconItemOrigin_PackageItem = 0xd, + kEconItemOrigin_Foreign = 0xe, + kEconItemOrigin_CDKey = 0xf, + kEconItemOrigin_CollectionReward = 0x10, + kEconItemOrigin_PreviewItem = 0x11, + kEconItemOrigin_SteamWorkshopContribution = 0x12, + kEconItemOrigin_PeriodicScoreReward = 0x13, + kEconItemOrigin_Recycling = 0x14, + kEconItemOrigin_TournamentDrop = 0x15, + kEconItemOrigin_PassportReward = 0x16, + kEconItemOrigin_TutorialDrop = 0x17, + kEconItemOrigin_RecipeOutput = 0x18, + kEconItemOrigin_GemExtract = 0x19, + kEconItemOrigin_EventPointReward = 0x1a, + kEconItemOrigin_ItemRedemption = 0x1b, + kEconItemOrigin_FantasyTicketRefund = 0x1c, + kEconItemOrigin_VictoryPredictionReward = 0x1d, + kEconItemOrigin_AssassinEventReward = 0x1e, + kEconItemOrigin_CompendiumReward = 0x1f, + kEconItemOrigin_CompendiumDrop = 0x20, + kEconItemOrigin_MysteryItem = 0x21, + kEconItemOrigin_UnpackedFromBundle = 0x22, + kEconItemOrigin_WonFromWeeklyGame = 0x23, + kEconItemOrigin_SeasonalItemGrant = 0x24, + kEconItemOrigin_PackOpening = 0x25, + kEconItemOrigin_InitialGrant = 0x26, + kEconItemOrigin_MarketPurchase = 0x27, + kEconItemOrigin_MarketRefunded = 0x28, + kEconItemOrigin_LimitedDraft = 0x29, + kEconItemOrigin_GauntletReward = 0x2a, + kEconItemOrigin_CompendiumGift = 0x2b, + kEconItemOrigin_CandyShopPurchase = 0x2c, + kEconItemOrigin_Max = 0x2d, +}; + +// Alignment: 4 +// Size: 0x5 +enum class CHeadLookParams__HeadLookPriority_t : uint32_t +{ + BORING = 0x0, + INTERESTING = 0x1, + IMPORTANT = 0x2, + CRITICAL = 0x3, + MANDATORY = 0x4, +}; + +// Alignment: 4 +// Size: 0x5 +enum class IBody__PostureType : uint32_t +{ + STAND = 0x0, + CROUCH = 0x1, + SIT = 0x2, + CRAWL = 0x3, + LIE = 0x4, +}; + +// Alignment: 4 +// Size: 0x1a +enum class DOTA_GameMode : uint32_t +{ + DOTA_GAMEMODE_NONE = 0x0, + DOTA_GAMEMODE_AP = 0x1, + DOTA_GAMEMODE_CM = 0x2, + DOTA_GAMEMODE_RD = 0x3, + DOTA_GAMEMODE_SD = 0x4, + DOTA_GAMEMODE_AR = 0x5, + DOTA_GAMEMODE_INTRO = 0x6, + DOTA_GAMEMODE_HW = 0x7, + DOTA_GAMEMODE_REVERSE_CM = 0x8, + DOTA_GAMEMODE_XMAS = 0x9, + DOTA_GAMEMODE_TUTORIAL = 0xa, + DOTA_GAMEMODE_MO = 0xb, + DOTA_GAMEMODE_LP = 0xc, + DOTA_GAMEMODE_POOL1 = 0xd, + DOTA_GAMEMODE_FH = 0xe, + DOTA_GAMEMODE_CUSTOM = 0xf, + DOTA_GAMEMODE_CD = 0x10, + DOTA_GAMEMODE_BD = 0x11, + DOTA_GAMEMODE_ABILITY_DRAFT = 0x12, + DOTA_GAMEMODE_EVENT = 0x13, + DOTA_GAMEMODE_ARDM = 0x14, + DOTA_GAMEMODE_1V1MID = 0x15, + DOTA_GAMEMODE_ALL_DRAFT = 0x16, + DOTA_GAMEMODE_TURBO = 0x17, + DOTA_GAMEMODE_MUTATION = 0x18, + DOTA_GAMEMODE_COACHES_CHALLENGE = 0x19, +}; + +// Alignment: 4 +// Size: 0xe +enum class DOTA_GameState : uint32_t +{ + DOTA_GAMERULES_STATE_INIT = 0x0, + DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 0x1, + DOTA_GAMERULES_STATE_HERO_SELECTION = 0x2, + DOTA_GAMERULES_STATE_STRATEGY_TIME = 0x3, + DOTA_GAMERULES_STATE_PRE_GAME = 0x4, + DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 0x5, + DOTA_GAMERULES_STATE_POST_GAME = 0x6, + DOTA_GAMERULES_STATE_DISCONNECT = 0x7, + DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 0x8, + DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 0x9, + DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 0xa, + DOTA_GAMERULES_STATE_SCENARIO_SETUP = 0xb, + DOTA_GAMERULES_STATE_PLAYER_DRAFT = 0xc, + DOTA_GAMERULES_STATE_LAST = 0xd, +}; + +// Alignment: 4 +// Size: 0xf +enum class DOTA_GC_TEAM : uint32_t +{ + DOTA_GC_TEAM_GOOD_GUYS = 0x0, + DOTA_GC_TEAM_BAD_GUYS = 0x1, + DOTA_GC_TEAM_BROADCASTER = 0x2, + DOTA_GC_TEAM_SPECTATOR = 0x3, + DOTA_GC_TEAM_PLAYER_POOL = 0x4, + DOTA_GC_TEAM_NOTEAM = 0x5, + DOTA_GC_TEAM_CUSTOM_1 = 0x6, + DOTA_GC_TEAM_CUSTOM_2 = 0x7, + DOTA_GC_TEAM_CUSTOM_3 = 0x8, + DOTA_GC_TEAM_CUSTOM_4 = 0x9, + DOTA_GC_TEAM_CUSTOM_5 = 0xa, + DOTA_GC_TEAM_CUSTOM_6 = 0xb, + DOTA_GC_TEAM_CUSTOM_7 = 0xc, + DOTA_GC_TEAM_CUSTOM_8 = 0xd, + DOTA_GC_TEAM_NEUTRALS = 0xe, +}; + +// Alignment: 4 +// Size: 0x2b +enum class EEvent : uint32_t +{ + EVENT_ID_NONE = 0x0, + EVENT_ID_DIRETIDE = 0x1, + EVENT_ID_SPRING_FESTIVAL = 0x2, + EVENT_ID_FROSTIVUS_2013 = 0x3, + EVENT_ID_COMPENDIUM_2014 = 0x4, + EVENT_ID_NEXON_PC_BANG = 0x5, + EVENT_ID_PWRD_DAC_2015 = 0x6, + EVENT_ID_NEW_BLOOM_2015 = 0x7, + EVENT_ID_INTERNATIONAL_2015 = 0x8, + EVENT_ID_FALL_MAJOR_2015 = 0x9, + EVENT_ID_ORACLE_PA = 0xa, + EVENT_ID_NEW_BLOOM_2015_PREBEAST = 0xb, + EVENT_ID_FROSTIVUS = 0xc, + EVENT_ID_WINTER_MAJOR_2016 = 0xd, + EVENT_ID_INTERNATIONAL_2016 = 0xe, + EVENT_ID_FALL_MAJOR_2016 = 0xf, + EVENT_ID_WINTER_MAJOR_2017 = 0x10, + EVENT_ID_NEW_BLOOM_2017 = 0x11, + EVENT_ID_INTERNATIONAL_2017 = 0x12, + EVENT_ID_PLUS_SUBSCRIPTION = 0x13, + EVENT_ID_SINGLES_DAY_2017 = 0x14, + EVENT_ID_FROSTIVUS_2017 = 0x15, + EVENT_ID_INTERNATIONAL_2018 = 0x16, + EVENT_ID_FROSTIVUS_2018 = 0x17, + EVENT_ID_NEW_BLOOM_2019 = 0x18, + EVENT_ID_INTERNATIONAL_2019 = 0x19, + EVENT_ID_NEW_PLAYER_EXPERIENCE = 0x1a, + EVENT_ID_FROSTIVUS_2019 = 0x1b, + EVENT_ID_NEW_BLOOM_2020 = 0x1c, + EVENT_ID_INTERNATIONAL_2020 = 0x1d, + EVENT_ID_TEAM_FANDOM = 0x1e, + EVENT_ID_DIRETIDE_2020 = 0x1f, + EVENT_ID_SPRING_2021 = 0x20, + EVENT_ID_FALL_2021 = 0x21, + EVENT_ID_TEAM_FANDOM_FALL_2021 = 0x22, + EVENT_ID_TEAM_2021_2022_TOUR2 = 0x23, + EVENT_ID_INTERNATIONAL_2022 = 0x24, + EVENT_ID_TEAM_2021_2022_TOUR3 = 0x25, + EVENT_ID_TEAM_INTERNATIONAL_2022 = 0x26, + EVENT_ID_PERMANENT_GRANTS = 0x27, + EVENT_ID_MUERTA_RELEASE_SPRING2023 = 0x28, + EVENT_ID_TEAM_2023_TOUR1 = 0x29, + EVENT_ID_TEAM_2023_TOUR2 = 0x2a, +}; + +// Alignment: 4 +// Size: 0xa +enum class ERankType : uint32_t +{ + k_ERankType_Invalid = 0x0, + k_ERankType_Casual = 0x1, + k_ERankType_Ranked = 0x2, + k_ERankType_CasualLegacy = 0x3, + k_ERankType_RankedLegacy = 0x4, + k_ERankType_CasualGlicko = 0x5, + k_ERankType_RankedGlicko = 0x6, + k_ERankType_CasualRemapped = 0x7, + k_ERankType_CasualRemappedGlicko = 0x8, + k_ERankType_CasualShiftedGlicko = 0x9, +}; + +// Alignment: 4 +// Size: 0x9 +enum class DOTALeaverStatus_t : uint32_t +{ + DOTA_LEAVER_NONE = 0x0, + DOTA_LEAVER_DISCONNECTED = 0x1, + DOTA_LEAVER_DISCONNECTED_TOO_LONG = 0x2, + DOTA_LEAVER_ABANDONED = 0x3, + DOTA_LEAVER_AFK = 0x4, + DOTA_LEAVER_NEVER_CONNECTED = 0x5, + DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG = 0x6, + DOTA_LEAVER_FAILED_TO_READY_UP = 0x7, + DOTA_LEAVER_DECLINED = 0x8, +}; + +// Alignment: 4 +// Size: 0x7 +enum class DOTAConnectionState_t : uint32_t +{ + DOTA_CONNECTION_STATE_UNKNOWN = 0x0, + DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 0x1, + DOTA_CONNECTION_STATE_CONNECTED = 0x2, + DOTA_CONNECTION_STATE_DISCONNECTED = 0x3, + DOTA_CONNECTION_STATE_ABANDONED = 0x4, + DOTA_CONNECTION_STATE_LOADING = 0x5, + DOTA_CONNECTION_STATE_FAILED = 0x6, +}; + +// Alignment: 4 +// Size: 0x5 +enum class Fantasy_Roles : uint32_t +{ + FANTASY_ROLE_UNDEFINED = 0x0, + FANTASY_ROLE_CORE = 0x1, + FANTASY_ROLE_SUPPORT = 0x2, + FANTASY_ROLE_OFFLANE = 0x3, + FANTASY_ROLE_MID = 0x4, +}; + +// Alignment: 4 +// Size: 0x5 +enum class Fantasy_Team_Slots : uint32_t +{ + FANTASY_SLOT_NONE = 0x0, + FANTASY_SLOT_CORE = 0x1, + FANTASY_SLOT_SUPPORT = 0x2, + FANTASY_SLOT_ANY = 0x3, + FANTASY_SLOT_BENCH = 0x4, +}; + +// Alignment: 4 +// Size: 0xa +enum class Fantasy_Selection_Mode : uint32_t +{ + FANTASY_SELECTION_INVALID = 0x0, + FANTASY_SELECTION_LOCKED = 0x1, + FANTASY_SELECTION_SHUFFLE = 0x2, + FANTASY_SELECTION_FREE_PICK = 0x3, + FANTASY_SELECTION_ENDED = 0x4, + FANTASY_SELECTION_PRE_SEASON = 0x5, + FANTASY_SELECTION_PRE_DRAFT = 0x6, + FANTASY_SELECTION_DRAFTING = 0x7, + FANTASY_SELECTION_REGULAR_SEASON = 0x8, + FANTASY_SELECTION_CARD_BASED = 0x9, +}; + +// Alignment: 4 +// Size: 0x19 +enum class DOTAChatChannelType_t : uint32_t +{ + DOTAChannelType_Regional = 0x0, + DOTAChannelType_Custom = 0x1, + DOTAChannelType_Party = 0x2, + DOTAChannelType_Lobby = 0x3, + DOTAChannelType_Team = 0x4, + DOTAChannelType_Guild = 0x5, + DOTAChannelType_Fantasy = 0x6, + DOTAChannelType_Whisper = 0x7, + DOTAChannelType_Console = 0x8, + DOTAChannelType_Tab = 0x9, + DOTAChannelType_Invalid = 0xa, + DOTAChannelType_GameAll = 0xb, + DOTAChannelType_GameAllies = 0xc, + DOTAChannelType_GameSpectator = 0xd, + DOTAChannelType_GameCoaching = 0xe, + DOTAChannelType_Cafe = 0xf, + DOTAChannelType_CustomGame = 0x10, + DOTAChannelType_Private = 0x11, + DOTAChannelType_PostGame = 0x12, + DOTAChannelType_BattleCup = 0x13, + DOTAChannelType_HLTVSpectator = 0x14, + DOTAChannelType_GameEvents = 0x15, + DOTAChannelType_Trivia = 0x16, + DOTAChannelType_NewPlayer = 0x17, + DOTAChannelType_PrivateCoaching = 0x18, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EChatSpecialPrivileges : uint32_t +{ + k_EChatSpecialPrivileges_None = 0x0, + k_EChatSpecialPrivileges_Moderator = 0x1, + k_EChatSpecialPrivileges_SuperModerator = 0x2, +}; + +// Alignment: 4 +// Size: 0x7 +enum class EProfileCardSlotType : uint32_t +{ + k_EProfileCardSlotType_Empty = 0x0, + k_EProfileCardSlotType_Stat = 0x1, + k_EProfileCardSlotType_Trophy = 0x2, + k_EProfileCardSlotType_Item = 0x3, + k_EProfileCardSlotType_Hero = 0x4, + k_EProfileCardSlotType_Emoticon = 0x5, + k_EProfileCardSlotType_Team = 0x6, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EMatchGroupServerStatus : uint32_t +{ + k_EMatchGroupServerStatus_OK = 0x0, + k_EMatchGroupServerStatus_LimitedAvailability = 0x1, + k_EMatchGroupServerStatus_Offline = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DOTA_CM_PICK : uint32_t +{ + DOTA_CM_RANDOM = 0x0, + DOTA_CM_GOOD_GUYS = 0x1, + DOTA_CM_BAD_GUYS = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class DOTALowPriorityBanType : uint32_t +{ + DOTA_LOW_PRIORITY_BAN_ABANDON = 0x0, + DOTA_LOW_PRIORITY_BAN_REPORTS = 0x1, + DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON = 0x2, + DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DOTALobbyReadyState : uint32_t +{ + DOTALobbyReadyState_UNDECLARED = 0x0, + DOTALobbyReadyState_ACCEPTED = 0x1, + DOTALobbyReadyState_DECLINED = 0x2, +}; + +// Alignment: 4 +// Size: 0xf +enum class DOTAJoinLobbyResult : uint32_t +{ + DOTA_JOIN_RESULT_SUCCESS = 0x0, + DOTA_JOIN_RESULT_ALREADY_IN_GAME = 0x1, + DOTA_JOIN_RESULT_INVALID_LOBBY = 0x2, + DOTA_JOIN_RESULT_INCORRECT_PASSWORD = 0x3, + DOTA_JOIN_RESULT_ACCESS_DENIED = 0x4, + DOTA_JOIN_RESULT_GENERIC_ERROR = 0x5, + DOTA_JOIN_RESULT_INCORRECT_VERSION = 0x6, + DOTA_JOIN_RESULT_IN_TEAM_PARTY = 0x7, + DOTA_JOIN_RESULT_NO_LOBBY_FOUND = 0x8, + DOTA_JOIN_RESULT_LOBBY_FULL = 0x9, + DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION = 0xa, + DOTA_JOIN_RESULT_TIMEOUT = 0xb, + DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN = 0xc, + DOTA_JOIN_RESULT_BUSY = 0xd, + DOTA_JOIN_RESULT_NO_PLAYTIME = 0xe, +}; + +// Alignment: 4 +// Size: 0x2 +enum class DOTASelectionPriorityRules : uint32_t +{ + k_DOTASelectionPriorityRules_Manual = 0x0, + k_DOTASelectionPriorityRules_Automatic = 0x1, +}; + +// Alignment: 4 +// Size: 0x5 +enum class DOTASelectionPriorityChoice : uint32_t +{ + k_DOTASelectionPriorityChoice_Invalid = 0x0, + k_DOTASelectionPriorityChoice_FirstPick = 0x1, + k_DOTASelectionPriorityChoice_SecondPick = 0x2, + k_DOTASelectionPriorityChoice_Radiant = 0x3, + k_DOTASelectionPriorityChoice_Dire = 0x4, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DOTAMatchVote : uint32_t +{ + DOTAMatchVote_INVALID = 0x0, + DOTAMatchVote_POSITIVE = 0x1, + DOTAMatchVote_NEGATIVE = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DOTALobbyVisibility : uint32_t +{ + DOTALobbyVisibility_Public = 0x0, + DOTALobbyVisibility_Friends = 0x1, + DOTALobbyVisibility_Unlisted = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EDOTAPlayerMMRType : uint32_t +{ + k_EDOTAPlayerMMRType_Invalid = 0x0, + k_EDOTAPlayerMMRType_GeneralHidden = 0x1, + k_EDOTAPlayerMMRType_GeneralCompetitive = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EDOTAMMRBoostType : uint32_t +{ + k_EDOTAMMRBoostType_None = 0x0, + k_EDOTAMMRBoostType_Leader = 0x1, + k_EDOTAMMRBoostType_Follower = 0x2, +}; + +// Alignment: 4 +// Size: 0x7 +enum class MatchType : uint32_t +{ + MATCH_TYPE_CASUAL = 0x0, + MATCH_TYPE_COOP_BOTS = 0x1, + MATCH_TYPE_COMPETITIVE = 0x4, + MATCH_TYPE_WEEKEND_TOURNEY = 0x5, + MATCH_TYPE_EVENT = 0x7, + MATCH_TYPE_COACHES_CHALLENGE = 0xc, + MATCH_TYPE_NEW_PLAYER_POOL = 0xe, +}; + +// Alignment: 4 +// Size: 0xa +enum class DOTABotDifficulty : uint32_t +{ + BOT_DIFFICULTY_PASSIVE = 0x0, + BOT_DIFFICULTY_EASY = 0x1, + BOT_DIFFICULTY_MEDIUM = 0x2, + BOT_DIFFICULTY_HARD = 0x3, + BOT_DIFFICULTY_UNFAIR = 0x4, + BOT_DIFFICULTY_INVALID = 0x5, + BOT_DIFFICULTY_EXTRA1 = 0x6, + BOT_DIFFICULTY_EXTRA2 = 0x7, + BOT_DIFFICULTY_EXTRA3 = 0x8, + BOT_DIFFICULTY_NPX = 0x9, +}; + +// Alignment: 4 +// Size: 0x1b +enum class DOTA_BOT_MODE : uint32_t +{ + DOTA_BOT_MODE_NONE = 0x0, + DOTA_BOT_MODE_LANING = 0x1, + DOTA_BOT_MODE_ATTACK = 0x2, + DOTA_BOT_MODE_ROAM = 0x3, + DOTA_BOT_MODE_RETREAT = 0x4, + DOTA_BOT_MODE_SECRET_SHOP = 0x5, + DOTA_BOT_MODE_SIDE_SHOP = 0x6, + DOTA_BOT_MODE_RUNE = 0x7, + DOTA_BOT_MODE_PUSH_TOWER_TOP = 0x8, + DOTA_BOT_MODE_PUSH_TOWER_MID = 0x9, + DOTA_BOT_MODE_PUSH_TOWER_BOT = 0xa, + DOTA_BOT_MODE_DEFEND_TOWER_TOP = 0xb, + DOTA_BOT_MODE_DEFEND_TOWER_MID = 0xc, + DOTA_BOT_MODE_DEFEND_TOWER_BOT = 0xd, + DOTA_BOT_MODE_ASSEMBLE = 0xe, + DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS = 0xf, + DOTA_BOT_MODE_TEAM_ROAM = 0x10, + DOTA_BOT_MODE_FARM = 0x11, + DOTA_BOT_MODE_DEFEND_ALLY = 0x12, + DOTA_BOT_MODE_EVASIVE_MANEUVERS = 0x13, + DOTA_BOT_MODE_ROSHAN = 0x14, + DOTA_BOT_MODE_ITEM = 0x15, + DOTA_BOT_MODE_WARD = 0x16, + DOTA_BOT_MODE_COMPANION = 0x17, + DOTA_BOT_MODE_TUTORIAL_BOSS = 0x18, + DOTA_BOT_MODE_MINION = 0x19, + DOTA_BOT_MODE_OUTPOST = 0x1a, +}; + +// Alignment: 4 +// Size: 0x8 +enum class MatchLanguages : uint32_t +{ + MATCH_LANGUAGE_INVALID = 0x0, + MATCH_LANGUAGE_ENGLISH = 0x1, + MATCH_LANGUAGE_RUSSIAN = 0x2, + MATCH_LANGUAGE_CHINESE = 0x3, + MATCH_LANGUAGE_KOREAN = 0x4, + MATCH_LANGUAGE_SPANISH = 0x5, + MATCH_LANGUAGE_PORTUGUESE = 0x6, + MATCH_LANGUAGE_ENGLISH2 = 0x7, +}; + +// Alignment: 4 +// Size: 0x7 +enum class ETourneyQueueDeadlineState : uint32_t +{ + k_ETourneyQueueDeadlineState_Normal = 0x0, + k_ETourneyQueueDeadlineState_Missed = 0x1, + k_ETourneyQueueDeadlineState_ExpiredOK = 0x2, + k_ETourneyQueueDeadlineState_SeekingBye = 0x3, + k_ETourneyQueueDeadlineState_EligibleForRefund = 0x4, + k_ETourneyQueueDeadlineState_NA = 0xffffffffffffffff, + k_ETourneyQueueDeadlineState_ExpiringSoon = 0x65, +}; + +// Alignment: 4 +// Size: 0x13 +enum class EMatchOutcome : uint32_t +{ + k_EMatchOutcome_Unknown = 0x0, + k_EMatchOutcome_RadVictory = 0x2, + k_EMatchOutcome_DireVictory = 0x3, + k_EMatchOutcome_NeutralVictory = 0x4, + k_EMatchOutcome_NoTeamWinner = 0x5, + k_EMatchOutcome_Custom1Victory = 0x6, + k_EMatchOutcome_Custom2Victory = 0x7, + k_EMatchOutcome_Custom3Victory = 0x8, + k_EMatchOutcome_Custom4Victory = 0x9, + k_EMatchOutcome_Custom5Victory = 0xa, + k_EMatchOutcome_Custom6Victory = 0xb, + k_EMatchOutcome_Custom7Victory = 0xc, + k_EMatchOutcome_Custom8Victory = 0xd, + k_EMatchOutcome_NotScored_PoorNetworkConditions = 0x40, + k_EMatchOutcome_NotScored_Leaver = 0x41, + k_EMatchOutcome_NotScored_ServerCrash = 0x42, + k_EMatchOutcome_NotScored_NeverStarted = 0x43, + k_EMatchOutcome_NotScored_Canceled = 0x44, + k_EMatchOutcome_NotScored_Suspicious = 0x45, +}; + +// Alignment: 4 +// Size: 0x6 +enum class ELaneType : uint32_t +{ + LANE_TYPE_UNKNOWN = 0x0, + LANE_TYPE_SAFE = 0x1, + LANE_TYPE_OFF = 0x2, + LANE_TYPE_MID = 0x3, + LANE_TYPE_JUNGLE = 0x4, + LANE_TYPE_ROAM = 0x5, +}; + +// Alignment: 4 +// Size: 0xc +enum class EBadgeType : uint32_t +{ + k_EBadgeType_TI7_Midweek = 0x1, + k_EBadgeType_TI7_Finals = 0x2, + k_EBadgeType_TI7_AllEvent = 0x3, + k_EBadgeType_TI8_Midweek = 0x4, + k_EBadgeType_TI8_Finals = 0x5, + k_EBadgeType_TI8_AllEvent = 0x6, + k_EBadgeType_TI10 = 0x7, + k_EBadgeType_TI11_PlayoffsDay1 = 0x8, + k_EBadgeType_TI11_PlayoffsDay2 = 0x9, + k_EBadgeType_TI11_PlayoffsDay3 = 0xa, + k_EBadgeType_TI11_PlayoffsDay4 = 0xb, + k_EBadgeType_TI11_FinalsWeekend = 0xc, +}; + +// Alignment: 4 +// Size: 0x7 +enum class ELeagueStatus : uint32_t +{ + LEAGUE_STATUS_UNSET = 0x0, + LEAGUE_STATUS_UNSUBMITTED = 0x1, + LEAGUE_STATUS_SUBMITTED = 0x2, + LEAGUE_STATUS_ACCEPTED = 0x3, + LEAGUE_STATUS_REJECTED = 0x4, + LEAGUE_STATUS_CONCLUDED = 0x5, + LEAGUE_STATUS_DELETED = 0x6, +}; + +// Alignment: 4 +// Size: 0x7 +enum class ELeagueRegion : uint32_t +{ + LEAGUE_REGION_UNSET = 0x0, + LEAGUE_REGION_NA = 0x1, + LEAGUE_REGION_SA = 0x2, + LEAGUE_REGION_WEU = 0x3, + LEAGUE_REGION_EEU = 0x4, + LEAGUE_REGION_CHINA = 0x5, + LEAGUE_REGION_SEA = 0x6, +}; + +// Alignment: 4 +// Size: 0xa +enum class ELeagueTier : uint32_t +{ + LEAGUE_TIER_UNSET = 0x0, + LEAGUE_TIER_AMATEUR = 0x1, + LEAGUE_TIER_PROFESSIONAL = 0x2, + LEAGUE_TIER_MINOR = 0x3, + LEAGUE_TIER_MAJOR = 0x4, + LEAGUE_TIER_INTERNATIONAL = 0x5, + LEAGUE_TIER_DPC_QUALIFIER = 0x6, + LEAGUE_TIER_DPC_LEAGUE_QUALIFIER = 0x7, + LEAGUE_TIER_DPC_LEAGUE = 0x8, + LEAGUE_TIER_DPC_LEAGUE_FINALS = 0x9, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ELeagueTierCategory : uint32_t +{ + LEAGUE_TIER_CATEGORY_AMATEUR = 0x1, + LEAGUE_TIER_CATEGORY_PROFESSIONAL = 0x2, + LEAGUE_TIER_CATEGORY_DPC = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ELeagueDivision : uint32_t +{ + LEAGUE_DIVISION_UNSET = 0x0, + LEAGUE_DIVISION_I = 0x1, + LEAGUE_DIVISION_II = 0x2, +}; + +// Alignment: 4 +// Size: 0x5 +enum class ELeagueBroadcastProvider : uint32_t +{ + LEAGUE_BROADCAST_UNKNOWN = 0x0, + LEAGUE_BROADCAST_STEAM = 0x1, + LEAGUE_BROADCAST_TWITCH = 0x2, + LEAGUE_BROADCAST_YOUTUBE = 0x3, + LEAGUE_BROADCAST_OTHER = 0x64, +}; + +// Alignment: 4 +// Size: 0x4 +enum class ELeaguePhase : uint32_t +{ + LEAGUE_PHASE_UNSET = 0x0, + LEAGUE_PHASE_REGIONAL_QUALIFIER = 0x1, + LEAGUE_PHASE_GROUP_STAGE = 0x2, + LEAGUE_PHASE_MAIN_EVENT = 0x3, +}; + +// Alignment: 4 +// Size: 0x2a +enum class ELeagueAuditAction : uint32_t +{ + LEAGUE_AUDIT_ACTION_INVALID = 0x0, + LEAGUE_AUDIT_ACTION_LEAGUE_CREATE = 0x1, + LEAGUE_AUDIT_ACTION_LEAGUE_EDIT = 0x2, + LEAGUE_AUDIT_ACTION_LEAGUE_DELETE = 0x3, + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD = 0x4, + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE = 0x5, + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE = 0x6, + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD = 0x7, + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE = 0x8, + LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED = 0x9, + LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED = 0xa, + LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED = 0xb, + LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL = 0xc, + LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM = 0xd, + LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM = 0xe, + LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START = 0xf, + LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END = 0x10, + LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM = 0x11, + LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM = 0x12, + LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED = 0x13, + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT = 0x14, + LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP = 0x15, + LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE = 0x64, + LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY = 0x65, + LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM = 0x66, + LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM = 0x67, + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING = 0x68, + LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT = 0x69, + LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE = 0x6a, + LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED = 0x6b, + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING = 0x6c, + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING = 0x6d, + LEAGUE_AUDIT_ACTION_NODE_CREATE = 0xc8, + LEAGUE_AUDIT_ACTION_NODE_DESTROY = 0xc9, + LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE = 0xca, + LEAGUE_AUDIT_ACTION_NODE_SET_TEAM = 0xcb, + LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID = 0xcc, + LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING = 0xcd, + LEAGUE_AUDIT_ACTION_NODE_SET_TIME = 0xce, + LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED = 0xcf, + LEAGUE_AUDIT_ACTION_NODE_COMPLETED = 0xd0, + LEAGUE_AUDIT_ACTION_NODE_EDIT = 0xd1, +}; + +// Alignment: 4 +// Size: 0x2d +enum class DOTA_COMBATLOG_TYPES : uint32_t +{ + DOTA_COMBATLOG_INVALID = 0xffffffffffffffff, + DOTA_COMBATLOG_DAMAGE = 0x0, + DOTA_COMBATLOG_HEAL = 0x1, + DOTA_COMBATLOG_MODIFIER_ADD = 0x2, + DOTA_COMBATLOG_MODIFIER_REMOVE = 0x3, + DOTA_COMBATLOG_DEATH = 0x4, + DOTA_COMBATLOG_ABILITY = 0x5, + DOTA_COMBATLOG_ITEM = 0x6, + DOTA_COMBATLOG_LOCATION = 0x7, + DOTA_COMBATLOG_GOLD = 0x8, + DOTA_COMBATLOG_GAME_STATE = 0x9, + DOTA_COMBATLOG_XP = 0xa, + DOTA_COMBATLOG_PURCHASE = 0xb, + DOTA_COMBATLOG_BUYBACK = 0xc, + DOTA_COMBATLOG_ABILITY_TRIGGER = 0xd, + DOTA_COMBATLOG_PLAYERSTATS = 0xe, + DOTA_COMBATLOG_MULTIKILL = 0xf, + DOTA_COMBATLOG_KILLSTREAK = 0x10, + DOTA_COMBATLOG_TEAM_BUILDING_KILL = 0x11, + DOTA_COMBATLOG_FIRST_BLOOD = 0x12, + DOTA_COMBATLOG_MODIFIER_STACK_EVENT = 0x13, + DOTA_COMBATLOG_NEUTRAL_CAMP_STACK = 0x14, + DOTA_COMBATLOG_PICKUP_RUNE = 0x15, + DOTA_COMBATLOG_REVEALED_INVISIBLE = 0x16, + DOTA_COMBATLOG_HERO_SAVED = 0x17, + DOTA_COMBATLOG_MANA_RESTORED = 0x18, + DOTA_COMBATLOG_HERO_LEVELUP = 0x19, + DOTA_COMBATLOG_BOTTLE_HEAL_ALLY = 0x1a, + DOTA_COMBATLOG_ENDGAME_STATS = 0x1b, + DOTA_COMBATLOG_INTERRUPT_CHANNEL = 0x1c, + DOTA_COMBATLOG_ALLIED_GOLD = 0x1d, + DOTA_COMBATLOG_AEGIS_TAKEN = 0x1e, + DOTA_COMBATLOG_MANA_DAMAGE = 0x1f, + DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED = 0x20, + DOTA_COMBATLOG_UNIT_SUMMONED = 0x21, + DOTA_COMBATLOG_ATTACK_EVADE = 0x22, + DOTA_COMBATLOG_TREE_CUT = 0x23, + DOTA_COMBATLOG_SUCCESSFUL_SCAN = 0x24, + DOTA_COMBATLOG_END_KILLSTREAK = 0x25, + DOTA_COMBATLOG_BLOODSTONE_CHARGE = 0x26, + DOTA_COMBATLOG_CRITICAL_DAMAGE = 0x27, + DOTA_COMBATLOG_SPELL_ABSORB = 0x28, + DOTA_COMBATLOG_UNIT_TELEPORTED = 0x29, + DOTA_COMBATLOG_KILL_EATER_EVENT = 0x2a, + DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED = 0x2b, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EDPCFavoriteType : uint32_t +{ + FAVORITE_TYPE_ALL = 0x0, + FAVORITE_TYPE_PLAYER = 0x1, + FAVORITE_TYPE_TEAM = 0x2, + FAVORITE_TYPE_LEAGUE = 0x3, +}; + +// Alignment: 4 +// Size: 0xb +enum class EDPCPushNotification : uint32_t +{ + DPC_PUSH_NOTIFICATION_MATCH_STARTING = 0x1, + DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM = 0xa, + DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM = 0xb, + DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH = 0xc, + DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH = 0xd, + DPC_PUSH_NOTIFICATION_LEAGUE_RESULT = 0x14, + DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE = 0x1e, + DPC_PUSH_NOTIFICATION_PREDICTION_RESULT = 0x1f, + DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED = 0x28, + DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY = 0x29, + DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 0x2a, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EEventActionScoreMode : uint32_t +{ + k_eEventActionScoreMode_Add = 0x0, + k_eEventActionScoreMode_Min = 0x1, +}; + +// Alignment: 4 +// Size: 0x6 +enum class EPlayerChallengeHistoryType : uint32_t +{ + k_EPlayerChallengeHistoryType_Invalid = 0x0, + k_EPlayerChallengeHistoryType_KillEater = 0x1, + k_EPlayerChallengeHistoryType_DotaPlusRelic = 0x2, + k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge = 0x3, + k_EPlayerChallengeHistoryType_InGameEventChallenge = 0x4, + k_EPlayerChallengeHistoryType_GuildContract = 0x5, +}; + +// Alignment: 4 +// Size: 0x6 +enum class EOverwatchReportReason : uint32_t +{ + k_EOverwatchReportReason_Unknown = 0x0, + k_EOverwatchReportReason_Cheating = 0x1, + k_EOverwatchReportReason_Feeding = 0x2, + k_EOverwatchReportReason_Griefing = 0x3, + k_EOverwatchReportReason_Suspicious = 0x4, + k_EOverwatchReportReason_AbilityAbuse = 0x5, +}; + +// Alignment: 4 +// Size: 0x2 +enum class ESpecialPingValue : uint32_t +{ + k_ESpecialPingValue_NoData = 0x3ffe, + k_ESpecialPingValue_Failed = 0x3fff, +}; + +// Alignment: 4 +// Size: 0xe +enum class EDOTAGCSessionNeed : uint32_t +{ + k_EDOTAGCSessionNeed_Unknown = 0x0, + k_EDOTAGCSessionNeed_UserNoSessionNeeded = 0x64, + k_EDOTAGCSessionNeed_UserInOnlineGame = 0x65, + k_EDOTAGCSessionNeed_UserInLocalGame = 0x66, + k_EDOTAGCSessionNeed_UserInUIWasConnected = 0x67, + k_EDOTAGCSessionNeed_UserInUINeverConnected = 0x68, + k_EDOTAGCSessionNeed_UserTutorials = 0x69, + k_EDOTAGCSessionNeed_UserInUIWasConnectedIdle = 0x6a, + k_EDOTAGCSessionNeed_UserInUINeverConnectedIdle = 0x6b, + k_EDOTAGCSessionNeed_GameServerOnline = 0xc8, + k_EDOTAGCSessionNeed_GameServerLocal = 0xc9, + k_EDOTAGCSessionNeed_GameServerIdle = 0xca, + k_EDOTAGCSessionNeed_GameServerRelay = 0xcb, + k_EDOTAGCSessionNeed_GameServerLocalUpload = 0xcc, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EDOTAMatchPlayerTimeCustomStat : uint32_t +{ + k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers = 0x1, + k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_Absolute = 0x2, + k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_PercentOfTotalHP = 0x3, +}; + +// Alignment: 4 +// Size: 0xc +enum class DOTA_TournamentEvents : uint32_t +{ + TE_FIRST_BLOOD = 0x0, + TE_GAME_END = 0x1, + TE_MULTI_KILL = 0x2, + TE_HERO_DENY = 0x3, + TE_AEGIS_DENY = 0x4, + TE_AEGIS_STOLEN = 0x5, + TE_GODLIKE = 0x6, + TE_COURIER_KILL = 0x7, + TE_ECHOSLAM = 0x8, + TE_RAPIER = 0x9, + TE_EARLY_ROSHAN = 0xa, + TE_BLACK_HOLE = 0xb, +}; + +// Alignment: 4 +// Size: 0x9 +enum class EBroadcastTimelineEvent : uint32_t +{ + EBroadcastTimelineEvent_MatchStarted = 0x1, + EBroadcastTimelineEvent_GameStateChanged = 0x2, + EBroadcastTimelineEvent_TowerDeath = 0x3, + EBroadcastTimelineEvent_BarracksDeath = 0x4, + EBroadcastTimelineEvent_AncientDeath = 0x5, + EBroadcastTimelineEvent_RoshanDeath = 0x6, + EBroadcastTimelineEvent_HeroDeath = 0x7, + EBroadcastTimelineEvent_TeamFight = 0x8, + EBroadcastTimelineEvent_FirstBlood = 0x9, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ECustomGameWhitelistState : uint32_t +{ + CUSTOM_GAME_WHITELIST_STATE_UNKNOWN = 0x0, + CUSTOM_GAME_WHITELIST_STATE_APPROVED = 0x1, + CUSTOM_GAME_WHITELIST_STATE_REJECTED = 0x2, +}; + +// Alignment: 4 +// Size: 0x12 +enum class EDOTATriviaQuestionCategory : uint32_t +{ + k_EDOTATriviaQuestionCategory_AbilityIcon = 0x0, + k_EDOTATriviaQuestionCategory_AbilityCooldown = 0x1, + k_EDOTATriviaQuestionCategory_HeroAttributes = 0x2, + k_EDOTATriviaQuestionCategory_HeroMovementSpeed = 0x3, + k_EDOTATriviaQuestionCategory_TalentTree = 0x4, + k_EDOTATriviaQuestionCategory_HeroStats = 0x5, + k_EDOTATriviaQuestionCategory_ItemPrice = 0x6, + k_EDOTATriviaQuestionCategory_AbilitySound = 0x7, + k_EDOTATriviaQuestionCategory_InvokerSpells = 0x8, + k_EDOTATriviaQuestionCategory_AbilityManaCost = 0x9, + k_EDOTATriviaQuestionCategory_HeroAttackSound = 0xa, + k_EDOTATriviaQuestionCategory_AbilityName = 0xb, + k_EDOTATriviaQuestionCategory_ItemComponents = 0xc, + k_EDOTATriviaQuestionCategory_ItemLore = 0xd, + k_EDOTATriviaQuestionCategory_ItemPassives = 0xe, + k_EDOTATriviaQuestionCategory_STATIC_QUESTIONS_END = 0xf, + k_EDOTATriviaQuestionCategory_DYNAMIC_QUESTIONS_START = 0x63, + k_EDOTATriviaQuestionCategory_Dynamic_ItemBuild = 0x64, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EOverwatchConviction : uint32_t +{ + k_EOverwatchConviction_None = 0x0, + k_EOverwatchConviction_NotGuilty = 0x1, + k_EOverwatchConviction_GuiltUnclear = 0x2, + k_EOverwatchConviction_Guilty = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EHeroRelicRarity : uint32_t +{ + HERO_RELIC_RARITY_INVALID = 0xffffffffffffffff, + HERO_RELIC_RARITY_COMMON = 0x0, + HERO_RELIC_RARITY_RARE = 0x1, +}; + +// Alignment: 4 +// Size: 0x5 +enum class EStickerbookAuditAction : uint32_t +{ + STICKERBOOK_AUDIT_CREATE_PAGE = 0x0, + STICKERBOOK_AUDIT_DELETE_PAGE = 0x1, + STICKERBOOK_AUDIT_STICK_STICKERS = 0x2, + STICKERBOOK_AUDIT_REPLACE_STICKERS = 0x3, + STICKERBOOK_AUDIT_HERO_STICKER = 0x4, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EStickerbookPageType : uint32_t +{ + STICKER_PAGE_GENERIC = 0x0, + STICKER_PAGE_TEAM = 0x1, + STICKER_PAGE_TALENT = 0x2, +}; + +// Alignment: 4 +// Size: 0x3 +enum class ELobbyMemberCoachRequestState : uint32_t +{ + k_eLobbyMemberCoachRequestState_None = 0x0, + k_eLobbyMemberCoachRequestState_Accepted = 0x1, + k_eLobbyMemberCoachRequestState_Rejected = 0x2, +}; + +// Alignment: 4 +// Size: 0x4 +enum class LobbyDotaTVDelay : uint32_t +{ + LobbyDotaTV_10 = 0x0, + LobbyDotaTV_120 = 0x1, + LobbyDotaTV_300 = 0x2, + LobbyDotaTV_900 = 0x3, +}; + +// Alignment: 4 +// Size: 0x3 +enum class LobbyDotaPauseSetting : uint32_t +{ + LobbyDotaPauseSetting_Unlimited = 0x0, + LobbyDotaPauseSetting_Limited = 0x1, + LobbyDotaPauseSetting_Disabled = 0x2, +}; + +// Alignment: 4 +// Size: 0x5 +enum class ELaneSelection : uint32_t +{ + k_ELaneSelection_SAFELANE = 0x0, + k_ELaneSelection_OFFLANE = 0x1, + k_ELaneSelection_MIDLANE = 0x2, + k_ELaneSelection_SUPPORT_SOFT = 0x3, + k_ELaneSelection_SUPPORT_HARD = 0x4, +}; + +// Alignment: 4 +// Size: 0x9 +enum class ELaneSelectionFlags : uint32_t +{ + k_ELaneSelectionFlags_None = 0x0, + k_ELaneSelectionFlags_SAFELANE = 0x1, + k_ELaneSelectionFlags_OFFLANE = 0x2, + k_ELaneSelectionFlags_MIDLANE = 0x4, + k_ELaneSelectionFlags_SUPPORT_SOFT = 0x8, + k_ELaneSelectionFlags_SUPPORT_HARD = 0x10, + k_ELaneSelectionFlags_CORE = 0x7, + k_ELaneSelectionFlags_SUPPORT = 0x18, + k_ELaneSelectionFlags_ALL = 0x1f, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EPartyMatchmakingFlags : uint32_t +{ + k_EPartyMatchmakingFlags_None = 0x0, + k_EPartyMatchmakingFlags_LargeRankSpread = 0x1, +}; + +// Alignment: 4 +// Size: 0x9 +enum class EHighPriorityMMState : uint32_t +{ + k_EHighPriorityMM_Unknown = 0x0, + k_EHighPriorityMM_MissingMMData = 0x1, + k_EHighPriorityMM_ResourceMissing = 0x2, + k_EHighPriorityMM_ManuallyDisabled = 0x3, + k_EHighPriorityMM_Min_Enabled = 0x40, + k_EHighPriorityMM_AllRolesSelected = 0x41, + k_EHighPriorityMM_UsingResource = 0x42, + k_EHighPriorityMM_FiveStack = 0x43, + k_EHighPriorityMM_HighDemand = 0x44, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EReadyCheckStatus : uint32_t +{ + k_EReadyCheckStatus_Unknown = 0x0, + k_EReadyCheckStatus_NotReady = 0x1, + k_EReadyCheckStatus_Ready = 0x2, +}; + +// Alignment: 4 +// Size: 0x5 +enum class EReadyCheckRequestResult : uint32_t +{ + k_EReadyCheckRequestResult_Success = 0x0, + k_EReadyCheckRequestResult_AlreadyInProgress = 0x1, + k_EReadyCheckRequestResult_NotInParty = 0x2, + k_EReadyCheckRequestResult_SendError = 0x3, + k_EReadyCheckRequestResult_UnknownError = 0x4, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EMatchBehaviorScoreVariance : uint32_t +{ + k_EMatchBehaviorScoreVariance_Invalid = 0x0, + k_EMatchBehaviorScoreVariance_Low = 0x1, + k_EMatchBehaviorScoreVariance_Medium = 0x2, + k_EMatchBehaviorScoreVariance_High = 0x3, +}; + +// Alignment: 4 +// Size: 0x9 +enum class ELeagueNodeGroupType : uint32_t +{ + INVALID_GROUP_TYPE = 0x0, + ORGANIZATIONAL = 0x1, + ROUND_ROBIN = 0x2, + SWISS = 0x3, + BRACKET_SINGLE = 0x4, + BRACKET_DOUBLE_SEED_LOSER = 0x5, + BRACKET_DOUBLE_ALL_WINNER = 0x6, + SHOWMATCH = 0x7, + GSL = 0x8, +}; + +// Alignment: 4 +// Size: 0x5 +enum class ELeagueNodeType : uint32_t +{ + INVALID_NODE_TYPE = 0x0, + BEST_OF_ONE = 0x1, + BEST_OF_THREE = 0x2, + BEST_OF_FIVE = 0x3, + BEST_OF_TWO = 0x4, +}; + +// Alignment: 4 +// Size: 0x335 +enum class EDOTAGCMsg : uint32_t +{ + k_EMsgGCDOTABase = 0x1b58, + k_EMsgGCGameMatchSignOut = 0x1b5c, + k_EMsgGCGameMatchSignOutResponse = 0x1b5d, + k_EMsgGCJoinChatChannel = 0x1b61, + k_EMsgGCJoinChatChannelResponse = 0x1b62, + k_EMsgGCOtherJoinedChannel = 0x1b65, + k_EMsgGCOtherLeftChannel = 0x1b66, + k_EMsgServerToGCRequestStatus = 0x1b72, + k_EMsgGCStartFindingMatch = 0x1b79, + k_EMsgGCConnectedPlayers = 0x1b7a, + k_EMsgGCAbandonCurrentGame = 0x1b7b, + k_EMsgGCStopFindingMatch = 0x1b7c, + k_EMsgGCPracticeLobbyCreate = 0x1b7e, + k_EMsgGCPracticeLobbyLeave = 0x1b80, + k_EMsgGCPracticeLobbyLaunch = 0x1b81, + k_EMsgGCPracticeLobbyList = 0x1b82, + k_EMsgGCPracticeLobbyListResponse = 0x1b83, + k_EMsgGCPracticeLobbyJoin = 0x1b84, + k_EMsgGCPracticeLobbySetDetails = 0x1b86, + k_EMsgGCPracticeLobbySetTeamSlot = 0x1b87, + k_EMsgGCInitialQuestionnaireResponse = 0x1b89, + k_EMsgGCPracticeLobbyResponse = 0x1b8f, + k_EMsgGCBroadcastNotification = 0x1b90, + k_EMsgGCLiveScoreboardUpdate = 0x1b91, + k_EMsgGCRequestChatChannelList = 0x1b94, + k_EMsgGCRequestChatChannelListResponse = 0x1b95, + k_EMsgGCReadyUp = 0x1b9e, + k_EMsgGCKickedFromMatchmakingQueue = 0x1b9f, + k_EMsgGCLeaverDetected = 0x1ba0, + k_EMsgGCSpectateFriendGame = 0x1ba1, + k_EMsgGCSpectateFriendGameResponse = 0x1ba2, + k_EMsgGCReportsRemainingRequest = 0x1ba4, + k_EMsgGCReportsRemainingResponse = 0x1ba5, + k_EMsgGCSubmitPlayerReport = 0x1ba6, + k_EMsgGCSubmitPlayerReportResponse = 0x1ba7, + k_EMsgGCPracticeLobbyKick = 0x1ba9, + k_EMsgGCRequestSaveGames = 0x1bac, + k_EMsgGCRequestSaveGamesServer = 0x1bad, + k_EMsgGCRequestSaveGamesResponse = 0x1bae, + k_EMsgGCLeaverDetectedResponse = 0x1baf, + k_EMsgGCPlayerFailedToConnect = 0x1bb0, + k_EMsgGCGCToRelayConnect = 0x1bb1, + k_EMsgGCGCToRelayConnectresponse = 0x1bb2, + k_EMsgGCWatchGame = 0x1bb3, + k_EMsgGCWatchGameResponse = 0x1bb4, + k_EMsgGCBanStatusRequest = 0x1bb5, + k_EMsgGCBanStatusResponse = 0x1bb6, + k_EMsgGCMatchDetailsRequest = 0x1bb7, + k_EMsgGCMatchDetailsResponse = 0x1bb8, + k_EMsgGCCancelWatchGame = 0x1bb9, + k_EMsgGCPopup = 0x1bbe, + k_EMsgGCFriendPracticeLobbyListRequest = 0x1bc7, + k_EMsgGCFriendPracticeLobbyListResponse = 0x1bc8, + k_EMsgGCPracticeLobbyJoinResponse = 0x1bc9, + k_EMsgGCCreateTeam = 0x1bcb, + k_EMsgGCCreateTeamResponse = 0x1bcc, + k_EMsgGCTeamInvite_InviterToGC = 0x1bd2, + k_EMsgGCTeamInvite_GCImmediateResponseToInviter = 0x1bd3, + k_EMsgGCTeamInvite_GCRequestToInvitee = 0x1bd4, + k_EMsgGCTeamInvite_InviteeResponseToGC = 0x1bd5, + k_EMsgGCTeamInvite_GCResponseToInviter = 0x1bd6, + k_EMsgGCTeamInvite_GCResponseToInvitee = 0x1bd7, + k_EMsgGCKickTeamMember = 0x1bd8, + k_EMsgGCKickTeamMemberResponse = 0x1bd9, + k_EMsgGCLeaveTeam = 0x1bda, + k_EMsgGCLeaveTeamResponse = 0x1bdb, + k_EMsgGCApplyTeamToPracticeLobby = 0x1be6, + k_EMsgGCTransferTeamAdmin = 0x1be8, + k_EMsgGCPracticeLobbyJoinBroadcastChannel = 0x1bed, + k_EMsgGC_TournamentItemEvent = 0x1bee, + k_EMsgGC_TournamentItemEventResponse = 0x1bef, + k_EMsgTeamFanfare = 0x1bf4, + k_EMsgResponseTeamFanfare = 0x1bf5, + k_EMsgGC_GameServerUploadSaveGame = 0x1bf6, + k_EMsgGC_GameServerSaveGameResult = 0x1bf7, + k_EMsgGC_GameServerGetLoadGame = 0x1bf8, + k_EMsgGC_GameServerGetLoadGameResult = 0x1bf9, + k_EMsgGCEditTeamDetails = 0x1bfe, + k_EMsgGCEditTeamDetailsResponse = 0x1bff, + k_EMsgGCReadyUpStatus = 0x1c02, + k_EMsgGCToGCMatchCompleted = 0x1c12, + k_EMsgGCBalancedShuffleLobby = 0x1c14, + k_EMsgGCMatchmakingStatsRequest = 0x1c1d, + k_EMsgGCMatchmakingStatsResponse = 0x1c1e, + k_EMsgGCBotGameCreate = 0x1c1f, + k_EMsgGCSetMatchHistoryAccess = 0x1c20, + k_EMsgGCSetMatchHistoryAccessResponse = 0x1c21, + k_EMsgUpgradeLeagueItem = 0x1c23, + k_EMsgUpgradeLeagueItemResponse = 0x1c24, + k_EMsgGCWatchDownloadedReplay = 0x1c26, + k_EMsgClientsRejoinChatChannels = 0x1c31, + k_EMsgGCToGCGetUserChatInfo = 0x1c32, + k_EMsgGCToGCGetUserChatInfoResponse = 0x1c33, + k_EMsgGCToGCLeaveAllChatChannels = 0x1c34, + k_EMsgGCToGCUpdateAccountChatBan = 0x1c35, + k_EMsgGCToGCCanInviteUserToTeam = 0x1c42, + k_EMsgGCToGCCanInviteUserToTeamResponse = 0x1c43, + k_EMsgGCToGCGetUserRank = 0x1c44, + k_EMsgGCToGCGetUserRankResponse = 0x1c45, + k_EMsgGCToGCUpdateTeamStats = 0x1c48, + k_EMsgGCToGCValidateTeam = 0x1c49, + k_EMsgGCToGCValidateTeamResponse = 0x1c4a, + k_EMsgGCToGCGetLeagueAdmin = 0x1c57, + k_EMsgGCToGCGetLeagueAdminResponse = 0x1c58, + k_EMsgGCLeaveChatChannel = 0x1c68, + k_EMsgGCChatMessage = 0x1c69, + k_EMsgGCGetHeroStandings = 0x1c6a, + k_EMsgGCGetHeroStandingsResponse = 0x1c6b, + k_EMsgGCItemEditorReservationsRequest = 0x1c73, + k_EMsgGCItemEditorReservationsResponse = 0x1c74, + k_EMsgGCItemEditorReserveItemDef = 0x1c75, + k_EMsgGCItemEditorReserveItemDefResponse = 0x1c76, + k_EMsgGCItemEditorReleaseReservation = 0x1c77, + k_EMsgGCItemEditorReleaseReservationResponse = 0x1c78, + k_EMsgGCRewardTutorialPrizes = 0x1c79, + k_EMsgGCFantasyLivePlayerStats = 0x1c8c, + k_EMsgGCFantasyFinalPlayerStats = 0x1c8d, + k_EMsgGCFlipLobbyTeams = 0x1c98, + k_EMsgGCToGCProcessPlayerReportForTarget = 0x1c9c, + k_EMsgGCToGCProcessReportSuccess = 0x1c9d, + k_EMsgGCNotifyAccountFlagsChange = 0x1c9e, + k_EMsgGCSetProfilePrivacy = 0x1c9f, + k_EMsgGCSetProfilePrivacyResponse = 0x1ca0, + k_EMsgGCClientSuspended = 0x1cae, + k_EMsgGCPartyMemberSetCoach = 0x1caf, + k_EMsgGCPracticeLobbySetCoach = 0x1cb2, + k_EMsgGCChatModeratorBan = 0x1cbf, + k_EMsgGCLobbyUpdateBroadcastChannelInfo = 0x1cc7, + k_EMsgGCToGCGrantTournamentItem = 0x1ccc, + k_EMsgGCToGCUpgradeTwitchViewerItems = 0x1ccf, + k_EMsgGCToGCGetLiveMatchAffiliates = 0x1cd0, + k_EMsgGCToGCGetLiveMatchAffiliatesResponse = 0x1cd1, + k_EMsgGCToGCUpdatePlayerPennantCounts = 0x1cd2, + k_EMsgGCToGCGetPlayerPennantCounts = 0x1cd3, + k_EMsgGCToGCGetPlayerPennantCountsResponse = 0x1cd4, + k_EMsgGCGameMatchSignOutPermissionRequest = 0x1cd5, + k_EMsgGCGameMatchSignOutPermissionResponse = 0x1cd6, + k_EMsgDOTAAwardEventPoints = 0x1cd8, + k_EMsgDOTAGetEventPoints = 0x1cdb, + k_EMsgDOTAGetEventPointsResponse = 0x1cdc, + k_EMsgGCPartyLeaderWatchGamePrompt = 0x1ce5, + k_EMsgGCCompendiumSetSelection = 0x1ced, + k_EMsgGCCompendiumDataRequest = 0x1cee, + k_EMsgGCCompendiumDataResponse = 0x1cef, + k_EMsgDOTAGetPlayerMatchHistory = 0x1cf0, + k_EMsgDOTAGetPlayerMatchHistoryResponse = 0x1cf1, + k_EMsgGCToGCMatchmakingAddParty = 0x1cf2, + k_EMsgGCToGCMatchmakingRemoveParty = 0x1cf3, + k_EMsgGCToGCMatchmakingRemoveAllParties = 0x1cf4, + k_EMsgGCToGCMatchmakingMatchFound = 0x1cf5, + k_EMsgGCToGCUpdateMatchManagementStats = 0x1cf6, + k_EMsgGCToGCUpdateMatchmakingStats = 0x1cf7, + k_EMsgGCToServerPingRequest = 0x1cf8, + k_EMsgGCToServerPingResponse = 0x1cf9, + k_EMsgGCToGCProcessMatchLeaver = 0x1d02, + k_EMsgGCNotificationsRequest = 0x1d03, + k_EMsgGCNotificationsResponse = 0x1d04, + k_EMsgGCToGCModifyNotification = 0x1d05, + k_EMsgGCLeagueAdminList = 0x1d0a, + k_EMsgGCNotificationsMarkReadRequest = 0x1d0b, + k_EMsgServerToGCRequestBatchPlayerResources = 0x1d1a, + k_EMsgServerToGCRequestBatchPlayerResourcesResponse = 0x1d1b, + k_EMsgGCCompendiumSetSelectionResponse = 0x1d1d, + k_EMsgGCPlayerInfoSubmit = 0x1d20, + k_EMsgGCPlayerInfoSubmitResponse = 0x1d21, + k_EMsgGCToGCGetAccountLevel = 0x1d22, + k_EMsgGCToGCGetAccountLevelResponse = 0x1d23, + k_EMsgDOTAGetWeekendTourneySchedule = 0x1d28, + k_EMsgDOTAWeekendTourneySchedule = 0x1d29, + k_EMsgGCJoinableCustomGameModesRequest = 0x1d2a, + k_EMsgGCJoinableCustomGameModesResponse = 0x1d2b, + k_EMsgGCJoinableCustomLobbiesRequest = 0x1d2c, + k_EMsgGCJoinableCustomLobbiesResponse = 0x1d2d, + k_EMsgGCQuickJoinCustomLobby = 0x1d2e, + k_EMsgGCQuickJoinCustomLobbyResponse = 0x1d2f, + k_EMsgGCToGCGrantEventPointAction = 0x1d30, + k_EMsgGCToGCSetCompendiumSelection = 0x1d36, + k_EMsgGCHasItemQuery = 0x1d3c, + k_EMsgGCHasItemResponse = 0x1d3d, + k_EMsgGCToGCGrantEventPointActionMsg = 0x1d40, + k_EMsgGCToGCGetCompendiumSelections = 0x1d44, + k_EMsgGCToGCGetCompendiumSelectionsResponse = 0x1d45, + k_EMsgServerToGCMatchConnectionStats = 0x1d46, + k_EMsgGCToClientTournamentItemDrop = 0x1d47, + k_EMsgSQLDelayedGrantLeagueDrop = 0x1d48, + k_EMsgServerGCUpdateSpectatorCount = 0x1d49, + k_EMsgGCToGCEmoticonUnlock = 0x1d4d, + k_EMsgSignOutDraftInfo = 0x1d4e, + k_EMsgClientToGCEmoticonDataRequest = 0x1d4f, + k_EMsgGCToClientEmoticonData = 0x1d50, + k_EMsgGCPracticeLobbyToggleBroadcastChannelCameramanStatus = 0x1d51, + k_EMsgDOTARedeemItem = 0x1d5e, + k_EMsgDOTARedeemItemResponse = 0x1d5f, + k_EMsgClientToGCGetAllHeroProgress = 0x1d61, + k_EMsgClientToGCGetAllHeroProgressResponse = 0x1d62, + k_EMsgGCToGCGetServerForClient = 0x1d63, + k_EMsgGCToGCGetServerForClientResponse = 0x1d64, + k_EMsgSQLProcessTournamentGameOutcome = 0x1d65, + k_EMsgSQLGrantTrophyToAccount = 0x1d66, + k_EMsgClientToGCGetTrophyList = 0x1d67, + k_EMsgClientToGCGetTrophyListResponse = 0x1d68, + k_EMsgGCToClientTrophyAwarded = 0x1d69, + k_EMsgGCGameBotMatchSignOut = 0x1d6a, + k_EMsgGCGameBotMatchSignOutPermissionRequest = 0x1d6b, + k_EMsgSignOutBotInfo = 0x1d6c, + k_EMsgGCToGCUpdateProfileCards = 0x1d6d, + k_EMsgClientToGCGetProfileCard = 0x1d6e, + k_EMsgClientToGCGetProfileCardResponse = 0x1d6f, + k_EMsgClientToGCGetBattleReport = 0x1d70, + k_EMsgClientToGCGetBattleReportResponse = 0x1d71, + k_EMsgClientToGCSetProfileCardSlots = 0x1d72, + k_EMsgGCToClientProfileCardUpdated = 0x1d73, + k_EMsgServerToGCVictoryPredictions = 0x1d74, + k_EMsgClientToGCGetBattleReportAggregateStats = 0x1d75, + k_EMsgClientToGCGetBattleReportAggregateStatsResponse = 0x1d76, + k_EMsgClientToGCGetBattleReportInfo = 0x1d77, + k_EMsgClientToGCGetBattleReportInfoResponse = 0x1d78, + k_EMsgSignOutCommunicationSummary = 0x1d79, + k_EMsgServerToGCRequestStatus_Response = 0x1d7a, + k_EMsgClientToGCCreateHeroStatue = 0x1d7b, + k_EMsgGCToClientHeroStatueCreateResult = 0x1d7c, + k_EMsgGCGCToLANServerRelayConnect = 0x1d7d, + k_EMsgClientToGCAcknowledgeBattleReport = 0x1d7e, + k_EMsgClientToGCAcknowledgeBattleReportResponse = 0x1d7f, + k_EMsgClientToGCGetBattleReportMatchHistory = 0x1d80, + k_EMsgClientToGCGetBattleReportMatchHistoryResponse = 0x1d81, + k_EMsgServerToGCReportKillSummaries = 0x1d82, + k_EMsgGCToGCUpdatePlayerPredictions = 0x1d89, + k_EMsgGCToServerPredictionResult = 0x1d8a, + k_EMsgGCToGCReplayMonitorValidateReplay = 0x1d91, + k_EMsgLobbyEventPoints = 0x1d94, + k_EMsgGCToGCGetCustomGameTickets = 0x1d95, + k_EMsgGCToGCGetCustomGameTicketsResponse = 0x1d96, + k_EMsgGCToGCCustomGamePlayed = 0x1d98, + k_EMsgGCToGCGrantEventPointsToUser = 0x1d99, + k_EMsgGameserverCrashReport = 0x1d9b, + k_EMsgGameserverCrashReportResponse = 0x1d9c, + k_EMsgGCToClientSteamDatagramTicket = 0x1d9d, + k_EMsgGCToGCSendAccountsEventPoints = 0x1d9f, + k_EMsgClientToGCRerollPlayerChallenge = 0x1da0, + k_EMsgServerToGCRerollPlayerChallenge = 0x1da1, + k_EMsgGCRerollPlayerChallengeResponse = 0x1da2, + k_EMsgSignOutUpdatePlayerChallenge = 0x1da3, + k_EMsgClientToGCSetPartyLeader = 0x1da4, + k_EMsgClientToGCCancelPartyInvites = 0x1da5, + k_EMsgSQLGrantLeagueMatchToTicketHolders = 0x1da8, + k_EMsgGCToGCEmoticonUnlockNoRollback = 0x1daa, + k_EMsgClientToGCApplyGemCombiner = 0x1db3, + k_EMsgClientToGCGetAllHeroOrder = 0x1db6, + k_EMsgClientToGCGetAllHeroOrderResponse = 0x1db7, + k_EMsgSQLGCToGCGrantBadgePoints = 0x1db8, + k_EMsgGCToGCCheckOwnsEntireEmoticonRange = 0x1dbb, + k_EMsgGCToGCCheckOwnsEntireEmoticonRangeResponse = 0x1dbc, + k_EMsgGCToClientRequestLaneSelection = 0x1dc7, + k_EMsgGCToClientRequestLaneSelectionResponse = 0x1dc8, + k_EMsgServerToGCCavernCrawlIsHeroActive = 0x1dc9, + k_EMsgServerToGCCavernCrawlIsHeroActiveResponse = 0x1dca, + k_EMsgClientToGCPlayerCardSpecificPurchaseRequest = 0x1dcb, + k_EMsgClientToGCPlayerCardSpecificPurchaseResponse = 0x1dcc, + k_EMsgGCtoServerTensorflowInstance = 0x1dcd, + k_EMsgSQLSetIsLeagueAdmin = 0x1dce, + k_EMsgGCToGCGetLiveLeagueMatches = 0x1dcf, + k_EMsgGCToGCGetLiveLeagueMatchesResponse = 0x1dd0, + k_EMsgDOTALeagueInfoListAdminsRequest = 0x1dd1, + k_EMsgDOTALeagueInfoListAdminsReponse = 0x1dd2, + k_EMsgGCToGCLeagueMatchStarted = 0x1ddd, + k_EMsgGCToGCLeagueMatchCompleted = 0x1dde, + k_EMsgGCToGCLeagueMatchStartedResponse = 0x1ddf, + k_EMsgDOTALeagueAvailableLobbyNodesRequest = 0x1de2, + k_EMsgDOTALeagueAvailableLobbyNodes = 0x1de3, + k_EMsgGCToGCLeagueRequest = 0x1de4, + k_EMsgGCToGCLeagueResponse = 0x1de5, + k_EMsgGCToGCLeagueNodeGroupRequest = 0x1de6, + k_EMsgGCToGCLeagueNodeGroupResponse = 0x1de7, + k_EMsgGCToGCLeagueNodeRequest = 0x1de8, + k_EMsgGCToGCLeagueNodeResponse = 0x1de9, + k_EMsgGCToGCRealtimeStatsTerseRequest = 0x1dea, + k_EMsgGCToGCRealtimeStatsTerseResponse = 0x1deb, + k_EMsgGCToGCGetTopMatchesRequest = 0x1dec, + k_EMsgGCToGCGetTopMatchesResponse = 0x1ded, + k_EMsgClientToGCGetFilteredPlayers = 0x1dee, + k_EMsgGCToClientGetFilteredPlayersResponse = 0x1def, + k_EMsgClientToGCRemoveFilteredPlayer = 0x1df0, + k_EMsgGCToClientRemoveFilteredPlayerResponse = 0x1df1, + k_EMsgGCToClientPlayerBeaconState = 0x1df2, + k_EMsgGCToClientPartyBeaconUpdate = 0x1df3, + k_EMsgGCToClientPartySearchInvite = 0x1df4, + k_EMsgClientToGCUpdatePartyBeacon = 0x1df5, + k_EMsgClientToGCRequestActiveBeaconParties = 0x1df6, + k_EMsgGCToClientRequestActiveBeaconPartiesResponse = 0x1df7, + k_EMsgClientToGCManageFavorites = 0x1df8, + k_EMsgGCToClientManageFavoritesResponse = 0x1df9, + k_EMsgClientToGCJoinPartyFromBeacon = 0x1dfa, + k_EMsgGCToClientJoinPartyFromBeaconResponse = 0x1dfb, + k_EMsgClientToGCGetFavoritePlayers = 0x1dfc, + k_EMsgGCToClientGetFavoritePlayersResponse = 0x1dfd, + k_EMsgClientToGCVerifyFavoritePlayers = 0x1dfe, + k_EMsgGCToClientVerifyFavoritePlayersResponse = 0x1dff, + k_EMsgGCToClientPartySearchInvites = 0x1e00, + k_EMsgGCToClientRequestMMInfo = 0x1e01, + k_EMsgClientToGCMMInfo = 0x1e02, + k_EMsgSignOutTextMuteInfo = 0x1e03, + k_EMsgClientToGCPurchaseLabyrinthBlessings = 0x1e04, + k_EMsgClientToGCPurchaseLabyrinthBlessingsResponse = 0x1e05, + k_EMsgClientToGCPurchaseFilteredPlayerSlot = 0x1e06, + k_EMsgGCToClientPurchaseFilteredPlayerSlotResponse = 0x1e07, + k_EMsgClientToGCUpdateFilteredPlayerNote = 0x1e08, + k_EMsgGCToClientUpdateFilteredPlayerNoteResponse = 0x1e09, + k_EMsgClientToGCClaimSwag = 0x1e0a, + k_EMsgGCToClientClaimSwagResponse = 0x1e0b, + k_EMsgServerToGCLockCharmTrading = 0x1f44, + k_EMsgClientToGCPlayerStatsRequest = 0x1f46, + k_EMsgGCToClientPlayerStatsResponse = 0x1f47, + k_EMsgGCClearPracticeLobbyTeam = 0x1f48, + k_EMsgClientToGCFindTopSourceTVGames = 0x1f49, + k_EMsgGCToClientFindTopSourceTVGamesResponse = 0x1f4a, + k_EMsgGCLobbyList = 0x1f4b, + k_EMsgGCLobbyListResponse = 0x1f4c, + k_EMsgGCPlayerStatsMatchSignOut = 0x1f4d, + k_EMsgClientToGCSocialFeedPostCommentRequest = 0x1f50, + k_EMsgGCToClientSocialFeedPostCommentResponse = 0x1f51, + k_EMsgClientToGCCustomGamesFriendsPlayedRequest = 0x1f52, + k_EMsgGCToClientCustomGamesFriendsPlayedResponse = 0x1f53, + k_EMsgClientToGCFriendsPlayedCustomGameRequest = 0x1f54, + k_EMsgGCToClientFriendsPlayedCustomGameResponse = 0x1f55, + k_EMsgGCTopCustomGamesList = 0x1f58, + k_EMsgClientToGCSetPartyOpen = 0x1f5d, + k_EMsgClientToGCMergePartyInvite = 0x1f5e, + k_EMsgGCToClientMergeGroupInviteReply = 0x1f5f, + k_EMsgClientToGCMergePartyResponse = 0x1f60, + k_EMsgGCToClientMergePartyResponseReply = 0x1f61, + k_EMsgClientToGCGetProfileCardStats = 0x1f62, + k_EMsgClientToGCGetProfileCardStatsResponse = 0x1f63, + k_EMsgClientToGCTopLeagueMatchesRequest = 0x1f64, + k_EMsgClientToGCTopFriendMatchesRequest = 0x1f65, + k_EMsgGCToClientProfileCardStatsUpdated = 0x1f68, + k_EMsgServerToGCRealtimeStats = 0x1f69, + k_EMsgGCToServerRealtimeStatsStartStop = 0x1f6a, + k_EMsgGCToGCGetServersForClients = 0x1f6d, + k_EMsgGCToGCGetServersForClientsResponse = 0x1f6e, + k_EMsgGCPracticeLobbyKickFromTeam = 0x1f6f, + k_EMsgDOTAChatGetMemberCount = 0x1f70, + k_EMsgDOTAChatGetMemberCountResponse = 0x1f71, + k_EMsgClientToGCSocialFeedPostMessageRequest = 0x1f72, + k_EMsgGCToClientSocialFeedPostMessageResponse = 0x1f73, + k_EMsgCustomGameListenServerStartedLoading = 0x1f74, + k_EMsgCustomGameClientFinishedLoading = 0x1f75, + k_EMsgGCPracticeLobbyCloseBroadcastChannel = 0x1f76, + k_EMsgGCStartFindingMatchResponse = 0x1f77, + k_EMsgSQLGCToGCGrantAccountFlag = 0x1f79, + k_EMsgGCToClientTopLeagueMatchesResponse = 0x1f7d, + k_EMsgGCToClientTopFriendMatchesResponse = 0x1f7e, + k_EMsgClientToGCMatchesMinimalRequest = 0x1f7f, + k_EMsgClientToGCMatchesMinimalResponse = 0x1f80, + k_EMsgGCToClientChatRegionsEnabled = 0x1f83, + k_EMsgClientToGCPingData = 0x1f84, + k_EMsgGCToGCEnsureAccountInParty = 0x1f87, + k_EMsgGCToGCEnsureAccountInPartyResponse = 0x1f88, + k_EMsgClientToGCGetProfileTickets = 0x1f89, + k_EMsgClientToGCGetProfileTicketsResponse = 0x1f8a, + k_EMsgGCToClientMatchGroupsVersion = 0x1f8b, + k_EMsgClientToGCH264Unsupported = 0x1f8c, + k_EMsgClientToGCGetQuestProgress = 0x1f8e, + k_EMsgClientToGCGetQuestProgressResponse = 0x1f8f, + k_EMsgSignOutXPCoins = 0x1f90, + k_EMsgGCToClientMatchSignedOut = 0x1f91, + k_EMsgGCGetHeroStatsHistory = 0x1f92, + k_EMsgGCGetHeroStatsHistoryResponse = 0x1f93, + k_EMsgClientToGCPrivateChatInvite = 0x1f94, + k_EMsgClientToGCPrivateChatKick = 0x1f98, + k_EMsgClientToGCPrivateChatPromote = 0x1f99, + k_EMsgClientToGCPrivateChatDemote = 0x1f9a, + k_EMsgGCToClientPrivateChatResponse = 0x1f9b, + k_EMsgClientToGCLatestConductScorecardRequest = 0x1f9f, + k_EMsgClientToGCLatestConductScorecard = 0x1fa0, + k_EMsgClientToGCWageringRequest = 0x1fa3, + k_EMsgGCToClientWageringResponse = 0x1fa4, + k_EMsgClientToGCEventGoalsRequest = 0x1fa7, + k_EMsgClientToGCEventGoalsResponse = 0x1fa8, + k_EMsgGCToGCLeaguePredictionsUpdate = 0x1fac, + k_EMsgGCToGCAddUserToPostGameChat = 0x1fae, + k_EMsgClientToGCHasPlayerVotedForMVP = 0x1faf, + k_EMsgClientToGCHasPlayerVotedForMVPResponse = 0x1fb0, + k_EMsgClientToGCVoteForMVP = 0x1fb1, + k_EMsgClientToGCVoteForMVPResponse = 0x1fb2, + k_EMsgGCToGCGetEventOwnership = 0x1fb3, + k_EMsgGCToGCGetEventOwnershipResponse = 0x1fb4, + k_EMsgGCToClientAutomatedTournamentStateChange = 0x1fb5, + k_EMsgClientToGCWeekendTourneyOpts = 0x1fb6, + k_EMsgClientToGCWeekendTourneyOptsResponse = 0x1fb7, + k_EMsgClientToGCWeekendTourneyLeave = 0x1fb8, + k_EMsgClientToGCWeekendTourneyLeaveResponse = 0x1fb9, + k_EMsgClientToGCTeammateStatsRequest = 0x1fbc, + k_EMsgClientToGCTeammateStatsResponse = 0x1fbd, + k_EMsgClientToGCGetGiftPermissions = 0x1fbe, + k_EMsgClientToGCGetGiftPermissionsResponse = 0x1fbf, + k_EMsgClientToGCVoteForArcana = 0x1fc0, + k_EMsgClientToGCVoteForArcanaResponse = 0x1fc1, + k_EMsgClientToGCRequestArcanaVotesRemaining = 0x1fc2, + k_EMsgClientToGCRequestArcanaVotesRemainingResponse = 0x1fc3, + k_EMsgGCTransferTeamAdminResponse = 0x1fc4, + k_EMsgGCToClientTeamInfo = 0x1fc7, + k_EMsgGCToClientTeamsInfo = 0x1fc8, + k_EMsgClientToGCMyTeamInfoRequest = 0x1fc9, + k_EMsgClientToGCPublishUserStat = 0x1fcc, + k_EMsgGCToGCSignoutSpendWager = 0x1fcd, + k_EMsgGCSubmitLobbyMVPVote = 0x1fd0, + k_EMsgGCSubmitLobbyMVPVoteResponse = 0x1fd1, + k_EMsgSignOutCommunityGoalProgress = 0x1fd6, + k_EMsgGCToClientLobbyMVPAwarded = 0x1fd8, + k_EMsgGCToClientQuestProgressUpdated = 0x1fd9, + k_EMsgGCToClientWageringUpdate = 0x1fda, + k_EMsgGCToClientArcanaVotesUpdate = 0x1fdb, + k_EMsgClientToGCSetSpectatorLobbyDetails = 0x1fdd, + k_EMsgClientToGCSetSpectatorLobbyDetailsResponse = 0x1fde, + k_EMsgClientToGCCreateSpectatorLobby = 0x1fdf, + k_EMsgClientToGCCreateSpectatorLobbyResponse = 0x1fe0, + k_EMsgClientToGCSpectatorLobbyList = 0x1fe1, + k_EMsgClientToGCSpectatorLobbyListResponse = 0x1fe2, + k_EMsgSpectatorLobbyGameDetails = 0x1fe3, + k_EMsgServerToGCCompendiumInGamePredictionResults = 0x1fe6, + k_EMsgServerToGCCloseCompendiumInGamePredictionVoting = 0x1fe7, + k_EMsgClientToGCOpenPlayerCardPack = 0x1fe8, + k_EMsgClientToGCOpenPlayerCardPackResponse = 0x1fe9, + k_EMsgClientToGCSelectCompendiumInGamePrediction = 0x1fea, + k_EMsgClientToGCSelectCompendiumInGamePredictionResponse = 0x1feb, + k_EMsgClientToGCWeekendTourneyGetPlayerStats = 0x1fec, + k_EMsgClientToGCWeekendTourneyGetPlayerStatsResponse = 0x1fed, + k_EMsgClientToGCRecyclePlayerCard = 0x1fee, + k_EMsgClientToGCRecyclePlayerCardResponse = 0x1fef, + k_EMsgClientToGCCreatePlayerCardPack = 0x1ff0, + k_EMsgClientToGCCreatePlayerCardPackResponse = 0x1ff1, + k_EMsgClientToGCGetPlayerCardRosterRequest = 0x1ff2, + k_EMsgClientToGCGetPlayerCardRosterResponse = 0x1ff3, + k_EMsgClientToGCSetPlayerCardRosterRequest = 0x1ff4, + k_EMsgClientToGCSetPlayerCardRosterResponse = 0x1ff5, + k_EMsgServerToGCCloseCompendiumInGamePredictionVotingResponse = 0x1ff7, + k_EMsgLobbyBattleCupVictory = 0x1ffa, + k_EMsgGCGetPlayerCardItemInfo = 0x1ffb, + k_EMsgGCGetPlayerCardItemInfoResponse = 0x1ffc, + k_EMsgClientToGCRequestSteamDatagramTicket = 0x1ffd, + k_EMsgClientToGCRequestSteamDatagramTicketResponse = 0x1ffe, + k_EMsgGCToClientBattlePassRollupRequest = 0x1fff, + k_EMsgGCToClientBattlePassRollupResponse = 0x2000, + k_EMsgClientToGCTransferSeasonalMMRRequest = 0x2001, + k_EMsgClientToGCTransferSeasonalMMRResponse = 0x2002, + k_EMsgGCToGCPublicChatCommunicationBan = 0x2003, + k_EMsgGCToGCUpdateAccountInfo = 0x2004, + k_EMsgGCChatReportPublicSpam = 0x2005, + k_EMsgClientToGCSetPartyBuilderOptions = 0x2006, + k_EMsgClientToGCSetPartyBuilderOptionsResponse = 0x2007, + k_EMsgGCToClientPlaytestStatus = 0x2008, + k_EMsgClientToGCJoinPlaytest = 0x2009, + k_EMsgClientToGCJoinPlaytestResponse = 0x200a, + k_EMsgLobbyPlaytestDetails = 0x200b, + k_EMsgDOTASetFavoriteTeam = 0x200c, + k_EMsgGCToClientBattlePassRollupListRequest = 0x200d, + k_EMsgGCToClientBattlePassRollupListResponse = 0x200e, + k_EMsgDOTAClaimEventAction = 0x2011, + k_EMsgDOTAClaimEventActionResponse = 0x2012, + k_EMsgDOTAGetPeriodicResource = 0x2013, + k_EMsgDOTAGetPeriodicResourceResponse = 0x2014, + k_EMsgDOTAPeriodicResourceUpdated = 0x2015, + k_EMsgServerToGCSpendWager = 0x2016, + k_EMsgGCToGCSignoutSpendWagerToken = 0x2017, + k_EMsgSubmitTriviaQuestionAnswer = 0x2018, + k_EMsgSubmitTriviaQuestionAnswerResponse = 0x2019, + k_EMsgClientToGCGiveTip = 0x201a, + k_EMsgClientToGCGiveTipResponse = 0x201b, + k_EMsgStartTriviaSession = 0x201c, + k_EMsgStartTriviaSessionResponse = 0x201d, + k_EMsgAnchorPhoneNumberRequest = 0x201e, + k_EMsgAnchorPhoneNumberResponse = 0x201f, + k_EMsgUnanchorPhoneNumberRequest = 0x2020, + k_EMsgUnanchorPhoneNumberResponse = 0x2021, + k_EMsgGCToGCSignoutSpendRankWager = 0x2025, + k_EMsgGCToGCGetFavoriteTeam = 0x2026, + k_EMsgGCToGCGetFavoriteTeamResponse = 0x2027, + k_EMsgSignOutEventGameData = 0x2028, + k_EMsgClientToGCQuickStatsRequest = 0x202e, + k_EMsgClientToGCQuickStatsResponse = 0x202f, + k_EMsgGCToGCSubtractEventPointsFromUser = 0x2030, + k_EMsgSelectionPriorityChoiceRequest = 0x2031, + k_EMsgSelectionPriorityChoiceResponse = 0x2032, + k_EMsgGCToGCCompendiumInGamePredictionResults = 0x2033, + k_EMsgGameAutographReward = 0x2034, + k_EMsgGameAutographRewardResponse = 0x2035, + k_EMsgDestroyLobbyRequest = 0x2036, + k_EMsgDestroyLobbyResponse = 0x2037, + k_EMsgPurchaseItemWithEventPoints = 0x2038, + k_EMsgPurchaseItemWithEventPointsResponse = 0x2039, + k_EMsgServerToGCMatchPlayerItemPurchaseHistory = 0x203a, + k_EMsgGCToGCGrantPlusHeroMatchResults = 0x203b, + k_EMsgServerToGCMatchStateHistory = 0x203f, + k_EMsgPurchaseHeroRandomRelic = 0x2042, + k_EMsgPurchaseHeroRandomRelicResponse = 0x2043, + k_EMsgClientToGCClaimEventActionUsingItem = 0x2044, + k_EMsgClientToGCClaimEventActionUsingItemResponse = 0x2045, + k_EMsgPartyReadyCheckRequest = 0x2046, + k_EMsgPartyReadyCheckResponse = 0x2047, + k_EMsgPartyReadyCheckAcknowledge = 0x2048, + k_EMsgGetRecentPlayTimeFriendsRequest = 0x2049, + k_EMsgGetRecentPlayTimeFriendsResponse = 0x204a, + k_EMsgGCToClientCommendNotification = 0x204b, + k_EMsgProfileRequest = 0x204c, + k_EMsgProfileResponse = 0x204d, + k_EMsgProfileUpdate = 0x204e, + k_EMsgProfileUpdateResponse = 0x204f, + k_EMsgHeroGlobalDataRequest = 0x2052, + k_EMsgHeroGlobalDataResponse = 0x2053, + k_EMsgClientToGCRequestPlusWeeklyChallengeResult = 0x2054, + k_EMsgClientToGCRequestPlusWeeklyChallengeResultResponse = 0x2055, + k_EMsgGCToGCGrantPlusPrepaidTime = 0x2056, + k_EMsgPrivateMetadataKeyRequest = 0x2057, + k_EMsgPrivateMetadataKeyResponse = 0x2058, + k_EMsgGCToGCReconcilePlusStatus = 0x2059, + k_EMsgGCToGCCheckPlusStatus = 0x205a, + k_EMsgGCToGCCheckPlusStatusResponse = 0x205b, + k_EMsgGCToGCReconcilePlusAutoGrantItems = 0x205c, + k_EMsgGCToGCReconcilePlusStatusUnreliable = 0x205d, + k_EMsgGCToClientCavernCrawlMapPathCompleted = 0x2060, + k_EMsgClientToGCCavernCrawlClaimRoom = 0x2061, + k_EMsgClientToGCCavernCrawlClaimRoomResponse = 0x2062, + k_EMsgClientToGCCavernCrawlUseItemOnRoom = 0x2063, + k_EMsgClientToGCCavernCrawlUseItemOnRoomResponse = 0x2064, + k_EMsgClientToGCCavernCrawlUseItemOnPath = 0x2065, + k_EMsgClientToGCCavernCrawlUseItemOnPathResponse = 0x2066, + k_EMsgClientToGCCavernCrawlRequestMapState = 0x2067, + k_EMsgClientToGCCavernCrawlRequestMapStateResponse = 0x2068, + k_EMsgSignOutTips = 0x2069, + k_EMsgClientToGCRequestEventPointLogV2 = 0x206a, + k_EMsgClientToGCRequestEventPointLogResponseV2 = 0x206b, + k_EMsgClientToGCRequestEventTipsSummary = 0x206c, + k_EMsgClientToGCRequestEventTipsSummaryResponse = 0x206d, + k_EMsgClientToGCRequestSocialFeed = 0x206f, + k_EMsgClientToGCRequestSocialFeedResponse = 0x2070, + k_EMsgClientToGCRequestSocialFeedComments = 0x2071, + k_EMsgClientToGCRequestSocialFeedCommentsResponse = 0x2072, + k_EMsgClientToGCCavernCrawlGetClaimedRoomCount = 0x2074, + k_EMsgClientToGCCavernCrawlGetClaimedRoomCountResponse = 0x2075, + k_EMsgGCToGCReconcilePlusAutoGrantItemsUnreliable = 0x2076, + k_EMsgServerToGCAddBroadcastTimelineEvent = 0x2077, + k_EMsgGCToServerUpdateSteamBroadcasting = 0x2078, + k_EMsgClientToGCRecordContestVote = 0x2079, + k_EMsgGCToClientRecordContestVoteResponse = 0x207a, + k_EMsgGCToGCGrantAutograph = 0x207b, + k_EMsgGCToGCGrantAutographResponse = 0x207c, + k_EMsgSignOutConsumableUsage = 0x207d, + k_EMsgLobbyEventGameDetails = 0x207e, + k_EMsgDevGrantEventPoints = 0x207f, + k_EMsgDevGrantEventPointsResponse = 0x2080, + k_EMsgDevGrantEventAction = 0x2081, + k_EMsgDevGrantEventActionResponse = 0x2082, + k_EMsgDevResetEventState = 0x2083, + k_EMsgDevResetEventStateResponse = 0x2084, + k_EMsgGCToGCReconcileEventOwnership = 0x2085, + k_EMsgConsumeEventSupportGrantItem = 0x2086, + k_EMsgConsumeEventSupportGrantItemResponse = 0x2087, + k_EMsgGCToClientClaimEventActionUsingItemCompleted = 0x2088, + k_EMsgGCToClientCavernCrawlMapUpdated = 0x2089, + k_EMsgServerToGCRequestPlayerRecentAccomplishments = 0x208a, + k_EMsgServerToGCRequestPlayerRecentAccomplishmentsResponse = 0x208b, + k_EMsgClientToGCRequestPlayerRecentAccomplishments = 0x208c, + k_EMsgClientToGCRequestPlayerRecentAccomplishmentsResponse = 0x208d, + k_EMsgClientToGCRequestPlayerHeroRecentAccomplishments = 0x208e, + k_EMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse = 0x208f, + k_EMsgSignOutEventActionGrants = 0x2090, + k_EMsgClientToGCRequestPlayerCoachMatches = 0x2091, + k_EMsgClientToGCRequestPlayerCoachMatchesResponse = 0x2092, + k_EMsgClientToGCSubmitCoachTeammateRating = 0x2095, + k_EMsgClientToGCSubmitCoachTeammateRatingResponse = 0x2096, + k_EMsgGCToClientCoachTeammateRatingsChanged = 0x2097, + k_EMsgClientToGCRequestPlayerCoachMatch = 0x2099, + k_EMsgClientToGCRequestPlayerCoachMatchResponse = 0x209a, + k_EMsgClientToGCRequestContestVotes = 0x209b, + k_EMsgClientToGCRequestContestVotesResponse = 0x209c, + k_EMsgClientToGCMVPVoteTimeout = 0x209d, + k_EMsgClientToGCMVPVoteTimeoutResponse = 0x209e, + k_EMsgDetailedGameStats = 0x20a1, + k_EMsgMatchMatchmakingStats = 0x20a8, + k_EMsgClientToGCSubmitPlayerMatchSurvey = 0x20a9, + k_EMsgClientToGCSubmitPlayerMatchSurveyResponse = 0x20aa, + k_EMsgSQLGCToGCGrantAllHeroProgressAccount = 0x20ab, + k_EMsgSQLGCToGCGrantAllHeroProgressVictory = 0x20ac, + k_EMsgDevDeleteEventActions = 0x20ad, + k_EMsgDevDeleteEventActionsResponse = 0x20ae, + k_EMsgGCToGCGetAllHeroCurrent = 0x21bb, + k_EMsgGCToGCGetAllHeroCurrentResponse = 0x21bc, + k_EMsgGCSubmitPlayerAvoidRequest = 0x21bd, + k_EMsgGCSubmitPlayerAvoidRequestResponse = 0x21be, + k_EMsgGCToClientNotificationsUpdated = 0x21bf, + k_EMsgGCtoGCAssociatedExploiterAccountInfo = 0x21c0, + k_EMsgGCtoGCAssociatedExploiterAccountInfoResponse = 0x21c1, + k_EMsgGCtoGCRequestRecalibrationCheck = 0x21c2, + k_EMsgGCToClientVACReminder = 0x21c3, + k_EMsgClientToGCUnderDraftBuy = 0x21c4, + k_EMsgClientToGCUnderDraftBuyResponse = 0x21c5, + k_EMsgClientToGCUnderDraftReroll = 0x21c6, + k_EMsgClientToGCUnderDraftRerollResponse = 0x21c7, + k_EMsgNeutralItemStats = 0x21c8, + k_EMsgClientToGCCreateGuild = 0x21c9, + k_EMsgClientToGCCreateGuildResponse = 0x21ca, + k_EMsgClientToGCSetGuildInfo = 0x21cb, + k_EMsgClientToGCSetGuildInfoResponse = 0x21cc, + k_EMsgClientToGCAddGuildRole = 0x21cd, + k_EMsgClientToGCAddGuildRoleResponse = 0x21ce, + k_EMsgClientToGCModifyGuildRole = 0x21cf, + k_EMsgClientToGCModifyGuildRoleResponse = 0x21d0, + k_EMsgClientToGCRemoveGuildRole = 0x21d1, + k_EMsgClientToGCRemoveGuildRoleResponse = 0x21d2, + k_EMsgClientToGCJoinGuild = 0x21d3, + k_EMsgClientToGCJoinGuildResponse = 0x21d4, + k_EMsgClientToGCLeaveGuild = 0x21d5, + k_EMsgClientToGCLeaveGuildResponse = 0x21d6, + k_EMsgClientToGCInviteToGuild = 0x21d7, + k_EMsgClientToGCInviteToGuildResponse = 0x21d8, + k_EMsgClientToGCDeclineInviteToGuild = 0x21d9, + k_EMsgClientToGCDeclineInviteToGuildResponse = 0x21da, + k_EMsgClientToGCCancelInviteToGuild = 0x21db, + k_EMsgClientToGCCancelInviteToGuildResponse = 0x21dc, + k_EMsgClientToGCKickGuildMember = 0x21dd, + k_EMsgClientToGCKickGuildMemberResponse = 0x21de, + k_EMsgClientToGCSetGuildMemberRole = 0x21df, + k_EMsgClientToGCSetGuildMemberRoleResponse = 0x21e0, + k_EMsgClientToGCRequestGuildData = 0x21e1, + k_EMsgClientToGCRequestGuildDataResponse = 0x21e2, + k_EMsgGCToClientGuildDataUpdated = 0x21e3, + k_EMsgClientToGCRequestGuildMembership = 0x21e4, + k_EMsgClientToGCRequestGuildMembershipResponse = 0x21e5, + k_EMsgGCToClientGuildMembershipUpdated = 0x21e6, + k_EMsgClientToGCAcceptInviteToGuild = 0x21e9, + k_EMsgClientToGCAcceptInviteToGuildResponse = 0x21ea, + k_EMsgClientToGCSetGuildRoleOrder = 0x21eb, + k_EMsgClientToGCSetGuildRoleOrderResponse = 0x21ec, + k_EMsgClientToGCRequestGuildFeed = 0x21ed, + k_EMsgClientToGCRequestGuildFeedResponse = 0x21ee, + k_EMsgClientToGCRequestAccountGuildEventData = 0x21ef, + k_EMsgClientToGCRequestAccountGuildEventDataResponse = 0x21f0, + k_EMsgGCToClientAccountGuildEventDataUpdated = 0x21f1, + k_EMsgClientToGCRequestActiveGuildContracts = 0x21f2, + k_EMsgClientToGCRequestActiveGuildContractsResponse = 0x21f3, + k_EMsgGCToClientActiveGuildContractsUpdated = 0x21f4, + k_EMsgGCToClientGuildFeedUpdated = 0x21f5, + k_EMsgClientToGCSelectGuildContract = 0x21f6, + k_EMsgClientToGCSelectGuildContractResponse = 0x21f7, + k_EMsgGCToGCCompleteGuildContracts = 0x21f8, + k_EMsgClientToGCAddPlayerToGuildChat = 0x21fa, + k_EMsgClientToGCAddPlayerToGuildChatResponse = 0x21fb, + k_EMsgClientToGCUnderDraftSell = 0x21fc, + k_EMsgClientToGCUnderDraftSellResponse = 0x21fd, + k_EMsgClientToGCUnderDraftRequest = 0x21fe, + k_EMsgClientToGCUnderDraftResponse = 0x21ff, + k_EMsgClientToGCUnderDraftRedeemReward = 0x2200, + k_EMsgClientToGCUnderDraftRedeemRewardResponse = 0x2201, + k_EMsgGCToServerLobbyHeroBanRates = 0x2204, + k_EMsgSignOutGuildContractProgress = 0x2207, + k_EMsgSignOutMVPStats = 0x2208, + k_EMsgClientToGCRequestActiveGuildChallenge = 0x2209, + k_EMsgClientToGCRequestActiveGuildChallengeResponse = 0x220a, + k_EMsgGCToClientActiveGuildChallengeUpdated = 0x220b, + k_EMsgSignOutGuildChallengeProgress = 0x2210, + k_EMsgClientToGCRequestGuildEventMembers = 0x2211, + k_EMsgClientToGCRequestGuildEventMembersResponse = 0x2212, + k_EMsgClientToGCReportGuildContent = 0x2215, + k_EMsgClientToGCReportGuildContentResponse = 0x2216, + k_EMsgClientToGCRequestAccountGuildPersonaInfo = 0x2217, + k_EMsgClientToGCRequestAccountGuildPersonaInfoResponse = 0x2218, + k_EMsgClientToGCRequestAccountGuildPersonaInfoBatch = 0x2219, + k_EMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse = 0x221a, + k_EMsgGCToClientUnderDraftGoldUpdated = 0x221b, + k_EMsgGCToServerRecordTrainingData = 0x221c, + k_EMsgSignOutBounties = 0x221d, + k_EMsgLobbyFeaturedGamemodeProgress = 0x221e, + k_EMsgLobbyGauntletProgress = 0x221f, + k_EMsgClientToGCSubmitDraftTriviaMatchAnswer = 0x2220, + k_EMsgClientToGCSubmitDraftTriviaMatchAnswerResponse = 0x2221, + k_EMsgGCToGCSignoutSpendBounty = 0x2222, + k_EMsgClientToGCApplyGauntletTicket = 0x2223, + k_EMsgClientToGCUnderDraftRollBackBench = 0x2224, + k_EMsgClientToGCUnderDraftRollBackBenchResponse = 0x2225, + k_EMsgGCToGCGetEventActionScore = 0x2226, + k_EMsgGCToGCGetEventActionScoreResponse = 0x2227, + k_EMsgServerToGCGetGuildContracts = 0x2228, + k_EMsgServerToGCGetGuildContractsResponse = 0x2229, + k_EMsgLobbyEventGameData = 0x222a, + k_EMsgGCToClientGuildMembersDataUpdated = 0x222b, + k_EMsgSignOutReportActivityMarkers = 0x222c, + k_EMsgSignOutDiretideCandy = 0x222d, + k_EMsgGCToClientPostGameItemAwardNotification = 0x222e, + k_EMsgClientToGCGetOWMatchDetails = 0x222f, + k_EMsgClientToGCGetOWMatchDetailsResponse = 0x2230, + k_EMsgClientToGCSubmitOWConviction = 0x2231, + k_EMsgClientToGCSubmitOWConvictionResponse = 0x2232, + k_EMsgGCToGCGetAccountSteamChina = 0x2233, + k_EMsgGCToGCGetAccountSteamChinaResponse = 0x2234, + k_EMsgClientToGCClaimLeaderboardRewards = 0x2235, + k_EMsgClientToGCClaimLeaderboardRewardsResponse = 0x2236, + k_EMsgClientToGCRecalibrateMMR = 0x2237, + k_EMsgClientToGCRecalibrateMMRResponse = 0x2238, + k_EMsgGCToGCGrantEventPointActionList = 0x2239, + k_EMsgClientToGCChinaSSAURLRequest = 0x223c, + k_EMsgClientToGCChinaSSAURLResponse = 0x223d, + k_EMsgClientToGCChinaSSAAcceptedRequest = 0x223e, + k_EMsgClientToGCChinaSSAAcceptedResponse = 0x223f, + k_EMsgSignOutOverwatchSuspicion = 0x2240, + k_EMsgServerToGCGetSuspicionConfig = 0x2241, + k_EMsgServerToGCGetSuspicionConfigResponse = 0x2242, + k_EMsgGCToGCGrantPlusHeroChallengeMatchResults = 0x2243, + k_EMsgGCToClientOverwatchCasesAvailable = 0x2244, + k_EMsgServerToGCAccountCheck = 0x2245, + k_EMsgClientToGCStartWatchingOverwatch = 0x2246, + k_EMsgClientToGCStopWatchingOverwatch = 0x2247, + k_EMsgSignOutPerfData = 0x2248, + k_EMsgClientToGCGetDPCFavorites = 0x2249, + k_EMsgClientToGCGetDPCFavoritesResponse = 0x224a, + k_EMsgClientToGCSetDPCFavoriteState = 0x224b, + k_EMsgClientToGCSetDPCFavoriteStateResponse = 0x224c, + k_EMsgClientToGCOverwatchReplayError = 0x224d, + k_EMsgServerToGCPlayerChallengeHistory = 0x224e, + k_EMsgSignOutBanData = 0x224f, + k_EMsgWebapiDPCSeasonResults = 0x2250, + k_EMsgClientToGCCoachFriend = 0x2251, + k_EMsgClientToGCCoachFriendResponse = 0x2252, + k_EMsgClientToGCRequestPrivateCoachingSession = 0x2253, + k_EMsgClientToGCRequestPrivateCoachingSessionResponse = 0x2254, + k_EMsgClientToGCAcceptPrivateCoachingSession = 0x2255, + k_EMsgClientToGCAcceptPrivateCoachingSessionResponse = 0x2256, + k_EMsgClientToGCLeavePrivateCoachingSession = 0x2257, + k_EMsgClientToGCLeavePrivateCoachingSessionResponse = 0x2258, + k_EMsgClientToGCGetCurrentPrivateCoachingSession = 0x2259, + k_EMsgClientToGCGetCurrentPrivateCoachingSessionResponse = 0x225a, + k_EMsgGCToClientPrivateCoachingSessionUpdated = 0x225b, + k_EMsgClientToGCSubmitPrivateCoachingSessionRating = 0x225c, + k_EMsgClientToGCSubmitPrivateCoachingSessionRatingResponse = 0x225d, + k_EMsgClientToGCGetAvailablePrivateCoachingSessions = 0x225e, + k_EMsgClientToGCGetAvailablePrivateCoachingSessionsResponse = 0x225f, + k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummary = 0x2260, + k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse = 0x2261, + k_EMsgClientToGCJoinPrivateCoachingSessionLobby = 0x2262, + k_EMsgClientToGCJoinPrivateCoachingSessionLobbyResponse = 0x2263, + k_EMsgClientToGCRespondToCoachFriendRequest = 0x2264, + k_EMsgClientToGCRespondToCoachFriendRequestResponse = 0x2265, + k_EMsgClientToGCSetEventActiveSeasonID = 0x2266, + k_EMsgClientToGCSetEventActiveSeasonIDResponse = 0x2267, + k_EMsgServerToGCMatchPlayerNeutralItemEquipHistory = 0x2268, + k_EMsgServerToGCCompendiumChosenInGamePredictions = 0x2269, + k_EMsgClientToGCCreateTeamPlayerCardPack = 0x226a, + k_EMsgClientToGCCreateTeamPlayerCardPackResponse = 0x226b, + k_EMsgGCToServerSubmitCheerData = 0x226c, + k_EMsgGCToServerCheerConfig = 0x226d, + k_EMsgServerToGCGetCheerConfig = 0x226e, + k_EMsgServerToGCGetCheerConfigResponse = 0x226f, + k_EMsgGCToGCGrantAutographByID = 0x2270, + k_EMsgGCToServerCheerScalesOverride = 0x2271, + k_EMsgGCToServerGetCheerState = 0x2272, + k_EMsgServerToGCReportCheerState = 0x2273, + k_EMsgGCToServerScenarioSave = 0x2274, + k_EMsgGCToServerAbilityDraftLobbyData = 0x2275, + k_EMsgSignOutReportCommunications = 0x2276, + k_EMsgClientToGCBatchGetPlayerCardRosterRequest = 0x2277, + k_EMsgClientToGCBatchGetPlayerCardRosterResponse = 0x2278, + k_EMsgClientToGCGetStickerbookRequest = 0x2279, + k_EMsgClientToGCGetStickerbookResponse = 0x227a, + k_EMsgClientToGCCreateStickerbookPageRequest = 0x227b, + k_EMsgClientToGCCreateStickerbookPageResponse = 0x227c, + k_EMsgClientToGCDeleteStickerbookPageRequest = 0x227d, + k_EMsgClientToGCDeleteStickerbookPageResponse = 0x227e, + k_EMsgClientToGCPlaceStickersRequest = 0x227f, + k_EMsgClientToGCPlaceStickersResponse = 0x2280, + k_EMsgClientToGCPlaceCollectionStickersRequest = 0x2281, + k_EMsgClientToGCPlaceCollectionStickersResponse = 0x2282, + k_EMsgClientToGCOrderStickerbookTeamPageRequest = 0x2283, + k_EMsgClientToGCOrderStickerbookTeamPageResponse = 0x2284, + k_EMsgServerToGCGetStickerHeroes = 0x2285, + k_EMsgServerToGCGetStickerHeroesResponse = 0x2286, + k_EMsgClientToGCCandyShopGetUserData = 0x2288, + k_EMsgClientToGCCandyShopGetUserDataResponse = 0x2289, + k_EMsgGCToClientCandyShopUserDataUpdated = 0x228a, + k_EMsgClientToGCCandyShopPurchaseReward = 0x228b, + k_EMsgClientToGCCandyShopPurchaseRewardResponse = 0x228c, + k_EMsgClientToGCCandyShopDoExchange = 0x228d, + k_EMsgClientToGCCandyShopDoExchangeResponse = 0x228e, + k_EMsgClientToGCCandyShopDoVariableExchange = 0x228f, + k_EMsgClientToGCCandyShopDoVariableExchangeResponse = 0x2290, + k_EMsgClientToGCCandyShopRerollRewards = 0x2291, + k_EMsgClientToGCCandyShopRerollRewardsResponse = 0x2292, + k_EMsgClientToGCSetHeroSticker = 0x2293, + k_EMsgClientToGCSetHeroStickerResponse = 0x2294, + k_EMsgClientToGCGetHeroStickers = 0x2295, + k_EMsgClientToGCGetHeroStickersResponse = 0x2296, + k_EMsgClientToGCSetFavoritePage = 0x2297, + k_EMsgClientToGCSetFavoritePageResponse = 0x2298, + k_EMsgClientToGCCandyShopDevGrantCandy = 0x2299, + k_EMsgClientToGCCandyShopDevGrantCandyResponse = 0x229a, + k_EMsgClientToGCCandyShopDevClearInventory = 0x229b, + k_EMsgClientToGCCandyShopDevClearInventoryResponse = 0x229c, + k_EMsgClientToGCCandyShopOpenBags = 0x229d, + k_EMsgClientToGCCandyShopOpenBagsResponse = 0x229e, + k_EMsgClientToGCCandyShopDevGrantCandyBags = 0x229f, + k_EMsgClientToGCCandyShopDevGrantCandyBagsResponse = 0x22a0, + k_EMsgClientToGCCandyShopDevShuffleExchange = 0x22a1, + k_EMsgClientToGCCandyShopDevShuffleExchangeResponse = 0x22a2, + k_EMsgClientToGCCandyShopDevGrantRerollCharges = 0x22a3, + k_EMsgClientToGCCandyShopDevGrantRerollChargesResponse = 0x22a4, + k_EMsgLobbyAdditionalAccountData = 0x22a5, + k_EMsgServerToGCLobbyInitialized = 0x22a6, + k_EMsgClientToGCCollectorsCacheAvailableDataRequest = 0x22a7, + k_EMsgGCToClientCollectorsCacheAvailableDataResponse = 0x22a8, + k_EMsgClientToGCUploadMatchClip = 0x22a9, + k_EMsgGCToClientUploadMatchClipResponse = 0x22aa, + k_EMsgGCToServerSetSteamLearnDisable = 0x22ab, + k_EMsgGCToServerSetSteamLearnKeysChanged = 0x22ac, + k_EMsgSignOutMuertaMinigame = 0x22ad, + k_EMsgGCToServerLobbyHeroRoleStats = 0x22ae, + k_EMsgClientToGCRankRequest = 0x22af, + k_EMsgGCToClientRankResponse = 0x22b0, + k_EMsgGCToClientRankUpdate = 0x22b1, + k_EMsgSignOutMapStats = 0x22b2, + k_EMsgClientToGCMapStatsRequest = 0x22b3, + k_EMsgGCToClientMapStatsResponse = 0x22b4, + k_EMsgGCToServerSetSteamLearnInferencing = 0x22b5, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EPoorNetworkConditionsType : uint32_t +{ + k_EPoorNetworkConditions_None = 0x0, + k_EPoorNetworkConditions_Unknown = 0x1, + k_EPoorNetworkConditions_MassDisconnect = 0x2, + k_EPoorNetworkConditions_ExcessBadQosIntervals = 0x3, +}; + +// Alignment: 4 +// Size: 0x4 +enum class EPingSource : uint32_t +{ + k_ePingSource_Default = 0x0, + k_ePingSource_Warning = 0x1, + k_ePingSource_Wheel = 0x2, + k_ePingSource_System = 0x3, +}; + +// Alignment: 4 +// Size: 0x6 +enum class EDOTAStatPopupTypes : uint32_t +{ + k_EDOTA_SPT_Textline = 0x0, + k_EDOTA_SPT_Basic = 0x1, + k_EDOTA_SPT_Poll = 0x2, + k_EDOTA_SPT_Grid = 0x3, + k_EDOTA_SPT_DualImage = 0x4, + k_EDOTA_SPT_Movie = 0x5, +}; + +// Alignment: 4 +// Size: 0x28 +enum class dotaunitorder_t : uint32_t +{ + DOTA_UNIT_ORDER_NONE = 0x0, + DOTA_UNIT_ORDER_MOVE_TO_POSITION = 0x1, + DOTA_UNIT_ORDER_MOVE_TO_TARGET = 0x2, + DOTA_UNIT_ORDER_ATTACK_MOVE = 0x3, + DOTA_UNIT_ORDER_ATTACK_TARGET = 0x4, + DOTA_UNIT_ORDER_CAST_POSITION = 0x5, + DOTA_UNIT_ORDER_CAST_TARGET = 0x6, + DOTA_UNIT_ORDER_CAST_TARGET_TREE = 0x7, + DOTA_UNIT_ORDER_CAST_NO_TARGET = 0x8, + DOTA_UNIT_ORDER_CAST_TOGGLE = 0x9, + DOTA_UNIT_ORDER_HOLD_POSITION = 0xa, + DOTA_UNIT_ORDER_TRAIN_ABILITY = 0xb, + DOTA_UNIT_ORDER_DROP_ITEM = 0xc, + DOTA_UNIT_ORDER_GIVE_ITEM = 0xd, + DOTA_UNIT_ORDER_PICKUP_ITEM = 0xe, + DOTA_UNIT_ORDER_PICKUP_RUNE = 0xf, + DOTA_UNIT_ORDER_PURCHASE_ITEM = 0x10, + DOTA_UNIT_ORDER_SELL_ITEM = 0x11, + DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 0x12, + DOTA_UNIT_ORDER_MOVE_ITEM = 0x13, + DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 0x14, + DOTA_UNIT_ORDER_STOP = 0x15, + DOTA_UNIT_ORDER_TAUNT = 0x16, + DOTA_UNIT_ORDER_BUYBACK = 0x17, + DOTA_UNIT_ORDER_GLYPH = 0x18, + DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 0x19, + DOTA_UNIT_ORDER_CAST_RUNE = 0x1a, + DOTA_UNIT_ORDER_PING_ABILITY = 0x1b, + DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 0x1c, + DOTA_UNIT_ORDER_PATROL = 0x1d, + DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 0x1e, + DOTA_UNIT_ORDER_RADAR = 0x1f, + DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 0x20, + DOTA_UNIT_ORDER_CONTINUE = 0x21, + DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED = 0x22, + DOTA_UNIT_ORDER_CAST_RIVER_PAINT = 0x23, + DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT = 0x24, + DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 0x25, + DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 0x26, + DOTA_UNIT_ORDER_MOVE_RELATIVE = 0x27, +}; + +// Alignment: 4 +// Size: 0x3 +enum class EDOTAVersusScenePlayerBehavior : uint32_t +{ + VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY = 0x1, + VS_PLAYER_BEHAVIOR_CHAT_WHEEL = 0x2, + VS_PLAYER_BEHAVIOR_PLAYBACK_RATE = 0x3, +}; + +// Alignment: 4 +// Size: 0x61 +enum class EDotaClientMessages : uint32_t +{ + DOTA_CM_MapLine = 0x12d, + DOTA_CM_AspectRatio = 0x12e, + DOTA_CM_MapPing = 0x12f, + DOTA_CM_UnitsAutoAttack = 0x130, + DOTA_CM_SearchString = 0x133, + DOTA_CM_Pause = 0x134, + DOTA_CM_ShopViewMode = 0x135, + DOTA_CM_SetUnitShareFlag = 0x136, + DOTA_CM_SwapRequest = 0x137, + DOTA_CM_SwapAccept = 0x138, + DOTA_CM_WorldLine = 0x139, + DOTA_CM_RequestGraphUpdate = 0x13a, + DOTA_CM_ItemAlert = 0x13b, + DOTA_CM_ChatWheel = 0x13c, + DOTA_CM_SendStatPopup = 0x13d, + DOTA_CM_BeginLastHitChallenge = 0x13e, + DOTA_CM_UpdateQuickBuy = 0x13f, + DOTA_CM_UpdateCoachListen = 0x140, + DOTA_CM_CoachHUDPing = 0x141, + DOTA_CM_RecordVote = 0x142, + DOTA_CM_UnitsAutoAttackAfterSpell = 0x143, + DOTA_CM_WillPurchaseAlert = 0x144, + DOTA_CM_PlayerShowCase = 0x145, + DOTA_CM_TeleportRequiresHalt = 0x146, + DOTA_CM_CameraZoomAmount = 0x147, + DOTA_CM_BroadcasterUsingCamerman = 0x148, + DOTA_CM_BroadcasterUsingAssistedCameraOperator = 0x149, + DOTA_CM_EnemyItemAlert = 0x14a, + DOTA_CM_FreeInventory = 0x14b, + DOTA_CM_BuyBackStateAlert = 0x14c, + DOTA_CM_QuickBuyAlert = 0x14d, + DOTA_CM_HeroStatueLike = 0x14e, + DOTA_CM_ModifierAlert = 0x14f, + DOTA_CM_TeamShowcaseEditor = 0x150, + DOTA_CM_HPManaAlert = 0x151, + DOTA_CM_GlyphAlert = 0x152, + DOTA_CM_TeamShowcaseClientData = 0x153, + DOTA_CM_PlayTeamShowcase = 0x154, + DOTA_CM_EventCNY2015Cmd = 0x155, + DOTA_CM_FillEmptySlotsWithBots = 0x156, + DOTA_CM_DemoHero = 0x157, + DOTA_CM_AbilityLearnModeToggled = 0x158, + DOTA_CM_AbilityStartUse = 0x159, + DOTA_CM_ChallengeSelect = 0x15a, + DOTA_CM_ChallengeReroll = 0x15b, + DOTA_CM_ClickedBuff = 0x15c, + DOTA_CM_CoinWager = 0x15d, + DOTA_CM_ExecuteOrders = 0x15e, + DOTA_CM_XPAlert = 0x15f, + DOTA_CM_EventPointsTip = 0x161, + DOTA_CM_KillMyHero = 0x163, + DOTA_CM_QuestStatus = 0x164, + DOTA_CM_ToggleAutoattack = 0x165, + DOTA_CM_SpecialAbility = 0x166, + DOTA_CM_KillcamDamageTaken = 0x167, + DOTA_CM_SetEnemyStartingPosition = 0x168, + DOTA_CM_SetDesiredWardPlacement = 0x169, + DOTA_CM_RollDice = 0x16a, + DOTA_CM_FlipCoin = 0x16b, + DOTA_CM_RequestItemSuggestions = 0x16c, + DOTA_CM_MakeTeamCaptain = 0x16d, + DOTA_CM_CoinWagerToken = 0x16e, + DOTA_CM_RankWager = 0x16f, + DOTA_CM_DismissAllStatPopups = 0x170, + DOTA_CM_HelpTipSystemStateChanged = 0x171, + DOTA_CM_ChannelRequiresHalt = 0x172, + DOTA_CM_RequestBulkCombatLog = 0x173, + DOTA_CM_AbilityDraftRequestAbility = 0x174, + DOTA_CM_GuideSelectOption = 0x175, + DOTA_CM_GuideSelected = 0x176, + DOTA_CM_DamageReport = 0x177, + DOTA_CM_SalutePlayer = 0x178, + DOTA_CM_SprayWheel = 0x179, + DOTA_CM_TipAlert = 0x17a, + DOTA_CM_EmptyTeleportAlert = 0x17b, + DOTA_CM_RadarAlert = 0x17c, + DOTA_CM_TalentTreeAlert = 0x17d, + DOTA_CM_SetCavernMapVariant = 0x17e, + DOTA_CM_PauseGameOrder = 0x17f, + DOTA_CM_VersusScene_PlayerBehavior = 0x180, + DOTA_CM_PlayerBounty = 0x181, + DOTA_CM_PlayerBountyCancel = 0x182, + DOTA_CM_EmptyItemSlotAlert = 0x184, + DOTA_CM_AddOverwatchReportMarker = 0x185, + DOTA_CM_AghsStatusAlert = 0x186, + DOTA_CM_PerfReport = 0x187, + DOTA_CM_ContextualTips_Subscribe = 0x189, + DOTA_CM_ChatMessage = 0x18a, + DOTA_CM_AddCommunicationsReportMarker = 0x18b, + DOTA_CM_AddCommunicationsBlockMarker = 0x18c, + DOTA_CM_NeutralCampAlert = 0x18d, + DOTA_CM_DuelAccepted = 0x18e, + DOTA_CM_ChooseNeutralItem = 0x18f, + DOTA_CM_PlayerDraftPick = 0x320, + DOTA_CM_PlayerDraftSuggest = 0x321, + DOTA_CM_PlayerDraftPreferRole = 0x322, + DOTA_CM_PlayerDraftPreferTeam = 0x323, +}; + +// Alignment: 4 +// Size: 0x9c +enum class EDotaUserMessages : uint32_t +{ + DOTA_UM_AddUnitToSelection = 0x1d0, + DOTA_UM_AIDebugLine = 0x1d1, + DOTA_UM_ChatEvent = 0x1d2, + DOTA_UM_CombatHeroPositions = 0x1d3, + DOTA_UM_CombatLogData = 0x1d4, + DOTA_UM_CombatLogBulkData = 0x1d6, + DOTA_UM_CreateLinearProjectile = 0x1d7, + DOTA_UM_DestroyLinearProjectile = 0x1d8, + DOTA_UM_DodgeTrackingProjectiles = 0x1d9, + DOTA_UM_GlobalLightColor = 0x1da, + DOTA_UM_GlobalLightDirection = 0x1db, + DOTA_UM_InvalidCommand = 0x1dc, + DOTA_UM_LocationPing = 0x1dd, + DOTA_UM_MapLine = 0x1de, + DOTA_UM_MiniKillCamInfo = 0x1df, + DOTA_UM_MinimapDebugPoint = 0x1e0, + DOTA_UM_MinimapEvent = 0x1e1, + DOTA_UM_NevermoreRequiem = 0x1e2, + DOTA_UM_OverheadEvent = 0x1e3, + DOTA_UM_SetNextAutobuyItem = 0x1e4, + DOTA_UM_SharedCooldown = 0x1e5, + DOTA_UM_SpectatorPlayerClick = 0x1e6, + DOTA_UM_TutorialTipInfo = 0x1e7, + DOTA_UM_UnitEvent = 0x1e8, + DOTA_UM_ParticleManager = 0x1e9, + DOTA_UM_BotChat = 0x1ea, + DOTA_UM_HudError = 0x1eb, + DOTA_UM_ItemPurchased = 0x1ec, + DOTA_UM_Ping = 0x1ed, + DOTA_UM_ItemFound = 0x1ee, + DOTA_UM_CharacterSpeakConcept = 0x1ef, + DOTA_UM_SwapVerify = 0x1f0, + DOTA_UM_WorldLine = 0x1f1, + DOTA_UM_TournamentDrop = 0x1f2, + DOTA_UM_ItemAlert = 0x1f3, + DOTA_UM_HalloweenDrops = 0x1f4, + DOTA_UM_ChatWheel = 0x1f5, + DOTA_UM_ReceivedXmasGift = 0x1f6, + DOTA_UM_UpdateSharedContent = 0x1f7, + DOTA_UM_TutorialRequestExp = 0x1f8, + DOTA_UM_TutorialPingMinimap = 0x1f9, + DOTA_UM_GamerulesStateChanged = 0x1fa, + DOTA_UM_ShowSurvey = 0x1fb, + DOTA_UM_TutorialFade = 0x1fc, + DOTA_UM_AddQuestLogEntry = 0x1fd, + DOTA_UM_SendStatPopup = 0x1fe, + DOTA_UM_TutorialFinish = 0x1ff, + DOTA_UM_SendRoshanPopup = 0x200, + DOTA_UM_SendGenericToolTip = 0x201, + DOTA_UM_SendFinalGold = 0x202, + DOTA_UM_CustomMsg = 0x203, + DOTA_UM_CoachHUDPing = 0x204, + DOTA_UM_ClientLoadGridNav = 0x205, + DOTA_UM_TE_Projectile = 0x206, + DOTA_UM_TE_ProjectileLoc = 0x207, + DOTA_UM_TE_DotaBloodImpact = 0x208, + DOTA_UM_TE_UnitAnimation = 0x209, + DOTA_UM_TE_UnitAnimationEnd = 0x20a, + DOTA_UM_AbilityPing = 0x20b, + DOTA_UM_ShowGenericPopup = 0x20c, + DOTA_UM_VoteStart = 0x20d, + DOTA_UM_VoteUpdate = 0x20e, + DOTA_UM_VoteEnd = 0x20f, + DOTA_UM_BoosterState = 0x210, + DOTA_UM_WillPurchaseAlert = 0x211, + DOTA_UM_TutorialMinimapPosition = 0x212, + DOTA_UM_PlayerMMR = 0x213, + DOTA_UM_AbilitySteal = 0x214, + DOTA_UM_CourierKilledAlert = 0x215, + DOTA_UM_EnemyItemAlert = 0x216, + DOTA_UM_StatsMatchDetails = 0x217, + DOTA_UM_MiniTaunt = 0x218, + DOTA_UM_BuyBackStateAlert = 0x219, + DOTA_UM_SpeechBubble = 0x21a, + DOTA_UM_CustomHeaderMessage = 0x21b, + DOTA_UM_QuickBuyAlert = 0x21c, + DOTA_UM_StatsHeroDetails = 0x21d, + DOTA_UM_PredictionResult = 0x21e, + DOTA_UM_ModifierAlert = 0x21f, + DOTA_UM_HPManaAlert = 0x220, + DOTA_UM_GlyphAlert = 0x221, + DOTA_UM_BeastChat = 0x222, + DOTA_UM_SpectatorPlayerUnitOrders = 0x223, + DOTA_UM_CustomHudElement_Create = 0x224, + DOTA_UM_CustomHudElement_Modify = 0x225, + DOTA_UM_CustomHudElement_Destroy = 0x226, + DOTA_UM_CompendiumState = 0x227, + DOTA_UM_ProjectionAbility = 0x228, + DOTA_UM_ProjectionEvent = 0x229, + DOTA_UM_CombatLogDataHLTV = 0x22a, + DOTA_UM_XPAlert = 0x22b, + DOTA_UM_UpdateQuestProgress = 0x22c, + DOTA_UM_MatchMetadata = 0x22d, + DOTA_UM_MatchDetails = 0x22e, + DOTA_UM_QuestStatus = 0x22f, + DOTA_UM_SuggestHeroPick = 0x230, + DOTA_UM_SuggestHeroRole = 0x231, + DOTA_UM_KillcamDamageTaken = 0x232, + DOTA_UM_SelectPenaltyGold = 0x233, + DOTA_UM_RollDiceResult = 0x234, + DOTA_UM_FlipCoinResult = 0x235, + DOTA_UM_RequestItemSuggestions = 0x236, + DOTA_UM_TeamCaptainChanged = 0x237, + DOTA_UM_SendRoshanSpectatorPhase = 0x238, + DOTA_UM_ChatWheelCooldown = 0x239, + DOTA_UM_DismissAllStatPopups = 0x23a, + DOTA_UM_TE_DestroyProjectile = 0x23b, + DOTA_UM_HeroRelicProgress = 0x23c, + DOTA_UM_AbilityDraftRequestAbility = 0x23d, + DOTA_UM_ItemSold = 0x23e, + DOTA_UM_DamageReport = 0x23f, + DOTA_UM_SalutePlayer = 0x240, + DOTA_UM_TipAlert = 0x241, + DOTA_UM_ReplaceQueryUnit = 0x242, + DOTA_UM_EmptyTeleportAlert = 0x243, + DOTA_UM_MarsArenaOfBloodAttack = 0x244, + DOTA_UM_ESArcanaCombo = 0x245, + DOTA_UM_ESArcanaComboSummary = 0x246, + DOTA_UM_HighFiveLeftHanging = 0x247, + DOTA_UM_HighFiveCompleted = 0x248, + DOTA_UM_ShovelUnearth = 0x249, + DOTA_EM_InvokerSpellCast = 0x24a, + DOTA_UM_RadarAlert = 0x24b, + DOTA_UM_AllStarEvent = 0x24c, + DOTA_UM_TalentTreeAlert = 0x24d, + DOTA_UM_QueuedOrderRemoved = 0x24e, + DOTA_UM_DebugChallenge = 0x24f, + DOTA_UM_OMArcanaCombo = 0x250, + DOTA_UM_FoundNeutralItem = 0x251, + DOTA_UM_OutpostCaptured = 0x252, + DOTA_UM_OutpostGrantedXP = 0x253, + DOTA_UM_MoveCameraToUnit = 0x254, + DOTA_UM_PauseMinigameData = 0x255, + DOTA_UM_VersusScene_PlayerBehavior = 0x256, + DOTA_UM_QoP_ArcanaSummary = 0x258, + DOTA_UM_HotPotato_Created = 0x259, + DOTA_UM_HotPotato_Exploded = 0x25a, + DOTA_UM_WK_Arcana_Progress = 0x25b, + DOTA_UM_GuildChallenge_Progress = 0x25c, + DOTA_UM_WRArcanaProgress = 0x25d, + DOTA_UM_WRArcanaSummary = 0x25e, + DOTA_UM_EmptyItemSlotAlert = 0x25f, + DOTA_UM_AghsStatusAlert = 0x260, + DOTA_UM_PingConfirmation = 0x261, + DOTA_UM_MutedPlayers = 0x262, + DOTA_UM_ContextualTip = 0x263, + DOTA_UM_ChatMessage = 0x264, + DOTA_UM_NeutralCampAlert = 0x265, + DOTA_UM_RockPaperScissorsStarted = 0x266, + DOTA_UM_RockPaperScissorsFinished = 0x267, + DOTA_UM_DuelOpponentKilled = 0x268, + DOTA_UM_DuelAccepted = 0x269, + DOTA_UM_DuelRequested = 0x26a, + DOTA_UM_MuertaReleaseEvent_AssignedTargetKilled = 0x26b, + DOTA_UM_PlayerDraftSuggestPick = 0x26c, + DOTA_UM_PlayerDraftPick = 0x26d, +}; + +// Alignment: 4 +// Size: 0x6c +enum class DOTA_CHAT_MESSAGE : uint32_t +{ + CHAT_MESSAGE_INVALID = 0xffffffffffffffff, + CHAT_MESSAGE_HERO_KILL = 0x0, + CHAT_MESSAGE_HERO_DENY = 0x1, + CHAT_MESSAGE_BARRACKS_KILL = 0x2, + CHAT_MESSAGE_TOWER_KILL = 0x3, + CHAT_MESSAGE_TOWER_DENY = 0x4, + CHAT_MESSAGE_FIRSTBLOOD = 0x5, + CHAT_MESSAGE_STREAK_KILL = 0x6, + CHAT_MESSAGE_BUYBACK = 0x7, + CHAT_MESSAGE_AEGIS = 0x8, + CHAT_MESSAGE_ROSHAN_KILL = 0x9, + CHAT_MESSAGE_COURIER_LOST = 0xa, + CHAT_MESSAGE_COURIER_RESPAWNED = 0xb, + CHAT_MESSAGE_GLYPH_USED = 0xc, + CHAT_MESSAGE_ITEM_PURCHASE = 0xd, + CHAT_MESSAGE_CONNECT = 0xe, + CHAT_MESSAGE_DISCONNECT = 0xf, + CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT = 0x10, + CHAT_MESSAGE_DISCONNECT_TIME_REMAINING = 0x11, + CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL = 0x12, + CHAT_MESSAGE_RECONNECT = 0x13, + CHAT_MESSAGE_PLAYER_LEFT = 0x14, + CHAT_MESSAGE_SAFE_TO_LEAVE = 0x15, + CHAT_MESSAGE_RUNE_PICKUP = 0x16, + CHAT_MESSAGE_RUNE_BOTTLE = 0x17, + CHAT_MESSAGE_RUNE_DENY = 0x72, + CHAT_MESSAGE_INTHEBAG = 0x18, + CHAT_MESSAGE_SECRETSHOP = 0x19, + CHAT_MESSAGE_ITEM_AUTOPURCHASED = 0x1a, + CHAT_MESSAGE_ITEMS_COMBINED = 0x1b, + CHAT_MESSAGE_SUPER_CREEPS = 0x1c, + CHAT_MESSAGE_CANT_USE_ACTION_ITEM = 0x1d, + CHAT_MESSAGE_CANTPAUSE = 0x1f, + CHAT_MESSAGE_NOPAUSESLEFT = 0x20, + CHAT_MESSAGE_CANTPAUSEYET = 0x21, + CHAT_MESSAGE_PAUSED = 0x22, + CHAT_MESSAGE_UNPAUSE_COUNTDOWN = 0x23, + CHAT_MESSAGE_UNPAUSED = 0x24, + CHAT_MESSAGE_AUTO_UNPAUSED = 0x25, + CHAT_MESSAGE_YOUPAUSED = 0x26, + CHAT_MESSAGE_CANTUNPAUSETEAM = 0x27, + CHAT_MESSAGE_VOICE_TEXT_BANNED = 0x29, + CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME = 0x2a, + CHAT_MESSAGE_REPORT_REMINDER = 0x2b, + CHAT_MESSAGE_ECON_ITEM = 0x2c, + CHAT_MESSAGE_TAUNT = 0x2d, + CHAT_MESSAGE_RANDOM = 0x2e, + CHAT_MESSAGE_RD_TURN = 0x2f, + CHAT_MESSAGE_DROP_RATE_BONUS = 0x31, + CHAT_MESSAGE_NO_BATTLE_POINTS = 0x32, + CHAT_MESSAGE_DENIED_AEGIS = 0x33, + CHAT_MESSAGE_INFORMATIONAL = 0x34, + CHAT_MESSAGE_AEGIS_STOLEN = 0x35, + CHAT_MESSAGE_ROSHAN_CANDY = 0x36, + CHAT_MESSAGE_ITEM_GIFTED = 0x37, + CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL = 0x38, + CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED = 0x39, + CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED = 0x3a, + CHAT_MESSAGE_HOLDOUT_WALL_FINISHED = 0x3b, + CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO = 0x3e, + CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION = 0x3f, + CHAT_MESSAGE_DISCONNECT_LIMITED_HERO = 0x40, + CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION = 0x41, + CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS = 0x42, + CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE = 0x43, + CHAT_MESSAGE_PLAYER_LEFT_AFK = 0x49, + CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG = 0x4a, + CHAT_MESSAGE_PLAYER_ABANDONED = 0x4b, + CHAT_MESSAGE_PLAYER_ABANDONED_AFK = 0x4c, + CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG = 0x4d, + CHAT_MESSAGE_WILL_NOT_BE_SCORED = 0x4e, + CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED = 0x4f, + CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK = 0x50, + CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED = 0x51, + CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON = 0x52, + CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS = 0x53, + CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY = 0x54, + CHAT_MESSAGE_COMPENDIUM_LEVEL = 0x55, + CHAT_MESSAGE_VICTORY_PREDICTION_STREAK = 0x56, + CHAT_MESSAGE_ASSASSIN_ANNOUNCE = 0x57, + CHAT_MESSAGE_ASSASSIN_SUCCESS = 0x58, + CHAT_MESSAGE_ASSASSIN_DENIED = 0x59, + CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM = 0x5a, + CHAT_MESSAGE_EFFIGY_KILL = 0x5b, + CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW = 0x5c, + CHAT_MESSAGE_YEAR_BEAST_KILLED = 0x5d, + CHAT_MESSAGE_PAUSE_COUNTDOWN = 0x5e, + CHAT_MESSAGE_COINS_WAGERED = 0x5f, + CHAT_MESSAGE_HERO_NOMINATED_BAN = 0x60, + CHAT_MESSAGE_HERO_BANNED = 0x61, + CHAT_MESSAGE_HERO_BAN_COUNT = 0x62, + CHAT_MESSAGE_RIVER_PAINTED = 0x63, + CHAT_MESSAGE_SCAN_USED = 0x64, + CHAT_MESSAGE_SHRINE_KILLED = 0x65, + CHAT_MESSAGE_WAGER_TOKEN_SPENT = 0x66, + CHAT_MESSAGE_RANK_WAGER = 0x67, + CHAT_MESSAGE_NEW_PLAYER_REMINDER = 0x68, + CHAT_MESSAGE_OBSERVER_WARD_KILLED = 0x69, + CHAT_MESSAGE_SENTRY_WARD_KILLED = 0x6a, + CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH = 0x6b, + CHAT_MESSAGE_HERO_CHOICE_INVALID = 0x6c, + CHAT_MESSAGE_BOUNTY = 0x6d, + CHAT_MESSAGE_ABILITY_DRAFT_START = 0x6e, + CHAT_MESSAGE_HERO_FOUND_CANDY = 0x6f, + CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED = 0x70, + CHAT_MESSAGE_PRIVATE_COACH_CONNECTED = 0x71, + CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 0x73, + CHAT_MESSAGE_HERO_KILL_WITH_PENGUIN = 0x74, +}; + +// Alignment: 4 +// Size: 0x4 +enum class DOTA_NO_BATTLE_POINTS_REASONS : uint32_t +{ + NO_BATTLE_POINTS_WRONG_LOBBY_TYPE = 0x1, + NO_BATTLE_POINTS_PRACTICE_BOTS = 0x2, + NO_BATTLE_POINTS_CHEATS_ENABLED = 0x3, + NO_BATTLE_POINTS_LOW_PRIORITY = 0x4, +}; + +// Alignment: 4 +// Size: 0x5 +enum class DOTA_CHAT_INFORMATIONAL : uint32_t +{ + INFO_COOP_BATTLE_POINTS_RULES = 0x1, + INFO_FROSTIVUS_ABANDON_REMINDER = 0x2, + INFO_RANKED_REMINDER = 0x3, + INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER = 0x4, + INFO_CUSTOM_GAME_PENALTY_REMINDER = 0x5, +}; + +// Alignment: 4 +// Size: 0x10 +enum class DOTA_ABILITY_PING_TYPE : uint32_t +{ + ABILITY_PING_READY = 0x1, + ABILITY_PING_MANA = 0x2, + ABILITY_PING_COOLDOWN = 0x3, + ABILITY_PING_ENEMY = 0x4, + ABILITY_PING_UNLEARNED = 0x5, + ABILITY_PING_INBACKPACK = 0x6, + ABILITY_PING_INSTASH = 0x7, + ABILITY_PING_ONCOURIER = 0x8, + ABILITY_PING_ALLY = 0x9, + ABILITY_PING_LEARN_READY = 0xa, + ABILITY_PING_WILL_LEARN = 0xb, + ABILITY_PING_FUTURE_LEARN = 0xc, + ABILITY_PING_NEUTRAL_OFFER = 0xd, + ABILITY_PING_NEUTRAL_REQUEST = 0xe, + ABILITY_PING_NEUTRAL_EQUIP = 0xf, + ABILITY_PING_INCOURIERBACKPACK = 0x10, +}; + +// Alignment: 4 +// Size: 0x6 +enum class DOTA_REPLAY_STATE_EVENT : uint32_t +{ + DOTA_REPLAY_STATE_EVENT_GAME_START = 0x1, + DOTA_REPLAY_STATE_EVENT_STARTING_HORN = 0x2, + DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD = 0x3, + DOTA_REPLAY_STATE_EVENT_SHOWCASE = 0x4, + DOTA_REPLAY_STATE_EVENT_POST_GAME = 0x5, + DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP = 0x6, +}; + +// Alignment: 4 +// Size: 0x7 +enum class EDotaEntityMessages : uint32_t +{ + DOTA_UNIT_SPEECH = 0x0, + DOTA_UNIT_SPEECH_MUTE = 0x1, + DOTA_UNIT_ADD_GESTURE = 0x2, + DOTA_UNIT_REMOVE_GESTURE = 0x3, + DOTA_UNIT_REMOVE_ALL_GESTURES = 0x4, + DOTA_UNIT_FADE_GESTURE = 0x6, + DOTA_UNIT_SPEECH_CLIENTSIDE_RULES = 0x7, +}; + +// Alignment: 4 +// Size: 0x19 +enum class DOTA_OVERHEAD_ALERT : uint32_t +{ + OVERHEAD_ALERT_GOLD = 0x0, + OVERHEAD_ALERT_DENY = 0x1, + OVERHEAD_ALERT_CRITICAL = 0x2, + OVERHEAD_ALERT_XP = 0x3, + OVERHEAD_ALERT_BONUS_SPELL_DAMAGE = 0x4, + OVERHEAD_ALERT_MISS = 0x5, + OVERHEAD_ALERT_DAMAGE = 0x6, + OVERHEAD_ALERT_EVADE = 0x7, + OVERHEAD_ALERT_BLOCK = 0x8, + OVERHEAD_ALERT_BONUS_POISON_DAMAGE = 0x9, + OVERHEAD_ALERT_HEAL = 0xa, + OVERHEAD_ALERT_MANA_ADD = 0xb, + OVERHEAD_ALERT_MANA_LOSS = 0xc, + OVERHEAD_ALERT_LAST_HIT_EARLY = 0xd, + OVERHEAD_ALERT_LAST_HIT_CLOSE = 0xe, + OVERHEAD_ALERT_LAST_HIT_MISS = 0xf, + OVERHEAD_ALERT_MAGICAL_BLOCK = 0x10, + OVERHEAD_ALERT_INCOMING_DAMAGE = 0x11, + OVERHEAD_ALERT_OUTGOING_DAMAGE = 0x12, + OVERHEAD_ALERT_DISABLE_RESIST = 0x13, + OVERHEAD_ALERT_DEATH = 0x14, + OVERHEAD_ALERT_BLOCKED = 0x15, + OVERHEAD_ALERT_ITEM_RECEIVED = 0x16, + OVERHEAD_ALERT_SHARD = 0x17, + OVERHEAD_ALERT_DEADLY_BLOW = 0x18, +}; + +// Alignment: 4 +// Size: 0x3 +enum class DOTA_ROSHAN_PHASE : uint32_t +{ + k_SRSP_ROSHAN_ALIVE = 0x0, + k_SRSP_ROSHAN_BASE_TIMER = 0x1, + k_SRSP_ROSHAN_VISIBLE_TIMER = 0x2, +}; + +// Alignment: 4 +// Size: 0x10 +enum class DOTA_POSITION_CATEGORY : uint32_t +{ + DOTA_POSITION_NONE = 0x0, + DOTA_POSITION_BOTTOM_LANE = 0x1, + DOTA_POSITION_MID_LANE = 0x2, + DOTA_POSITION_TOP_LANE = 0x3, + DOTA_POSITION_RADIANT_JUNGLE = 0x4, + DOTA_POSITION_DIRE_JUNGLE = 0x5, + DOTA_POSITION_RADIANT_ANCIENTS = 0x6, + DOTA_POSITION_DIRE_ANCIENTS = 0x7, + DOTA_POSITION_RADIANT_SECRET_SHOP = 0x8, + DOTA_POSITION_DIRE_SECRET_SHOP = 0x9, + DOTA_POSITION_RIVER = 0xa, + DOTA_POSITION_ROSHAN_PIT = 0xb, + DOTA_POSITION_RADIANT_BASE = 0xc, + DOTA_POSITION_DIRE_BASE = 0xd, + DOTA_POSITION_FOUNTAIN = 0xe, + DOTA_POSITION_OTHER = 0xf, +}; + +// Alignment: 4 +// Size: 0x6 +enum class DOTA_ABILITY_TARGET_TYPE : uint32_t +{ + DOTA_ABILITY_TARGET_NONE = 0x0, + DOTA_ABILITY_TARGET_SELF = 0x1, + DOTA_ABILITY_TARGET_ALLY_HERO = 0x2, + DOTA_ABILITY_TARGET_ALLY_CREEP = 0x3, + DOTA_ABILITY_TARGET_ENEMY_HERO = 0x4, + DOTA_ABILITY_TARGET_ENEMY_CREEP = 0x5, +}; + +// Alignment: 4 +// Size: 0x16 +enum class EHeroStatType : uint32_t +{ + k_EHeroStatType_None = 0x0, + k_EHeroStatType_AxeTotalDamage = 0x7d0, + k_EHeroStatType_BattleHungerDamage = 0x7d1, + k_EHeroStatType_CounterHelixDamage = 0x7d2, + k_EHeroStatType_CullingBladeDamage = 0x7d3, + k_EHeroStatType_BerserkersCallCastCount = 0x7d4, + k_EHeroStatType_BerserkersCallHeroesHitAverage = 0x7d5, + k_EHeroStatType_BerserkersCallOtherUnitsHit = 0x7d6, + k_EHeroStatType_BerserkersCallHeroAttacksTaken = 0x7d7, + k_EHeroStatType_BerserkersCallOtherAttacksTaken = 0x7d8, + k_EHeroStatType_BattleHungerCastCount = 0x7d9, + k_EHeroStatType_BattleHungerPotentialDuration = 0x7da, + k_EHeroStatType_BattleHungerAverageDuration = 0x7db, + k_EHeroStatType_CounterHelixProcCount = 0x7dc, + k_EHeroStatType_CounterHelixHeroProcCount = 0x7dd, + k_EHeroStatType_CounterHelixHeroesHitAverage = 0x7de, + k_EHeroStatType_CounterHelixOtherUnitsHitCount = 0x7df, + k_EHeroStatType_CullingBladeCastCount = 0x7e0, + k_EHeroStatType_CullingBladeKillCount = 0x7e1, + k_EHeroStatType_CullingBladeAverageHealthCulled = 0x7e2, + k_EHeroStatType_CullingBladeAverageDamageAvailable = 0x7e3, + k_EHeroStatType_CullingBladeHeroBuffAverage = 0x7e4, +}; + +// Alignment: 4 +// Size: 0x14 +enum class EPlayerVoiceListenState : uint32_t +{ + kPVLS_None = 0x0, + kPVLS_DeniedChatBanned = 0x1, + kPVLS_DeniedPartner = 0x2, + kPVLS_DeniedHLTVTalkerNotSpectator = 0x3, + kPVLS_DeniedHLTVNoTalkerPlayerID = 0x4, + kPVLS_DeniedHLTVTalkerNotBroadcaster = 0x5, + kPVLS_DeniedTeamSpectator = 0x6, + kPVLS_DeniedStudent = 0x8, + kPVLS_DeniedPrivateCoach = 0x9, + kPVLS_Denied = 0x40, + kPVLS_AllowHLTVTalkerIsBroadcaster = 0x41, + kPVLS_AllowCoBroadcaster = 0x42, + kPVLS_AllowAllChat = 0x43, + kPVLS_AllowStudentToCoach = 0x44, + kPVLS_AllowFellowStudent = 0x45, + kPVLS_AllowTalkerIsCoach = 0x46, + kPVLS_AllowCoachHearTeam = 0x47, + kPVLS_AllowSameTeam = 0x48, + kPVLS_AllowShowcase = 0x49, + kPVLS_AllowPrivateCoach = 0x4a, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EProjectionEvent : uint32_t +{ + ePE_FirstBlood = 0x0, + ePE_Killstreak_godlike = 0x1, +}; + +// Alignment: 4 +// Size: 0x2 +enum class EDotaBroadcastMessages : uint32_t +{ + DOTA_BM_LANLobbyRequest = 0x1, + DOTA_BM_LANLobbyReply = 0x2, +}; + +// Alignment: 4 +// Size: 0x2 +enum class DOTA_MODIFIER_ENTRY_TYPE : uint32_t +{ + DOTA_MODIFIER_ENTRY_TYPE_ACTIVE = 0x1, + DOTA_MODIFIER_ENTRY_TYPE_REMOVED = 0x2, }; // Alignment: 4 @@ -1820,3942 +5745,6 @@ enum class BaseActivity_t : uint32_t ACT_CSGO_TAUNT = 0x404, }; -// Alignment: 4 -// Size: 0x3 -enum class AmmoFlags_t : uint32_t -{ - AMMO_FORCE_DROP_IF_CARRIED = 0x1, - AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2, - AMMO_FLAG_MAX = 0x2, -}; - -// Alignment: 4 -// Size: 0xd -enum class TakeDamageFlags_t : uint32_t -{ - DFLAG_NONE = 0x0, - DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, - DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, - DFLAG_SUPPRESS_EFFECTS = 0x4, - DFLAG_PREVENT_DEATH = 0x8, - DFLAG_FORCE_DEATH = 0x10, - DFLAG_ALWAYS_GIB = 0x20, - DFLAG_NEVER_GIB = 0x40, - DFLAG_REMOVE_NO_RAGDOLL = 0x80, - DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100, - DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200, - DFLAG_RADIUS_DMG = 0x400, - DMG_LASTDFLAG = 0x400, -}; - -// Alignment: 4 -// Size: 0x16 -enum class DamageTypes_t : uint32_t -{ - DMG_GENERIC = 0x0, - DMG_CRUSH = 0x1, - DMG_BULLET = 0x2, - DMG_SLASH = 0x4, - DMG_BURN = 0x8, - DMG_VEHICLE = 0x10, - DMG_FALL = 0x20, - DMG_BLAST = 0x40, - DMG_CLUB = 0x80, - DMG_SHOCK = 0x100, - DMG_SONIC = 0x200, - DMG_ENERGYBEAM = 0x400, - DMG_DROWN = 0x4000, - DMG_POISON = 0x8000, - DMG_RADIATION = 0x10000, - DMG_DROWNRECOVER = 0x20000, - DMG_ACID = 0x40000, - DMG_PHYSGUN = 0x100000, - DMG_DISSOLVE = 0x200000, - DMG_BLAST_SURFACE = 0x400000, - DMG_BUCKSHOT = 0x1000000, - DMG_LASTGENERICFLAG = 0x1000000, -}; - -// Alignment: 4 -// Size: 0x11 -enum class BaseExplosionTypes_t : uint32_t -{ - EXPLOSION_TYPE_DEFAULT = 0x0, - EXPLOSION_TYPE_GRENADE = 0x1, - EXPLOSION_TYPE_MOLOTOV = 0x2, - EXPLOSION_TYPE_FIREWORKS = 0x3, - EXPLOSION_TYPE_GASCAN = 0x4, - EXPLOSION_TYPE_GASCYLINDER = 0x5, - EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6, - EXPLOSION_TYPE_ELECTRICAL = 0x7, - EXPLOSION_TYPE_EMP = 0x8, - EXPLOSION_TYPE_SHRAPNEL = 0x9, - EXPLOSION_TYPE_SMOKEGRENADE = 0xa, - EXPLOSION_TYPE_FLASHBANG = 0xb, - EXPLOSION_TYPE_TRIPMINE = 0xc, - EXPLOSION_TYPE_ICE = 0xd, - EXPLOSION_TYPE_NONE = 0xe, - EXPLOSION_TYPE_CUSTOM = 0xf, - EXPLOSION_TYPE_COUNT = 0x10, -}; - -// Alignment: 1 -// Size: 0x3 -enum class DamageOptions_t : uint8_t -{ - DAMAGE_NO = 0x0, - DAMAGE_EVENTS_ONLY = 0x1, - DAMAGE_YES = 0x2, -}; - -// Alignment: 4 -// Size: 0x6 -enum class HierarchyType_t : uint32_t -{ - HIERARCHY_NONE = 0x0, - HIERARCHY_BONE_MERGE = 0x1, - HIERARCHY_ATTACHMENT = 0x2, - HIERARCHY_ABSORIGIN = 0x3, - HIERARCHY_BONE = 0x4, - HIERARCHY_TYPE_COUNT = 0x5, -}; - -// Alignment: 4 -// Size: 0x3 -enum class CanPlaySequence_t : uint32_t -{ - CANNOT_PLAY = 0x0, - CAN_PLAY_NOW = 0x1, - CAN_PLAY_ENQUEUED = 0x2, -}; - -// Alignment: 4 -// Size: 0x6 -enum class ScriptedMoveTo_t : uint32_t -{ - CINE_MOVETO_WAIT = 0x0, - CINE_MOVETO_WALK = 0x1, - CINE_MOVETO_RUN = 0x2, - CINE_MOVETO_CUSTOM = 0x3, - CINE_MOVETO_TELEPORT = 0x4, - CINE_MOVETO_WAIT_FACING = 0x5, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ScriptedOnDeath_t : uint32_t -{ - SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, - SS_ONDEATH_UNDEFINED = 0x0, - SS_ONDEATH_RAGDOLL = 0x1, - SS_ONDEATH_ANIMATED_DEATH = 0x2, -}; - -// Alignment: 4 -// Size: 0x7 -enum class IChoreoServices__ScriptState_t : uint32_t -{ - SCRIPT_PLAYING = 0x0, - SCRIPT_WAIT = 0x1, - SCRIPT_POST_IDLE = 0x2, - SCRIPT_CLEANUP = 0x3, - SCRIPT_WALK_TO_MARK = 0x4, - SCRIPT_RUN_TO_MARK = 0x5, - SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, -}; - -// Alignment: 4 -// Size: 0x7 -enum class IChoreoServices__ChoreoState_t : uint32_t -{ - STATE_PRE_SCRIPT = 0x0, - STATE_WAIT_FOR_SCRIPT = 0x1, - STATE_WALK_TO_MARK = 0x2, - STATE_SYNCHRONIZE_SCRIPT = 0x3, - STATE_PLAY_SCRIPT = 0x4, - STATE_PLAY_SCRIPT_POST_IDLE = 0x5, - STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, -}; - -// Alignment: 8 -// Size: 0x12 -enum class InputBitMask_t : uint64_t -{ - IN_NONE = 0x0, - IN_ALL = 0xffffffffffffffff, - IN_ATTACK = 0x1, - IN_JUMP = 0x2, - IN_DUCK = 0x4, - IN_FORWARD = 0x8, - IN_BACK = 0x10, - IN_USE = 0x20, - IN_TURNLEFT = 0x80, - IN_TURNRIGHT = 0x100, - IN_MOVELEFT = 0x200, - IN_MOVERIGHT = 0x400, - IN_ATTACK2 = 0x800, - IN_RELOAD = 0x2000, - IN_SPEED = 0x10000, - IN_JOYAUTOSPRINT = 0x20000, - IN_FIRST_MOD_SPECIFIC_BIT = 0x100000000, - IN_QUERY = 0x100000000, -}; - -// Alignment: 4 -// Size: 0x9 -enum class EInButtonState : uint32_t -{ - IN_BUTTON_UP = 0x0, - IN_BUTTON_DOWN = 0x1, - IN_BUTTON_DOWN_UP = 0x2, - IN_BUTTON_UP_DOWN = 0x3, - IN_BUTTON_UP_DOWN_UP = 0x4, - IN_BUTTON_DOWN_UP_DOWN = 0x5, - IN_BUTTON_DOWN_UP_DOWN_UP = 0x6, - IN_BUTTON_UP_DOWN_UP_DOWN = 0x7, - IN_BUTTON_STATE_COUNT = 0x8, -}; - -// Alignment: 4 -// Size: 0x6 -enum class ShakeCommand_t : uint32_t -{ - SHAKE_START = 0x0, - SHAKE_STOP = 0x1, - SHAKE_AMPLITUDE = 0x2, - SHAKE_FREQUENCY = 0x3, - SHAKE_START_RUMBLEONLY = 0x4, - SHAKE_START_NORUMBLE = 0x5, -}; - -// Alignment: 4 -// Size: 0x5 -enum class TimelineCompression_t : uint32_t -{ - TIMELINE_COMPRESSION_SUM = 0x0, - TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1, - TIMELINE_COMPRESSION_AVERAGE = 0x2, - TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3, - TIMELINE_COMPRESSION_TOTAL = 0x4, -}; - -// Alignment: 8 -// Size: 0x28 -enum class DebugOverlayBits_t : uint64_t -{ - OVERLAY_TEXT_BIT = 0x1, - OVERLAY_NAME_BIT = 0x2, - OVERLAY_BBOX_BIT = 0x4, - OVERLAY_PIVOT_BIT = 0x8, - OVERLAY_MESSAGE_BIT = 0x10, - OVERLAY_ABSBOX_BIT = 0x20, - OVERLAY_RBOX_BIT = 0x40, - OVERLAY_SHOW_BLOCKSLOS = 0x80, - OVERLAY_ATTACHMENTS_BIT = 0x100, - OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200, - OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400, - OVERLAY_SKELETON_BIT = 0x800, - OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000, - OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000, - OVERLAY_HITBOX_BIT = 0x4000, - OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000, - OVERLAY_AUTOAIM_BIT = 0x10000, - OVERLAY_NPC_SELECTED_BIT = 0x20000, - OVERLAY_JOINT_INFO_BIT = 0x40000, - OVERLAY_NPC_ROUTE_BIT = 0x80000, - OVERLAY_NPC_TRIANGULATE_BIT = 0x100000, - OVERLAY_NPC_ZAP_BIT = 0x200000, - OVERLAY_NPC_ENEMIES_BIT = 0x400000, - OVERLAY_NPC_CONDITIONS_BIT = 0x800000, - OVERLAY_NPC_COMBAT_BIT = 0x1000000, - OVERLAY_NPC_TASK_BIT = 0x2000000, - OVERLAY_NPC_BODYLOCATIONS = 0x4000000, - OVERLAY_NPC_VIEWCONE_BIT = 0x8000000, - OVERLAY_NPC_KILL_BIT = 0x10000000, - OVERLAY_WC_CHANGE_ENTITY = 0x20000000, - OVERLAY_BUDDHA_MODE = 0x40000000, - OVERLAY_NPC_STEERING_REGULATIONS = 0x80000000, - OVERLAY_NPC_TASK_TEXT_BIT = 0x100000000, - OVERLAY_PROP_DEBUG = 0x200000000, - OVERLAY_NPC_RELATION_BIT = 0x400000000, - OVERLAY_VIEWOFFSET = 0x800000000, - OVERLAY_VCOLLIDE_WIREFRAME_BIT = 0x1000000000, - OVERLAY_NPC_NEAREST_NODE_BIT = 0x2000000000, - OVERLAY_ACTORNAME_BIT = 0x4000000000, - OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000, -}; - -// Alignment: 1 -// Size: 0xd -enum class MoveType_t : uint8_t -{ - MOVETYPE_NONE = 0x0, - MOVETYPE_OBSOLETE = 0x1, - MOVETYPE_WALK = 0x2, - MOVETYPE_STEP = 0x3, - MOVETYPE_FLY = 0x4, - MOVETYPE_FLYGRAVITY = 0x5, - MOVETYPE_VPHYSICS = 0x6, - MOVETYPE_PUSH = 0x7, - MOVETYPE_NOCLIP = 0x8, - MOVETYPE_OBSERVER = 0x9, - MOVETYPE_CUSTOM = 0xa, - MOVETYPE_LAST = 0xb, - MOVETYPE_MAX_BITS = 0x5, -}; - -// Alignment: 1 -// Size: 0x6 -enum class MoveCollide_t : uint8_t -{ - MOVECOLLIDE_DEFAULT = 0x0, - MOVECOLLIDE_FLY_BOUNCE = 0x1, - MOVECOLLIDE_FLY_CUSTOM = 0x2, - MOVECOLLIDE_FLY_SLIDE = 0x3, - MOVECOLLIDE_COUNT = 0x4, - MOVECOLLIDE_MAX_BITS = 0x3, -}; - -// Alignment: 1 -// Size: 0x9 -enum class SolidType_t : uint8_t -{ - SOLID_NONE = 0x0, - SOLID_BSP = 0x1, - SOLID_BBOX = 0x2, - SOLID_OBB = 0x3, - SOLID_SPHERE = 0x4, - SOLID_POINT = 0x5, - SOLID_VPHYSICS = 0x6, - SOLID_CAPSULE = 0x7, - SOLID_LAST = 0x8, -}; - -// Alignment: 4 -// Size: 0x3 -enum class BrushSolidities_e : uint32_t -{ - BRUSHSOLID_TOGGLE = 0x0, - BRUSHSOLID_NEVER = 0x1, - BRUSHSOLID_ALWAYS = 0x2, -}; - -// Alignment: 1 -// Size: 0xd -enum class RenderMode_t : uint8_t -{ - kRenderNormal = 0x0, - kRenderTransColor = 0x1, - kRenderTransTexture = 0x2, - kRenderGlow = 0x3, - kRenderTransAlpha = 0x4, - kRenderTransAdd = 0x5, - kRenderEnvironmental = 0x6, - kRenderTransAddFrameBlend = 0x7, - kRenderTransAlphaAdd = 0x8, - kRenderWorldGlow = 0x9, - kRenderNone = 0xa, - kRenderDevVisualizer = 0xb, - kRenderModeCount = 0xc, -}; - -// Alignment: 1 -// Size: 0x14 -enum class RenderFx_t : uint8_t -{ - kRenderFxNone = 0x0, - kRenderFxPulseSlow = 0x1, - kRenderFxPulseFast = 0x2, - kRenderFxPulseSlowWide = 0x3, - kRenderFxPulseFastWide = 0x4, - kRenderFxFadeSlow = 0x5, - kRenderFxFadeFast = 0x6, - kRenderFxSolidSlow = 0x7, - kRenderFxSolidFast = 0x8, - kRenderFxStrobeSlow = 0x9, - kRenderFxStrobeFast = 0xa, - kRenderFxStrobeFaster = 0xb, - kRenderFxFlickerSlow = 0xc, - kRenderFxFlickerFast = 0xd, - kRenderFxNoDissipation = 0xe, - kRenderFxFadeOut = 0xf, - kRenderFxFadeIn = 0x10, - kRenderFxPulseFastWider = 0x11, - kRenderFxGlowShell = 0x12, - kRenderFxMax = 0x13, -}; - -// Alignment: 4 -// Size: 0x2 -enum class CRR_Response__ResponseEnum_t : uint32_t -{ - MAX_RESPONSE_NAME = 0xc0, - MAX_RULE_NAME = 0x80, -}; - -// Alignment: 4 -// Size: 0x3 -enum class LessonPanelLayoutFileTypes_t : uint32_t -{ - LAYOUT_HAND_DEFAULT = 0x0, - LAYOUT_WORLD_DEFAULT = 0x1, - LAYOUT_CUSTOM = 0x2, -}; - -// Alignment: 4 -// Size: 0x5 -enum class Touch_t : uint32_t -{ - touch_none = 0x0, - touch_player_only = 0x1, - touch_npc_only = 0x2, - touch_player_or_npc = 0x3, - touch_player_or_npc_or_physicsprop = 0x4, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ScriptedMoveType_t : uint32_t -{ - SCRIPTED_MOVETYPE_NONE = 0x0, - SCRIPTED_MOVETYPE_TO_WITH_DURATION = 0x1, - SCRIPTED_MOVETYPE_TO_WITH_MOVESPEED = 0x2, - SCRIPTED_MOVETYPE_SWEEP_TO_AT_MOVEMENT_SPEED = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ForcedCrouchState_t : uint32_t -{ - FORCEDCROUCH_NONE = 0x0, - FORCEDCROUCH_CROUCHED = 0x1, - FORCEDCROUCH_UNCROUCHED = 0x2, -}; - -// Alignment: 4 -// Size: 0xb -enum class Hull_t : uint32_t -{ - HULL_HUMAN = 0x0, - HULL_SMALL_CENTERED = 0x1, - HULL_WIDE_HUMAN = 0x2, - HULL_TINY = 0x3, - HULL_MEDIUM = 0x4, - HULL_TINY_CENTERED = 0x5, - HULL_LARGE = 0x6, - HULL_LARGE_CENTERED = 0x7, - HULL_MEDIUM_TALL = 0x8, - NUM_HULLS = 0x9, - HULL_NONE = 0xa, -}; - -// Alignment: 4 -// Size: 0x1 -enum class navproperties_t : uint32_t -{ - NAV_IGNORE = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t -{ - LOGIC_BRANCH_LISTENER_NOT_INIT = 0x0, - LOGIC_BRANCH_LISTENER_ALL_TRUE = 0x1, - LOGIC_BRANCH_LISTENER_ALL_FALSE = 0x2, - LOGIC_BRANCH_LISTENER_MIXED = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EntFinderMethod_t : uint32_t -{ - ENT_FIND_METHOD_NEAREST = 0x0, - ENT_FIND_METHOD_FARTHEST = 0x1, - ENT_FIND_METHOD_RANDOM = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ValueRemapperInputType_t : uint32_t -{ - InputType_PlayerShootPosition = 0x0, - InputType_PlayerShootPositionAroundAxis = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ValueRemapperOutputType_t : uint32_t -{ - OutputType_AnimationCycle = 0x0, - OutputType_RotationX = 0x1, - OutputType_RotationY = 0x2, - OutputType_RotationZ = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ValueRemapperHapticsType_t : uint32_t -{ - HaticsType_Default = 0x0, - HaticsType_None = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ValueRemapperMomentumType_t : uint32_t -{ - MomentumType_None = 0x0, - MomentumType_Friction = 0x1, - MomentumType_SpringTowardSnapValue = 0x2, - MomentumType_SpringAwayFromSnapValue = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ValueRemapperRatchetType_t : uint32_t -{ - RatchetType_Absolute = 0x0, - RatchetType_EachEngage = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class PointWorldTextJustifyHorizontal_t : uint32_t -{ - POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, - POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1, - POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class PointWorldTextJustifyVertical_t : uint32_t -{ - POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, - POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1, - POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class PointWorldTextReorientMode_t : uint32_t -{ - POINT_WORLD_TEXT_REORIENT_NONE = 0x0, - POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class SceneOnPlayerDeath_t : uint32_t -{ - SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, - SCENE_ONPLAYERDEATH_CANCEL = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ScriptedConflictResponse_t : uint32_t -{ - SS_CONFLICT_ENQUEUE = 0x0, - SS_CONFLICT_INTERRUPT = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class TRAIN_CODE : uint32_t -{ - TRAIN_SAFE = 0x0, - TRAIN_BLOCKING = 0x1, - TRAIN_FOLLOWING = 0x2, -}; - -// Alignment: 4 -// Size: 0x13 -enum class EDemoCommands : uint32_t -{ - DEM_Error = 0xffffffffffffffff, - DEM_Stop = 0x0, - DEM_FileHeader = 0x1, - DEM_FileInfo = 0x2, - DEM_SyncTick = 0x3, - DEM_SendTables = 0x4, - DEM_ClassInfo = 0x5, - DEM_StringTables = 0x6, - DEM_Packet = 0x7, - DEM_SignonPacket = 0x8, - DEM_ConsoleCmd = 0x9, - DEM_CustomData = 0xa, - DEM_CustomDataCallbacks = 0xb, - DEM_UserCmd = 0xc, - DEM_FullPacket = 0xd, - DEM_SaveGame = 0xe, - DEM_SpawnGroups = 0xf, - DEM_Max = 0x10, - DEM_IsCompressed = 0x40, -}; - -// Alignment: 4 -// Size: 0x8 -enum class TOGGLE_STATE : uint32_t -{ - TS_AT_TOP = 0x0, - TS_AT_BOTTOM = 0x1, - TS_GOING_UP = 0x2, - TS_GOING_DOWN = 0x3, - DOOR_OPEN = 0x0, - DOOR_CLOSED = 0x1, - DOOR_OPENING = 0x2, - DOOR_CLOSING = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class filter_t : uint32_t -{ - FILTER_AND = 0x0, - FILTER_OR = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class Explosions : uint32_t -{ - expRandom = 0x0, - expDirected = 0x1, - expUsePrecise = 0x2, -}; - -// Alignment: 4 -// Size: 0xc -enum class Materials : uint32_t -{ - matGlass = 0x0, - matWood = 0x1, - matMetal = 0x2, - matFlesh = 0x3, - matCinderBlock = 0x4, - matCeilingTile = 0x5, - matComputer = 0x6, - matUnbreakableGlass = 0x7, - matRocks = 0x8, - matWeb = 0x9, - matNone = 0xa, - matLastMaterial = 0xb, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EOverrideBlockLOS_t : uint32_t -{ - BLOCK_LOS_DEFAULT = 0x0, - BLOCK_LOS_FORCE_FALSE = 0x1, - BLOCK_LOS_FORCE_TRUE = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class MoveLinearAuthoredPos_t : uint32_t -{ - MOVELINEAR_AUTHORED_AT_START_POSITION = 0x0, - MOVELINEAR_AUTHORED_AT_OPEN_POSITION = 0x1, - MOVELINEAR_AUTHORED_AT_CLOSED_POSITION = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t -{ - kMIN_THRESHOLD = 0x0, - kMIN_FULL = 0x1, - kHIGHWATER = 0x2, -}; - -// Alignment: 4 -// Size: 0x17 -enum class SoundFlags_t : uint32_t -{ - SOUND_NONE = 0x0, - SOUND_COMBAT = 0x1, - SOUND_WORLD = 0x2, - SOUND_PLAYER = 0x4, - SOUND_DANGER = 0x8, - SOUND_BULLET_IMPACT = 0x10, - SOUND_THUMPER = 0x20, - SOUND_PHYSICS_DANGER = 0x40, - SOUND_MOVE_AWAY = 0x80, - SOUND_PLAYER_VEHICLE = 0x100, - SOUND_GLASS_BREAK = 0x200, - SOUND_PHYSICS_OBJECT = 0x400, - SOUND_CONTEXT_GUNFIRE = 0x100000, - SOUND_CONTEXT_COMBINE_ONLY = 0x200000, - SOUND_CONTEXT_REACT_TO_SOURCE = 0x400000, - SOUND_CONTEXT_EXPLOSION = 0x800000, - SOUND_CONTEXT_EXCLUDE_COMBINE = 0x1000000, - SOUND_CONTEXT_DANGER_APPROACH = 0x2000000, - SOUND_CONTEXT_ALLIES_ONLY = 0x4000000, - SOUND_CONTEXT_PANIC_NPCS = 0x8000000, - ALL_CONTEXTS = 0xfffffffffff00000, - ALL_SCENTS = 0x0, - ALL_SOUNDS = 0xfffff, -}; - -// Alignment: 4 -// Size: 0x3 -enum class TrainVelocityType_t : uint32_t -{ - TrainVelocity_Instantaneous = 0x0, - TrainVelocity_LinearBlend = 0x1, - TrainVelocity_EaseInEaseOut = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class TrainOrientationType_t : uint32_t -{ - TrainOrientation_Fixed = 0x0, - TrainOrientation_AtPathTracks = 0x1, - TrainOrientation_LinearBlend = 0x2, - TrainOrientation_EaseInEaseOut = 0x3, -}; - -// Alignment: 4 -// Size: 0x7 -enum class BeamType_t : uint32_t -{ - BEAM_INVALID = 0x0, - BEAM_POINTS = 0x1, - BEAM_ENTPOINT = 0x2, - BEAM_ENTS = 0x3, - BEAM_HOSE = 0x4, - BEAM_SPLINE = 0x5, - BEAM_LASER = 0x6, -}; - -// Alignment: 4 -// Size: 0x4 -enum class BeamClipStyle_t : uint32_t -{ - kNOCLIP = 0x0, - kGEOCLIP = 0x1, - kMODELCLIP = 0x2, - kBEAMCLIPSTYLE_NUMBITS = 0x2, -}; - -// Alignment: 1 -// Size: 0x9 -enum class SurroundingBoundsType_t : uint8_t -{ - USE_OBB_COLLISION_BOUNDS = 0x0, - USE_BEST_COLLISION_BOUNDS = 0x1, - USE_HITBOXES = 0x2, - USE_SPECIFIED_BOUNDS = 0x3, - USE_GAME_CODE = 0x4, - USE_ROTATION_EXPANDED_BOUNDS = 0x5, - USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x6, - USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x7, - SURROUNDING_TYPE_BIT_COUNT = 0x3, -}; - -// Alignment: 4 -// Size: 0x5 -enum class AnimLoopMode_t : uint32_t -{ - ANIM_LOOP_MODE_INVALID = 0xffffffffffffffff, - ANIM_LOOP_MODE_NOT_LOOPING = 0x0, - ANIM_LOOP_MODE_LOOPING = 0x1, - ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS = 0x2, - ANIM_LOOP_MODE_COUNT = 0x3, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EntitySubclassScope_t : uint32_t -{ - SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, - SUBCLASS_SCOPE_PLAYER = 0x0, - SUBCLASS_SCOPE_VEHICLES = 0x1, - SUBCLASS_SCOPE_COUNT = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class SubclassVDataChangeType_t : uint32_t -{ - SUBCLASS_VDATA_CREATED = 0x0, - SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1, - SUBCLASS_VDATA_RELOADED = 0x2, -}; - -// Alignment: 4 -// Size: 0x7 -enum class PlayerConnectedState : uint32_t -{ - PlayerNeverConnected = 0xffffffffffffffff, - PlayerConnected = 0x0, - PlayerConnecting = 0x1, - PlayerReconnecting = 0x2, - PlayerDisconnecting = 0x3, - PlayerDisconnected = 0x4, - PlayerReserved = 0x5, -}; - -// Alignment: 4 -// Size: 0x10 -enum class vote_create_failed_t : uint32_t -{ - VOTE_FAILED_GENERIC = 0x0, - VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1, - VOTE_FAILED_RATE_EXCEEDED = 0x2, - VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3, - VOTE_FAILED_QUORUM_FAILURE = 0x4, - VOTE_FAILED_ISSUE_DISABLED = 0x5, - VOTE_FAILED_MAP_NOT_FOUND = 0x6, - VOTE_FAILED_MAP_NAME_REQUIRED = 0x7, - VOTE_FAILED_FAILED_RECENTLY = 0x8, - VOTE_FAILED_TEAM_CANT_CALL = 0x9, - VOTE_FAILED_WAITINGFORPLAYERS = 0xa, - VOTE_FAILED_PLAYERNOTFOUND = 0xb, - VOTE_FAILED_CANNOT_KICK_ADMIN = 0xc, - VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xd, - VOTE_FAILED_SPECTATOR = 0xe, - VOTE_FAILED_MAX = 0xf, -}; - -// Alignment: 4 -// Size: 0x3 -enum class WeaponState_t : uint32_t -{ - WEAPON_NOT_CARRIED = 0x0, - WEAPON_IS_CARRIED_BY_PLAYER = 0x1, - WEAPON_IS_ACTIVE = 0x2, -}; - -// Alignment: 1 -// Size: 0x9 -enum class ItemFlagTypes_t : uint8_t -{ - ITEM_FLAG_NONE = 0x0, - ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, - ITEM_FLAG_NOAUTORELOAD = 0x2, - ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4, - ITEM_FLAG_LIMITINWORLD = 0x8, - ITEM_FLAG_EXHAUSTIBLE = 0x10, - ITEM_FLAG_DOHITLOCATIONDMG = 0x20, - ITEM_FLAG_NOAMMOPICKUPS = 0x40, - ITEM_FLAG_NOITEMPICKUP = 0x80, -}; - -// Alignment: 4 -// Size: 0x5 -enum class EntityDisolveType_t : uint32_t -{ - ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, - ENTITY_DISSOLVE_NORMAL = 0x0, - ENTITY_DISSOLVE_ELECTRICAL = 0x1, - ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2, - ENTITY_DISSOLVE_CORE = 0x3, -}; - -// Alignment: 4 -// Size: 0xe -enum class HitGroup_t : uint32_t -{ - HITGROUP_INVALID = 0xffffffffffffffff, - HITGROUP_GENERIC = 0x0, - HITGROUP_HEAD = 0x1, - HITGROUP_CHEST = 0x2, - HITGROUP_STOMACH = 0x3, - HITGROUP_LEFTARM = 0x4, - HITGROUP_RIGHTARM = 0x5, - HITGROUP_LEFTLEG = 0x6, - HITGROUP_RIGHTLEG = 0x7, - HITGROUP_NECK = 0x8, - HITGROUP_UNUSED = 0x9, - HITGROUP_GEAR = 0xa, - HITGROUP_SPECIAL = 0xb, - HITGROUP_COUNT = 0xc, -}; - -// Alignment: 1 -// Size: 0x6 -enum class WaterLevel_t : uint8_t -{ - WL_NotInWater = 0x0, - WL_Feet = 0x1, - WL_Waist = 0x2, - WL_Chest = 0x3, - WL_FullyUnderwater = 0x4, - WL_Count = 0x5, -}; - -// Alignment: 4 -// Size: 0x5 -enum class DoorState_t : uint32_t -{ - DOOR_STATE_CLOSED = 0x0, - DOOR_STATE_OPENING = 0x1, - DOOR_STATE_OPEN = 0x2, - DOOR_STATE_CLOSING = 0x3, - DOOR_STATE_AJAR = 0x4, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ShadowType_t : uint32_t -{ - SHADOWS_NONE = 0x0, - SHADOWS_SIMPLE = 0x1, -}; - -// Alignment: 4 -// Size: 0x4 -enum class Class_T : uint32_t -{ - CLASS_NONE = 0x0, - CLASS_PLAYER = 0x1, - CLASS_PLAYER_ALLY = 0x2, - NUM_CLASSIFY_CLASSES = 0x3, -}; - -// Alignment: 4 -// Size: 0xa -enum class Disposition_t : uint32_t -{ - D_ER = 0x0, - D_HT = 0x1, - D_FR = 0x2, - D_LI = 0x3, - D_NU = 0x4, - D_ERROR = 0x0, - D_HATE = 0x1, - D_FEAR = 0x2, - D_LIKE = 0x3, - D_NEUTRAL = 0x4, -}; - -// Alignment: 4 -// Size: 0x6 -enum class LatchDirtyPermission_t : uint32_t -{ - LATCH_DIRTY_DISALLOW = 0x0, - LATCH_DIRTY_SERVER_CONTROLLED = 0x1, - LATCH_DIRTY_CLIENT_SIMULATED = 0x2, - LATCH_DIRTY_PREDICTION = 0x3, - LATCH_DIRTY_FRAMESIMULATE = 0x4, - LATCH_DIRTY_PARTICLE_SIMULATE = 0x5, -}; - -// Alignment: 4 -// Size: 0x5 -enum class LifeState_t : uint32_t -{ - LIFE_ALIVE = 0x0, - LIFE_DYING = 0x1, - LIFE_DEAD = 0x2, - LIFE_RESPAWNABLE = 0x3, - LIFE_RESPAWNING = 0x4, -}; - -// Alignment: 4 -// Size: 0x4 -enum class StanceType_t : uint32_t -{ - STANCE_CURRENT = 0xffffffffffffffff, - STANCE_DEFAULT = 0x0, - STANCE_CROUCHING = 0x1, - NUM_STANCES = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ModifyDamageReturn_t : uint32_t -{ - CONTINUE_TO_APPLY_DAMAGE = 0x0, - ABORT_DO_NOT_APPLY_DAMAGE = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class WorldTextPanelHorizontalAlign_t : uint32_t -{ - WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, - WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1, - WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class WorldTextPanelVerticalAlign_t : uint32_t -{ - WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, - WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1, - WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class WorldTextPanelOrientation_t : uint32_t -{ - WORLDTEXT_ORIENTATION_DEFAULT = 0x0, - WORLDTEXT_ORIENTATION_FACEUSER = 0x1, - WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class WorldTextAttachmentType_t : uint32_t -{ - ATTACHED_NONE = 0x0, - ATTACHED_ENTITY = 0x1, - ATTACHED_ENTITY_LARGE = 0x2, - ATTACHED_HAND_SPECIFIED_IN_EVENT = 0x3, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ESourceEngine : uint32_t -{ - k_ESE_Source1 = 0x0, - k_ESE_Source2 = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class PartnerAccountType : uint32_t -{ - PARTNER_NONE = 0x0, - PARTNER_PERFECT_WORLD = 0x1, - PARTNER_INVALID = 0x3, -}; - -// Alignment: 4 -// Size: 0x7 -enum class GCConnectionStatus : uint32_t -{ - GCConnectionStatus_HAVE_SESSION = 0x0, - GCConnectionStatus_GC_GOING_DOWN = 0x1, - GCConnectionStatus_NO_SESSION = 0x2, - GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 0x3, - GCConnectionStatus_NO_STEAM = 0x4, - GCConnectionStatus_SUSPENDED = 0x5, - GCConnectionStatus_STEAM_GOING_DOWN = 0x6, -}; - -// Alignment: 4 -// Size: 0x8 -enum class ESOMsg : uint32_t -{ - k_ESOMsg_Create = 0x15, - k_ESOMsg_Update = 0x16, - k_ESOMsg_Destroy = 0x17, - k_ESOMsg_CacheSubscribed = 0x18, - k_ESOMsg_CacheUnsubscribed = 0x19, - k_ESOMsg_UpdateMultiple = 0x1a, - k_ESOMsg_CacheSubscriptionRefresh = 0x1c, - k_ESOMsg_CacheSubscribedUpToDate = 0x1d, -}; - -// Alignment: 4 -// Size: 0xd -enum class EGCBaseClientMsg : uint32_t -{ - k_EMsgGCPingRequest = 0xbb9, - k_EMsgGCPingResponse = 0xbba, - k_EMsgGCToClientPollConvarRequest = 0xbbb, - k_EMsgGCToClientPollConvarResponse = 0xbbc, - k_EMsgGCCompressedMsgToClient = 0xbbd, - k_EMsgGCCompressedMsgToClient_Legacy = 0x20b, - k_EMsgGCToClientRequestDropped = 0xbbe, - k_EMsgGCClientWelcome = 0xfa4, - k_EMsgGCServerWelcome = 0xfa5, - k_EMsgGCClientHello = 0xfa6, - k_EMsgGCServerHello = 0xfa7, - k_EMsgGCClientConnectionStatus = 0xfa9, - k_EMsgGCServerConnectionStatus = 0xfaa, -}; - -// Alignment: 4 -// Size: 0x18 -enum class EGCBaseMsg : uint32_t -{ - k_EMsgGCReplicateConVars = 0xfa2, - k_EMsgGCConVarUpdated = 0xfa3, - k_EMsgGCInviteToParty = 0x1195, - k_EMsgGCInvitationCreated = 0x1196, - k_EMsgGCPartyInviteResponse = 0x1197, - k_EMsgGCKickFromParty = 0x1198, - k_EMsgGCLeaveParty = 0x1199, - k_EMsgGCServerAvailable = 0x119a, - k_EMsgGCClientConnectToServer = 0x119b, - k_EMsgGCGameServerInfo = 0x119c, - k_EMsgGCLANServerAvailable = 0x119f, - k_EMsgGCInviteToLobby = 0x11a0, - k_EMsgGCLobbyInviteResponse = 0x11a1, - k_EMsgGCToClientPollFileRequest = 0x11a2, - k_EMsgGCToClientPollFileResponse = 0x11a3, - k_EMsgGCToGCPerformManualOp = 0x11a4, - k_EMsgGCToGCPerformManualOpCompleted = 0x11a5, - k_EMsgGCToGCReloadServerRegionSettings = 0x11a6, - k_EMsgGCAdditionalWelcomeMsgList = 0x11a7, - k_EMsgGCToClientApplyRemoteConVars = 0x11a8, - k_EMsgGCToServerApplyRemoteConVars = 0x11a9, - k_EMsgClientToGCIntegrityStatus = 0x11aa, - k_EMsgClientToGCAggregateMetrics = 0x11ab, - k_EMsgGCToClientAggregateMetricsBackoff = 0x11ac, -}; - -// Alignment: 4 -// Size: 0xa -enum class ECustomGameInstallStatus : uint32_t -{ - k_ECustomGameInstallStatus_Unknown = 0x0, - k_ECustomGameInstallStatus_Ready = 0x1, - k_ECustomGameInstallStatus_Busy = 0x2, - k_ECustomGameInstallStatus_FailedGeneric = 0x65, - k_ECustomGameInstallStatus_FailedInternalError = 0x66, - k_ECustomGameInstallStatus_RequestedTimestampTooOld = 0x67, - k_ECustomGameInstallStatus_RequestedTimestampTooNew = 0x68, - k_ECustomGameInstallStatus_CRCMismatch = 0x69, - k_ECustomGameInstallStatus_FailedSteam = 0x6a, - k_ECustomGameInstallStatus_FailedCanceled = 0x6b, -}; - -// Alignment: 4 -// Size: 0x1 -enum class EGCEconBaseMsg : uint32_t -{ - k_EMsgGCGenericResult = 0xa13, -}; - -// Alignment: 4 -// Size: 0x9 -enum class EGCMsgResponse : uint32_t -{ - k_EGCMsgResponseOK = 0x0, - k_EGCMsgResponseDenied = 0x1, - k_EGCMsgResponseServerError = 0x2, - k_EGCMsgResponseTimeout = 0x3, - k_EGCMsgResponseInvalid = 0x4, - k_EGCMsgResponseNoMatch = 0x5, - k_EGCMsgResponseUnknownError = 0x6, - k_EGCMsgResponseNotLoggedOn = 0x7, - k_EGCMsgFailedToCreate = 0x8, -}; - -// Alignment: 4 -// Size: 0xe -enum class EGCMsgUseItemResponse : uint32_t -{ - k_EGCMsgUseItemResponse_ItemUsed = 0x0, - k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 0x1, - k_EGCMsgUseItemResponse_ServerError = 0x2, - k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 0x3, - k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 0x4, - k_EGCMsgUseItemResponse_DropRateBonusAlreadyGranted = 0x5, - k_EGCMsgUseItemResponse_NotInLowPriorityPool = 0x6, - k_EGCMsgUseItemResponse_NotHighEnoughLevel = 0x7, - k_EGCMsgUseItemResponse_EventNotActive = 0x8, - k_EGCMsgUseItemResponse_ItemUsed_EventPointsGranted = 0x9, - k_EGCMsgUseItemResponse_MissingRequirement = 0xa, - k_EGCMsgUseItemResponse_EmoticonUnlock_NoNew = 0xb, - k_EGCMsgUseItemResponse_EmoticonUnlock_Complete = 0xc, - k_EGCMsgUseItemResponse_ItemUsed_Compendium = 0xd, -}; - -// Alignment: 4 -// Size: 0x7a -enum class EGCItemMsg : uint32_t -{ - k_EMsgGCBase = 0x3e8, - k_EMsgGCSetItemPosition = 0x3e9, - k_EMsgGCDelete = 0x3ec, - k_EMsgGCVerifyCacheSubscription = 0x3ed, - k_EMsgClientToGCNameItem = 0x3ee, - k_EMsgGCPaintItem = 0x3f1, - k_EMsgGCPaintItemResponse = 0x3f2, - k_EMsgGCNameBaseItem = 0x3fb, - k_EMsgGCNameBaseItemResponse = 0x3fc, - k_EMsgGCUseItemRequest = 0x401, - k_EMsgGCUseItemResponse = 0x402, - k_EMsgGCGiftedItems = 0x403, - k_EMsgGCUnwrapGiftRequest = 0x40d, - k_EMsgGCUnwrapGiftResponse = 0x40e, - k_EMsgGCSortItems = 0x411, - k_EMsgGCBackpackSortFinished = 0x422, - k_EMsgGCAdjustItemEquippedState = 0x423, - k_EMsgGCItemAcknowledged = 0x426, - k_EMsgClientToGCNameItemResponse = 0x42c, - k_EMsgGCApplyStrangePart = 0x431, - k_EMsgGCApplyPennantUpgrade = 0x434, - k_EMsgGCSetItemPositions = 0x435, - k_EMsgGCApplyEggEssence = 0x436, - k_EMsgGCNameEggEssenceResponse = 0x437, - k_EMsgGCExtractGems = 0x43e, - k_EMsgGCAddSocket = 0x43f, - k_EMsgGCAddItemToSocket = 0x440, - k_EMsgGCAddItemToSocketResponse = 0x441, - k_EMsgGCAddSocketResponse = 0x442, - k_EMsgGCResetStrangeGemCount = 0x443, - k_EMsgGCRequestCrateItems = 0x444, - k_EMsgGCRequestCrateItemsResponse = 0x445, - k_EMsgGCExtractGemsResponse = 0x446, - k_EMsgGCResetStrangeGemCountResponse = 0x447, - k_EMsgGCServerUseItemRequest = 0x44f, - k_EMsgGCAddGiftItem = 0x450, - k_EMsgClientToGCRemoveItemGifterAttributes = 0x455, - k_EMsgClientToGCRemoveItemName = 0x456, - k_EMsgClientToGCRemoveItemDescription = 0x457, - k_EMsgClientToGCRemoveItemAttributeResponse = 0x458, - k_EMsgGCDev_NewItemRequest = 0x7d1, - k_EMsgGCDev_NewItemRequestResponse = 0x7d2, - k_EMsgGCDev_UnlockAllItemStylesRequest = 0x7d3, - k_EMsgGCDev_UnlockAllItemStylesResponse = 0x7d4, - k_EMsgGCStorePurchaseFinalize = 0x9c8, - k_EMsgGCStorePurchaseFinalizeResponse = 0x9c9, - k_EMsgGCStorePurchaseCancel = 0x9ca, - k_EMsgGCStorePurchaseCancelResponse = 0x9cb, - k_EMsgGCStorePurchaseInit = 0x9ce, - k_EMsgGCStorePurchaseInitResponse = 0x9cf, - k_EMsgGCToGCBannedWordListUpdated = 0x9d3, - k_EMsgGCToGCDirtySDOCache = 0x9d4, - k_EMsgGCToGCUpdateSQLKeyValue = 0x9d6, - k_EMsgGCToGCBroadcastConsoleCommand = 0x9d9, - k_EMsgGCServerVersionUpdated = 0x9da, - k_EMsgGCApplyAutograph = 0x9db, - k_EMsgGCToGCWebAPIAccountChanged = 0x9dc, - k_EMsgGCClientVersionUpdated = 0x9e0, - k_EMsgGCToGCUpdateWelcomeMsg = 0x9e1, - k_EMsgGCToGCPlayerStrangeCountAdjustments = 0x9e7, - k_EMsgGCRequestStoreSalesData = 0x9e8, - k_EMsgGCRequestStoreSalesDataResponse = 0x9e9, - k_EMsgGCRequestStoreSalesDataUpToDateResponse = 0x9ea, - k_EMsgGCToGCPingRequest = 0x9eb, - k_EMsgGCToGCPingResponse = 0x9ec, - k_EMsgGCToGCGetUserSessionServer = 0x9ed, - k_EMsgGCToGCGetUserSessionServerResponse = 0x9ee, - k_EMsgGCToGCGetUserServerMembers = 0x9ef, - k_EMsgGCToGCGetUserServerMembersResponse = 0x9f0, - k_EMsgGCToGCCanUseDropRateBonus = 0x9f3, - k_EMsgSQLAddDropRateBonus = 0x9f4, - k_EMsgGCToGCRefreshSOCache = 0x9f5, - k_EMsgGCToGCGrantAccountRolledItems = 0x9fa, - k_EMsgGCToGCGrantSelfMadeItemToAccount = 0x9fb, - k_EMsgGCStatueCraft = 0xa01, - k_EMsgGCRedeemCode = 0xa02, - k_EMsgGCRedeemCodeResponse = 0xa03, - k_EMsgGCToGCItemConsumptionRollback = 0xa04, - k_EMsgClientToGCWrapAndDeliverGift = 0xa05, - k_EMsgClientToGCWrapAndDeliverGiftResponse = 0xa06, - k_EMsgClientToGCUnpackBundleResponse = 0xa07, - k_EMsgGCToClientStoreTransactionCompleted = 0xa08, - k_EMsgClientToGCEquipItems = 0xa09, - k_EMsgClientToGCEquipItemsResponse = 0xa0a, - k_EMsgClientToGCUnlockItemStyle = 0xa0b, - k_EMsgClientToGCUnlockItemStyleResponse = 0xa0c, - k_EMsgClientToGCSetItemInventoryCategory = 0xa0d, - k_EMsgClientToGCUnlockCrate = 0xa0e, - k_EMsgClientToGCUnlockCrateResponse = 0xa0f, - k_EMsgClientToGCUnpackBundle = 0xa10, - k_EMsgClientToGCSetItemStyle = 0xa11, - k_EMsgClientToGCSetItemStyleResponse = 0xa12, - k_EMsgSQLGCToGCGrantBackpackSlots = 0xa14, - k_EMsgClientToGCLookupAccountName = 0xa15, - k_EMsgClientToGCLookupAccountNameResponse = 0xa16, - k_EMsgClientToGCCreateStaticRecipe = 0xa18, - k_EMsgClientToGCCreateStaticRecipeResponse = 0xa19, - k_EMsgGCToGCStoreProcessCDKeyTransaction = 0xa1a, - k_EMsgGCToGCStoreProcessCDKeyTransactionResponse = 0xa1b, - k_EMsgGCToGCStoreProcessSettlement = 0xa1c, - k_EMsgGCToGCStoreProcessSettlementResponse = 0xa1d, - k_EMsgGCToGCConsoleOutput = 0xa1e, - k_EMsgGCToClientItemAges = 0xa1f, - k_EMsgGCToGCInternalTestMsg = 0xa20, - k_EMsgGCToGCClientServerVersionsUpdated = 0xa21, - k_EMsgGCUseMultipleItemsRequest = 0xa22, - k_EMsgGCGetAccountSubscriptionItem = 0xa23, - k_EMsgGCGetAccountSubscriptionItemResponse = 0xa24, - k_EMsgGCToGCBroadcastMessageFromSub = 0xa26, - k_EMsgGCToClientCurrencyPricePoints = 0xa27, - k_EMsgGCToGCAddSubscriptionTime = 0xa28, - k_EMsgGCToGCFlushSteamInventoryCache = 0xa29, - k_EMsgGCRequestCrateEscalationLevel = 0xa2a, - k_EMsgGCRequestCrateEscalationLevelResponse = 0xa2b, - k_EMsgGCToGCUpdateSubscriptionItems = 0xa2c, - k_EMsgGCToGCSelfPing = 0xa2d, - k_EMsgGCToGCGetInfuxIntervalStats = 0xa2e, - k_EMsgGCToGCGetInfuxIntervalStatsResponse = 0xa2f, - k_EMsgGCToGCPurchaseSucceeded = 0xa30, - k_EMsgClientToGCGetLimitedItemPurchaseQuantity = 0xa31, - k_EMsgClientToGCGetLimitedItemPurchaseQuantityResponse = 0xa32, - k_EMsgGCToGCBetaDeleteItems = 0xa33, -}; - -// Alignment: 4 -// Size: 0x19 -enum class EGCMsgInitiateTradeResponse : uint32_t -{ - k_EGCMsgInitiateTradeResponse_Accepted = 0x0, - k_EGCMsgInitiateTradeResponse_Declined = 0x1, - k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator = 0x2, - k_EGCMsgInitiateTradeResponse_VAC_Banned_Target = 0x3, - k_EGCMsgInitiateTradeResponse_Target_Already_Trading = 0x4, - k_EGCMsgInitiateTradeResponse_Disabled = 0x5, - k_EGCMsgInitiateTradeResponse_NotLoggedIn = 0x6, - k_EGCMsgInitiateTradeResponse_Cancel = 0x7, - k_EGCMsgInitiateTradeResponse_TooSoon = 0x8, - k_EGCMsgInitiateTradeResponse_TooSoonPenalty = 0x9, - k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator = 0xa, - k_EGCMsgInitiateTradeResponse_Trade_Banned_Target = 0xb, - k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED = 0xc, - k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator = 0xd, - k_EGCMsgInitiateTradeResponse_Service_Unavailable = 0xe, - k_EGCMsgInitiateTradeResponse_Target_Blocked = 0xf, - k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail = 0x10, - k_EGCMsgInitiateTradeResponse_NeedSteamGuard = 0x11, - k_EGCMsgInitiateTradeResponse_SteamGuardDuration = 0x12, - k_EGCMsgInitiateTradeResponse_TheyCannotTrade = 0x13, - k_EGCMsgInitiateTradeResponse_Recent_Password_Reset = 0x14, - k_EGCMsgInitiateTradeResponse_Using_New_Device = 0x15, - k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie = 0x16, - k_EGCMsgInitiateTradeResponse_TooRecentFriend = 0x17, - k_EGCMsgInitiateTradeResponse_WalledFundsNotTrusted = 0x18, -}; - -// Alignment: 4 -// Size: 0x2 -enum class attributeprovidertypes_t : uint32_t -{ - PROVIDER_GENERIC = 0x0, - PROVIDER_WEAPON = 0x1, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EconEntityParticleDisableMode_t : uint32_t -{ - ECON_ENTITY_PARTICLES_ENABLED = 0x0, - ECON_ENTITY_PARTICLES_DISABLED = 0x1, - ECON_ENTITY_PARTICLES_DISABLED_BUT_PLAY_ENDCAPS_TO_STOP = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class PetLevelup_Rule_t : uint32_t -{ - PETLEVELFROM_NOTHING = 0x0, - PETLEVELFROM_KILLEATER = 0x1, - PETLEVELFROM_COMPENDIUM_LEVEL = 0x2, - NUM_PETLEVELUPRULES = 0x3, -}; - -// Alignment: 4 -// Size: 0x2f -enum class eEconItemOrigin : uint32_t -{ - kEconItemOrigin_Invalid = 0xffffffffffffffff, - kEconItemOrigin_Drop = 0x0, - kEconItemOrigin_Achievement = 0x1, - kEconItemOrigin_Purchased = 0x2, - kEconItemOrigin_Traded = 0x3, - kEconItemOrigin_Crafted = 0x4, - kEconItemOrigin_StorePromotion = 0x5, - kEconItemOrigin_Gifted = 0x6, - kEconItemOrigin_SupportGranted = 0x7, - kEconItemOrigin_FoundInCrate = 0x8, - kEconItemOrigin_Earned = 0x9, - kEconItemOrigin_ThirdPartyPromotion = 0xa, - kEconItemOrigin_GiftWrapped = 0xb, - kEconItemOrigin_HalloweenDrop = 0xc, - kEconItemOrigin_PackageItem = 0xd, - kEconItemOrigin_Foreign = 0xe, - kEconItemOrigin_CDKey = 0xf, - kEconItemOrigin_CollectionReward = 0x10, - kEconItemOrigin_PreviewItem = 0x11, - kEconItemOrigin_SteamWorkshopContribution = 0x12, - kEconItemOrigin_PeriodicScoreReward = 0x13, - kEconItemOrigin_Recycling = 0x14, - kEconItemOrigin_TournamentDrop = 0x15, - kEconItemOrigin_PassportReward = 0x16, - kEconItemOrigin_TutorialDrop = 0x17, - kEconItemOrigin_RecipeOutput = 0x18, - kEconItemOrigin_GemExtract = 0x19, - kEconItemOrigin_EventPointReward = 0x1a, - kEconItemOrigin_ItemRedemption = 0x1b, - kEconItemOrigin_FantasyTicketRefund = 0x1c, - kEconItemOrigin_VictoryPredictionReward = 0x1d, - kEconItemOrigin_AssassinEventReward = 0x1e, - kEconItemOrigin_CompendiumReward = 0x1f, - kEconItemOrigin_CompendiumDrop = 0x20, - kEconItemOrigin_MysteryItem = 0x21, - kEconItemOrigin_UnpackedFromBundle = 0x22, - kEconItemOrigin_WonFromWeeklyGame = 0x23, - kEconItemOrigin_SeasonalItemGrant = 0x24, - kEconItemOrigin_PackOpening = 0x25, - kEconItemOrigin_InitialGrant = 0x26, - kEconItemOrigin_MarketPurchase = 0x27, - kEconItemOrigin_MarketRefunded = 0x28, - kEconItemOrigin_LimitedDraft = 0x29, - kEconItemOrigin_GauntletReward = 0x2a, - kEconItemOrigin_CompendiumGift = 0x2b, - kEconItemOrigin_CandyShopPurchase = 0x2c, - kEconItemOrigin_Max = 0x2d, -}; - -// Alignment: 4 -// Size: 0x5 -enum class CHeadLookParams__HeadLookPriority_t : uint32_t -{ - BORING = 0x0, - INTERESTING = 0x1, - IMPORTANT = 0x2, - CRITICAL = 0x3, - MANDATORY = 0x4, -}; - -// Alignment: 4 -// Size: 0x5 -enum class IBody__ActivityType : uint32_t -{ - MOTION_CONTROLLED_XY = 0x1, - MOTION_CONTROLLED_Z = 0x2, - ACTIVITY_UNINTERRUPTIBLE = 0x4, - ACTIVITY_TRANSITORY = 0x8, - ENTINDEX_PLAYBACK_RATE = 0x10, -}; - -// Alignment: 4 -// Size: 0x5 -enum class IBody__PostureType : uint32_t -{ - STAND = 0x0, - CROUCH = 0x1, - SIT = 0x2, - CRAWL = 0x3, - LIE = 0x4, -}; - -// Alignment: 4 -// Size: 0x3 -enum class IBody__ArousalType : uint32_t -{ - NEUTRAL = 0x0, - ALERT = 0x1, - INTENSE = 0x2, -}; - -// Alignment: 4 -// Size: 0x1a -enum class DOTA_GameMode : uint32_t -{ - DOTA_GAMEMODE_NONE = 0x0, - DOTA_GAMEMODE_AP = 0x1, - DOTA_GAMEMODE_CM = 0x2, - DOTA_GAMEMODE_RD = 0x3, - DOTA_GAMEMODE_SD = 0x4, - DOTA_GAMEMODE_AR = 0x5, - DOTA_GAMEMODE_INTRO = 0x6, - DOTA_GAMEMODE_HW = 0x7, - DOTA_GAMEMODE_REVERSE_CM = 0x8, - DOTA_GAMEMODE_XMAS = 0x9, - DOTA_GAMEMODE_TUTORIAL = 0xa, - DOTA_GAMEMODE_MO = 0xb, - DOTA_GAMEMODE_LP = 0xc, - DOTA_GAMEMODE_POOL1 = 0xd, - DOTA_GAMEMODE_FH = 0xe, - DOTA_GAMEMODE_CUSTOM = 0xf, - DOTA_GAMEMODE_CD = 0x10, - DOTA_GAMEMODE_BD = 0x11, - DOTA_GAMEMODE_ABILITY_DRAFT = 0x12, - DOTA_GAMEMODE_EVENT = 0x13, - DOTA_GAMEMODE_ARDM = 0x14, - DOTA_GAMEMODE_1V1MID = 0x15, - DOTA_GAMEMODE_ALL_DRAFT = 0x16, - DOTA_GAMEMODE_TURBO = 0x17, - DOTA_GAMEMODE_MUTATION = 0x18, - DOTA_GAMEMODE_COACHES_CHALLENGE = 0x19, -}; - -// Alignment: 4 -// Size: 0xd -enum class DOTA_GameState : uint32_t -{ - DOTA_GAMERULES_STATE_INIT = 0x0, - DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 0x1, - DOTA_GAMERULES_STATE_HERO_SELECTION = 0x2, - DOTA_GAMERULES_STATE_STRATEGY_TIME = 0x3, - DOTA_GAMERULES_STATE_PRE_GAME = 0x4, - DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 0x5, - DOTA_GAMERULES_STATE_POST_GAME = 0x6, - DOTA_GAMERULES_STATE_DISCONNECT = 0x7, - DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 0x8, - DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 0x9, - DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 0xa, - DOTA_GAMERULES_STATE_SCENARIO_SETUP = 0xb, - DOTA_GAMERULES_STATE_LAST = 0xc, -}; - -// Alignment: 4 -// Size: 0xf -enum class DOTA_GC_TEAM : uint32_t -{ - DOTA_GC_TEAM_GOOD_GUYS = 0x0, - DOTA_GC_TEAM_BAD_GUYS = 0x1, - DOTA_GC_TEAM_BROADCASTER = 0x2, - DOTA_GC_TEAM_SPECTATOR = 0x3, - DOTA_GC_TEAM_PLAYER_POOL = 0x4, - DOTA_GC_TEAM_NOTEAM = 0x5, - DOTA_GC_TEAM_CUSTOM_1 = 0x6, - DOTA_GC_TEAM_CUSTOM_2 = 0x7, - DOTA_GC_TEAM_CUSTOM_3 = 0x8, - DOTA_GC_TEAM_CUSTOM_4 = 0x9, - DOTA_GC_TEAM_CUSTOM_5 = 0xa, - DOTA_GC_TEAM_CUSTOM_6 = 0xb, - DOTA_GC_TEAM_CUSTOM_7 = 0xc, - DOTA_GC_TEAM_CUSTOM_8 = 0xd, - DOTA_GC_TEAM_NEUTRALS = 0xe, -}; - -// Alignment: 4 -// Size: 0x2b -enum class EEvent : uint32_t -{ - EVENT_ID_NONE = 0x0, - EVENT_ID_DIRETIDE = 0x1, - EVENT_ID_SPRING_FESTIVAL = 0x2, - EVENT_ID_FROSTIVUS_2013 = 0x3, - EVENT_ID_COMPENDIUM_2014 = 0x4, - EVENT_ID_NEXON_PC_BANG = 0x5, - EVENT_ID_PWRD_DAC_2015 = 0x6, - EVENT_ID_NEW_BLOOM_2015 = 0x7, - EVENT_ID_INTERNATIONAL_2015 = 0x8, - EVENT_ID_FALL_MAJOR_2015 = 0x9, - EVENT_ID_ORACLE_PA = 0xa, - EVENT_ID_NEW_BLOOM_2015_PREBEAST = 0xb, - EVENT_ID_FROSTIVUS = 0xc, - EVENT_ID_WINTER_MAJOR_2016 = 0xd, - EVENT_ID_INTERNATIONAL_2016 = 0xe, - EVENT_ID_FALL_MAJOR_2016 = 0xf, - EVENT_ID_WINTER_MAJOR_2017 = 0x10, - EVENT_ID_NEW_BLOOM_2017 = 0x11, - EVENT_ID_INTERNATIONAL_2017 = 0x12, - EVENT_ID_PLUS_SUBSCRIPTION = 0x13, - EVENT_ID_SINGLES_DAY_2017 = 0x14, - EVENT_ID_FROSTIVUS_2017 = 0x15, - EVENT_ID_INTERNATIONAL_2018 = 0x16, - EVENT_ID_FROSTIVUS_2018 = 0x17, - EVENT_ID_NEW_BLOOM_2019 = 0x18, - EVENT_ID_INTERNATIONAL_2019 = 0x19, - EVENT_ID_NEW_PLAYER_EXPERIENCE = 0x1a, - EVENT_ID_FROSTIVUS_2019 = 0x1b, - EVENT_ID_NEW_BLOOM_2020 = 0x1c, - EVENT_ID_INTERNATIONAL_2020 = 0x1d, - EVENT_ID_TEAM_FANDOM = 0x1e, - EVENT_ID_DIRETIDE_2020 = 0x1f, - EVENT_ID_SPRING_2021 = 0x20, - EVENT_ID_FALL_2021 = 0x21, - EVENT_ID_TEAM_FANDOM_FALL_2021 = 0x22, - EVENT_ID_TEAM_2021_2022_TOUR2 = 0x23, - EVENT_ID_INTERNATIONAL_2022 = 0x24, - EVENT_ID_TEAM_2021_2022_TOUR3 = 0x25, - EVENT_ID_TEAM_INTERNATIONAL_2022 = 0x26, - EVENT_ID_PERMANENT_GRANTS = 0x27, - EVENT_ID_MUERTA_RELEASE_SPRING2023 = 0x28, - EVENT_ID_TEAM_2023_TOUR1 = 0x29, - EVENT_ID_TEAM_2023_TOUR2 = 0x2a, -}; - -// Alignment: 4 -// Size: 0x5 -enum class ERankType : uint32_t -{ - k_ERankType_Invalid = 0x0, - k_ERankType_Casual = 0x1, - k_ERankType_Ranked = 0x2, - k_ERankType_CasualLegacy = 0x3, - k_ERankType_RankedLegacy = 0x4, -}; - -// Alignment: 4 -// Size: 0x9 -enum class DOTALeaverStatus_t : uint32_t -{ - DOTA_LEAVER_NONE = 0x0, - DOTA_LEAVER_DISCONNECTED = 0x1, - DOTA_LEAVER_DISCONNECTED_TOO_LONG = 0x2, - DOTA_LEAVER_ABANDONED = 0x3, - DOTA_LEAVER_AFK = 0x4, - DOTA_LEAVER_NEVER_CONNECTED = 0x5, - DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG = 0x6, - DOTA_LEAVER_FAILED_TO_READY_UP = 0x7, - DOTA_LEAVER_DECLINED = 0x8, -}; - -// Alignment: 4 -// Size: 0x7 -enum class DOTAConnectionState_t : uint32_t -{ - DOTA_CONNECTION_STATE_UNKNOWN = 0x0, - DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 0x1, - DOTA_CONNECTION_STATE_CONNECTED = 0x2, - DOTA_CONNECTION_STATE_DISCONNECTED = 0x3, - DOTA_CONNECTION_STATE_ABANDONED = 0x4, - DOTA_CONNECTION_STATE_LOADING = 0x5, - DOTA_CONNECTION_STATE_FAILED = 0x6, -}; - -// Alignment: 4 -// Size: 0x5 -enum class Fantasy_Roles : uint32_t -{ - FANTASY_ROLE_UNDEFINED = 0x0, - FANTASY_ROLE_CORE = 0x1, - FANTASY_ROLE_SUPPORT = 0x2, - FANTASY_ROLE_OFFLANE = 0x3, - FANTASY_ROLE_MID = 0x4, -}; - -// Alignment: 4 -// Size: 0x5 -enum class Fantasy_Team_Slots : uint32_t -{ - FANTASY_SLOT_NONE = 0x0, - FANTASY_SLOT_CORE = 0x1, - FANTASY_SLOT_SUPPORT = 0x2, - FANTASY_SLOT_ANY = 0x3, - FANTASY_SLOT_BENCH = 0x4, -}; - -// Alignment: 4 -// Size: 0xa -enum class Fantasy_Selection_Mode : uint32_t -{ - FANTASY_SELECTION_INVALID = 0x0, - FANTASY_SELECTION_LOCKED = 0x1, - FANTASY_SELECTION_SHUFFLE = 0x2, - FANTASY_SELECTION_FREE_PICK = 0x3, - FANTASY_SELECTION_ENDED = 0x4, - FANTASY_SELECTION_PRE_SEASON = 0x5, - FANTASY_SELECTION_PRE_DRAFT = 0x6, - FANTASY_SELECTION_DRAFTING = 0x7, - FANTASY_SELECTION_REGULAR_SEASON = 0x8, - FANTASY_SELECTION_CARD_BASED = 0x9, -}; - -// Alignment: 4 -// Size: 0x19 -enum class DOTAChatChannelType_t : uint32_t -{ - DOTAChannelType_Regional = 0x0, - DOTAChannelType_Custom = 0x1, - DOTAChannelType_Party = 0x2, - DOTAChannelType_Lobby = 0x3, - DOTAChannelType_Team = 0x4, - DOTAChannelType_Guild = 0x5, - DOTAChannelType_Fantasy = 0x6, - DOTAChannelType_Whisper = 0x7, - DOTAChannelType_Console = 0x8, - DOTAChannelType_Tab = 0x9, - DOTAChannelType_Invalid = 0xa, - DOTAChannelType_GameAll = 0xb, - DOTAChannelType_GameAllies = 0xc, - DOTAChannelType_GameSpectator = 0xd, - DOTAChannelType_GameCoaching = 0xe, - DOTAChannelType_Cafe = 0xf, - DOTAChannelType_CustomGame = 0x10, - DOTAChannelType_Private = 0x11, - DOTAChannelType_PostGame = 0x12, - DOTAChannelType_BattleCup = 0x13, - DOTAChannelType_HLTVSpectator = 0x14, - DOTAChannelType_GameEvents = 0x15, - DOTAChannelType_Trivia = 0x16, - DOTAChannelType_NewPlayer = 0x17, - DOTAChannelType_PrivateCoaching = 0x18, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EChatSpecialPrivileges : uint32_t -{ - k_EChatSpecialPrivileges_None = 0x0, - k_EChatSpecialPrivileges_Moderator = 0x1, - k_EChatSpecialPrivileges_SuperModerator = 0x2, -}; - -// Alignment: 4 -// Size: 0x7 -enum class EProfileCardSlotType : uint32_t -{ - k_EProfileCardSlotType_Empty = 0x0, - k_EProfileCardSlotType_Stat = 0x1, - k_EProfileCardSlotType_Trophy = 0x2, - k_EProfileCardSlotType_Item = 0x3, - k_EProfileCardSlotType_Hero = 0x4, - k_EProfileCardSlotType_Emoticon = 0x5, - k_EProfileCardSlotType_Team = 0x6, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EMatchGroupServerStatus : uint32_t -{ - k_EMatchGroupServerStatus_OK = 0x0, - k_EMatchGroupServerStatus_LimitedAvailability = 0x1, - k_EMatchGroupServerStatus_Offline = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DOTA_CM_PICK : uint32_t -{ - DOTA_CM_RANDOM = 0x0, - DOTA_CM_GOOD_GUYS = 0x1, - DOTA_CM_BAD_GUYS = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class DOTALowPriorityBanType : uint32_t -{ - DOTA_LOW_PRIORITY_BAN_ABANDON = 0x0, - DOTA_LOW_PRIORITY_BAN_REPORTS = 0x1, - DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON = 0x2, - DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DOTALobbyReadyState : uint32_t -{ - DOTALobbyReadyState_UNDECLARED = 0x0, - DOTALobbyReadyState_ACCEPTED = 0x1, - DOTALobbyReadyState_DECLINED = 0x2, -}; - -// Alignment: 4 -// Size: 0xf -enum class DOTAJoinLobbyResult : uint32_t -{ - DOTA_JOIN_RESULT_SUCCESS = 0x0, - DOTA_JOIN_RESULT_ALREADY_IN_GAME = 0x1, - DOTA_JOIN_RESULT_INVALID_LOBBY = 0x2, - DOTA_JOIN_RESULT_INCORRECT_PASSWORD = 0x3, - DOTA_JOIN_RESULT_ACCESS_DENIED = 0x4, - DOTA_JOIN_RESULT_GENERIC_ERROR = 0x5, - DOTA_JOIN_RESULT_INCORRECT_VERSION = 0x6, - DOTA_JOIN_RESULT_IN_TEAM_PARTY = 0x7, - DOTA_JOIN_RESULT_NO_LOBBY_FOUND = 0x8, - DOTA_JOIN_RESULT_LOBBY_FULL = 0x9, - DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION = 0xa, - DOTA_JOIN_RESULT_TIMEOUT = 0xb, - DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN = 0xc, - DOTA_JOIN_RESULT_BUSY = 0xd, - DOTA_JOIN_RESULT_NO_PLAYTIME = 0xe, -}; - -// Alignment: 4 -// Size: 0x2 -enum class DOTASelectionPriorityRules : uint32_t -{ - k_DOTASelectionPriorityRules_Manual = 0x0, - k_DOTASelectionPriorityRules_Automatic = 0x1, -}; - -// Alignment: 4 -// Size: 0x5 -enum class DOTASelectionPriorityChoice : uint32_t -{ - k_DOTASelectionPriorityChoice_Invalid = 0x0, - k_DOTASelectionPriorityChoice_FirstPick = 0x1, - k_DOTASelectionPriorityChoice_SecondPick = 0x2, - k_DOTASelectionPriorityChoice_Radiant = 0x3, - k_DOTASelectionPriorityChoice_Dire = 0x4, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DOTAMatchVote : uint32_t -{ - DOTAMatchVote_INVALID = 0x0, - DOTAMatchVote_POSITIVE = 0x1, - DOTAMatchVote_NEGATIVE = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DOTALobbyVisibility : uint32_t -{ - DOTALobbyVisibility_Public = 0x0, - DOTALobbyVisibility_Friends = 0x1, - DOTALobbyVisibility_Unlisted = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EDOTAPlayerMMRType : uint32_t -{ - k_EDOTAPlayerMMRType_Invalid = 0x0, - k_EDOTAPlayerMMRType_GeneralHidden = 0x1, - k_EDOTAPlayerMMRType_GeneralCompetitive = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EDOTAMMRBoostType : uint32_t -{ - k_EDOTAMMRBoostType_None = 0x0, - k_EDOTAMMRBoostType_Leader = 0x1, - k_EDOTAMMRBoostType_Follower = 0x2, -}; - -// Alignment: 4 -// Size: 0x7 -enum class MatchType : uint32_t -{ - MATCH_TYPE_CASUAL = 0x0, - MATCH_TYPE_COOP_BOTS = 0x1, - MATCH_TYPE_COMPETITIVE = 0x4, - MATCH_TYPE_WEEKEND_TOURNEY = 0x5, - MATCH_TYPE_EVENT = 0x7, - MATCH_TYPE_COACHES_CHALLENGE = 0xc, - MATCH_TYPE_NEW_PLAYER_POOL = 0xe, -}; - -// Alignment: 4 -// Size: 0xa -enum class DOTABotDifficulty : uint32_t -{ - BOT_DIFFICULTY_PASSIVE = 0x0, - BOT_DIFFICULTY_EASY = 0x1, - BOT_DIFFICULTY_MEDIUM = 0x2, - BOT_DIFFICULTY_HARD = 0x3, - BOT_DIFFICULTY_UNFAIR = 0x4, - BOT_DIFFICULTY_INVALID = 0x5, - BOT_DIFFICULTY_EXTRA1 = 0x6, - BOT_DIFFICULTY_EXTRA2 = 0x7, - BOT_DIFFICULTY_EXTRA3 = 0x8, - BOT_DIFFICULTY_NPX = 0x9, -}; - -// Alignment: 4 -// Size: 0x1b -enum class DOTA_BOT_MODE : uint32_t -{ - DOTA_BOT_MODE_NONE = 0x0, - DOTA_BOT_MODE_LANING = 0x1, - DOTA_BOT_MODE_ATTACK = 0x2, - DOTA_BOT_MODE_ROAM = 0x3, - DOTA_BOT_MODE_RETREAT = 0x4, - DOTA_BOT_MODE_SECRET_SHOP = 0x5, - DOTA_BOT_MODE_SIDE_SHOP = 0x6, - DOTA_BOT_MODE_RUNE = 0x7, - DOTA_BOT_MODE_PUSH_TOWER_TOP = 0x8, - DOTA_BOT_MODE_PUSH_TOWER_MID = 0x9, - DOTA_BOT_MODE_PUSH_TOWER_BOT = 0xa, - DOTA_BOT_MODE_DEFEND_TOWER_TOP = 0xb, - DOTA_BOT_MODE_DEFEND_TOWER_MID = 0xc, - DOTA_BOT_MODE_DEFEND_TOWER_BOT = 0xd, - DOTA_BOT_MODE_ASSEMBLE = 0xe, - DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS = 0xf, - DOTA_BOT_MODE_TEAM_ROAM = 0x10, - DOTA_BOT_MODE_FARM = 0x11, - DOTA_BOT_MODE_DEFEND_ALLY = 0x12, - DOTA_BOT_MODE_EVASIVE_MANEUVERS = 0x13, - DOTA_BOT_MODE_ROSHAN = 0x14, - DOTA_BOT_MODE_ITEM = 0x15, - DOTA_BOT_MODE_WARD = 0x16, - DOTA_BOT_MODE_COMPANION = 0x17, - DOTA_BOT_MODE_TUTORIAL_BOSS = 0x18, - DOTA_BOT_MODE_MINION = 0x19, - DOTA_BOT_MODE_OUTPOST = 0x1a, -}; - -// Alignment: 4 -// Size: 0x8 -enum class MatchLanguages : uint32_t -{ - MATCH_LANGUAGE_INVALID = 0x0, - MATCH_LANGUAGE_ENGLISH = 0x1, - MATCH_LANGUAGE_RUSSIAN = 0x2, - MATCH_LANGUAGE_CHINESE = 0x3, - MATCH_LANGUAGE_KOREAN = 0x4, - MATCH_LANGUAGE_SPANISH = 0x5, - MATCH_LANGUAGE_PORTUGUESE = 0x6, - MATCH_LANGUAGE_ENGLISH2 = 0x7, -}; - -// Alignment: 4 -// Size: 0x7 -enum class ETourneyQueueDeadlineState : uint32_t -{ - k_ETourneyQueueDeadlineState_Normal = 0x0, - k_ETourneyQueueDeadlineState_Missed = 0x1, - k_ETourneyQueueDeadlineState_ExpiredOK = 0x2, - k_ETourneyQueueDeadlineState_SeekingBye = 0x3, - k_ETourneyQueueDeadlineState_EligibleForRefund = 0x4, - k_ETourneyQueueDeadlineState_NA = 0xffffffffffffffff, - k_ETourneyQueueDeadlineState_ExpiringSoon = 0x65, -}; - -// Alignment: 4 -// Size: 0x13 -enum class EMatchOutcome : uint32_t -{ - k_EMatchOutcome_Unknown = 0x0, - k_EMatchOutcome_RadVictory = 0x2, - k_EMatchOutcome_DireVictory = 0x3, - k_EMatchOutcome_NeutralVictory = 0x4, - k_EMatchOutcome_NoTeamWinner = 0x5, - k_EMatchOutcome_Custom1Victory = 0x6, - k_EMatchOutcome_Custom2Victory = 0x7, - k_EMatchOutcome_Custom3Victory = 0x8, - k_EMatchOutcome_Custom4Victory = 0x9, - k_EMatchOutcome_Custom5Victory = 0xa, - k_EMatchOutcome_Custom6Victory = 0xb, - k_EMatchOutcome_Custom7Victory = 0xc, - k_EMatchOutcome_Custom8Victory = 0xd, - k_EMatchOutcome_NotScored_PoorNetworkConditions = 0x40, - k_EMatchOutcome_NotScored_Leaver = 0x41, - k_EMatchOutcome_NotScored_ServerCrash = 0x42, - k_EMatchOutcome_NotScored_NeverStarted = 0x43, - k_EMatchOutcome_NotScored_Canceled = 0x44, - k_EMatchOutcome_NotScored_Suspicious = 0x45, -}; - -// Alignment: 4 -// Size: 0x6 -enum class ELaneType : uint32_t -{ - LANE_TYPE_UNKNOWN = 0x0, - LANE_TYPE_SAFE = 0x1, - LANE_TYPE_OFF = 0x2, - LANE_TYPE_MID = 0x3, - LANE_TYPE_JUNGLE = 0x4, - LANE_TYPE_ROAM = 0x5, -}; - -// Alignment: 4 -// Size: 0xc -enum class EBadgeType : uint32_t -{ - k_EBadgeType_TI7_Midweek = 0x1, - k_EBadgeType_TI7_Finals = 0x2, - k_EBadgeType_TI7_AllEvent = 0x3, - k_EBadgeType_TI8_Midweek = 0x4, - k_EBadgeType_TI8_Finals = 0x5, - k_EBadgeType_TI8_AllEvent = 0x6, - k_EBadgeType_TI10 = 0x7, - k_EBadgeType_TI11_PlayoffsDay1 = 0x8, - k_EBadgeType_TI11_PlayoffsDay2 = 0x9, - k_EBadgeType_TI11_PlayoffsDay3 = 0xa, - k_EBadgeType_TI11_PlayoffsDay4 = 0xb, - k_EBadgeType_TI11_FinalsWeekend = 0xc, -}; - -// Alignment: 4 -// Size: 0x7 -enum class ELeagueStatus : uint32_t -{ - LEAGUE_STATUS_UNSET = 0x0, - LEAGUE_STATUS_UNSUBMITTED = 0x1, - LEAGUE_STATUS_SUBMITTED = 0x2, - LEAGUE_STATUS_ACCEPTED = 0x3, - LEAGUE_STATUS_REJECTED = 0x4, - LEAGUE_STATUS_CONCLUDED = 0x5, - LEAGUE_STATUS_DELETED = 0x6, -}; - -// Alignment: 4 -// Size: 0x7 -enum class ELeagueRegion : uint32_t -{ - LEAGUE_REGION_UNSET = 0x0, - LEAGUE_REGION_NA = 0x1, - LEAGUE_REGION_SA = 0x2, - LEAGUE_REGION_WEU = 0x3, - LEAGUE_REGION_EEU = 0x4, - LEAGUE_REGION_CHINA = 0x5, - LEAGUE_REGION_SEA = 0x6, -}; - -// Alignment: 4 -// Size: 0xa -enum class ELeagueTier : uint32_t -{ - LEAGUE_TIER_UNSET = 0x0, - LEAGUE_TIER_AMATEUR = 0x1, - LEAGUE_TIER_PROFESSIONAL = 0x2, - LEAGUE_TIER_MINOR = 0x3, - LEAGUE_TIER_MAJOR = 0x4, - LEAGUE_TIER_INTERNATIONAL = 0x5, - LEAGUE_TIER_DPC_QUALIFIER = 0x6, - LEAGUE_TIER_DPC_LEAGUE_QUALIFIER = 0x7, - LEAGUE_TIER_DPC_LEAGUE = 0x8, - LEAGUE_TIER_DPC_LEAGUE_FINALS = 0x9, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ELeagueTierCategory : uint32_t -{ - LEAGUE_TIER_CATEGORY_AMATEUR = 0x1, - LEAGUE_TIER_CATEGORY_PROFESSIONAL = 0x2, - LEAGUE_TIER_CATEGORY_DPC = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ELeagueDivision : uint32_t -{ - LEAGUE_DIVISION_UNSET = 0x0, - LEAGUE_DIVISION_I = 0x1, - LEAGUE_DIVISION_II = 0x2, -}; - -// Alignment: 4 -// Size: 0x5 -enum class ELeagueBroadcastProvider : uint32_t -{ - LEAGUE_BROADCAST_UNKNOWN = 0x0, - LEAGUE_BROADCAST_STEAM = 0x1, - LEAGUE_BROADCAST_TWITCH = 0x2, - LEAGUE_BROADCAST_YOUTUBE = 0x3, - LEAGUE_BROADCAST_OTHER = 0x64, -}; - -// Alignment: 4 -// Size: 0x4 -enum class ELeaguePhase : uint32_t -{ - LEAGUE_PHASE_UNSET = 0x0, - LEAGUE_PHASE_REGIONAL_QUALIFIER = 0x1, - LEAGUE_PHASE_GROUP_STAGE = 0x2, - LEAGUE_PHASE_MAIN_EVENT = 0x3, -}; - -// Alignment: 4 -// Size: 0x2a -enum class ELeagueAuditAction : uint32_t -{ - LEAGUE_AUDIT_ACTION_INVALID = 0x0, - LEAGUE_AUDIT_ACTION_LEAGUE_CREATE = 0x1, - LEAGUE_AUDIT_ACTION_LEAGUE_EDIT = 0x2, - LEAGUE_AUDIT_ACTION_LEAGUE_DELETE = 0x3, - LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD = 0x4, - LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE = 0x5, - LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE = 0x6, - LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD = 0x7, - LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE = 0x8, - LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED = 0x9, - LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED = 0xa, - LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED = 0xb, - LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL = 0xc, - LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM = 0xd, - LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM = 0xe, - LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START = 0xf, - LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END = 0x10, - LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM = 0x11, - LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM = 0x12, - LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED = 0x13, - LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT = 0x14, - LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP = 0x15, - LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE = 0x64, - LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY = 0x65, - LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM = 0x66, - LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM = 0x67, - LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING = 0x68, - LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT = 0x69, - LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE = 0x6a, - LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED = 0x6b, - LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING = 0x6c, - LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING = 0x6d, - LEAGUE_AUDIT_ACTION_NODE_CREATE = 0xc8, - LEAGUE_AUDIT_ACTION_NODE_DESTROY = 0xc9, - LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE = 0xca, - LEAGUE_AUDIT_ACTION_NODE_SET_TEAM = 0xcb, - LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID = 0xcc, - LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING = 0xcd, - LEAGUE_AUDIT_ACTION_NODE_SET_TIME = 0xce, - LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED = 0xcf, - LEAGUE_AUDIT_ACTION_NODE_COMPLETED = 0xd0, - LEAGUE_AUDIT_ACTION_NODE_EDIT = 0xd1, -}; - -// Alignment: 4 -// Size: 0x2d -enum class DOTA_COMBATLOG_TYPES : uint32_t -{ - DOTA_COMBATLOG_INVALID = 0xffffffffffffffff, - DOTA_COMBATLOG_DAMAGE = 0x0, - DOTA_COMBATLOG_HEAL = 0x1, - DOTA_COMBATLOG_MODIFIER_ADD = 0x2, - DOTA_COMBATLOG_MODIFIER_REMOVE = 0x3, - DOTA_COMBATLOG_DEATH = 0x4, - DOTA_COMBATLOG_ABILITY = 0x5, - DOTA_COMBATLOG_ITEM = 0x6, - DOTA_COMBATLOG_LOCATION = 0x7, - DOTA_COMBATLOG_GOLD = 0x8, - DOTA_COMBATLOG_GAME_STATE = 0x9, - DOTA_COMBATLOG_XP = 0xa, - DOTA_COMBATLOG_PURCHASE = 0xb, - DOTA_COMBATLOG_BUYBACK = 0xc, - DOTA_COMBATLOG_ABILITY_TRIGGER = 0xd, - DOTA_COMBATLOG_PLAYERSTATS = 0xe, - DOTA_COMBATLOG_MULTIKILL = 0xf, - DOTA_COMBATLOG_KILLSTREAK = 0x10, - DOTA_COMBATLOG_TEAM_BUILDING_KILL = 0x11, - DOTA_COMBATLOG_FIRST_BLOOD = 0x12, - DOTA_COMBATLOG_MODIFIER_STACK_EVENT = 0x13, - DOTA_COMBATLOG_NEUTRAL_CAMP_STACK = 0x14, - DOTA_COMBATLOG_PICKUP_RUNE = 0x15, - DOTA_COMBATLOG_REVEALED_INVISIBLE = 0x16, - DOTA_COMBATLOG_HERO_SAVED = 0x17, - DOTA_COMBATLOG_MANA_RESTORED = 0x18, - DOTA_COMBATLOG_HERO_LEVELUP = 0x19, - DOTA_COMBATLOG_BOTTLE_HEAL_ALLY = 0x1a, - DOTA_COMBATLOG_ENDGAME_STATS = 0x1b, - DOTA_COMBATLOG_INTERRUPT_CHANNEL = 0x1c, - DOTA_COMBATLOG_ALLIED_GOLD = 0x1d, - DOTA_COMBATLOG_AEGIS_TAKEN = 0x1e, - DOTA_COMBATLOG_MANA_DAMAGE = 0x1f, - DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED = 0x20, - DOTA_COMBATLOG_UNIT_SUMMONED = 0x21, - DOTA_COMBATLOG_ATTACK_EVADE = 0x22, - DOTA_COMBATLOG_TREE_CUT = 0x23, - DOTA_COMBATLOG_SUCCESSFUL_SCAN = 0x24, - DOTA_COMBATLOG_END_KILLSTREAK = 0x25, - DOTA_COMBATLOG_BLOODSTONE_CHARGE = 0x26, - DOTA_COMBATLOG_CRITICAL_DAMAGE = 0x27, - DOTA_COMBATLOG_SPELL_ABSORB = 0x28, - DOTA_COMBATLOG_UNIT_TELEPORTED = 0x29, - DOTA_COMBATLOG_KILL_EATER_EVENT = 0x2a, - DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED = 0x2b, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EDPCFavoriteType : uint32_t -{ - FAVORITE_TYPE_ALL = 0x0, - FAVORITE_TYPE_PLAYER = 0x1, - FAVORITE_TYPE_TEAM = 0x2, - FAVORITE_TYPE_LEAGUE = 0x3, -}; - -// Alignment: 4 -// Size: 0xb -enum class EDPCPushNotification : uint32_t -{ - DPC_PUSH_NOTIFICATION_MATCH_STARTING = 0x1, - DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM = 0xa, - DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM = 0xb, - DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH = 0xc, - DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH = 0xd, - DPC_PUSH_NOTIFICATION_LEAGUE_RESULT = 0x14, - DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE = 0x1e, - DPC_PUSH_NOTIFICATION_PREDICTION_RESULT = 0x1f, - DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED = 0x28, - DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY = 0x29, - DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 0x2a, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EEventActionScoreMode : uint32_t -{ - k_eEventActionScoreMode_Add = 0x0, - k_eEventActionScoreMode_Min = 0x1, -}; - -// Alignment: 4 -// Size: 0x6 -enum class EPlayerChallengeHistoryType : uint32_t -{ - k_EPlayerChallengeHistoryType_Invalid = 0x0, - k_EPlayerChallengeHistoryType_KillEater = 0x1, - k_EPlayerChallengeHistoryType_DotaPlusRelic = 0x2, - k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge = 0x3, - k_EPlayerChallengeHistoryType_InGameEventChallenge = 0x4, - k_EPlayerChallengeHistoryType_GuildContract = 0x5, -}; - -// Alignment: 4 -// Size: 0x6 -enum class EOverwatchReportReason : uint32_t -{ - k_EOverwatchReportReason_Unknown = 0x0, - k_EOverwatchReportReason_Cheating = 0x1, - k_EOverwatchReportReason_Feeding = 0x2, - k_EOverwatchReportReason_Griefing = 0x3, - k_EOverwatchReportReason_Suspicious = 0x4, - k_EOverwatchReportReason_AbilityAbuse = 0x5, -}; - -// Alignment: 4 -// Size: 0x2 -enum class ESpecialPingValue : uint32_t -{ - k_ESpecialPingValue_NoData = 0x3ffe, - k_ESpecialPingValue_Failed = 0x3fff, -}; - -// Alignment: 4 -// Size: 0xe -enum class EDOTAGCSessionNeed : uint32_t -{ - k_EDOTAGCSessionNeed_Unknown = 0x0, - k_EDOTAGCSessionNeed_UserNoSessionNeeded = 0x64, - k_EDOTAGCSessionNeed_UserInOnlineGame = 0x65, - k_EDOTAGCSessionNeed_UserInLocalGame = 0x66, - k_EDOTAGCSessionNeed_UserInUIWasConnected = 0x67, - k_EDOTAGCSessionNeed_UserInUINeverConnected = 0x68, - k_EDOTAGCSessionNeed_UserTutorials = 0x69, - k_EDOTAGCSessionNeed_UserInUIWasConnectedIdle = 0x6a, - k_EDOTAGCSessionNeed_UserInUINeverConnectedIdle = 0x6b, - k_EDOTAGCSessionNeed_GameServerOnline = 0xc8, - k_EDOTAGCSessionNeed_GameServerLocal = 0xc9, - k_EDOTAGCSessionNeed_GameServerIdle = 0xca, - k_EDOTAGCSessionNeed_GameServerRelay = 0xcb, - k_EDOTAGCSessionNeed_GameServerLocalUpload = 0xcc, -}; - -// Alignment: 4 -// Size: 0xc -enum class DOTA_TournamentEvents : uint32_t -{ - TE_FIRST_BLOOD = 0x0, - TE_GAME_END = 0x1, - TE_MULTI_KILL = 0x2, - TE_HERO_DENY = 0x3, - TE_AEGIS_DENY = 0x4, - TE_AEGIS_STOLEN = 0x5, - TE_GODLIKE = 0x6, - TE_COURIER_KILL = 0x7, - TE_ECHOSLAM = 0x8, - TE_RAPIER = 0x9, - TE_EARLY_ROSHAN = 0xa, - TE_BLACK_HOLE = 0xb, -}; - -// Alignment: 4 -// Size: 0x9 -enum class EBroadcastTimelineEvent : uint32_t -{ - EBroadcastTimelineEvent_MatchStarted = 0x1, - EBroadcastTimelineEvent_GameStateChanged = 0x2, - EBroadcastTimelineEvent_TowerDeath = 0x3, - EBroadcastTimelineEvent_BarracksDeath = 0x4, - EBroadcastTimelineEvent_AncientDeath = 0x5, - EBroadcastTimelineEvent_RoshanDeath = 0x6, - EBroadcastTimelineEvent_HeroDeath = 0x7, - EBroadcastTimelineEvent_TeamFight = 0x8, - EBroadcastTimelineEvent_FirstBlood = 0x9, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ECustomGameWhitelistState : uint32_t -{ - CUSTOM_GAME_WHITELIST_STATE_UNKNOWN = 0x0, - CUSTOM_GAME_WHITELIST_STATE_APPROVED = 0x1, - CUSTOM_GAME_WHITELIST_STATE_REJECTED = 0x2, -}; - -// Alignment: 4 -// Size: 0x12 -enum class EDOTATriviaQuestionCategory : uint32_t -{ - k_EDOTATriviaQuestionCategory_AbilityIcon = 0x0, - k_EDOTATriviaQuestionCategory_AbilityCooldown = 0x1, - k_EDOTATriviaQuestionCategory_HeroAttributes = 0x2, - k_EDOTATriviaQuestionCategory_HeroMovementSpeed = 0x3, - k_EDOTATriviaQuestionCategory_TalentTree = 0x4, - k_EDOTATriviaQuestionCategory_HeroStats = 0x5, - k_EDOTATriviaQuestionCategory_ItemPrice = 0x6, - k_EDOTATriviaQuestionCategory_AbilitySound = 0x7, - k_EDOTATriviaQuestionCategory_InvokerSpells = 0x8, - k_EDOTATriviaQuestionCategory_AbilityManaCost = 0x9, - k_EDOTATriviaQuestionCategory_HeroAttackSound = 0xa, - k_EDOTATriviaQuestionCategory_AbilityName = 0xb, - k_EDOTATriviaQuestionCategory_ItemComponents = 0xc, - k_EDOTATriviaQuestionCategory_ItemLore = 0xd, - k_EDOTATriviaQuestionCategory_ItemPassives = 0xe, - k_EDOTATriviaQuestionCategory_STATIC_QUESTIONS_END = 0xf, - k_EDOTATriviaQuestionCategory_DYNAMIC_QUESTIONS_START = 0x63, - k_EDOTATriviaQuestionCategory_Dynamic_ItemBuild = 0x64, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EOverwatchConviction : uint32_t -{ - k_EOverwatchConviction_None = 0x0, - k_EOverwatchConviction_NotGuilty = 0x1, - k_EOverwatchConviction_GuiltUnclear = 0x2, - k_EOverwatchConviction_Guilty = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EHeroRelicRarity : uint32_t -{ - HERO_RELIC_RARITY_INVALID = 0xffffffffffffffff, - HERO_RELIC_RARITY_COMMON = 0x0, - HERO_RELIC_RARITY_RARE = 0x1, -}; - -// Alignment: 4 -// Size: 0x5 -enum class EStickerbookAuditAction : uint32_t -{ - STICKERBOOK_AUDIT_CREATE_PAGE = 0x0, - STICKERBOOK_AUDIT_DELETE_PAGE = 0x1, - STICKERBOOK_AUDIT_STICK_STICKERS = 0x2, - STICKERBOOK_AUDIT_REPLACE_STICKERS = 0x3, - STICKERBOOK_AUDIT_HERO_STICKER = 0x4, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EStickerbookPageType : uint32_t -{ - STICKER_PAGE_GENERIC = 0x0, - STICKER_PAGE_TEAM = 0x1, - STICKER_PAGE_TALENT = 0x2, -}; - -// Alignment: 4 -// Size: 0x3 -enum class ELobbyMemberCoachRequestState : uint32_t -{ - k_eLobbyMemberCoachRequestState_None = 0x0, - k_eLobbyMemberCoachRequestState_Accepted = 0x1, - k_eLobbyMemberCoachRequestState_Rejected = 0x2, -}; - -// Alignment: 4 -// Size: 0x4 -enum class LobbyDotaTVDelay : uint32_t -{ - LobbyDotaTV_10 = 0x0, - LobbyDotaTV_120 = 0x1, - LobbyDotaTV_300 = 0x2, - LobbyDotaTV_900 = 0x3, -}; - -// Alignment: 4 -// Size: 0x3 -enum class LobbyDotaPauseSetting : uint32_t -{ - LobbyDotaPauseSetting_Unlimited = 0x0, - LobbyDotaPauseSetting_Limited = 0x1, - LobbyDotaPauseSetting_Disabled = 0x2, -}; - -// Alignment: 4 -// Size: 0x5 -enum class ELaneSelection : uint32_t -{ - k_ELaneSelection_SAFELANE = 0x0, - k_ELaneSelection_OFFLANE = 0x1, - k_ELaneSelection_MIDLANE = 0x2, - k_ELaneSelection_SUPPORT_SOFT = 0x3, - k_ELaneSelection_SUPPORT_HARD = 0x4, -}; - -// Alignment: 4 -// Size: 0x9 -enum class ELaneSelectionFlags : uint32_t -{ - k_ELaneSelectionFlags_None = 0x0, - k_ELaneSelectionFlags_SAFELANE = 0x1, - k_ELaneSelectionFlags_OFFLANE = 0x2, - k_ELaneSelectionFlags_MIDLANE = 0x4, - k_ELaneSelectionFlags_SUPPORT_SOFT = 0x8, - k_ELaneSelectionFlags_SUPPORT_HARD = 0x10, - k_ELaneSelectionFlags_CORE = 0x7, - k_ELaneSelectionFlags_SUPPORT = 0x18, - k_ELaneSelectionFlags_ALL = 0x1f, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EPartyMatchmakingFlags : uint32_t -{ - k_EPartyMatchmakingFlags_None = 0x0, - k_EPartyMatchmakingFlags_LargeRankSpread = 0x1, -}; - -// Alignment: 4 -// Size: 0x9 -enum class EHighPriorityMMState : uint32_t -{ - k_EHighPriorityMM_Unknown = 0x0, - k_EHighPriorityMM_MissingMMData = 0x1, - k_EHighPriorityMM_ResourceMissing = 0x2, - k_EHighPriorityMM_ManuallyDisabled = 0x3, - k_EHighPriorityMM_Min_Enabled = 0x40, - k_EHighPriorityMM_AllRolesSelected = 0x41, - k_EHighPriorityMM_UsingResource = 0x42, - k_EHighPriorityMM_FiveStack = 0x43, - k_EHighPriorityMM_HighDemand = 0x44, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EReadyCheckStatus : uint32_t -{ - k_EReadyCheckStatus_Unknown = 0x0, - k_EReadyCheckStatus_NotReady = 0x1, - k_EReadyCheckStatus_Ready = 0x2, -}; - -// Alignment: 4 -// Size: 0x5 -enum class EReadyCheckRequestResult : uint32_t -{ - k_EReadyCheckRequestResult_Success = 0x0, - k_EReadyCheckRequestResult_AlreadyInProgress = 0x1, - k_EReadyCheckRequestResult_NotInParty = 0x2, - k_EReadyCheckRequestResult_SendError = 0x3, - k_EReadyCheckRequestResult_UnknownError = 0x4, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EMatchBehaviorScoreVariance : uint32_t -{ - k_EMatchBehaviorScoreVariance_Invalid = 0x0, - k_EMatchBehaviorScoreVariance_Low = 0x1, - k_EMatchBehaviorScoreVariance_Medium = 0x2, - k_EMatchBehaviorScoreVariance_High = 0x3, -}; - -// Alignment: 4 -// Size: 0x9 -enum class ELeagueNodeGroupType : uint32_t -{ - INVALID_GROUP_TYPE = 0x0, - ORGANIZATIONAL = 0x1, - ROUND_ROBIN = 0x2, - SWISS = 0x3, - BRACKET_SINGLE = 0x4, - BRACKET_DOUBLE_SEED_LOSER = 0x5, - BRACKET_DOUBLE_ALL_WINNER = 0x6, - SHOWMATCH = 0x7, - GSL = 0x8, -}; - -// Alignment: 4 -// Size: 0x5 -enum class ELeagueNodeType : uint32_t -{ - INVALID_NODE_TYPE = 0x0, - BEST_OF_ONE = 0x1, - BEST_OF_THREE = 0x2, - BEST_OF_FIVE = 0x3, - BEST_OF_TWO = 0x4, -}; - -// Alignment: 4 -// Size: 0x32e -enum class EDOTAGCMsg : uint32_t -{ - k_EMsgGCDOTABase = 0x1b58, - k_EMsgGCGameMatchSignOut = 0x1b5c, - k_EMsgGCGameMatchSignOutResponse = 0x1b5d, - k_EMsgGCJoinChatChannel = 0x1b61, - k_EMsgGCJoinChatChannelResponse = 0x1b62, - k_EMsgGCOtherJoinedChannel = 0x1b65, - k_EMsgGCOtherLeftChannel = 0x1b66, - k_EMsgServerToGCRequestStatus = 0x1b72, - k_EMsgGCStartFindingMatch = 0x1b79, - k_EMsgGCConnectedPlayers = 0x1b7a, - k_EMsgGCAbandonCurrentGame = 0x1b7b, - k_EMsgGCStopFindingMatch = 0x1b7c, - k_EMsgGCPracticeLobbyCreate = 0x1b7e, - k_EMsgGCPracticeLobbyLeave = 0x1b80, - k_EMsgGCPracticeLobbyLaunch = 0x1b81, - k_EMsgGCPracticeLobbyList = 0x1b82, - k_EMsgGCPracticeLobbyListResponse = 0x1b83, - k_EMsgGCPracticeLobbyJoin = 0x1b84, - k_EMsgGCPracticeLobbySetDetails = 0x1b86, - k_EMsgGCPracticeLobbySetTeamSlot = 0x1b87, - k_EMsgGCInitialQuestionnaireResponse = 0x1b89, - k_EMsgGCPracticeLobbyResponse = 0x1b8f, - k_EMsgGCBroadcastNotification = 0x1b90, - k_EMsgGCLiveScoreboardUpdate = 0x1b91, - k_EMsgGCRequestChatChannelList = 0x1b94, - k_EMsgGCRequestChatChannelListResponse = 0x1b95, - k_EMsgGCReadyUp = 0x1b9e, - k_EMsgGCKickedFromMatchmakingQueue = 0x1b9f, - k_EMsgGCLeaverDetected = 0x1ba0, - k_EMsgGCSpectateFriendGame = 0x1ba1, - k_EMsgGCSpectateFriendGameResponse = 0x1ba2, - k_EMsgGCReportsRemainingRequest = 0x1ba4, - k_EMsgGCReportsRemainingResponse = 0x1ba5, - k_EMsgGCSubmitPlayerReport = 0x1ba6, - k_EMsgGCSubmitPlayerReportResponse = 0x1ba7, - k_EMsgGCPracticeLobbyKick = 0x1ba9, - k_EMsgGCRequestSaveGames = 0x1bac, - k_EMsgGCRequestSaveGamesServer = 0x1bad, - k_EMsgGCRequestSaveGamesResponse = 0x1bae, - k_EMsgGCLeaverDetectedResponse = 0x1baf, - k_EMsgGCPlayerFailedToConnect = 0x1bb0, - k_EMsgGCGCToRelayConnect = 0x1bb1, - k_EMsgGCGCToRelayConnectresponse = 0x1bb2, - k_EMsgGCWatchGame = 0x1bb3, - k_EMsgGCWatchGameResponse = 0x1bb4, - k_EMsgGCBanStatusRequest = 0x1bb5, - k_EMsgGCBanStatusResponse = 0x1bb6, - k_EMsgGCMatchDetailsRequest = 0x1bb7, - k_EMsgGCMatchDetailsResponse = 0x1bb8, - k_EMsgGCCancelWatchGame = 0x1bb9, - k_EMsgGCPopup = 0x1bbe, - k_EMsgGCFriendPracticeLobbyListRequest = 0x1bc7, - k_EMsgGCFriendPracticeLobbyListResponse = 0x1bc8, - k_EMsgGCPracticeLobbyJoinResponse = 0x1bc9, - k_EMsgGCCreateTeam = 0x1bcb, - k_EMsgGCCreateTeamResponse = 0x1bcc, - k_EMsgGCTeamInvite_InviterToGC = 0x1bd2, - k_EMsgGCTeamInvite_GCImmediateResponseToInviter = 0x1bd3, - k_EMsgGCTeamInvite_GCRequestToInvitee = 0x1bd4, - k_EMsgGCTeamInvite_InviteeResponseToGC = 0x1bd5, - k_EMsgGCTeamInvite_GCResponseToInviter = 0x1bd6, - k_EMsgGCTeamInvite_GCResponseToInvitee = 0x1bd7, - k_EMsgGCKickTeamMember = 0x1bd8, - k_EMsgGCKickTeamMemberResponse = 0x1bd9, - k_EMsgGCLeaveTeam = 0x1bda, - k_EMsgGCLeaveTeamResponse = 0x1bdb, - k_EMsgGCApplyTeamToPracticeLobby = 0x1be6, - k_EMsgGCTransferTeamAdmin = 0x1be8, - k_EMsgGCPracticeLobbyJoinBroadcastChannel = 0x1bed, - k_EMsgGC_TournamentItemEvent = 0x1bee, - k_EMsgGC_TournamentItemEventResponse = 0x1bef, - k_EMsgTeamFanfare = 0x1bf4, - k_EMsgResponseTeamFanfare = 0x1bf5, - k_EMsgGC_GameServerUploadSaveGame = 0x1bf6, - k_EMsgGC_GameServerSaveGameResult = 0x1bf7, - k_EMsgGC_GameServerGetLoadGame = 0x1bf8, - k_EMsgGC_GameServerGetLoadGameResult = 0x1bf9, - k_EMsgGCEditTeamDetails = 0x1bfe, - k_EMsgGCEditTeamDetailsResponse = 0x1bff, - k_EMsgGCReadyUpStatus = 0x1c02, - k_EMsgGCToGCMatchCompleted = 0x1c12, - k_EMsgGCBalancedShuffleLobby = 0x1c14, - k_EMsgGCMatchmakingStatsRequest = 0x1c1d, - k_EMsgGCMatchmakingStatsResponse = 0x1c1e, - k_EMsgGCBotGameCreate = 0x1c1f, - k_EMsgGCSetMatchHistoryAccess = 0x1c20, - k_EMsgGCSetMatchHistoryAccessResponse = 0x1c21, - k_EMsgUpgradeLeagueItem = 0x1c23, - k_EMsgUpgradeLeagueItemResponse = 0x1c24, - k_EMsgGCWatchDownloadedReplay = 0x1c26, - k_EMsgClientsRejoinChatChannels = 0x1c31, - k_EMsgGCToGCGetUserChatInfo = 0x1c32, - k_EMsgGCToGCGetUserChatInfoResponse = 0x1c33, - k_EMsgGCToGCLeaveAllChatChannels = 0x1c34, - k_EMsgGCToGCUpdateAccountChatBan = 0x1c35, - k_EMsgGCToGCCanInviteUserToTeam = 0x1c42, - k_EMsgGCToGCCanInviteUserToTeamResponse = 0x1c43, - k_EMsgGCToGCGetUserRank = 0x1c44, - k_EMsgGCToGCGetUserRankResponse = 0x1c45, - k_EMsgGCToGCUpdateTeamStats = 0x1c48, - k_EMsgGCToGCValidateTeam = 0x1c49, - k_EMsgGCToGCValidateTeamResponse = 0x1c4a, - k_EMsgGCToGCGetLeagueAdmin = 0x1c57, - k_EMsgGCToGCGetLeagueAdminResponse = 0x1c58, - k_EMsgGCLeaveChatChannel = 0x1c68, - k_EMsgGCChatMessage = 0x1c69, - k_EMsgGCGetHeroStandings = 0x1c6a, - k_EMsgGCGetHeroStandingsResponse = 0x1c6b, - k_EMsgGCItemEditorReservationsRequest = 0x1c73, - k_EMsgGCItemEditorReservationsResponse = 0x1c74, - k_EMsgGCItemEditorReserveItemDef = 0x1c75, - k_EMsgGCItemEditorReserveItemDefResponse = 0x1c76, - k_EMsgGCItemEditorReleaseReservation = 0x1c77, - k_EMsgGCItemEditorReleaseReservationResponse = 0x1c78, - k_EMsgGCRewardTutorialPrizes = 0x1c79, - k_EMsgGCFantasyLivePlayerStats = 0x1c8c, - k_EMsgGCFantasyFinalPlayerStats = 0x1c8d, - k_EMsgGCFlipLobbyTeams = 0x1c98, - k_EMsgGCToGCProcessPlayerReportForTarget = 0x1c9c, - k_EMsgGCToGCProcessReportSuccess = 0x1c9d, - k_EMsgGCNotifyAccountFlagsChange = 0x1c9e, - k_EMsgGCSetProfilePrivacy = 0x1c9f, - k_EMsgGCSetProfilePrivacyResponse = 0x1ca0, - k_EMsgGCClientSuspended = 0x1cae, - k_EMsgGCPartyMemberSetCoach = 0x1caf, - k_EMsgGCPracticeLobbySetCoach = 0x1cb2, - k_EMsgGCChatModeratorBan = 0x1cbf, - k_EMsgGCLobbyUpdateBroadcastChannelInfo = 0x1cc7, - k_EMsgGCToGCGrantTournamentItem = 0x1ccc, - k_EMsgGCToGCUpgradeTwitchViewerItems = 0x1ccf, - k_EMsgGCToGCGetLiveMatchAffiliates = 0x1cd0, - k_EMsgGCToGCGetLiveMatchAffiliatesResponse = 0x1cd1, - k_EMsgGCToGCUpdatePlayerPennantCounts = 0x1cd2, - k_EMsgGCToGCGetPlayerPennantCounts = 0x1cd3, - k_EMsgGCToGCGetPlayerPennantCountsResponse = 0x1cd4, - k_EMsgGCGameMatchSignOutPermissionRequest = 0x1cd5, - k_EMsgGCGameMatchSignOutPermissionResponse = 0x1cd6, - k_EMsgDOTAAwardEventPoints = 0x1cd8, - k_EMsgDOTAGetEventPoints = 0x1cdb, - k_EMsgDOTAGetEventPointsResponse = 0x1cdc, - k_EMsgGCPartyLeaderWatchGamePrompt = 0x1ce5, - k_EMsgGCCompendiumSetSelection = 0x1ced, - k_EMsgGCCompendiumDataRequest = 0x1cee, - k_EMsgGCCompendiumDataResponse = 0x1cef, - k_EMsgDOTAGetPlayerMatchHistory = 0x1cf0, - k_EMsgDOTAGetPlayerMatchHistoryResponse = 0x1cf1, - k_EMsgGCToGCMatchmakingAddParty = 0x1cf2, - k_EMsgGCToGCMatchmakingRemoveParty = 0x1cf3, - k_EMsgGCToGCMatchmakingRemoveAllParties = 0x1cf4, - k_EMsgGCToGCMatchmakingMatchFound = 0x1cf5, - k_EMsgGCToGCUpdateMatchManagementStats = 0x1cf6, - k_EMsgGCToGCUpdateMatchmakingStats = 0x1cf7, - k_EMsgGCToServerPingRequest = 0x1cf8, - k_EMsgGCToServerPingResponse = 0x1cf9, - k_EMsgGCToGCProcessMatchLeaver = 0x1d02, - k_EMsgGCNotificationsRequest = 0x1d03, - k_EMsgGCNotificationsResponse = 0x1d04, - k_EMsgGCToGCModifyNotification = 0x1d05, - k_EMsgGCLeagueAdminList = 0x1d0a, - k_EMsgGCNotificationsMarkReadRequest = 0x1d0b, - k_EMsgServerToGCRequestBatchPlayerResources = 0x1d1a, - k_EMsgServerToGCRequestBatchPlayerResourcesResponse = 0x1d1b, - k_EMsgGCCompendiumSetSelectionResponse = 0x1d1d, - k_EMsgGCPlayerInfoSubmit = 0x1d20, - k_EMsgGCPlayerInfoSubmitResponse = 0x1d21, - k_EMsgGCToGCGetAccountLevel = 0x1d22, - k_EMsgGCToGCGetAccountLevelResponse = 0x1d23, - k_EMsgDOTAGetWeekendTourneySchedule = 0x1d28, - k_EMsgDOTAWeekendTourneySchedule = 0x1d29, - k_EMsgGCJoinableCustomGameModesRequest = 0x1d2a, - k_EMsgGCJoinableCustomGameModesResponse = 0x1d2b, - k_EMsgGCJoinableCustomLobbiesRequest = 0x1d2c, - k_EMsgGCJoinableCustomLobbiesResponse = 0x1d2d, - k_EMsgGCQuickJoinCustomLobby = 0x1d2e, - k_EMsgGCQuickJoinCustomLobbyResponse = 0x1d2f, - k_EMsgGCToGCGrantEventPointAction = 0x1d30, - k_EMsgGCToGCSetCompendiumSelection = 0x1d36, - k_EMsgGCHasItemQuery = 0x1d3c, - k_EMsgGCHasItemResponse = 0x1d3d, - k_EMsgGCToGCGrantEventPointActionMsg = 0x1d40, - k_EMsgGCToGCGetCompendiumSelections = 0x1d44, - k_EMsgGCToGCGetCompendiumSelectionsResponse = 0x1d45, - k_EMsgServerToGCMatchConnectionStats = 0x1d46, - k_EMsgGCToClientTournamentItemDrop = 0x1d47, - k_EMsgSQLDelayedGrantLeagueDrop = 0x1d48, - k_EMsgServerGCUpdateSpectatorCount = 0x1d49, - k_EMsgGCToGCEmoticonUnlock = 0x1d4d, - k_EMsgSignOutDraftInfo = 0x1d4e, - k_EMsgClientToGCEmoticonDataRequest = 0x1d4f, - k_EMsgGCToClientEmoticonData = 0x1d50, - k_EMsgGCPracticeLobbyToggleBroadcastChannelCameramanStatus = 0x1d51, - k_EMsgDOTARedeemItem = 0x1d5e, - k_EMsgDOTARedeemItemResponse = 0x1d5f, - k_EMsgClientToGCGetAllHeroProgress = 0x1d61, - k_EMsgClientToGCGetAllHeroProgressResponse = 0x1d62, - k_EMsgGCToGCGetServerForClient = 0x1d63, - k_EMsgGCToGCGetServerForClientResponse = 0x1d64, - k_EMsgSQLProcessTournamentGameOutcome = 0x1d65, - k_EMsgSQLGrantTrophyToAccount = 0x1d66, - k_EMsgClientToGCGetTrophyList = 0x1d67, - k_EMsgClientToGCGetTrophyListResponse = 0x1d68, - k_EMsgGCToClientTrophyAwarded = 0x1d69, - k_EMsgGCGameBotMatchSignOut = 0x1d6a, - k_EMsgGCGameBotMatchSignOutPermissionRequest = 0x1d6b, - k_EMsgSignOutBotInfo = 0x1d6c, - k_EMsgGCToGCUpdateProfileCards = 0x1d6d, - k_EMsgClientToGCGetProfileCard = 0x1d6e, - k_EMsgClientToGCGetProfileCardResponse = 0x1d6f, - k_EMsgClientToGCGetBattleReport = 0x1d70, - k_EMsgClientToGCGetBattleReportResponse = 0x1d71, - k_EMsgClientToGCSetProfileCardSlots = 0x1d72, - k_EMsgGCToClientProfileCardUpdated = 0x1d73, - k_EMsgServerToGCVictoryPredictions = 0x1d74, - k_EMsgClientToGCGetBattleReportAggregateStats = 0x1d75, - k_EMsgClientToGCGetBattleReportAggregateStatsResponse = 0x1d76, - k_EMsgClientToGCGetBattleReportInfo = 0x1d77, - k_EMsgClientToGCGetBattleReportInfoResponse = 0x1d78, - k_EMsgSignOutCommunicationSummary = 0x1d79, - k_EMsgServerToGCRequestStatus_Response = 0x1d7a, - k_EMsgClientToGCCreateHeroStatue = 0x1d7b, - k_EMsgGCToClientHeroStatueCreateResult = 0x1d7c, - k_EMsgGCGCToLANServerRelayConnect = 0x1d7d, - k_EMsgClientToGCAcknowledgeBattleReport = 0x1d7e, - k_EMsgClientToGCAcknowledgeBattleReportResponse = 0x1d7f, - k_EMsgClientToGCGetBattleReportMatchHistory = 0x1d80, - k_EMsgClientToGCGetBattleReportMatchHistoryResponse = 0x1d81, - k_EMsgServerToGCReportKillSummaries = 0x1d82, - k_EMsgGCToGCUpdatePlayerPredictions = 0x1d89, - k_EMsgGCToServerPredictionResult = 0x1d8a, - k_EMsgGCToGCReplayMonitorValidateReplay = 0x1d91, - k_EMsgLobbyEventPoints = 0x1d94, - k_EMsgGCToGCGetCustomGameTickets = 0x1d95, - k_EMsgGCToGCGetCustomGameTicketsResponse = 0x1d96, - k_EMsgGCToGCCustomGamePlayed = 0x1d98, - k_EMsgGCToGCGrantEventPointsToUser = 0x1d99, - k_EMsgGameserverCrashReport = 0x1d9b, - k_EMsgGameserverCrashReportResponse = 0x1d9c, - k_EMsgGCToClientSteamDatagramTicket = 0x1d9d, - k_EMsgGCToGCSendAccountsEventPoints = 0x1d9f, - k_EMsgClientToGCRerollPlayerChallenge = 0x1da0, - k_EMsgServerToGCRerollPlayerChallenge = 0x1da1, - k_EMsgGCRerollPlayerChallengeResponse = 0x1da2, - k_EMsgSignOutUpdatePlayerChallenge = 0x1da3, - k_EMsgClientToGCSetPartyLeader = 0x1da4, - k_EMsgClientToGCCancelPartyInvites = 0x1da5, - k_EMsgSQLGrantLeagueMatchToTicketHolders = 0x1da8, - k_EMsgGCToGCEmoticonUnlockNoRollback = 0x1daa, - k_EMsgClientToGCApplyGemCombiner = 0x1db3, - k_EMsgClientToGCGetAllHeroOrder = 0x1db6, - k_EMsgClientToGCGetAllHeroOrderResponse = 0x1db7, - k_EMsgSQLGCToGCGrantBadgePoints = 0x1db8, - k_EMsgGCToGCCheckOwnsEntireEmoticonRange = 0x1dbb, - k_EMsgGCToGCCheckOwnsEntireEmoticonRangeResponse = 0x1dbc, - k_EMsgGCToClientRequestLaneSelection = 0x1dc7, - k_EMsgGCToClientRequestLaneSelectionResponse = 0x1dc8, - k_EMsgServerToGCCavernCrawlIsHeroActive = 0x1dc9, - k_EMsgServerToGCCavernCrawlIsHeroActiveResponse = 0x1dca, - k_EMsgClientToGCPlayerCardSpecificPurchaseRequest = 0x1dcb, - k_EMsgClientToGCPlayerCardSpecificPurchaseResponse = 0x1dcc, - k_EMsgGCtoServerTensorflowInstance = 0x1dcd, - k_EMsgSQLSetIsLeagueAdmin = 0x1dce, - k_EMsgGCToGCGetLiveLeagueMatches = 0x1dcf, - k_EMsgGCToGCGetLiveLeagueMatchesResponse = 0x1dd0, - k_EMsgDOTALeagueInfoListAdminsRequest = 0x1dd1, - k_EMsgDOTALeagueInfoListAdminsReponse = 0x1dd2, - k_EMsgGCToGCLeagueMatchStarted = 0x1ddd, - k_EMsgGCToGCLeagueMatchCompleted = 0x1dde, - k_EMsgGCToGCLeagueMatchStartedResponse = 0x1ddf, - k_EMsgDOTALeagueAvailableLobbyNodesRequest = 0x1de2, - k_EMsgDOTALeagueAvailableLobbyNodes = 0x1de3, - k_EMsgGCToGCLeagueRequest = 0x1de4, - k_EMsgGCToGCLeagueResponse = 0x1de5, - k_EMsgGCToGCLeagueNodeGroupRequest = 0x1de6, - k_EMsgGCToGCLeagueNodeGroupResponse = 0x1de7, - k_EMsgGCToGCLeagueNodeRequest = 0x1de8, - k_EMsgGCToGCLeagueNodeResponse = 0x1de9, - k_EMsgGCToGCRealtimeStatsTerseRequest = 0x1dea, - k_EMsgGCToGCRealtimeStatsTerseResponse = 0x1deb, - k_EMsgGCToGCGetTopMatchesRequest = 0x1dec, - k_EMsgGCToGCGetTopMatchesResponse = 0x1ded, - k_EMsgClientToGCGetFilteredPlayers = 0x1dee, - k_EMsgGCToClientGetFilteredPlayersResponse = 0x1def, - k_EMsgClientToGCRemoveFilteredPlayer = 0x1df0, - k_EMsgGCToClientRemoveFilteredPlayerResponse = 0x1df1, - k_EMsgGCToClientPlayerBeaconState = 0x1df2, - k_EMsgGCToClientPartyBeaconUpdate = 0x1df3, - k_EMsgGCToClientPartySearchInvite = 0x1df4, - k_EMsgClientToGCUpdatePartyBeacon = 0x1df5, - k_EMsgClientToGCRequestActiveBeaconParties = 0x1df6, - k_EMsgGCToClientRequestActiveBeaconPartiesResponse = 0x1df7, - k_EMsgClientToGCManageFavorites = 0x1df8, - k_EMsgGCToClientManageFavoritesResponse = 0x1df9, - k_EMsgClientToGCJoinPartyFromBeacon = 0x1dfa, - k_EMsgGCToClientJoinPartyFromBeaconResponse = 0x1dfb, - k_EMsgClientToGCGetFavoritePlayers = 0x1dfc, - k_EMsgGCToClientGetFavoritePlayersResponse = 0x1dfd, - k_EMsgClientToGCVerifyFavoritePlayers = 0x1dfe, - k_EMsgGCToClientVerifyFavoritePlayersResponse = 0x1dff, - k_EMsgGCToClientPartySearchInvites = 0x1e00, - k_EMsgGCToClientRequestMMInfo = 0x1e01, - k_EMsgClientToGCMMInfo = 0x1e02, - k_EMsgSignOutTextMuteInfo = 0x1e03, - k_EMsgClientToGCPurchaseLabyrinthBlessings = 0x1e04, - k_EMsgClientToGCPurchaseLabyrinthBlessingsResponse = 0x1e05, - k_EMsgClientToGCPurchaseFilteredPlayerSlot = 0x1e06, - k_EMsgGCToClientPurchaseFilteredPlayerSlotResponse = 0x1e07, - k_EMsgClientToGCUpdateFilteredPlayerNote = 0x1e08, - k_EMsgGCToClientUpdateFilteredPlayerNoteResponse = 0x1e09, - k_EMsgClientToGCClaimSwag = 0x1e0a, - k_EMsgGCToClientClaimSwagResponse = 0x1e0b, - k_EMsgServerToGCLockCharmTrading = 0x1f44, - k_EMsgClientToGCPlayerStatsRequest = 0x1f46, - k_EMsgGCToClientPlayerStatsResponse = 0x1f47, - k_EMsgGCClearPracticeLobbyTeam = 0x1f48, - k_EMsgClientToGCFindTopSourceTVGames = 0x1f49, - k_EMsgGCToClientFindTopSourceTVGamesResponse = 0x1f4a, - k_EMsgGCLobbyList = 0x1f4b, - k_EMsgGCLobbyListResponse = 0x1f4c, - k_EMsgGCPlayerStatsMatchSignOut = 0x1f4d, - k_EMsgClientToGCSocialFeedPostCommentRequest = 0x1f50, - k_EMsgGCToClientSocialFeedPostCommentResponse = 0x1f51, - k_EMsgClientToGCCustomGamesFriendsPlayedRequest = 0x1f52, - k_EMsgGCToClientCustomGamesFriendsPlayedResponse = 0x1f53, - k_EMsgClientToGCFriendsPlayedCustomGameRequest = 0x1f54, - k_EMsgGCToClientFriendsPlayedCustomGameResponse = 0x1f55, - k_EMsgGCTopCustomGamesList = 0x1f58, - k_EMsgClientToGCSetPartyOpen = 0x1f5d, - k_EMsgClientToGCMergePartyInvite = 0x1f5e, - k_EMsgGCToClientMergeGroupInviteReply = 0x1f5f, - k_EMsgClientToGCMergePartyResponse = 0x1f60, - k_EMsgGCToClientMergePartyResponseReply = 0x1f61, - k_EMsgClientToGCGetProfileCardStats = 0x1f62, - k_EMsgClientToGCGetProfileCardStatsResponse = 0x1f63, - k_EMsgClientToGCTopLeagueMatchesRequest = 0x1f64, - k_EMsgClientToGCTopFriendMatchesRequest = 0x1f65, - k_EMsgGCToClientProfileCardStatsUpdated = 0x1f68, - k_EMsgServerToGCRealtimeStats = 0x1f69, - k_EMsgGCToServerRealtimeStatsStartStop = 0x1f6a, - k_EMsgGCToGCGetServersForClients = 0x1f6d, - k_EMsgGCToGCGetServersForClientsResponse = 0x1f6e, - k_EMsgGCPracticeLobbyKickFromTeam = 0x1f6f, - k_EMsgDOTAChatGetMemberCount = 0x1f70, - k_EMsgDOTAChatGetMemberCountResponse = 0x1f71, - k_EMsgClientToGCSocialFeedPostMessageRequest = 0x1f72, - k_EMsgGCToClientSocialFeedPostMessageResponse = 0x1f73, - k_EMsgCustomGameListenServerStartedLoading = 0x1f74, - k_EMsgCustomGameClientFinishedLoading = 0x1f75, - k_EMsgGCPracticeLobbyCloseBroadcastChannel = 0x1f76, - k_EMsgGCStartFindingMatchResponse = 0x1f77, - k_EMsgSQLGCToGCGrantAccountFlag = 0x1f79, - k_EMsgGCToClientTopLeagueMatchesResponse = 0x1f7d, - k_EMsgGCToClientTopFriendMatchesResponse = 0x1f7e, - k_EMsgClientToGCMatchesMinimalRequest = 0x1f7f, - k_EMsgClientToGCMatchesMinimalResponse = 0x1f80, - k_EMsgGCToClientChatRegionsEnabled = 0x1f83, - k_EMsgClientToGCPingData = 0x1f84, - k_EMsgGCToGCEnsureAccountInParty = 0x1f87, - k_EMsgGCToGCEnsureAccountInPartyResponse = 0x1f88, - k_EMsgClientToGCGetProfileTickets = 0x1f89, - k_EMsgClientToGCGetProfileTicketsResponse = 0x1f8a, - k_EMsgGCToClientMatchGroupsVersion = 0x1f8b, - k_EMsgClientToGCH264Unsupported = 0x1f8c, - k_EMsgClientToGCGetQuestProgress = 0x1f8e, - k_EMsgClientToGCGetQuestProgressResponse = 0x1f8f, - k_EMsgSignOutXPCoins = 0x1f90, - k_EMsgGCToClientMatchSignedOut = 0x1f91, - k_EMsgGCGetHeroStatsHistory = 0x1f92, - k_EMsgGCGetHeroStatsHistoryResponse = 0x1f93, - k_EMsgClientToGCPrivateChatInvite = 0x1f94, - k_EMsgClientToGCPrivateChatKick = 0x1f98, - k_EMsgClientToGCPrivateChatPromote = 0x1f99, - k_EMsgClientToGCPrivateChatDemote = 0x1f9a, - k_EMsgGCToClientPrivateChatResponse = 0x1f9b, - k_EMsgClientToGCLatestConductScorecardRequest = 0x1f9f, - k_EMsgClientToGCLatestConductScorecard = 0x1fa0, - k_EMsgClientToGCWageringRequest = 0x1fa3, - k_EMsgGCToClientWageringResponse = 0x1fa4, - k_EMsgClientToGCEventGoalsRequest = 0x1fa7, - k_EMsgClientToGCEventGoalsResponse = 0x1fa8, - k_EMsgGCToGCLeaguePredictionsUpdate = 0x1fac, - k_EMsgGCToGCAddUserToPostGameChat = 0x1fae, - k_EMsgClientToGCHasPlayerVotedForMVP = 0x1faf, - k_EMsgClientToGCHasPlayerVotedForMVPResponse = 0x1fb0, - k_EMsgClientToGCVoteForMVP = 0x1fb1, - k_EMsgClientToGCVoteForMVPResponse = 0x1fb2, - k_EMsgGCToGCGetEventOwnership = 0x1fb3, - k_EMsgGCToGCGetEventOwnershipResponse = 0x1fb4, - k_EMsgGCToClientAutomatedTournamentStateChange = 0x1fb5, - k_EMsgClientToGCWeekendTourneyOpts = 0x1fb6, - k_EMsgClientToGCWeekendTourneyOptsResponse = 0x1fb7, - k_EMsgClientToGCWeekendTourneyLeave = 0x1fb8, - k_EMsgClientToGCWeekendTourneyLeaveResponse = 0x1fb9, - k_EMsgClientToGCTeammateStatsRequest = 0x1fbc, - k_EMsgClientToGCTeammateStatsResponse = 0x1fbd, - k_EMsgClientToGCGetGiftPermissions = 0x1fbe, - k_EMsgClientToGCGetGiftPermissionsResponse = 0x1fbf, - k_EMsgClientToGCVoteForArcana = 0x1fc0, - k_EMsgClientToGCVoteForArcanaResponse = 0x1fc1, - k_EMsgClientToGCRequestArcanaVotesRemaining = 0x1fc2, - k_EMsgClientToGCRequestArcanaVotesRemainingResponse = 0x1fc3, - k_EMsgGCTransferTeamAdminResponse = 0x1fc4, - k_EMsgGCToClientTeamInfo = 0x1fc7, - k_EMsgGCToClientTeamsInfo = 0x1fc8, - k_EMsgClientToGCMyTeamInfoRequest = 0x1fc9, - k_EMsgClientToGCPublishUserStat = 0x1fcc, - k_EMsgGCToGCSignoutSpendWager = 0x1fcd, - k_EMsgGCSubmitLobbyMVPVote = 0x1fd0, - k_EMsgGCSubmitLobbyMVPVoteResponse = 0x1fd1, - k_EMsgSignOutCommunityGoalProgress = 0x1fd6, - k_EMsgGCToClientLobbyMVPAwarded = 0x1fd8, - k_EMsgGCToClientQuestProgressUpdated = 0x1fd9, - k_EMsgGCToClientWageringUpdate = 0x1fda, - k_EMsgGCToClientArcanaVotesUpdate = 0x1fdb, - k_EMsgClientToGCSetSpectatorLobbyDetails = 0x1fdd, - k_EMsgClientToGCSetSpectatorLobbyDetailsResponse = 0x1fde, - k_EMsgClientToGCCreateSpectatorLobby = 0x1fdf, - k_EMsgClientToGCCreateSpectatorLobbyResponse = 0x1fe0, - k_EMsgClientToGCSpectatorLobbyList = 0x1fe1, - k_EMsgClientToGCSpectatorLobbyListResponse = 0x1fe2, - k_EMsgSpectatorLobbyGameDetails = 0x1fe3, - k_EMsgServerToGCCompendiumInGamePredictionResults = 0x1fe6, - k_EMsgServerToGCCloseCompendiumInGamePredictionVoting = 0x1fe7, - k_EMsgClientToGCOpenPlayerCardPack = 0x1fe8, - k_EMsgClientToGCOpenPlayerCardPackResponse = 0x1fe9, - k_EMsgClientToGCSelectCompendiumInGamePrediction = 0x1fea, - k_EMsgClientToGCSelectCompendiumInGamePredictionResponse = 0x1feb, - k_EMsgClientToGCWeekendTourneyGetPlayerStats = 0x1fec, - k_EMsgClientToGCWeekendTourneyGetPlayerStatsResponse = 0x1fed, - k_EMsgClientToGCRecyclePlayerCard = 0x1fee, - k_EMsgClientToGCRecyclePlayerCardResponse = 0x1fef, - k_EMsgClientToGCCreatePlayerCardPack = 0x1ff0, - k_EMsgClientToGCCreatePlayerCardPackResponse = 0x1ff1, - k_EMsgClientToGCGetPlayerCardRosterRequest = 0x1ff2, - k_EMsgClientToGCGetPlayerCardRosterResponse = 0x1ff3, - k_EMsgClientToGCSetPlayerCardRosterRequest = 0x1ff4, - k_EMsgClientToGCSetPlayerCardRosterResponse = 0x1ff5, - k_EMsgServerToGCCloseCompendiumInGamePredictionVotingResponse = 0x1ff7, - k_EMsgLobbyBattleCupVictory = 0x1ffa, - k_EMsgGCGetPlayerCardItemInfo = 0x1ffb, - k_EMsgGCGetPlayerCardItemInfoResponse = 0x1ffc, - k_EMsgClientToGCRequestSteamDatagramTicket = 0x1ffd, - k_EMsgClientToGCRequestSteamDatagramTicketResponse = 0x1ffe, - k_EMsgGCToClientBattlePassRollupRequest = 0x1fff, - k_EMsgGCToClientBattlePassRollupResponse = 0x2000, - k_EMsgClientToGCTransferSeasonalMMRRequest = 0x2001, - k_EMsgClientToGCTransferSeasonalMMRResponse = 0x2002, - k_EMsgGCToGCPublicChatCommunicationBan = 0x2003, - k_EMsgGCToGCUpdateAccountInfo = 0x2004, - k_EMsgGCChatReportPublicSpam = 0x2005, - k_EMsgClientToGCSetPartyBuilderOptions = 0x2006, - k_EMsgClientToGCSetPartyBuilderOptionsResponse = 0x2007, - k_EMsgGCToClientPlaytestStatus = 0x2008, - k_EMsgClientToGCJoinPlaytest = 0x2009, - k_EMsgClientToGCJoinPlaytestResponse = 0x200a, - k_EMsgLobbyPlaytestDetails = 0x200b, - k_EMsgDOTASetFavoriteTeam = 0x200c, - k_EMsgGCToClientBattlePassRollupListRequest = 0x200d, - k_EMsgGCToClientBattlePassRollupListResponse = 0x200e, - k_EMsgDOTAClaimEventAction = 0x2011, - k_EMsgDOTAClaimEventActionResponse = 0x2012, - k_EMsgDOTAGetPeriodicResource = 0x2013, - k_EMsgDOTAGetPeriodicResourceResponse = 0x2014, - k_EMsgDOTAPeriodicResourceUpdated = 0x2015, - k_EMsgServerToGCSpendWager = 0x2016, - k_EMsgGCToGCSignoutSpendWagerToken = 0x2017, - k_EMsgSubmitTriviaQuestionAnswer = 0x2018, - k_EMsgSubmitTriviaQuestionAnswerResponse = 0x2019, - k_EMsgClientToGCGiveTip = 0x201a, - k_EMsgClientToGCGiveTipResponse = 0x201b, - k_EMsgStartTriviaSession = 0x201c, - k_EMsgStartTriviaSessionResponse = 0x201d, - k_EMsgAnchorPhoneNumberRequest = 0x201e, - k_EMsgAnchorPhoneNumberResponse = 0x201f, - k_EMsgUnanchorPhoneNumberRequest = 0x2020, - k_EMsgUnanchorPhoneNumberResponse = 0x2021, - k_EMsgGCToGCSignoutSpendRankWager = 0x2025, - k_EMsgGCToGCGetFavoriteTeam = 0x2026, - k_EMsgGCToGCGetFavoriteTeamResponse = 0x2027, - k_EMsgSignOutEventGameData = 0x2028, - k_EMsgClientToGCQuickStatsRequest = 0x202e, - k_EMsgClientToGCQuickStatsResponse = 0x202f, - k_EMsgGCToGCSubtractEventPointsFromUser = 0x2030, - k_EMsgSelectionPriorityChoiceRequest = 0x2031, - k_EMsgSelectionPriorityChoiceResponse = 0x2032, - k_EMsgGCToGCCompendiumInGamePredictionResults = 0x2033, - k_EMsgGameAutographReward = 0x2034, - k_EMsgGameAutographRewardResponse = 0x2035, - k_EMsgDestroyLobbyRequest = 0x2036, - k_EMsgDestroyLobbyResponse = 0x2037, - k_EMsgPurchaseItemWithEventPoints = 0x2038, - k_EMsgPurchaseItemWithEventPointsResponse = 0x2039, - k_EMsgServerToGCMatchPlayerItemPurchaseHistory = 0x203a, - k_EMsgGCToGCGrantPlusHeroMatchResults = 0x203b, - k_EMsgServerToGCMatchStateHistory = 0x203f, - k_EMsgPurchaseHeroRandomRelic = 0x2042, - k_EMsgPurchaseHeroRandomRelicResponse = 0x2043, - k_EMsgClientToGCClaimEventActionUsingItem = 0x2044, - k_EMsgClientToGCClaimEventActionUsingItemResponse = 0x2045, - k_EMsgPartyReadyCheckRequest = 0x2046, - k_EMsgPartyReadyCheckResponse = 0x2047, - k_EMsgPartyReadyCheckAcknowledge = 0x2048, - k_EMsgGetRecentPlayTimeFriendsRequest = 0x2049, - k_EMsgGetRecentPlayTimeFriendsResponse = 0x204a, - k_EMsgGCToClientCommendNotification = 0x204b, - k_EMsgProfileRequest = 0x204c, - k_EMsgProfileResponse = 0x204d, - k_EMsgProfileUpdate = 0x204e, - k_EMsgProfileUpdateResponse = 0x204f, - k_EMsgHeroGlobalDataRequest = 0x2052, - k_EMsgHeroGlobalDataResponse = 0x2053, - k_EMsgClientToGCRequestPlusWeeklyChallengeResult = 0x2054, - k_EMsgClientToGCRequestPlusWeeklyChallengeResultResponse = 0x2055, - k_EMsgGCToGCGrantPlusPrepaidTime = 0x2056, - k_EMsgPrivateMetadataKeyRequest = 0x2057, - k_EMsgPrivateMetadataKeyResponse = 0x2058, - k_EMsgGCToGCReconcilePlusStatus = 0x2059, - k_EMsgGCToGCCheckPlusStatus = 0x205a, - k_EMsgGCToGCCheckPlusStatusResponse = 0x205b, - k_EMsgGCToGCReconcilePlusAutoGrantItems = 0x205c, - k_EMsgGCToGCReconcilePlusStatusUnreliable = 0x205d, - k_EMsgGCToClientCavernCrawlMapPathCompleted = 0x2060, - k_EMsgClientToGCCavernCrawlClaimRoom = 0x2061, - k_EMsgClientToGCCavernCrawlClaimRoomResponse = 0x2062, - k_EMsgClientToGCCavernCrawlUseItemOnRoom = 0x2063, - k_EMsgClientToGCCavernCrawlUseItemOnRoomResponse = 0x2064, - k_EMsgClientToGCCavernCrawlUseItemOnPath = 0x2065, - k_EMsgClientToGCCavernCrawlUseItemOnPathResponse = 0x2066, - k_EMsgClientToGCCavernCrawlRequestMapState = 0x2067, - k_EMsgClientToGCCavernCrawlRequestMapStateResponse = 0x2068, - k_EMsgSignOutTips = 0x2069, - k_EMsgClientToGCRequestEventPointLogV2 = 0x206a, - k_EMsgClientToGCRequestEventPointLogResponseV2 = 0x206b, - k_EMsgClientToGCRequestEventTipsSummary = 0x206c, - k_EMsgClientToGCRequestEventTipsSummaryResponse = 0x206d, - k_EMsgClientToGCRequestSocialFeed = 0x206f, - k_EMsgClientToGCRequestSocialFeedResponse = 0x2070, - k_EMsgClientToGCRequestSocialFeedComments = 0x2071, - k_EMsgClientToGCRequestSocialFeedCommentsResponse = 0x2072, - k_EMsgClientToGCCavernCrawlGetClaimedRoomCount = 0x2074, - k_EMsgClientToGCCavernCrawlGetClaimedRoomCountResponse = 0x2075, - k_EMsgGCToGCReconcilePlusAutoGrantItemsUnreliable = 0x2076, - k_EMsgServerToGCAddBroadcastTimelineEvent = 0x2077, - k_EMsgGCToServerUpdateSteamBroadcasting = 0x2078, - k_EMsgClientToGCRecordContestVote = 0x2079, - k_EMsgGCToClientRecordContestVoteResponse = 0x207a, - k_EMsgGCToGCGrantAutograph = 0x207b, - k_EMsgGCToGCGrantAutographResponse = 0x207c, - k_EMsgSignOutConsumableUsage = 0x207d, - k_EMsgLobbyEventGameDetails = 0x207e, - k_EMsgDevGrantEventPoints = 0x207f, - k_EMsgDevGrantEventPointsResponse = 0x2080, - k_EMsgDevGrantEventAction = 0x2081, - k_EMsgDevGrantEventActionResponse = 0x2082, - k_EMsgDevResetEventState = 0x2083, - k_EMsgDevResetEventStateResponse = 0x2084, - k_EMsgGCToGCReconcileEventOwnership = 0x2085, - k_EMsgConsumeEventSupportGrantItem = 0x2086, - k_EMsgConsumeEventSupportGrantItemResponse = 0x2087, - k_EMsgGCToClientClaimEventActionUsingItemCompleted = 0x2088, - k_EMsgGCToClientCavernCrawlMapUpdated = 0x2089, - k_EMsgServerToGCRequestPlayerRecentAccomplishments = 0x208a, - k_EMsgServerToGCRequestPlayerRecentAccomplishmentsResponse = 0x208b, - k_EMsgClientToGCRequestPlayerRecentAccomplishments = 0x208c, - k_EMsgClientToGCRequestPlayerRecentAccomplishmentsResponse = 0x208d, - k_EMsgClientToGCRequestPlayerHeroRecentAccomplishments = 0x208e, - k_EMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse = 0x208f, - k_EMsgSignOutEventActionGrants = 0x2090, - k_EMsgClientToGCRequestPlayerCoachMatches = 0x2091, - k_EMsgClientToGCRequestPlayerCoachMatchesResponse = 0x2092, - k_EMsgClientToGCSubmitCoachTeammateRating = 0x2095, - k_EMsgClientToGCSubmitCoachTeammateRatingResponse = 0x2096, - k_EMsgGCToClientCoachTeammateRatingsChanged = 0x2097, - k_EMsgClientToGCRequestPlayerCoachMatch = 0x2099, - k_EMsgClientToGCRequestPlayerCoachMatchResponse = 0x209a, - k_EMsgClientToGCRequestContestVotes = 0x209b, - k_EMsgClientToGCRequestContestVotesResponse = 0x209c, - k_EMsgClientToGCMVPVoteTimeout = 0x209d, - k_EMsgClientToGCMVPVoteTimeoutResponse = 0x209e, - k_EMsgDetailedGameStats = 0x20a1, - k_EMsgMatchMatchmakingStats = 0x20a8, - k_EMsgClientToGCSubmitPlayerMatchSurvey = 0x20a9, - k_EMsgClientToGCSubmitPlayerMatchSurveyResponse = 0x20aa, - k_EMsgSQLGCToGCGrantAllHeroProgressAccount = 0x20ab, - k_EMsgSQLGCToGCGrantAllHeroProgressVictory = 0x20ac, - k_EMsgDevDeleteEventActions = 0x20ad, - k_EMsgDevDeleteEventActionsResponse = 0x20ae, - k_EMsgGCToGCGetAllHeroCurrent = 0x21bb, - k_EMsgGCToGCGetAllHeroCurrentResponse = 0x21bc, - k_EMsgGCSubmitPlayerAvoidRequest = 0x21bd, - k_EMsgGCSubmitPlayerAvoidRequestResponse = 0x21be, - k_EMsgGCToClientNotificationsUpdated = 0x21bf, - k_EMsgGCtoGCAssociatedExploiterAccountInfo = 0x21c0, - k_EMsgGCtoGCAssociatedExploiterAccountInfoResponse = 0x21c1, - k_EMsgGCtoGCRequestRecalibrationCheck = 0x21c2, - k_EMsgGCToClientVACReminder = 0x21c3, - k_EMsgClientToGCUnderDraftBuy = 0x21c4, - k_EMsgClientToGCUnderDraftBuyResponse = 0x21c5, - k_EMsgClientToGCUnderDraftReroll = 0x21c6, - k_EMsgClientToGCUnderDraftRerollResponse = 0x21c7, - k_EMsgNeutralItemStats = 0x21c8, - k_EMsgClientToGCCreateGuild = 0x21c9, - k_EMsgClientToGCCreateGuildResponse = 0x21ca, - k_EMsgClientToGCSetGuildInfo = 0x21cb, - k_EMsgClientToGCSetGuildInfoResponse = 0x21cc, - k_EMsgClientToGCAddGuildRole = 0x21cd, - k_EMsgClientToGCAddGuildRoleResponse = 0x21ce, - k_EMsgClientToGCModifyGuildRole = 0x21cf, - k_EMsgClientToGCModifyGuildRoleResponse = 0x21d0, - k_EMsgClientToGCRemoveGuildRole = 0x21d1, - k_EMsgClientToGCRemoveGuildRoleResponse = 0x21d2, - k_EMsgClientToGCJoinGuild = 0x21d3, - k_EMsgClientToGCJoinGuildResponse = 0x21d4, - k_EMsgClientToGCLeaveGuild = 0x21d5, - k_EMsgClientToGCLeaveGuildResponse = 0x21d6, - k_EMsgClientToGCInviteToGuild = 0x21d7, - k_EMsgClientToGCInviteToGuildResponse = 0x21d8, - k_EMsgClientToGCDeclineInviteToGuild = 0x21d9, - k_EMsgClientToGCDeclineInviteToGuildResponse = 0x21da, - k_EMsgClientToGCCancelInviteToGuild = 0x21db, - k_EMsgClientToGCCancelInviteToGuildResponse = 0x21dc, - k_EMsgClientToGCKickGuildMember = 0x21dd, - k_EMsgClientToGCKickGuildMemberResponse = 0x21de, - k_EMsgClientToGCSetGuildMemberRole = 0x21df, - k_EMsgClientToGCSetGuildMemberRoleResponse = 0x21e0, - k_EMsgClientToGCRequestGuildData = 0x21e1, - k_EMsgClientToGCRequestGuildDataResponse = 0x21e2, - k_EMsgGCToClientGuildDataUpdated = 0x21e3, - k_EMsgClientToGCRequestGuildMembership = 0x21e4, - k_EMsgClientToGCRequestGuildMembershipResponse = 0x21e5, - k_EMsgGCToClientGuildMembershipUpdated = 0x21e6, - k_EMsgClientToGCAcceptInviteToGuild = 0x21e9, - k_EMsgClientToGCAcceptInviteToGuildResponse = 0x21ea, - k_EMsgClientToGCSetGuildRoleOrder = 0x21eb, - k_EMsgClientToGCSetGuildRoleOrderResponse = 0x21ec, - k_EMsgClientToGCRequestGuildFeed = 0x21ed, - k_EMsgClientToGCRequestGuildFeedResponse = 0x21ee, - k_EMsgClientToGCRequestAccountGuildEventData = 0x21ef, - k_EMsgClientToGCRequestAccountGuildEventDataResponse = 0x21f0, - k_EMsgGCToClientAccountGuildEventDataUpdated = 0x21f1, - k_EMsgClientToGCRequestActiveGuildContracts = 0x21f2, - k_EMsgClientToGCRequestActiveGuildContractsResponse = 0x21f3, - k_EMsgGCToClientActiveGuildContractsUpdated = 0x21f4, - k_EMsgGCToClientGuildFeedUpdated = 0x21f5, - k_EMsgClientToGCSelectGuildContract = 0x21f6, - k_EMsgClientToGCSelectGuildContractResponse = 0x21f7, - k_EMsgGCToGCCompleteGuildContracts = 0x21f8, - k_EMsgClientToGCAddPlayerToGuildChat = 0x21fa, - k_EMsgClientToGCAddPlayerToGuildChatResponse = 0x21fb, - k_EMsgClientToGCUnderDraftSell = 0x21fc, - k_EMsgClientToGCUnderDraftSellResponse = 0x21fd, - k_EMsgClientToGCUnderDraftRequest = 0x21fe, - k_EMsgClientToGCUnderDraftResponse = 0x21ff, - k_EMsgClientToGCUnderDraftRedeemReward = 0x2200, - k_EMsgClientToGCUnderDraftRedeemRewardResponse = 0x2201, - k_EMsgGCToServerLobbyHeroBanRates = 0x2204, - k_EMsgSignOutGuildContractProgress = 0x2207, - k_EMsgSignOutMVPStats = 0x2208, - k_EMsgClientToGCRequestActiveGuildChallenge = 0x2209, - k_EMsgClientToGCRequestActiveGuildChallengeResponse = 0x220a, - k_EMsgGCToClientActiveGuildChallengeUpdated = 0x220b, - k_EMsgSignOutGuildChallengeProgress = 0x2210, - k_EMsgClientToGCRequestGuildEventMembers = 0x2211, - k_EMsgClientToGCRequestGuildEventMembersResponse = 0x2212, - k_EMsgClientToGCReportGuildContent = 0x2215, - k_EMsgClientToGCReportGuildContentResponse = 0x2216, - k_EMsgClientToGCRequestAccountGuildPersonaInfo = 0x2217, - k_EMsgClientToGCRequestAccountGuildPersonaInfoResponse = 0x2218, - k_EMsgClientToGCRequestAccountGuildPersonaInfoBatch = 0x2219, - k_EMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse = 0x221a, - k_EMsgGCToClientUnderDraftGoldUpdated = 0x221b, - k_EMsgGCToServerRecordTrainingData = 0x221c, - k_EMsgSignOutBounties = 0x221d, - k_EMsgLobbyFeaturedGamemodeProgress = 0x221e, - k_EMsgLobbyGauntletProgress = 0x221f, - k_EMsgClientToGCSubmitDraftTriviaMatchAnswer = 0x2220, - k_EMsgClientToGCSubmitDraftTriviaMatchAnswerResponse = 0x2221, - k_EMsgGCToGCSignoutSpendBounty = 0x2222, - k_EMsgClientToGCApplyGauntletTicket = 0x2223, - k_EMsgClientToGCUnderDraftRollBackBench = 0x2224, - k_EMsgClientToGCUnderDraftRollBackBenchResponse = 0x2225, - k_EMsgGCToGCGetEventActionScore = 0x2226, - k_EMsgGCToGCGetEventActionScoreResponse = 0x2227, - k_EMsgServerToGCGetGuildContracts = 0x2228, - k_EMsgServerToGCGetGuildContractsResponse = 0x2229, - k_EMsgLobbyEventGameData = 0x222a, - k_EMsgGCToClientGuildMembersDataUpdated = 0x222b, - k_EMsgSignOutReportActivityMarkers = 0x222c, - k_EMsgSignOutDiretideCandy = 0x222d, - k_EMsgGCToClientPostGameItemAwardNotification = 0x222e, - k_EMsgClientToGCGetOWMatchDetails = 0x222f, - k_EMsgClientToGCGetOWMatchDetailsResponse = 0x2230, - k_EMsgClientToGCSubmitOWConviction = 0x2231, - k_EMsgClientToGCSubmitOWConvictionResponse = 0x2232, - k_EMsgGCToGCGetAccountSteamChina = 0x2233, - k_EMsgGCToGCGetAccountSteamChinaResponse = 0x2234, - k_EMsgClientToGCClaimLeaderboardRewards = 0x2235, - k_EMsgClientToGCClaimLeaderboardRewardsResponse = 0x2236, - k_EMsgClientToGCRecalibrateMMR = 0x2237, - k_EMsgClientToGCRecalibrateMMRResponse = 0x2238, - k_EMsgGCToGCGrantEventPointActionList = 0x2239, - k_EMsgClientToGCChinaSSAURLRequest = 0x223c, - k_EMsgClientToGCChinaSSAURLResponse = 0x223d, - k_EMsgClientToGCChinaSSAAcceptedRequest = 0x223e, - k_EMsgClientToGCChinaSSAAcceptedResponse = 0x223f, - k_EMsgSignOutOverwatchSuspicion = 0x2240, - k_EMsgServerToGCGetSuspicionConfig = 0x2241, - k_EMsgServerToGCGetSuspicionConfigResponse = 0x2242, - k_EMsgGCToGCGrantPlusHeroChallengeMatchResults = 0x2243, - k_EMsgGCToClientOverwatchCasesAvailable = 0x2244, - k_EMsgServerToGCAccountCheck = 0x2245, - k_EMsgClientToGCStartWatchingOverwatch = 0x2246, - k_EMsgClientToGCStopWatchingOverwatch = 0x2247, - k_EMsgSignOutPerfData = 0x2248, - k_EMsgClientToGCGetDPCFavorites = 0x2249, - k_EMsgClientToGCGetDPCFavoritesResponse = 0x224a, - k_EMsgClientToGCSetDPCFavoriteState = 0x224b, - k_EMsgClientToGCSetDPCFavoriteStateResponse = 0x224c, - k_EMsgClientToGCOverwatchReplayError = 0x224d, - k_EMsgServerToGCPlayerChallengeHistory = 0x224e, - k_EMsgSignOutBanData = 0x224f, - k_EMsgWebapiDPCSeasonResults = 0x2250, - k_EMsgClientToGCCoachFriend = 0x2251, - k_EMsgClientToGCCoachFriendResponse = 0x2252, - k_EMsgClientToGCRequestPrivateCoachingSession = 0x2253, - k_EMsgClientToGCRequestPrivateCoachingSessionResponse = 0x2254, - k_EMsgClientToGCAcceptPrivateCoachingSession = 0x2255, - k_EMsgClientToGCAcceptPrivateCoachingSessionResponse = 0x2256, - k_EMsgClientToGCLeavePrivateCoachingSession = 0x2257, - k_EMsgClientToGCLeavePrivateCoachingSessionResponse = 0x2258, - k_EMsgClientToGCGetCurrentPrivateCoachingSession = 0x2259, - k_EMsgClientToGCGetCurrentPrivateCoachingSessionResponse = 0x225a, - k_EMsgGCToClientPrivateCoachingSessionUpdated = 0x225b, - k_EMsgClientToGCSubmitPrivateCoachingSessionRating = 0x225c, - k_EMsgClientToGCSubmitPrivateCoachingSessionRatingResponse = 0x225d, - k_EMsgClientToGCGetAvailablePrivateCoachingSessions = 0x225e, - k_EMsgClientToGCGetAvailablePrivateCoachingSessionsResponse = 0x225f, - k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummary = 0x2260, - k_EMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse = 0x2261, - k_EMsgClientToGCJoinPrivateCoachingSessionLobby = 0x2262, - k_EMsgClientToGCJoinPrivateCoachingSessionLobbyResponse = 0x2263, - k_EMsgClientToGCRespondToCoachFriendRequest = 0x2264, - k_EMsgClientToGCRespondToCoachFriendRequestResponse = 0x2265, - k_EMsgClientToGCSetEventActiveSeasonID = 0x2266, - k_EMsgClientToGCSetEventActiveSeasonIDResponse = 0x2267, - k_EMsgServerToGCMatchPlayerNeutralItemEquipHistory = 0x2268, - k_EMsgServerToGCCompendiumChosenInGamePredictions = 0x2269, - k_EMsgClientToGCCreateTeamPlayerCardPack = 0x226a, - k_EMsgClientToGCCreateTeamPlayerCardPackResponse = 0x226b, - k_EMsgGCToServerSubmitCheerData = 0x226c, - k_EMsgGCToServerCheerConfig = 0x226d, - k_EMsgServerToGCGetCheerConfig = 0x226e, - k_EMsgServerToGCGetCheerConfigResponse = 0x226f, - k_EMsgGCToGCGrantAutographByID = 0x2270, - k_EMsgGCToServerCheerScalesOverride = 0x2271, - k_EMsgGCToServerGetCheerState = 0x2272, - k_EMsgServerToGCReportCheerState = 0x2273, - k_EMsgGCToServerScenarioSave = 0x2274, - k_EMsgGCToServerAbilityDraftLobbyData = 0x2275, - k_EMsgSignOutReportCommunications = 0x2276, - k_EMsgClientToGCBatchGetPlayerCardRosterRequest = 0x2277, - k_EMsgClientToGCBatchGetPlayerCardRosterResponse = 0x2278, - k_EMsgClientToGCGetStickerbookRequest = 0x2279, - k_EMsgClientToGCGetStickerbookResponse = 0x227a, - k_EMsgClientToGCCreateStickerbookPageRequest = 0x227b, - k_EMsgClientToGCCreateStickerbookPageResponse = 0x227c, - k_EMsgClientToGCDeleteStickerbookPageRequest = 0x227d, - k_EMsgClientToGCDeleteStickerbookPageResponse = 0x227e, - k_EMsgClientToGCPlaceStickersRequest = 0x227f, - k_EMsgClientToGCPlaceStickersResponse = 0x2280, - k_EMsgClientToGCPlaceCollectionStickersRequest = 0x2281, - k_EMsgClientToGCPlaceCollectionStickersResponse = 0x2282, - k_EMsgClientToGCOrderStickerbookTeamPageRequest = 0x2283, - k_EMsgClientToGCOrderStickerbookTeamPageResponse = 0x2284, - k_EMsgServerToGCGetStickerHeroes = 0x2285, - k_EMsgServerToGCGetStickerHeroesResponse = 0x2286, - k_EMsgClientToGCCandyShopGetUserData = 0x2288, - k_EMsgClientToGCCandyShopGetUserDataResponse = 0x2289, - k_EMsgGCToClientCandyShopUserDataUpdated = 0x228a, - k_EMsgClientToGCCandyShopPurchaseReward = 0x228b, - k_EMsgClientToGCCandyShopPurchaseRewardResponse = 0x228c, - k_EMsgClientToGCCandyShopDoExchange = 0x228d, - k_EMsgClientToGCCandyShopDoExchangeResponse = 0x228e, - k_EMsgClientToGCCandyShopDoVariableExchange = 0x228f, - k_EMsgClientToGCCandyShopDoVariableExchangeResponse = 0x2290, - k_EMsgClientToGCCandyShopRerollRewards = 0x2291, - k_EMsgClientToGCCandyShopRerollRewardsResponse = 0x2292, - k_EMsgClientToGCSetHeroSticker = 0x2293, - k_EMsgClientToGCSetHeroStickerResponse = 0x2294, - k_EMsgClientToGCGetHeroStickers = 0x2295, - k_EMsgClientToGCGetHeroStickersResponse = 0x2296, - k_EMsgClientToGCSetFavoritePage = 0x2297, - k_EMsgClientToGCSetFavoritePageResponse = 0x2298, - k_EMsgClientToGCCandyShopDevGrantCandy = 0x2299, - k_EMsgClientToGCCandyShopDevGrantCandyResponse = 0x229a, - k_EMsgClientToGCCandyShopDevClearInventory = 0x229b, - k_EMsgClientToGCCandyShopDevClearInventoryResponse = 0x229c, - k_EMsgClientToGCCandyShopOpenBags = 0x229d, - k_EMsgClientToGCCandyShopOpenBagsResponse = 0x229e, - k_EMsgClientToGCCandyShopDevGrantCandyBags = 0x229f, - k_EMsgClientToGCCandyShopDevGrantCandyBagsResponse = 0x22a0, - k_EMsgClientToGCCandyShopDevShuffleExchange = 0x22a1, - k_EMsgClientToGCCandyShopDevShuffleExchangeResponse = 0x22a2, - k_EMsgClientToGCCandyShopDevGrantRerollCharges = 0x22a3, - k_EMsgClientToGCCandyShopDevGrantRerollChargesResponse = 0x22a4, - k_EMsgLobbyAdditionalAccountData = 0x22a5, - k_EMsgServerToGCLobbyInitialized = 0x22a6, - k_EMsgClientToGCCollectorsCacheAvailableDataRequest = 0x22a7, - k_EMsgGCToClientCollectorsCacheAvailableDataResponse = 0x22a8, - k_EMsgClientToGCUploadMatchClip = 0x22a9, - k_EMsgGCToClientUploadMatchClipResponse = 0x22aa, - k_EMsgGCToServerSetSteamLearnDisable = 0x22ab, - k_EMsgGCToServerSetSteamLearnKeysChanged = 0x22ac, - k_EMsgSignOutMuertaMinigame = 0x22ad, - k_EMsgGCToServerLobbyHeroRoleStats = 0x22ae, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EPoorNetworkConditionsType : uint32_t -{ - k_EPoorNetworkConditions_None = 0x0, - k_EPoorNetworkConditions_Unknown = 0x1, - k_EPoorNetworkConditions_MassDisconnect = 0x2, - k_EPoorNetworkConditions_ExcessBadQosIntervals = 0x3, -}; - -// Alignment: 4 -// Size: 0x4 -enum class EPingSource : uint32_t -{ - k_ePingSource_Default = 0x0, - k_ePingSource_Warning = 0x1, - k_ePingSource_Wheel = 0x2, - k_ePingSource_System = 0x3, -}; - -// Alignment: 4 -// Size: 0x6 -enum class EDOTAStatPopupTypes : uint32_t -{ - k_EDOTA_SPT_Textline = 0x0, - k_EDOTA_SPT_Basic = 0x1, - k_EDOTA_SPT_Poll = 0x2, - k_EDOTA_SPT_Grid = 0x3, - k_EDOTA_SPT_DualImage = 0x4, - k_EDOTA_SPT_Movie = 0x5, -}; - -// Alignment: 4 -// Size: 0x28 -enum class dotaunitorder_t : uint32_t -{ - DOTA_UNIT_ORDER_NONE = 0x0, - DOTA_UNIT_ORDER_MOVE_TO_POSITION = 0x1, - DOTA_UNIT_ORDER_MOVE_TO_TARGET = 0x2, - DOTA_UNIT_ORDER_ATTACK_MOVE = 0x3, - DOTA_UNIT_ORDER_ATTACK_TARGET = 0x4, - DOTA_UNIT_ORDER_CAST_POSITION = 0x5, - DOTA_UNIT_ORDER_CAST_TARGET = 0x6, - DOTA_UNIT_ORDER_CAST_TARGET_TREE = 0x7, - DOTA_UNIT_ORDER_CAST_NO_TARGET = 0x8, - DOTA_UNIT_ORDER_CAST_TOGGLE = 0x9, - DOTA_UNIT_ORDER_HOLD_POSITION = 0xa, - DOTA_UNIT_ORDER_TRAIN_ABILITY = 0xb, - DOTA_UNIT_ORDER_DROP_ITEM = 0xc, - DOTA_UNIT_ORDER_GIVE_ITEM = 0xd, - DOTA_UNIT_ORDER_PICKUP_ITEM = 0xe, - DOTA_UNIT_ORDER_PICKUP_RUNE = 0xf, - DOTA_UNIT_ORDER_PURCHASE_ITEM = 0x10, - DOTA_UNIT_ORDER_SELL_ITEM = 0x11, - DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 0x12, - DOTA_UNIT_ORDER_MOVE_ITEM = 0x13, - DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 0x14, - DOTA_UNIT_ORDER_STOP = 0x15, - DOTA_UNIT_ORDER_TAUNT = 0x16, - DOTA_UNIT_ORDER_BUYBACK = 0x17, - DOTA_UNIT_ORDER_GLYPH = 0x18, - DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 0x19, - DOTA_UNIT_ORDER_CAST_RUNE = 0x1a, - DOTA_UNIT_ORDER_PING_ABILITY = 0x1b, - DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 0x1c, - DOTA_UNIT_ORDER_PATROL = 0x1d, - DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 0x1e, - DOTA_UNIT_ORDER_RADAR = 0x1f, - DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 0x20, - DOTA_UNIT_ORDER_CONTINUE = 0x21, - DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED = 0x22, - DOTA_UNIT_ORDER_CAST_RIVER_PAINT = 0x23, - DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT = 0x24, - DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 0x25, - DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 0x26, - DOTA_UNIT_ORDER_MOVE_RELATIVE = 0x27, -}; - -// Alignment: 4 -// Size: 0x3 -enum class EDOTAVersusScenePlayerBehavior : uint32_t -{ - VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY = 0x1, - VS_PLAYER_BEHAVIOR_CHAT_WHEEL = 0x2, - VS_PLAYER_BEHAVIOR_PLAYBACK_RATE = 0x3, -}; - -// Alignment: 4 -// Size: 0x5c -enum class EDotaClientMessages : uint32_t -{ - DOTA_CM_MapLine = 0x12d, - DOTA_CM_AspectRatio = 0x12e, - DOTA_CM_MapPing = 0x12f, - DOTA_CM_UnitsAutoAttack = 0x130, - DOTA_CM_SearchString = 0x133, - DOTA_CM_Pause = 0x134, - DOTA_CM_ShopViewMode = 0x135, - DOTA_CM_SetUnitShareFlag = 0x136, - DOTA_CM_SwapRequest = 0x137, - DOTA_CM_SwapAccept = 0x138, - DOTA_CM_WorldLine = 0x139, - DOTA_CM_RequestGraphUpdate = 0x13a, - DOTA_CM_ItemAlert = 0x13b, - DOTA_CM_ChatWheel = 0x13c, - DOTA_CM_SendStatPopup = 0x13d, - DOTA_CM_BeginLastHitChallenge = 0x13e, - DOTA_CM_UpdateQuickBuy = 0x13f, - DOTA_CM_UpdateCoachListen = 0x140, - DOTA_CM_CoachHUDPing = 0x141, - DOTA_CM_RecordVote = 0x142, - DOTA_CM_UnitsAutoAttackAfterSpell = 0x143, - DOTA_CM_WillPurchaseAlert = 0x144, - DOTA_CM_PlayerShowCase = 0x145, - DOTA_CM_TeleportRequiresHalt = 0x146, - DOTA_CM_CameraZoomAmount = 0x147, - DOTA_CM_BroadcasterUsingCamerman = 0x148, - DOTA_CM_BroadcasterUsingAssistedCameraOperator = 0x149, - DOTA_CM_EnemyItemAlert = 0x14a, - DOTA_CM_FreeInventory = 0x14b, - DOTA_CM_BuyBackStateAlert = 0x14c, - DOTA_CM_QuickBuyAlert = 0x14d, - DOTA_CM_HeroStatueLike = 0x14e, - DOTA_CM_ModifierAlert = 0x14f, - DOTA_CM_TeamShowcaseEditor = 0x150, - DOTA_CM_HPManaAlert = 0x151, - DOTA_CM_GlyphAlert = 0x152, - DOTA_CM_TeamShowcaseClientData = 0x153, - DOTA_CM_PlayTeamShowcase = 0x154, - DOTA_CM_EventCNY2015Cmd = 0x155, - DOTA_CM_FillEmptySlotsWithBots = 0x156, - DOTA_CM_DemoHero = 0x157, - DOTA_CM_AbilityLearnModeToggled = 0x158, - DOTA_CM_AbilityStartUse = 0x159, - DOTA_CM_ChallengeSelect = 0x15a, - DOTA_CM_ChallengeReroll = 0x15b, - DOTA_CM_ClickedBuff = 0x15c, - DOTA_CM_CoinWager = 0x15d, - DOTA_CM_ExecuteOrders = 0x15e, - DOTA_CM_XPAlert = 0x15f, - DOTA_CM_EventPointsTip = 0x161, - DOTA_CM_KillMyHero = 0x163, - DOTA_CM_QuestStatus = 0x164, - DOTA_CM_ToggleAutoattack = 0x165, - DOTA_CM_SpecialAbility = 0x166, - DOTA_CM_KillcamDamageTaken = 0x167, - DOTA_CM_SetEnemyStartingPosition = 0x168, - DOTA_CM_SetDesiredWardPlacement = 0x169, - DOTA_CM_RollDice = 0x16a, - DOTA_CM_FlipCoin = 0x16b, - DOTA_CM_RequestItemSuggestions = 0x16c, - DOTA_CM_MakeTeamCaptain = 0x16d, - DOTA_CM_CoinWagerToken = 0x16e, - DOTA_CM_RankWager = 0x16f, - DOTA_CM_DismissAllStatPopups = 0x170, - DOTA_CM_HelpTipSystemStateChanged = 0x171, - DOTA_CM_ChannelRequiresHalt = 0x172, - DOTA_CM_RequestBulkCombatLog = 0x173, - DOTA_CM_AbilityDraftRequestAbility = 0x174, - DOTA_CM_GuideSelectOption = 0x175, - DOTA_CM_GuideSelected = 0x176, - DOTA_CM_DamageReport = 0x177, - DOTA_CM_SalutePlayer = 0x178, - DOTA_CM_SprayWheel = 0x179, - DOTA_CM_TipAlert = 0x17a, - DOTA_CM_EmptyTeleportAlert = 0x17b, - DOTA_CM_RadarAlert = 0x17c, - DOTA_CM_TalentTreeAlert = 0x17d, - DOTA_CM_SetCavernMapVariant = 0x17e, - DOTA_CM_PauseGameOrder = 0x17f, - DOTA_CM_VersusScene_PlayerBehavior = 0x180, - DOTA_CM_PlayerBounty = 0x181, - DOTA_CM_PlayerBountyCancel = 0x182, - DOTA_CM_EmptyItemSlotAlert = 0x184, - DOTA_CM_AddOverwatchReportMarker = 0x185, - DOTA_CM_AghsStatusAlert = 0x186, - DOTA_CM_PerfReport = 0x187, - DOTA_CM_ContextualTips_Subscribe = 0x189, - DOTA_CM_ChatMessage = 0x18a, - DOTA_CM_AddCommunicationsReportMarker = 0x18b, - DOTA_CM_AddCommunicationsBlockMarker = 0x18c, - DOTA_CM_NeutralCampAlert = 0x18d, - DOTA_CM_DuelAccepted = 0x18e, -}; - -// Alignment: 4 -// Size: 0x9a -enum class EDotaUserMessages : uint32_t -{ - DOTA_UM_AddUnitToSelection = 0x1d0, - DOTA_UM_AIDebugLine = 0x1d1, - DOTA_UM_ChatEvent = 0x1d2, - DOTA_UM_CombatHeroPositions = 0x1d3, - DOTA_UM_CombatLogData = 0x1d4, - DOTA_UM_CombatLogBulkData = 0x1d6, - DOTA_UM_CreateLinearProjectile = 0x1d7, - DOTA_UM_DestroyLinearProjectile = 0x1d8, - DOTA_UM_DodgeTrackingProjectiles = 0x1d9, - DOTA_UM_GlobalLightColor = 0x1da, - DOTA_UM_GlobalLightDirection = 0x1db, - DOTA_UM_InvalidCommand = 0x1dc, - DOTA_UM_LocationPing = 0x1dd, - DOTA_UM_MapLine = 0x1de, - DOTA_UM_MiniKillCamInfo = 0x1df, - DOTA_UM_MinimapDebugPoint = 0x1e0, - DOTA_UM_MinimapEvent = 0x1e1, - DOTA_UM_NevermoreRequiem = 0x1e2, - DOTA_UM_OverheadEvent = 0x1e3, - DOTA_UM_SetNextAutobuyItem = 0x1e4, - DOTA_UM_SharedCooldown = 0x1e5, - DOTA_UM_SpectatorPlayerClick = 0x1e6, - DOTA_UM_TutorialTipInfo = 0x1e7, - DOTA_UM_UnitEvent = 0x1e8, - DOTA_UM_ParticleManager = 0x1e9, - DOTA_UM_BotChat = 0x1ea, - DOTA_UM_HudError = 0x1eb, - DOTA_UM_ItemPurchased = 0x1ec, - DOTA_UM_Ping = 0x1ed, - DOTA_UM_ItemFound = 0x1ee, - DOTA_UM_CharacterSpeakConcept = 0x1ef, - DOTA_UM_SwapVerify = 0x1f0, - DOTA_UM_WorldLine = 0x1f1, - DOTA_UM_TournamentDrop = 0x1f2, - DOTA_UM_ItemAlert = 0x1f3, - DOTA_UM_HalloweenDrops = 0x1f4, - DOTA_UM_ChatWheel = 0x1f5, - DOTA_UM_ReceivedXmasGift = 0x1f6, - DOTA_UM_UpdateSharedContent = 0x1f7, - DOTA_UM_TutorialRequestExp = 0x1f8, - DOTA_UM_TutorialPingMinimap = 0x1f9, - DOTA_UM_GamerulesStateChanged = 0x1fa, - DOTA_UM_ShowSurvey = 0x1fb, - DOTA_UM_TutorialFade = 0x1fc, - DOTA_UM_AddQuestLogEntry = 0x1fd, - DOTA_UM_SendStatPopup = 0x1fe, - DOTA_UM_TutorialFinish = 0x1ff, - DOTA_UM_SendRoshanPopup = 0x200, - DOTA_UM_SendGenericToolTip = 0x201, - DOTA_UM_SendFinalGold = 0x202, - DOTA_UM_CustomMsg = 0x203, - DOTA_UM_CoachHUDPing = 0x204, - DOTA_UM_ClientLoadGridNav = 0x205, - DOTA_UM_TE_Projectile = 0x206, - DOTA_UM_TE_ProjectileLoc = 0x207, - DOTA_UM_TE_DotaBloodImpact = 0x208, - DOTA_UM_TE_UnitAnimation = 0x209, - DOTA_UM_TE_UnitAnimationEnd = 0x20a, - DOTA_UM_AbilityPing = 0x20b, - DOTA_UM_ShowGenericPopup = 0x20c, - DOTA_UM_VoteStart = 0x20d, - DOTA_UM_VoteUpdate = 0x20e, - DOTA_UM_VoteEnd = 0x20f, - DOTA_UM_BoosterState = 0x210, - DOTA_UM_WillPurchaseAlert = 0x211, - DOTA_UM_TutorialMinimapPosition = 0x212, - DOTA_UM_PlayerMMR = 0x213, - DOTA_UM_AbilitySteal = 0x214, - DOTA_UM_CourierKilledAlert = 0x215, - DOTA_UM_EnemyItemAlert = 0x216, - DOTA_UM_StatsMatchDetails = 0x217, - DOTA_UM_MiniTaunt = 0x218, - DOTA_UM_BuyBackStateAlert = 0x219, - DOTA_UM_SpeechBubble = 0x21a, - DOTA_UM_CustomHeaderMessage = 0x21b, - DOTA_UM_QuickBuyAlert = 0x21c, - DOTA_UM_StatsHeroDetails = 0x21d, - DOTA_UM_PredictionResult = 0x21e, - DOTA_UM_ModifierAlert = 0x21f, - DOTA_UM_HPManaAlert = 0x220, - DOTA_UM_GlyphAlert = 0x221, - DOTA_UM_BeastChat = 0x222, - DOTA_UM_SpectatorPlayerUnitOrders = 0x223, - DOTA_UM_CustomHudElement_Create = 0x224, - DOTA_UM_CustomHudElement_Modify = 0x225, - DOTA_UM_CustomHudElement_Destroy = 0x226, - DOTA_UM_CompendiumState = 0x227, - DOTA_UM_ProjectionAbility = 0x228, - DOTA_UM_ProjectionEvent = 0x229, - DOTA_UM_CombatLogDataHLTV = 0x22a, - DOTA_UM_XPAlert = 0x22b, - DOTA_UM_UpdateQuestProgress = 0x22c, - DOTA_UM_MatchMetadata = 0x22d, - DOTA_UM_MatchDetails = 0x22e, - DOTA_UM_QuestStatus = 0x22f, - DOTA_UM_SuggestHeroPick = 0x230, - DOTA_UM_SuggestHeroRole = 0x231, - DOTA_UM_KillcamDamageTaken = 0x232, - DOTA_UM_SelectPenaltyGold = 0x233, - DOTA_UM_RollDiceResult = 0x234, - DOTA_UM_FlipCoinResult = 0x235, - DOTA_UM_RequestItemSuggestions = 0x236, - DOTA_UM_TeamCaptainChanged = 0x237, - DOTA_UM_SendRoshanSpectatorPhase = 0x238, - DOTA_UM_ChatWheelCooldown = 0x239, - DOTA_UM_DismissAllStatPopups = 0x23a, - DOTA_UM_TE_DestroyProjectile = 0x23b, - DOTA_UM_HeroRelicProgress = 0x23c, - DOTA_UM_AbilityDraftRequestAbility = 0x23d, - DOTA_UM_ItemSold = 0x23e, - DOTA_UM_DamageReport = 0x23f, - DOTA_UM_SalutePlayer = 0x240, - DOTA_UM_TipAlert = 0x241, - DOTA_UM_ReplaceQueryUnit = 0x242, - DOTA_UM_EmptyTeleportAlert = 0x243, - DOTA_UM_MarsArenaOfBloodAttack = 0x244, - DOTA_UM_ESArcanaCombo = 0x245, - DOTA_UM_ESArcanaComboSummary = 0x246, - DOTA_UM_HighFiveLeftHanging = 0x247, - DOTA_UM_HighFiveCompleted = 0x248, - DOTA_UM_ShovelUnearth = 0x249, - DOTA_EM_InvokerSpellCast = 0x24a, - DOTA_UM_RadarAlert = 0x24b, - DOTA_UM_AllStarEvent = 0x24c, - DOTA_UM_TalentTreeAlert = 0x24d, - DOTA_UM_QueuedOrderRemoved = 0x24e, - DOTA_UM_DebugChallenge = 0x24f, - DOTA_UM_OMArcanaCombo = 0x250, - DOTA_UM_FoundNeutralItem = 0x251, - DOTA_UM_OutpostCaptured = 0x252, - DOTA_UM_OutpostGrantedXP = 0x253, - DOTA_UM_MoveCameraToUnit = 0x254, - DOTA_UM_PauseMinigameData = 0x255, - DOTA_UM_VersusScene_PlayerBehavior = 0x256, - DOTA_UM_QoP_ArcanaSummary = 0x258, - DOTA_UM_HotPotato_Created = 0x259, - DOTA_UM_HotPotato_Exploded = 0x25a, - DOTA_UM_WK_Arcana_Progress = 0x25b, - DOTA_UM_GuildChallenge_Progress = 0x25c, - DOTA_UM_WRArcanaProgress = 0x25d, - DOTA_UM_WRArcanaSummary = 0x25e, - DOTA_UM_EmptyItemSlotAlert = 0x25f, - DOTA_UM_AghsStatusAlert = 0x260, - DOTA_UM_PingConfirmation = 0x261, - DOTA_UM_MutedPlayers = 0x262, - DOTA_UM_ContextualTip = 0x263, - DOTA_UM_ChatMessage = 0x264, - DOTA_UM_NeutralCampAlert = 0x265, - DOTA_UM_RockPaperScissorsStarted = 0x266, - DOTA_UM_RockPaperScissorsFinished = 0x267, - DOTA_UM_DuelOpponentKilled = 0x268, - DOTA_UM_DuelAccepted = 0x269, - DOTA_UM_DuelRequested = 0x26a, - DOTA_UM_MuertaReleaseEvent_AssignedTargetKilled = 0x26b, -}; - -// Alignment: 4 -// Size: 0x6c -enum class DOTA_CHAT_MESSAGE : uint32_t -{ - CHAT_MESSAGE_INVALID = 0xffffffffffffffff, - CHAT_MESSAGE_HERO_KILL = 0x0, - CHAT_MESSAGE_HERO_DENY = 0x1, - CHAT_MESSAGE_BARRACKS_KILL = 0x2, - CHAT_MESSAGE_TOWER_KILL = 0x3, - CHAT_MESSAGE_TOWER_DENY = 0x4, - CHAT_MESSAGE_FIRSTBLOOD = 0x5, - CHAT_MESSAGE_STREAK_KILL = 0x6, - CHAT_MESSAGE_BUYBACK = 0x7, - CHAT_MESSAGE_AEGIS = 0x8, - CHAT_MESSAGE_ROSHAN_KILL = 0x9, - CHAT_MESSAGE_COURIER_LOST = 0xa, - CHAT_MESSAGE_COURIER_RESPAWNED = 0xb, - CHAT_MESSAGE_GLYPH_USED = 0xc, - CHAT_MESSAGE_ITEM_PURCHASE = 0xd, - CHAT_MESSAGE_CONNECT = 0xe, - CHAT_MESSAGE_DISCONNECT = 0xf, - CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT = 0x10, - CHAT_MESSAGE_DISCONNECT_TIME_REMAINING = 0x11, - CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL = 0x12, - CHAT_MESSAGE_RECONNECT = 0x13, - CHAT_MESSAGE_PLAYER_LEFT = 0x14, - CHAT_MESSAGE_SAFE_TO_LEAVE = 0x15, - CHAT_MESSAGE_RUNE_PICKUP = 0x16, - CHAT_MESSAGE_RUNE_BOTTLE = 0x17, - CHAT_MESSAGE_RUNE_DENY = 0x72, - CHAT_MESSAGE_INTHEBAG = 0x18, - CHAT_MESSAGE_SECRETSHOP = 0x19, - CHAT_MESSAGE_ITEM_AUTOPURCHASED = 0x1a, - CHAT_MESSAGE_ITEMS_COMBINED = 0x1b, - CHAT_MESSAGE_SUPER_CREEPS = 0x1c, - CHAT_MESSAGE_CANT_USE_ACTION_ITEM = 0x1d, - CHAT_MESSAGE_CANTPAUSE = 0x1f, - CHAT_MESSAGE_NOPAUSESLEFT = 0x20, - CHAT_MESSAGE_CANTPAUSEYET = 0x21, - CHAT_MESSAGE_PAUSED = 0x22, - CHAT_MESSAGE_UNPAUSE_COUNTDOWN = 0x23, - CHAT_MESSAGE_UNPAUSED = 0x24, - CHAT_MESSAGE_AUTO_UNPAUSED = 0x25, - CHAT_MESSAGE_YOUPAUSED = 0x26, - CHAT_MESSAGE_CANTUNPAUSETEAM = 0x27, - CHAT_MESSAGE_VOICE_TEXT_BANNED = 0x29, - CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME = 0x2a, - CHAT_MESSAGE_REPORT_REMINDER = 0x2b, - CHAT_MESSAGE_ECON_ITEM = 0x2c, - CHAT_MESSAGE_TAUNT = 0x2d, - CHAT_MESSAGE_RANDOM = 0x2e, - CHAT_MESSAGE_RD_TURN = 0x2f, - CHAT_MESSAGE_DROP_RATE_BONUS = 0x31, - CHAT_MESSAGE_NO_BATTLE_POINTS = 0x32, - CHAT_MESSAGE_DENIED_AEGIS = 0x33, - CHAT_MESSAGE_INFORMATIONAL = 0x34, - CHAT_MESSAGE_AEGIS_STOLEN = 0x35, - CHAT_MESSAGE_ROSHAN_CANDY = 0x36, - CHAT_MESSAGE_ITEM_GIFTED = 0x37, - CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL = 0x38, - CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED = 0x39, - CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED = 0x3a, - CHAT_MESSAGE_HOLDOUT_WALL_FINISHED = 0x3b, - CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO = 0x3e, - CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION = 0x3f, - CHAT_MESSAGE_DISCONNECT_LIMITED_HERO = 0x40, - CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION = 0x41, - CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS = 0x42, - CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE = 0x43, - CHAT_MESSAGE_PLAYER_LEFT_AFK = 0x49, - CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG = 0x4a, - CHAT_MESSAGE_PLAYER_ABANDONED = 0x4b, - CHAT_MESSAGE_PLAYER_ABANDONED_AFK = 0x4c, - CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG = 0x4d, - CHAT_MESSAGE_WILL_NOT_BE_SCORED = 0x4e, - CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED = 0x4f, - CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK = 0x50, - CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED = 0x51, - CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON = 0x52, - CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS = 0x53, - CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY = 0x54, - CHAT_MESSAGE_COMPENDIUM_LEVEL = 0x55, - CHAT_MESSAGE_VICTORY_PREDICTION_STREAK = 0x56, - CHAT_MESSAGE_ASSASSIN_ANNOUNCE = 0x57, - CHAT_MESSAGE_ASSASSIN_SUCCESS = 0x58, - CHAT_MESSAGE_ASSASSIN_DENIED = 0x59, - CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM = 0x5a, - CHAT_MESSAGE_EFFIGY_KILL = 0x5b, - CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW = 0x5c, - CHAT_MESSAGE_YEAR_BEAST_KILLED = 0x5d, - CHAT_MESSAGE_PAUSE_COUNTDOWN = 0x5e, - CHAT_MESSAGE_COINS_WAGERED = 0x5f, - CHAT_MESSAGE_HERO_NOMINATED_BAN = 0x60, - CHAT_MESSAGE_HERO_BANNED = 0x61, - CHAT_MESSAGE_HERO_BAN_COUNT = 0x62, - CHAT_MESSAGE_RIVER_PAINTED = 0x63, - CHAT_MESSAGE_SCAN_USED = 0x64, - CHAT_MESSAGE_SHRINE_KILLED = 0x65, - CHAT_MESSAGE_WAGER_TOKEN_SPENT = 0x66, - CHAT_MESSAGE_RANK_WAGER = 0x67, - CHAT_MESSAGE_NEW_PLAYER_REMINDER = 0x68, - CHAT_MESSAGE_OBSERVER_WARD_KILLED = 0x69, - CHAT_MESSAGE_SENTRY_WARD_KILLED = 0x6a, - CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH = 0x6b, - CHAT_MESSAGE_HERO_CHOICE_INVALID = 0x6c, - CHAT_MESSAGE_BOUNTY = 0x6d, - CHAT_MESSAGE_ABILITY_DRAFT_START = 0x6e, - CHAT_MESSAGE_HERO_FOUND_CANDY = 0x6f, - CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED = 0x70, - CHAT_MESSAGE_PRIVATE_COACH_CONNECTED = 0x71, - CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 0x73, - CHAT_MESSAGE_HERO_KILL_WITH_PENGUIN = 0x74, -}; - -// Alignment: 4 -// Size: 0x4 -enum class DOTA_NO_BATTLE_POINTS_REASONS : uint32_t -{ - NO_BATTLE_POINTS_WRONG_LOBBY_TYPE = 0x1, - NO_BATTLE_POINTS_PRACTICE_BOTS = 0x2, - NO_BATTLE_POINTS_CHEATS_ENABLED = 0x3, - NO_BATTLE_POINTS_LOW_PRIORITY = 0x4, -}; - -// Alignment: 4 -// Size: 0x5 -enum class DOTA_CHAT_INFORMATIONAL : uint32_t -{ - INFO_COOP_BATTLE_POINTS_RULES = 0x1, - INFO_FROSTIVUS_ABANDON_REMINDER = 0x2, - INFO_RANKED_REMINDER = 0x3, - INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER = 0x4, - INFO_CUSTOM_GAME_PENALTY_REMINDER = 0x5, -}; - -// Alignment: 4 -// Size: 0x10 -enum class DOTA_ABILITY_PING_TYPE : uint32_t -{ - ABILITY_PING_READY = 0x1, - ABILITY_PING_MANA = 0x2, - ABILITY_PING_COOLDOWN = 0x3, - ABILITY_PING_ENEMY = 0x4, - ABILITY_PING_UNLEARNED = 0x5, - ABILITY_PING_INBACKPACK = 0x6, - ABILITY_PING_INSTASH = 0x7, - ABILITY_PING_ONCOURIER = 0x8, - ABILITY_PING_ALLY = 0x9, - ABILITY_PING_LEARN_READY = 0xa, - ABILITY_PING_WILL_LEARN = 0xb, - ABILITY_PING_FUTURE_LEARN = 0xc, - ABILITY_PING_NEUTRAL_OFFER = 0xd, - ABILITY_PING_NEUTRAL_REQUEST = 0xe, - ABILITY_PING_NEUTRAL_EQUIP = 0xf, - ABILITY_PING_INCOURIERBACKPACK = 0x10, -}; - -// Alignment: 4 -// Size: 0x6 -enum class DOTA_REPLAY_STATE_EVENT : uint32_t -{ - DOTA_REPLAY_STATE_EVENT_GAME_START = 0x1, - DOTA_REPLAY_STATE_EVENT_STARTING_HORN = 0x2, - DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD = 0x3, - DOTA_REPLAY_STATE_EVENT_SHOWCASE = 0x4, - DOTA_REPLAY_STATE_EVENT_POST_GAME = 0x5, - DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP = 0x6, -}; - -// Alignment: 4 -// Size: 0x7 -enum class EDotaEntityMessages : uint32_t -{ - DOTA_UNIT_SPEECH = 0x0, - DOTA_UNIT_SPEECH_MUTE = 0x1, - DOTA_UNIT_ADD_GESTURE = 0x2, - DOTA_UNIT_REMOVE_GESTURE = 0x3, - DOTA_UNIT_REMOVE_ALL_GESTURES = 0x4, - DOTA_UNIT_FADE_GESTURE = 0x6, - DOTA_UNIT_SPEECH_CLIENTSIDE_RULES = 0x7, -}; - -// Alignment: 4 -// Size: 0x19 -enum class DOTA_OVERHEAD_ALERT : uint32_t -{ - OVERHEAD_ALERT_GOLD = 0x0, - OVERHEAD_ALERT_DENY = 0x1, - OVERHEAD_ALERT_CRITICAL = 0x2, - OVERHEAD_ALERT_XP = 0x3, - OVERHEAD_ALERT_BONUS_SPELL_DAMAGE = 0x4, - OVERHEAD_ALERT_MISS = 0x5, - OVERHEAD_ALERT_DAMAGE = 0x6, - OVERHEAD_ALERT_EVADE = 0x7, - OVERHEAD_ALERT_BLOCK = 0x8, - OVERHEAD_ALERT_BONUS_POISON_DAMAGE = 0x9, - OVERHEAD_ALERT_HEAL = 0xa, - OVERHEAD_ALERT_MANA_ADD = 0xb, - OVERHEAD_ALERT_MANA_LOSS = 0xc, - OVERHEAD_ALERT_LAST_HIT_EARLY = 0xd, - OVERHEAD_ALERT_LAST_HIT_CLOSE = 0xe, - OVERHEAD_ALERT_LAST_HIT_MISS = 0xf, - OVERHEAD_ALERT_MAGICAL_BLOCK = 0x10, - OVERHEAD_ALERT_INCOMING_DAMAGE = 0x11, - OVERHEAD_ALERT_OUTGOING_DAMAGE = 0x12, - OVERHEAD_ALERT_DISABLE_RESIST = 0x13, - OVERHEAD_ALERT_DEATH = 0x14, - OVERHEAD_ALERT_BLOCKED = 0x15, - OVERHEAD_ALERT_ITEM_RECEIVED = 0x16, - OVERHEAD_ALERT_SHARD = 0x17, - OVERHEAD_ALERT_DEADLY_BLOW = 0x18, -}; - -// Alignment: 4 -// Size: 0x3 -enum class DOTA_ROSHAN_PHASE : uint32_t -{ - k_SRSP_ROSHAN_ALIVE = 0x0, - k_SRSP_ROSHAN_BASE_TIMER = 0x1, - k_SRSP_ROSHAN_VISIBLE_TIMER = 0x2, -}; - -// Alignment: 4 -// Size: 0x10 -enum class DOTA_POSITION_CATEGORY : uint32_t -{ - DOTA_POSITION_NONE = 0x0, - DOTA_POSITION_BOTTOM_LANE = 0x1, - DOTA_POSITION_MID_LANE = 0x2, - DOTA_POSITION_TOP_LANE = 0x3, - DOTA_POSITION_RADIANT_JUNGLE = 0x4, - DOTA_POSITION_DIRE_JUNGLE = 0x5, - DOTA_POSITION_RADIANT_ANCIENTS = 0x6, - DOTA_POSITION_DIRE_ANCIENTS = 0x7, - DOTA_POSITION_RADIANT_SECRET_SHOP = 0x8, - DOTA_POSITION_DIRE_SECRET_SHOP = 0x9, - DOTA_POSITION_RIVER = 0xa, - DOTA_POSITION_ROSHAN_PIT = 0xb, - DOTA_POSITION_RADIANT_BASE = 0xc, - DOTA_POSITION_DIRE_BASE = 0xd, - DOTA_POSITION_FOUNTAIN = 0xe, - DOTA_POSITION_OTHER = 0xf, -}; - -// Alignment: 4 -// Size: 0x6 -enum class DOTA_ABILITY_TARGET_TYPE : uint32_t -{ - DOTA_ABILITY_TARGET_NONE = 0x0, - DOTA_ABILITY_TARGET_SELF = 0x1, - DOTA_ABILITY_TARGET_ALLY_HERO = 0x2, - DOTA_ABILITY_TARGET_ALLY_CREEP = 0x3, - DOTA_ABILITY_TARGET_ENEMY_HERO = 0x4, - DOTA_ABILITY_TARGET_ENEMY_CREEP = 0x5, -}; - -// Alignment: 4 -// Size: 0x16 -enum class EHeroStatType : uint32_t -{ - k_EHeroStatType_None = 0x0, - k_EHeroStatType_AxeTotalDamage = 0x7d0, - k_EHeroStatType_BattleHungerDamage = 0x7d1, - k_EHeroStatType_CounterHelixDamage = 0x7d2, - k_EHeroStatType_CullingBladeDamage = 0x7d3, - k_EHeroStatType_BerserkersCallCastCount = 0x7d4, - k_EHeroStatType_BerserkersCallHeroesHitAverage = 0x7d5, - k_EHeroStatType_BerserkersCallOtherUnitsHit = 0x7d6, - k_EHeroStatType_BerserkersCallHeroAttacksTaken = 0x7d7, - k_EHeroStatType_BerserkersCallOtherAttacksTaken = 0x7d8, - k_EHeroStatType_BattleHungerCastCount = 0x7d9, - k_EHeroStatType_BattleHungerPotentialDuration = 0x7da, - k_EHeroStatType_BattleHungerAverageDuration = 0x7db, - k_EHeroStatType_CounterHelixProcCount = 0x7dc, - k_EHeroStatType_CounterHelixHeroProcCount = 0x7dd, - k_EHeroStatType_CounterHelixHeroesHitAverage = 0x7de, - k_EHeroStatType_CounterHelixOtherUnitsHitCount = 0x7df, - k_EHeroStatType_CullingBladeCastCount = 0x7e0, - k_EHeroStatType_CullingBladeKillCount = 0x7e1, - k_EHeroStatType_CullingBladeAverageHealthCulled = 0x7e2, - k_EHeroStatType_CullingBladeAverageDamageAvailable = 0x7e3, - k_EHeroStatType_CullingBladeHeroBuffAverage = 0x7e4, -}; - -// Alignment: 4 -// Size: 0x14 -enum class EPlayerVoiceListenState : uint32_t -{ - kPVLS_None = 0x0, - kPVLS_DeniedChatBanned = 0x1, - kPVLS_DeniedPartner = 0x2, - kPVLS_DeniedHLTVTalkerNotSpectator = 0x3, - kPVLS_DeniedHLTVNoTalkerPlayerID = 0x4, - kPVLS_DeniedHLTVTalkerNotBroadcaster = 0x5, - kPVLS_DeniedTeamSpectator = 0x6, - kPVLS_DeniedStudent = 0x8, - kPVLS_DeniedPrivateCoach = 0x9, - kPVLS_Denied = 0x40, - kPVLS_AllowHLTVTalkerIsBroadcaster = 0x41, - kPVLS_AllowCoBroadcaster = 0x42, - kPVLS_AllowAllChat = 0x43, - kPVLS_AllowStudentToCoach = 0x44, - kPVLS_AllowFellowStudent = 0x45, - kPVLS_AllowTalkerIsCoach = 0x46, - kPVLS_AllowCoachHearTeam = 0x47, - kPVLS_AllowSameTeam = 0x48, - kPVLS_AllowShowcase = 0x49, - kPVLS_AllowPrivateCoach = 0x4a, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EProjectionEvent : uint32_t -{ - ePE_FirstBlood = 0x0, - ePE_Killstreak_godlike = 0x1, -}; - -// Alignment: 4 -// Size: 0x2 -enum class EDotaBroadcastMessages : uint32_t -{ - DOTA_BM_LANLobbyRequest = 0x1, - DOTA_BM_LANLobbyReply = 0x2, -}; - -// Alignment: 4 -// Size: 0x2 -enum class DOTA_MODIFIER_ENTRY_TYPE : uint32_t -{ - DOTA_MODIFIER_ENTRY_TYPE_ACTIVE = 0x1, - DOTA_MODIFIER_ENTRY_TYPE_REMOVED = 0x2, -}; - // Alignment: 4 // Size: 0x109 enum class GameActivity_t : uint32_t @@ -6191,6 +6180,17 @@ enum class DOTA_HeroPickState : uint32_t DOTA_HEROPICK_STATE_COUNT = 0x3e, }; +// Alignment: 4 +// Size: 0x5 +enum class DOTA_PlayerDraftState : uint32_t +{ + DOTA_PLAYERDRAFT_STATE_INACTIVE = 0x0, + DOTA_PLAYERDRAFT_STATE_INTRO = 0x1, + DOTA_PLAYERDRAFT_STATE_DRAFT = 0x2, + DOTA_PLAYERDRAFT_STATE_OUTRO = 0x3, + DOTA_PLAYERDRAFT_STATE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x2 enum class HeroPickType : uint32_t @@ -6220,18 +6220,19 @@ enum class DOTAModifierAttribute_t : uint32_t }; // Alignment: 4 -// Size: 0x5 +// Size: 0x6 enum class Attributes : uint32_t { DOTA_ATTRIBUTE_STRENGTH = 0x0, DOTA_ATTRIBUTE_AGILITY = 0x1, DOTA_ATTRIBUTE_INTELLECT = 0x2, - DOTA_ATTRIBUTE_MAX = 0x3, + DOTA_ATTRIBUTE_ALL = 0x3, + DOTA_ATTRIBUTE_MAX = 0x4, DOTA_ATTRIBUTE_INVALID = 0xffffffffffffffff, }; // Alignment: 4 -// Size: 0x9 +// Size: 0xa enum class AttributeDerivedStats : uint32_t { DOTA_ATTRIBUTE_STRENGTH_DAMAGE = 0x0, @@ -6243,6 +6244,7 @@ enum class AttributeDerivedStats : uint32_t DOTA_ATTRIBUTE_INTELLIGENCE_DAMAGE = 0x6, DOTA_ATTRIBUTE_INTELLIGENCE_MANA = 0x7, DOTA_ATTRIBUTE_INTELLIGENCE_MANA_REGEN = 0x8, + DOTA_ATTRIBUTE_INTELLIGENCE_MAGIC_RESIST = 0x9, }; // Alignment: 4 @@ -6531,7 +6533,7 @@ enum class DOTA_PURGE_FLAGS : uint32_t }; // Alignment: 4 -// Size: 0x11 +// Size: 0x12 enum class DOTATeam_t : uint32_t { DOTA_TEAM_FIRST = 0x2, @@ -6547,14 +6549,15 @@ enum class DOTATeam_t : uint32_t DOTA_TEAM_CUSTOM_6 = 0xb, DOTA_TEAM_CUSTOM_7 = 0xc, DOTA_TEAM_CUSTOM_8 = 0xd, - DOTA_TEAM_COUNT = 0xe, + DOTA_TEAM_DRAFT_POOL = 0xe, + DOTA_TEAM_COUNT = 0xf, DOTA_TEAM_CUSTOM_MIN = 0x6, DOTA_TEAM_CUSTOM_MAX = 0xd, DOTA_TEAM_CUSTOM_COUNT = 0x8, }; // Alignment: 4 -// Size: 0x35 +// Size: 0x3c enum class modifierstate : uint32_t { MODIFIER_STATE_ROOTED = 0x0, @@ -6582,34 +6585,41 @@ enum class modifierstate : uint32_t MODIFIER_STATE_LOW_ATTACK_PRIORITY = 0x16, MODIFIER_STATE_NO_HEALTH_BAR = 0x17, MODIFIER_STATE_NO_HEALTH_BAR_FOR_ENEMIES = 0x18, - MODIFIER_STATE_FLYING = 0x19, - MODIFIER_STATE_NO_UNIT_COLLISION = 0x1a, - MODIFIER_STATE_NO_TEAM_MOVE_TO = 0x1b, - MODIFIER_STATE_NO_TEAM_SELECT = 0x1c, - MODIFIER_STATE_PASSIVES_DISABLED = 0x1d, - MODIFIER_STATE_DOMINATED = 0x1e, - MODIFIER_STATE_BLIND = 0x1f, - MODIFIER_STATE_OUT_OF_GAME = 0x20, - MODIFIER_STATE_FAKE_ALLY = 0x21, - MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY = 0x22, - MODIFIER_STATE_TRUESIGHT_IMMUNE = 0x23, - MODIFIER_STATE_UNTARGETABLE = 0x24, - MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS = 0x25, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES = 0x26, - MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES = 0x27, - MODIFIER_STATE_UNSLOWABLE = 0x28, - MODIFIER_STATE_TETHERED = 0x29, - MODIFIER_STATE_IGNORING_STOP_ORDERS = 0x2a, - MODIFIER_STATE_FEARED = 0x2b, - MODIFIER_STATE_TAUNTED = 0x2c, - MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED = 0x2d, - MODIFIER_STATE_FORCED_FLYING_VISION = 0x2e, - MODIFIER_STATE_ATTACK_ALLIES = 0x2f, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS = 0x30, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE = 0x31, - MODIFIER_STATE_SPECIALLY_UNDENIABLE = 0x32, - MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS = 0x33, - MODIFIER_STATE_LAST = 0x34, + MODIFIER_STATE_NO_HEALTH_BAR_FOR_OTHER_PLAYERS = 0x19, + MODIFIER_STATE_FLYING = 0x1a, + MODIFIER_STATE_NO_UNIT_COLLISION = 0x1b, + MODIFIER_STATE_NO_TEAM_MOVE_TO = 0x1c, + MODIFIER_STATE_NO_TEAM_SELECT = 0x1d, + MODIFIER_STATE_PASSIVES_DISABLED = 0x1e, + MODIFIER_STATE_DOMINATED = 0x1f, + MODIFIER_STATE_BLIND = 0x20, + MODIFIER_STATE_OUT_OF_GAME = 0x21, + MODIFIER_STATE_FAKE_ALLY = 0x22, + MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY = 0x23, + MODIFIER_STATE_TRUESIGHT_IMMUNE = 0x24, + MODIFIER_STATE_UNTARGETABLE = 0x25, + MODIFIER_STATE_UNTARGETABLE_ALLIED = 0x26, + MODIFIER_STATE_UNTARGETABLE_ENEMY = 0x27, + MODIFIER_STATE_UNTARGETABLE_SELF = 0x28, + MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS = 0x29, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES = 0x2a, + MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES = 0x2b, + MODIFIER_STATE_UNSLOWABLE = 0x2c, + MODIFIER_STATE_TETHERED = 0x2d, + MODIFIER_STATE_IGNORING_STOP_ORDERS = 0x2e, + MODIFIER_STATE_FEARED = 0x2f, + MODIFIER_STATE_TAUNTED = 0x30, + MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED = 0x31, + MODIFIER_STATE_FORCED_FLYING_VISION = 0x32, + MODIFIER_STATE_ATTACK_ALLIES = 0x33, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS = 0x34, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE = 0x35, + MODIFIER_STATE_SPECIALLY_UNDENIABLE = 0x36, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS = 0x37, + MODIFIER_STATE_DEBUFF_IMMUNE = 0x38, + MODIFIER_STATE_NO_INVISIBILITY_VISUALS = 0x39, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER = 0x3a, + MODIFIER_STATE_LAST = 0x3b, }; // Alignment: 4 @@ -6691,7 +6701,7 @@ enum class DOTA_SHOP_CATEGORY : uint32_t }; // Alignment: 4 -// Size: 0xa +// Size: 0xc enum class DOTA_RUNES : uint32_t { DOTA_RUNE_INVALID = 0xffffffffffffffff, @@ -6703,7 +6713,9 @@ enum class DOTA_RUNES : uint32_t DOTA_RUNE_BOUNTY = 0x5, DOTA_RUNE_ARCANE = 0x6, DOTA_RUNE_WATER = 0x7, - DOTA_RUNE_COUNT = 0x8, + DOTA_RUNE_XP = 0x8, + DOTA_RUNE_SHIELD = 0x9, + DOTA_RUNE_COUNT = 0xa, }; // Alignment: 4 @@ -6887,7 +6899,7 @@ enum class DOTALimits_t : uint32_t }; // Alignment: 4 -// Size: 0x5 +// Size: 0x6 enum class DOTA_MOTION_CONTROLLER_PRIORITY : uint32_t { DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST = 0x0, @@ -6895,6 +6907,7 @@ enum class DOTA_MOTION_CONTROLLER_PRIORITY : uint32_t DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM = 0x2, DOTA_MOTION_CONTROLLER_PRIORITY_HIGH = 0x3, DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST = 0x4, + DOTA_MOTION_CONTROLLER_PRIORITY_ULTRA = 0x5, }; // Alignment: 4 @@ -6910,7 +6923,7 @@ enum class DOTAMusicStatus_t : uint32_t }; // Alignment: 4 -// Size: 0x7 +// Size: 0x8 enum class DOTAPortraitEnvironmentType_t : uint32_t { DOTA_PORTRAIT_ENVIRONMENT_INVALID = 0xffffffffffffffff, @@ -6919,7 +6932,8 @@ enum class DOTAPortraitEnvironmentType_t : uint32_t DOTA_PORTRAIT_ENVIRONMENT_CARD = 0x2, DOTA_PORTRAIT_ENVIRONMENT_WEBPAGE = 0x3, DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_RIGHT_SIDE = 0x4, - DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x5, + DOTA_PORTRAIT_ENVIRONMENT_FULL_BODY_LOADOUT = 0x5, + DOTA_PORTRAIT_ENVIRONMENT_TYPE_COUNT = 0x6, }; // Alignment: 4 @@ -7017,7 +7031,6 @@ enum class DOTADamageFlag_t : uint32_t DOTA_DAMAGE_FLAG_HPLOSS = 0x20, DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT = 0x40, DOTA_DAMAGE_FLAG_NON_LETHAL = 0x80, - DOTA_DAMAGE_FLAG_USE_COMBAT_PROFICIENCY = 0x100, DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS = 0x200, DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION = 0x400, DOTA_DAMAGE_FLAG_DONT_DISPLAY_DAMAGE_IF_SOURCE_HIDDEN = 0x800, @@ -7027,6 +7040,7 @@ enum class DOTADamageFlag_t : uint32_t DOTA_DAMAGE_FLAG_SECONDARY_PROJECTILE_ATTACK = 0x8000, DOTA_DAMAGE_FLAG_FORCE_SPELL_AMPLIFICATION = 0x10000, DOTA_DAMAGE_FLAG_MAGIC_AUTO_ATTACK = 0x20000, + DOTA_DAMAGE_FLAG_ATTACK_MODIFIER = 0x40000, }; // Alignment: 4 @@ -7230,7 +7244,7 @@ enum class modifierpriority : uint32_t }; // Alignment: 4 -// Size: 0x108 +// Size: 0x110 enum class modifierfunction : uint32_t { MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0x0, @@ -7268,234 +7282,242 @@ enum class modifierfunction : uint32_t MODIFIER_PROPERTY_IGNORE_ATTACKSPEED_LIMIT = 0x20, MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT = 0x21, MODIFIER_PROPERTY_MANACOST_REDUCTION_CONSTANT = 0x22, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT = 0x23, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST = 0x24, - MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE = 0x25, - MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT = 0x26, - MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE = 0x27, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE = 0x28, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION = 0x29, - MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY = 0x2a, - MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE = 0x2b, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP = 0x2c, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE = 0x2d, - MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE = 0x2e, - MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE = 0x2f, - MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET = 0x30, - MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE = 0x31, - MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE = 0x32, - MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x33, - MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x34, - MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE = 0x35, - MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE = 0x36, - MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE = 0x37, - MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE = 0x38, - MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE = 0x39, - MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE = 0x3a, - MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE = 0x3b, - MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT = 0x3c, - MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT = 0x3d, - MODIFIER_PROPERTY_EVASION_CONSTANT = 0x3e, - MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT = 0x3f, - MODIFIER_PROPERTY_STATUS_RESISTANCE = 0x40, - MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING = 0x41, - MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER = 0x42, - MODIFIER_PROPERTY_AVOID_DAMAGE = 0x43, - MODIFIER_PROPERTY_AVOID_SPELL = 0x44, - MODIFIER_PROPERTY_MISS_PERCENTAGE = 0x45, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE = 0x46, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE = 0x47, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS = 0x48, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE = 0x49, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE = 0x4a, - MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST = 0x4b, - MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR = 0x4c, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION = 0x4d, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION = 0x4e, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS = 0x4f, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS = 0x50, - MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE = 0x51, - MODIFIER_PROPERTY_BASE_MANA_REGEN = 0x52, - MODIFIER_PROPERTY_MANA_REGEN_CONSTANT = 0x53, - MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE = 0x54, - MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE = 0x55, - MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT = 0x56, - MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE = 0x57, - MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE = 0x58, - MODIFIER_PROPERTY_HEALTH_BONUS = 0x59, - MODIFIER_PROPERTY_MANA_BONUS = 0x5a, - MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS = 0x5b, - MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS = 0x5c, - MODIFIER_PROPERTY_EXTRA_MANA_BONUS = 0x5d, - MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE = 0x5e, - MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE = 0x5f, - MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE = 0x60, - MODIFIER_PROPERTY_STATS_STRENGTH_BONUS = 0x61, - MODIFIER_PROPERTY_STATS_AGILITY_BONUS = 0x62, - MODIFIER_PROPERTY_STATS_INTELLECT_BONUS = 0x63, - MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE = 0x64, - MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE = 0x65, - MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE = 0x66, - MODIFIER_PROPERTY_CAST_RANGE_BONUS = 0x67, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE = 0x68, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET = 0x69, - MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING = 0x6a, - MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE = 0x6b, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS = 0x6c, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE = 0x6d, - MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE = 0x6e, - MODIFIER_PROPERTY_MAX_ATTACK_RANGE = 0x6f, - MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS = 0x70, - MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE = 0x71, - MODIFIER_PROPERTY_PROJECTILE_NAME = 0x72, - MODIFIER_PROPERTY_REINCARNATION = 0x73, - MODIFIER_PROPERTY_RESPAWNTIME = 0x74, - MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x75, - MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x76, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x77, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x78, - MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x79, - MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7a, - MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7b, - MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7c, - MODIFIER_PROPERTY_DEATHGOLDCOST = 0x7d, - MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x7e, - MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x7f, - MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x80, - MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x81, - MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x82, - MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x83, - MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x84, - MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x85, - MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x86, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x87, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x88, - MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x89, - MODIFIER_PROPERTY_ABSORB_SPELL = 0x8a, - MODIFIER_PROPERTY_REFLECT_SPELL = 0x8b, - MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x8c, - MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x8d, - MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x8e, - MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x8f, - MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x90, - MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x91, - MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x92, - MODIFIER_PROPERTY_MIN_HEALTH = 0x93, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x94, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x95, - MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x96, - MODIFIER_PROPERTY_IS_ILLUSION = 0x97, - MODIFIER_PROPERTY_ILLUSION_LABEL = 0x98, - MODIFIER_PROPERTY_STRONG_ILLUSION = 0x99, - MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9a, - MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0x9b, - MODIFIER_PROPERTY_XP_DURING_DEATH = 0x9c, - MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0x9d, - MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0x9e, - MODIFIER_PROPERTY_DISABLE_HEALING = 0x9f, - MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa0, - MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa1, - MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa2, - MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa3, - MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa4, - MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xa5, - MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xa6, - MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xa7, - MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xa8, - MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xa9, - MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xaa, - MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xab, - MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xac, - MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xad, - MODIFIER_EVENT_ON_ATTACK_RECORD = 0xae, - MODIFIER_EVENT_ON_ATTACK_START = 0xaf, - MODIFIER_EVENT_ON_ATTACK = 0xb0, - MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb1, - MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb2, - MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb3, - MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb4, - MODIFIER_EVENT_ON_ORDER = 0xb5, - MODIFIER_EVENT_ON_UNIT_MOVED = 0xb6, - MODIFIER_EVENT_ON_ABILITY_START = 0xb7, - MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xb8, - MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xb9, - MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xba, - MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xbb, - MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xbc, - MODIFIER_EVENT_ON_REFRESH = 0xbd, - MODIFIER_EVENT_ON_TAKEDAMAGE = 0xbe, - MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xbf, - MODIFIER_EVENT_ON_STATE_CHANGED = 0xc0, - MODIFIER_EVENT_ON_ORB_EFFECT = 0xc1, - MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc2, - MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc3, - MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc4, - MODIFIER_EVENT_ON_ATTACKED = 0xc5, - MODIFIER_EVENT_ON_DEATH = 0xc6, - MODIFIER_EVENT_ON_RESPAWN = 0xc7, - MODIFIER_EVENT_ON_SPENT_MANA = 0xc8, - MODIFIER_EVENT_ON_TELEPORTING = 0xc9, - MODIFIER_EVENT_ON_TELEPORTED = 0xca, - MODIFIER_EVENT_ON_SET_LOCATION = 0xcb, - MODIFIER_EVENT_ON_HEALTH_GAINED = 0xcc, - MODIFIER_EVENT_ON_MANA_GAINED = 0xcd, - MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xce, - MODIFIER_EVENT_ON_HERO_KILLED = 0xcf, - MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd0, - MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd1, - MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd2, - MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xd3, - MODIFIER_PROPERTY_TOOLTIP = 0xd4, - MODIFIER_PROPERTY_MODEL_CHANGE = 0xd5, - MODIFIER_PROPERTY_MODEL_SCALE = 0xd6, - MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xd7, - MODIFIER_PROPERTY_IS_SCEPTER = 0xd8, - MODIFIER_PROPERTY_IS_SHARD = 0xd9, - MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xda, - MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xdb, - MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xdc, - MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xdd, - MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xde, - MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xdf, - MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe0, - MODIFIER_PROPERTY_DISABLE_TURNING = 0xe1, - MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xe2, - MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xe3, - MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xe4, - MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xe5, - MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xe6, - MODIFIER_EVENT_ON_DOMINATED = 0xe7, - MODIFIER_EVENT_ON_KILL = 0xe8, - MODIFIER_EVENT_ON_ASSIST = 0xe9, - MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xea, - MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xeb, - MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xec, - MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xed, - MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xee, - MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xef, - MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf0, - MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xf1, - MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xf2, - MODIFIER_PROPERTY_TOOLTIP2 = 0xf3, - MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xf4, - MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xf5, - MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xf6, - MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0xf7, - MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0xf8, - MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0xf9, - MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0xfa, - MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0xfb, - MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0xfc, - MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0xfd, - MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0xfe, - MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0xff, - MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x100, - MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x101, - MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x102, - MODIFIER_PROPERTY_RAT_PACK = 0x103, - MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x104, - MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x105, - MODIFIER_FUNCTION_LAST = 0x106, + MODIFIER_PROPERTY_HEALTHCOST_REDUCTION_CONSTANT = 0x23, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT = 0x24, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST = 0x25, + MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE = 0x26, + MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT = 0x27, + MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE = 0x28, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE = 0x29, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION = 0x2a, + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY = 0x2b, + MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE = 0x2c, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP = 0x2d, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE = 0x2e, + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE = 0x2f, + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE = 0x30, + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET = 0x31, + MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE = 0x32, + MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE = 0x33, + MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x34, + MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE = 0x35, + MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE = 0x36, + MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE = 0x37, + MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE = 0x38, + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE = 0x39, + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE = 0x3a, + MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE = 0x3b, + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE = 0x3c, + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT = 0x3d, + MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT = 0x3e, + MODIFIER_PROPERTY_EVASION_CONSTANT = 0x3f, + MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT = 0x40, + MODIFIER_PROPERTY_STATUS_RESISTANCE = 0x41, + MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING = 0x42, + MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER = 0x43, + MODIFIER_PROPERTY_AVOID_DAMAGE = 0x44, + MODIFIER_PROPERTY_AVOID_SPELL = 0x45, + MODIFIER_PROPERTY_MISS_PERCENTAGE = 0x46, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE = 0x47, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE = 0x48, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS = 0x49, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE = 0x4a, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE = 0x4b, + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST = 0x4c, + MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR = 0x4d, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION = 0x4e, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION = 0x4f, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS = 0x50, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS = 0x51, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_UNIQUE = 0x52, + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE = 0x53, + MODIFIER_PROPERTY_BASE_MANA_REGEN = 0x54, + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT = 0x55, + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE = 0x56, + MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE = 0x57, + MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT = 0x58, + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE = 0x59, + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE = 0x5a, + MODIFIER_PROPERTY_HEALTH_BONUS = 0x5b, + MODIFIER_PROPERTY_MANA_BONUS = 0x5c, + MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS = 0x5d, + MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS = 0x5e, + MODIFIER_PROPERTY_EXTRA_MANA_BONUS = 0x5f, + MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE = 0x60, + MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE = 0x61, + MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE = 0x62, + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS = 0x63, + MODIFIER_PROPERTY_STATS_AGILITY_BONUS = 0x64, + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS = 0x65, + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE = 0x66, + MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE = 0x67, + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE = 0x68, + MODIFIER_PROPERTY_CAST_RANGE_BONUS = 0x69, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE = 0x6a, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET = 0x6b, + MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING = 0x6c, + MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE = 0x6d, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS = 0x6e, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE = 0x6f, + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE = 0x70, + MODIFIER_PROPERTY_MAX_ATTACK_RANGE = 0x71, + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS = 0x72, + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE = 0x73, + MODIFIER_PROPERTY_PROJECTILE_NAME = 0x74, + MODIFIER_PROPERTY_REINCARNATION = 0x75, + MODIFIER_PROPERTY_RESPAWNTIME = 0x76, + MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 0x77, + MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 0x78, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 0x79, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 0x7a, + MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 0x7b, + MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 0x7c, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 0x7d, + MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 0x7e, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE = 0x7f, + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING = 0x80, + MODIFIER_PROPERTY_DEATHGOLDCOST = 0x81, + MODIFIER_PROPERTY_EXP_RATE_BOOST = 0x82, + MODIFIER_PROPERTY_GOLD_RATE_BOOST = 0x83, + MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 0x84, + MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 0x85, + MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 0x86, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 0x87, + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 0x88, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 0x89, + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 0x8a, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 0x8b, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT = 0x8c, + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 0x8d, + MODIFIER_PROPERTY_ABSORB_SPELL = 0x8e, + MODIFIER_PROPERTY_REFLECT_SPELL = 0x8f, + MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 0x90, + MODIFIER_PROPERTY_BONUS_DAY_VISION = 0x91, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 0x92, + MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 0x93, + MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 0x94, + MODIFIER_PROPERTY_FIXED_DAY_VISION = 0x95, + MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 0x96, + MODIFIER_PROPERTY_MIN_HEALTH = 0x97, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 0x98, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 0x99, + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 0x9a, + MODIFIER_PROPERTY_IS_ILLUSION = 0x9b, + MODIFIER_PROPERTY_ILLUSION_LABEL = 0x9c, + MODIFIER_PROPERTY_STRONG_ILLUSION = 0x9d, + MODIFIER_PROPERTY_SUPER_ILLUSION = 0x9e, + MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 0x9f, + MODIFIER_PROPERTY_XP_DURING_DEATH = 0xa0, + MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 0xa1, + MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 0xa2, + MODIFIER_PROPERTY_DISABLE_HEALING = 0xa3, + MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 0xa4, + MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 0xa5, + MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 0xa6, + MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 0xa7, + MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 0xa8, + MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 0xa9, + MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 0xaa, + MODIFIER_PROPERTY_DODGE_PROJECTILE = 0xab, + MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 0xac, + MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 0xad, + MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 0xae, + MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 0xaf, + MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 0xb0, + MODIFIER_EVENT_ON_SPELL_TARGET_READY = 0xb1, + MODIFIER_EVENT_ON_ATTACK_RECORD = 0xb2, + MODIFIER_EVENT_ON_ATTACK_START = 0xb3, + MODIFIER_EVENT_ON_ATTACK = 0xb4, + MODIFIER_EVENT_ON_ATTACK_LANDED = 0xb5, + MODIFIER_EVENT_ON_ATTACK_FAIL = 0xb6, + MODIFIER_EVENT_ON_ATTACK_ALLIED = 0xb7, + MODIFIER_EVENT_ON_PROJECTILE_DODGE = 0xb8, + MODIFIER_EVENT_ON_ORDER = 0xb9, + MODIFIER_EVENT_ON_UNIT_MOVED = 0xba, + MODIFIER_EVENT_ON_ABILITY_START = 0xbb, + MODIFIER_EVENT_ON_ABILITY_EXECUTED = 0xbc, + MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 0xbd, + MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 0xbe, + MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 0xbf, + MODIFIER_EVENT_ON_PROCESS_UPGRADE = 0xc0, + MODIFIER_EVENT_ON_REFRESH = 0xc1, + MODIFIER_EVENT_ON_TAKEDAMAGE = 0xc2, + MODIFIER_EVENT_ON_DEATH_PREVENTED = 0xc3, + MODIFIER_EVENT_ON_STATE_CHANGED = 0xc4, + MODIFIER_EVENT_ON_ORB_EFFECT = 0xc5, + MODIFIER_EVENT_ON_PROCESS_CLEAVE = 0xc6, + MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 0xc7, + MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 0xc8, + MODIFIER_EVENT_ON_ATTACKED = 0xc9, + MODIFIER_EVENT_ON_DEATH = 0xca, + MODIFIER_EVENT_ON_DEATH_COMPLETED = 0xcb, + MODIFIER_EVENT_ON_RESPAWN = 0xcc, + MODIFIER_EVENT_ON_SPENT_MANA = 0xcd, + MODIFIER_EVENT_ON_SPENT_HEALTH = 0xce, + MODIFIER_EVENT_ON_TELEPORTING = 0xcf, + MODIFIER_EVENT_ON_TELEPORTED = 0xd0, + MODIFIER_EVENT_ON_SET_LOCATION = 0xd1, + MODIFIER_EVENT_ON_HEALTH_GAINED = 0xd2, + MODIFIER_EVENT_ON_MANA_GAINED = 0xd3, + MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 0xd4, + MODIFIER_EVENT_ON_HERO_KILLED = 0xd5, + MODIFIER_EVENT_ON_HEAL_RECEIVED = 0xd6, + MODIFIER_EVENT_ON_BUILDING_KILLED = 0xd7, + MODIFIER_EVENT_ON_MODEL_CHANGED = 0xd8, + MODIFIER_EVENT_ON_MODIFIER_ADDED = 0xd9, + MODIFIER_PROPERTY_TOOLTIP = 0xda, + MODIFIER_PROPERTY_MODEL_CHANGE = 0xdb, + MODIFIER_PROPERTY_MODEL_SCALE = 0xdc, + MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 0xdd, + MODIFIER_PROPERTY_IS_SCEPTER = 0xde, + MODIFIER_PROPERTY_IS_SHARD = 0xdf, + MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 0xe0, + MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 0xe1, + MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 0xe2, + MODIFIER_PROPERTY_LIFETIME_FRACTION = 0xe3, + MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 0xe4, + MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 0xe5, + MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 0xe6, + MODIFIER_PROPERTY_DISABLE_TURNING = 0xe7, + MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 0xe8, + MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 0xe9, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 0xea, + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 0xeb, + MODIFIER_PROPERTY_ABILITY_LAYOUT = 0xec, + MODIFIER_EVENT_ON_DOMINATED = 0xed, + MODIFIER_EVENT_ON_KILL = 0xee, + MODIFIER_EVENT_ON_ASSIST = 0xef, + MODIFIER_PROPERTY_TEMPEST_DOUBLE = 0xf0, + MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 0xf1, + MODIFIER_EVENT_ON_ATTACK_FINISHED = 0xf2, + MODIFIER_PROPERTY_IGNORE_COOLDOWN = 0xf3, + MODIFIER_PROPERTY_CAN_ATTACK_TREES = 0xf4, + MODIFIER_PROPERTY_VISUAL_Z_DELTA = 0xf5, + MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 0xf6, + MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 0xf7, + MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 0xf8, + MODIFIER_PROPERTY_TOOLTIP2 = 0xf9, + MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 0xfa, + MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 0xfb, + MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 0xfc, + MODIFIER_EVENT_ON_ATTACK_CANCELLED = 0xfd, + MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 0xfe, + MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 0xff, + MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 0x100, + MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 0x101, + MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 0x102, + MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 0x103, + MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 0x104, + MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 0x105, + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 0x106, + MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 0x107, + MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 0x108, + MODIFIER_PROPERTY_RAT_PACK = 0x109, + MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 0x10a, + MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 0x10b, + MODIFIER_PROPERTY_HEALTHBAR_PIPS = 0x10c, + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT = 0x10d, + MODIFIER_FUNCTION_LAST = 0x10e, MODIFIER_FUNCTION_INVALID = 0xffff, }; @@ -7524,6 +7546,18 @@ enum class CourierState_t : uint32_t COURIER_NUM_STATES = 0x6, }; +// Alignment: 4 +// Size: 0x6 +enum class ScoutState_t : uint32_t +{ + SCOUT_STATE_INIT = 0xffffffffffffffff, + SCOUT_STATE_IDLE = 0x0, + SCOUT_STATE_AT_BASE = 0x1, + SCOUT_STATE_MOVING = 0x2, + SCOUT_STATE_DEAD = 0x3, + SCOUT_NUM_STATES = 0x4, +}; + // Alignment: 4 // Size: 0x67 enum class DOTASlotType_t : uint32_t @@ -7832,15 +7866,10 @@ struct CNetworkVarChainer; struct CSkeletonInstance; struct GameTime_t; struct CSkillFloat; -struct AttachmentHandle_t; struct fogplayerparams_t; struct audioparams_t; struct CInButtonState; struct AmmoIndex_t; -struct WheeledPhysicsVehicleTireModelData_t; -struct WheeledPhysicsVehicleDrivetrainData_t; -struct WheeledPhysicsVehicleAeroData_t; -struct WheeledPhysicsVehicleLookSteeringData_t; struct CRangeInt; struct CRangeFloat; struct CBaseAnimGraphController; @@ -7868,6 +7897,7 @@ struct SimpleConstraintSoundProfile; struct sky3dparams_t; struct CSkyCamera; struct CBaseEntity; +struct AttachmentHandle_t; struct ParticleIndex_t; struct VPhysicsCollisionAttribute_t; struct fogparams_t; @@ -7919,9 +7949,6 @@ struct PingWheelMessageID_t; struct CDOTA_TeamCommander; struct CDOTABehaviorMoveTo; struct CPointCamera; -struct WheeledPhysicsVehiclePhysicsData_t; -struct WheeledPhysicsVehicleControlsData_t; -struct WheeledPhysicsVehicleCameraData_t; struct CRenderComponent; struct CHitboxComponent; struct CGlowProperty; @@ -7933,7 +7960,6 @@ struct CMotorController; struct ConstraintSoundInfo; struct constraint_hingeparams_t; struct dynpitchvol_t; -struct CBuoyancyHelper; struct ragdoll_t; struct CAttributeList; struct CSoundPatch; @@ -7941,8 +7967,9 @@ struct sSpiritInfo; struct CDOTA_Tree; struct CPathTrack; struct CLightComponent; -struct PhysicsRagdollPose_t; struct IChoreoServices; +struct AnimationUpdateListHandle_t; +struct PhysicsRagdollPose_t; struct CFuncTrackTrain; struct CAttributeContainer; struct CPlayer_WeaponServices; @@ -8260,13 +8287,22 @@ public: }; // Alignment: 1 -// Size: 0x20 +// Size: 0x4 +struct AnimationUpdateListHandle_t +{ +public: + uint32_t m_Value; // 0x0 +}; + +// Alignment: 2 +// Size: 0x28 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 + float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 1 @@ -8321,110 +8357,6 @@ public: static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; -// Alignment: 5 -// Size: 0x38 -struct BaseVehiclePotentialExitAnim_t -{ -public: - // MPropertyDescription "Attachment name indicating where the player will exit" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sExitPointAttachmentName; // 0x0 - // MPropertyDescription "Escape exits have lower priority" - bool m_bIsEscapeExit; // 0x8 - // MPropertyDescription "Is this exit appropriate only if the vehicle is overturned?" - bool m_bIsOverturnedExit; // 0x9 -private: - [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa -public: - // MPropertyFriendlyName "Vehicle Exit Animgraph Parameter" - // MPropertyDescription "The animgraph parameter that is set on the vehicle to animate the passenger getting in." - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamExit; // 0x10 - // MPropertyFriendlyName "Vehicle Exit Animgraph Finish Tag" - // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Exit Animgraph Parameter' step." - // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagExit; // 0x30 -}; - -// Alignment: 6 -// Size: 0x68 -struct BaseVehicleAllowedPassenger_t -{ -public: - // MPropertyDescription "The subclass of the allowed passenger" - CSubclassNameGeneric m_sAllowedSubclass; // 0x0 - // MPropertyDescription "The pawn subclass to create to control the vehicle (player passengers only)" - CSubclassNameGeneric m_sPawnSubclassToCreate; // 0x10 - // MPropertyDescription "Attachment name to attached the spawned pawn subclass to" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sPawnAttachmentName; // 0x20 - // MPropertyFriendlyName "Vehicle Entry Animgraph Parameter" - // MPropertyDescription "The animgraph parameter that is set on the vehicle to animate the passenger getting in." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamEnter; // 0x28 - // MPropertyFriendlyName "Vehicle Entry Animgraph Finish Tag" - // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Entry Animgraph Parameter' step." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" - CUtlString m_sAnimgraphFinishTagEnter; // 0x48 - // MPropertyGroupName "Animation" - CUtlVector< BaseVehiclePotentialExitAnim_t > m_vecExitAnimations; // 0x50 -}; - -// Alignment: 10 -// Size: 0x48 -struct BaseVehicleRole_t -{ -public: - CUtlSymbolLarge m_sRoleName; // 0x0 - bool m_bIsNonDriverPassenger; // 0x8 -private: - [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 -public: - // MPropertyAttributeEditor "VDataModelHitboxSet( m_sModelName )" - CUtlString m_sEntryHitboxSetName; // 0x10 - // MPropertyGroupName "View" - float m_flCameraFOV; // 0x18 - // MPropertyGroupName "View" - float m_flHighSpeedFOVScale; // 0x1c - // MPropertyGroupName "View" - float m_flFractionOfTopSpeedForStandardFOV; // 0x20 - // MPropertyGroupName "View" - float m_flFractionOfTopSpeedForHighSpeedFOV; // 0x24 - // MPropertyGroupName "View" - float m_flCameraZNearOverride; // 0x28 - // MPropertyGroupName "View" - float m_flCameraZFarOverride; // 0x2c - CUtlVector< BaseVehicleAllowedPassenger_t > m_vecAllowedPassengers; // 0x30 -}; - -// Alignment: 13 -// Size: 0x60 -struct VehiclePassengerInternalInfo_t -{ -public: - CUtlSymbolLarge m_sRoleName; // 0x0 - AttachmentHandle_t m_hAttachment; // 0x8 - VehiclePassengerState_t m_nState; // 0x9 -private: - [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa -public: - CHandle< CBaseCombatCharacter > m_hPassenger; // 0xc - CHandle< CBasePlayerPawn > m_hPassengerPawn; // 0x10 - CHandle< CBasePlayerWeapon > m_hPassengerWeapon; // 0x14 - CUtlStringToken m_nStateChangeFinishTag; // 0x18 - int32_t m_nAllowedPassengerIndex; // 0x1c - int32_t m_nExitAnimIndex; // 0x20 - bool m_bExitForced; // 0x24 -private: - [[maybe_unused]] uint8_t __pad0025[0xb]; // 0x25 -public: - CTransform m_xAbsExitLocation; // 0x30 - CHandle< CEntityBlocker > m_hExitBlocker; // 0x50 - GameTime_t m_flEntryTime; // 0x54 -}; - // Alignment: 12 // Size: 0x50 struct CommandToolCommand_t @@ -8556,7 +8488,7 @@ public: uint64_t m_pButtonStates[3]; // 0x8 }; -// Alignment: 13 +// Alignment: 14 // Size: 0x1b8 class CPlayer_MovementServices : public CPlayerPawnComponent { @@ -8583,10 +8515,12 @@ public: // MNetworkMaxValue "2048.000000" // MNetworkEncodeFlags float m_flMaxspeed; // 0x190 - float m_flForwardMove; // 0x194 - float m_flLeftMove; // 0x198 - float m_flUpMove; // 0x19c - QAngle m_vecOldViewAngles; // 0x1a0 + // MNetworkEnable + float m_flForceSubtickMoveWhen; // 0x194 + float m_flForwardMove; // 0x198 + float m_flLeftMove; // 0x19c + float m_flUpMove; // 0x1a0 + QAngle m_vecOldViewAngles; // 0x1a4 }; // Alignment: 4 @@ -8652,221 +8586,6 @@ public: int8_t m_Value; // 0x0 }; -// Alignment: 8 -// Size: 0x40 -struct WheeledPhysicsVehicleAeroData_t -{ -public: - // MPropertyDescription "Decays chassis linear velocity exponentially. Overrides the linear damping value from the model." - float m_flLinearDamping; // 0x0 - // MPropertyDescription "Decays chassis angular velocity exponentially. Overrides the angular damping value from the model." - float m_flAngularDamping; // 0x4 - // MPropertyDescription "Linear drag scale along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Multiplied by squared velocity along that axis to get the drag force." - Vector m_vLinearDragParams; // 0x8 - // MPropertyDescription "Angular drag scale about each axis (X: Roll, Y: Pitch, Z: Yaw). Multiplied by squared angular velocity (deg / sec) along that axis to get the drag torque." - Vector m_vAngularDragParams; // 0x14 - // MPropertyDescription "Front downforce scale from squared velocity along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Negative values generate lift." - Vector m_vFrontDownforceParams; // 0x20 - // MPropertyDescription "Rear downforce scale from squared velocity along each axis (X: Longitudinal, Y: Lateral, Z: Vertical). Negative values generate lift." - Vector m_vRearDownforceParams; // 0x2c - // MPropertyDescription "How far away from the center of mass is the linear drag applied, as a fraction of the maximum extent in the front (positive) or rear (negative) direction?" - float m_flLinearDragLeverAsFractionOfExtent; // 0x38 - // MPropertyDescription "How far away from the center of mass are the downforce forces applied, as a fraction of the maximum extent in that direction?" - float m_flDownforceLeverAsFractionOfExtent; // 0x3c -}; - -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleDrivetrainData_t -{ -public: - // MPropertyDescription "Scale on the torque at low wheelspeeds, to help the wheels get unstuck from obstacles" - float m_flDriveTorqueScaleAtLowSpinAngVel; // 0x0 - // MPropertyDescription "Spin angular velocity above which DriveTorqueScaleAtLowSpinAngVel is fully disabled" - float m_flLowSpinAngVelThreshold; // 0x4 - // MPropertyDescription "Drivetrain-limited top speed in kilometers per hour (not incorporating drag or other losses)" - float m_flDrivetrainLimitedTopSpeedKPH; // 0x8 - // MPropertyDescription "Drivetrain-limited top speed in kilometers per hour when the car is in reverse (not incorporating drag or other losses)" - float m_flDrivetrainLimitedTopSpeedReverseKPH; // 0xc - // MPropertyDescription "Scale on the strength of the traction contol effect (0 to 1)" - float m_flTractionControlScale; // 0x10 -}; - -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleTireModelData_t -{ -public: - // MPropertyDescription "Effective friction coefficient at the peak of the slip curve" - float m_flPeakEffectiveFrictionCoeff; // 0x0 - // MPropertyDescription "Friction coefficient at full sliding" - float m_flSlidingFrictionCoeff; // 0x4 - // MPropertyDescription "Slip value for peak force" - float m_flPeakSlip; // 0x8 - // MPropertyDescription "Slip value at the start of the full sliding region" - float m_flFullSlidingSlip; // 0xc - // MPropertyDescription "Initial slope of the linear portion of the slip curve (delta mu / delta slip)" - float m_flSlope; // 0x10 -}; - -// Alignment: 5 -// Size: 0x38 -struct WheeledPhysicsVehicleWheelData_t -{ -public: - // MPropertyDescription "Name of the physics body for this wheel" - CUtlString m_sBodyName; // 0x0 - WheeledPhysicsVehicleTireModelData_t m_LateralTireParams; // 0x8 - WheeledPhysicsVehicleTireModelData_t m_LongitudinalTireParams; // 0x1c - // MPropertyDescription "Linear drag on the wheel body (scaled by velocity, not velocity squared)" - float m_flLinearDrag; // 0x30 - // MPropertyDescription "Angular drag on the wheel body (scaled by angular velocity, not ang vel squared)" - float m_flAngularDrag; // 0x34 -}; - -// Alignment: 6 -// Size: 0x30 -struct WheeledPhysicsVehicleAxleData_t -{ -public: - // MPropertyDescription "Names of the physics bodies for the wheels associated with this axle" - CUtlVector< CUtlString > m_vecWheelNames; // 0x0 - // MPropertyDescription "Maximum drive torque (in Newton-meters) sent to this axle when the vehicle is moving forward" - float m_flMaxDriveTorqueNm; // 0x18 - // MPropertyDescription "Maximum drive torque (in Newton-meters) sent to this axle when the vehicle is in reverse" - float m_flMaxDriveTorqueReverseNm; // 0x1c - // MPropertyDescription "Maximum brake torque delivered to this axle" - float m_flMaxBrakeTorqueNm; // 0x20 - // MPropertyDescription "Maximum handbrake torque delivered to this axle" - float m_flMaxHandbrakeTorqueNm; // 0x24 - // MPropertyDescription "Is this axle steered?" - bool m_bIsSteered; // 0x28 -}; - -// Alignment: 23 -// Size: 0xd8 -struct WheeledPhysicsVehiclePhysicsData_t -{ -public: - CUtlString m_sChassisBodyName; // 0x0 - // MPropertyDescription "How is the vehicle oriented relative to its root bone in ModelDoc?" - WheeledPhysicsVehicleChassisFrame_t m_nChassisFrame; // 0x8 -private: - [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc -public: - CUtlVector< WheeledPhysicsVehicleWheelData_t > m_vecWheels; // 0x10 - CUtlVector< WheeledPhysicsVehicleAxleData_t > m_vecAxles; // 0x28 - WheeledPhysicsVehicleDrivetrainData_t m_Drivetrain; // 0x40 - WheeledPhysicsVehicleAeroData_t m_Aero; // 0x54 - // MPropertyDescription "Wheel angular velocity at which we start blending between stationary (Coulomb) friction and rolling tire friction" - float m_flRollingFrictionBlendMinWheelSpinAngVel; // 0x94 - // MPropertyDescription "Wheel angular velocity at which rolling tire friction fully blended in" - float m_flRollingFrictionBlendMaxWheelSpinAngVel; // 0x98 - // MPropertyDescription "Angle (from horizontal) at which a surface is considered "steep" and uses different tire behavior to make it harder to drive on" - float m_flSteepSurfaceAngle; // 0x9c - // MPropertyDescription "Friction scale to use on a steep surface" - float m_flSteepSurfaceFrictionScale; // 0xa0 - float m_flShallowSurfaceLongitudinalCollisionScale; // 0xa4 - float m_flShallowSurfaceLateralCollisionScale; // 0xa8 - float m_flSteepSurfaceLongitudinalCollisionScale; // 0xac - float m_flSteepSurfaceLateralCollisionScale; // 0xb0 - // MPropertyDescription "The maximum angle (in degrees) we allow the player to steer" - float m_flMaxSteeringAngle; // 0xb4 - // MPropertyDescription "Converts upward contact force on the vehicle chassis (which reduces available tire grip) into an artificial thrust force to help the vehicle get unstuck when high-centered." - float m_flHighCenteredThrustScale; // 0xb8 - // MPropertyDescription "Yaw damping applied to help straighten the vehicle out when steering straight" - float m_flStraighteningYawDampingScale; // 0xbc - // MPropertyDescription "Steering input at which the straightening yaw damping is fully faded out" - float m_flMaxSteeringInputForStraighteningYawDamping; // 0xc0 - // MPropertyDescription "Should gameplay code manually control the vehicle's roll angle?" - bool m_bStabilizeRoll; // 0xc4 - // MPropertyDescription "Should gameplay code manually control the vehicle's pitch angle?" - bool m_bStabilizePitch; // 0xc5 -private: - [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 -public: - // MPropertyDescription "Scale on the gravity force applied to the vehicle's bodies" - float m_flGravityScale; // 0xc8 - // MPropertyDescription "Angular damping applied to the wheels when the vehicle is unmanned. We want this to be nonzero so the wheels don't spin forever when the vehicle is flipped over" - float m_flUnmannedWheelAngularDamping; // 0xcc - // MPropertyDescription "Scale on the force of buoyancy and water drag" - float m_flBuoyancyFactor; // 0xd0 -}; - -// Alignment: 4 -// Size: 0x10 -struct WheeledPhysicsVehicleLookSteeringData_t -{ -public: - float m_flLowSpeedKPHForSensitivity; // 0x0 - float m_flHighSpeedKPHForSensitivity; // 0x4 - float m_flSensitivityAtLowSpeed; // 0x8 - float m_flSensitivityAtHighSpeed; // 0xc -}; - -// Alignment: 20 -// Size: 0x5c -struct WheeledPhysicsVehicleControlsData_t -{ -public: - // MPropertyDescription "Rate at which the throttle input increases when the user is pressing a throttle button" - float m_flThrottleRiseRate; // 0x0 - // MPropertyDescription "Rate at which the throttle input decreases when the user is not pressing a throttle button" - float m_flThrottleFallRate; // 0x4 - // MPropertyDescription "Rate at which the brake input increases when the user is pressing the brake button" - float m_flBrakeRiseRate; // 0x8 - // MPropertyDescription "Rate at which the brake input decreases when the user is not pressing the brake button" - float m_flBrakeFallRate; // 0xc - // MPropertyDescription "The in-game throttle / brake input must reach this value before we start to accelerate / brake" - float m_flThrottleBrakeDeadzone; // 0x10 - // MPropertyDescription "Rate at which the handbrake input increases when the user is pressing the brake button" - float m_flHandbrakeRiseRate; // 0x14 - // MPropertyDescription "Rate at which the handbrake input decreases when the user is not pressing the brake button" - float m_flHandbrakeFallRate; // 0x18 - // MPropertyDescription "Rate at which the steering input increases when the user is pressing the left or right steering button" - float m_flSteeringRiseRate; // 0x1c - // MPropertyDescription "Rate at which the steering input decreases when the user is not pressing a steering button" - float m_flSteeringFallRate; // 0x20 - // MPropertyDescription "The in-game steering input must reach this value before we start to steer. (Helps the user drive straight forward/backward on a gamepad) " - float m_flSteeringDeadzone; // 0x24 - // MPropertyDescription "If we're below this speed and we're holding down the brake button, we'll switch to reverse" - float m_flMaxSpeedToEnterReverseKPH; // 0x28 - // MPropertyDescription "If we're below this speed and not pushing any controls, we'll automatically apply the brake" - float m_flMaxSpeedToAutoBrakeKPH; // 0x2c - // MPropertyDescription "Max steering range at low speed" - float m_flSteeringRangeAtLowSpeed; // 0x30 - // MPropertyDescription "Max steering range at high speed" - float m_flSteeringRangeAtHighSpeed; // 0x34 - // MPropertyDescription "Fraction of top speed below which we use the full steering range (between the low and high speed thresholds, we blend the range)" - float m_flLowSpeedFractionForSteeringRangeScale; // 0x38 - // MPropertyDescription "Fraction of top speed above which we use the limited steering range (between the low and high speed thresholds, we blend the range) " - float m_flHighSpeedFractionForSteeringRangeScale; // 0x3c - // MPropertyDescription "Scale on the steering rise and fall rates at high speeds" - float m_flSteeringRateScaleAtHighSpeed; // 0x40 - // MPropertyDescription "Fraction of top speed below which we use the base steering rise/fall rates (between the low and high speed thresholds, we blend the rates)" - float m_flLowSpeedFractionForSteeringRateScale; // 0x44 - // MPropertyDescription "Fraction of top speed above which we use the scaled steering rise/fall rates (between the low and high speed thresholds, we blend the rates) " - float m_flHighSpeedFractionForSteeringRateScale; // 0x48 - WheeledPhysicsVehicleLookSteeringData_t m_LookSteering; // 0x4c -}; - -// Alignment: 5 -// Size: 0x14 -struct WheeledPhysicsVehicleCameraData_t -{ -public: - // MPropertyDescription "There must be at least this much difference between the current and desired camera pitch angle before we start to adjust the camera." - float m_flPitchDeadzone; // 0x0 - // MPropertyDescription "If the desired camera pitch is more upward than the current pitch, we'll wait this long before we start to adjust the camera." - float m_flTimeBeforeResolvingUpwardPitchViolation; // 0x4 - // MPropertyDescription "If the desired camera pitch is more downward than the current pitch, we'll wait this long before we start to adjust the camera." - float m_flTimeBeforeResolvingDownwardPitchViolation; // 0x8 - // MPropertyDescription "If the desired camera pitch is within the deadzone, we'll wait this long before restoring the camera to 0 pitch." - float m_flTimeBeforeRestoringCameraToZeroPitch; // 0xc - // MPropertyDescription "Time in which the camera tries to reach 63% of its target pitch angle" - float m_flTargetPitchSmoothingTimeConstant; // 0x10 -}; - // Alignment: 5 // Size: 0x38 struct AmmoTypeInfo_t @@ -9029,8 +8748,8 @@ public: CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 }; -// Alignment: 8 -// Size: 0x240 +// Alignment: 7 +// Size: 0x230 class CModelState { private: @@ -9042,32 +8761,30 @@ public: // MNetworkDisable CUtlSymbolLarge m_ModelName; // 0xa8 private: - [[maybe_unused]] uint8_t __pad00b0[0x40]; // 0xb0 + [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 public: // MNetworkEnable - bool m_bClientClothCreationSuppressed; // 0xf0 + bool m_bClientClothCreationSuppressed; // 0xe8 private: - [[maybe_unused]] uint8_t __pad00f1[0x97]; // 0xf1 + [[maybe_unused]] uint8_t __pad00e9[0x97]; // 0xe9 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" - uint64_t m_MeshGroupMask; // 0x188 + uint64_t m_MeshGroupMask; // 0x180 private: - [[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190 + [[maybe_unused]] uint8_t __pad0188[0x9a]; // 0x188 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" - int8_t m_nIdealMotionType; // 0x22a + int8_t m_nIdealMotionType; // 0x222 // MNetworkDisable - int8_t m_nForceLOD; // 0x22b + int8_t m_nForceLOD; // 0x223 // MNetworkDisable - bool m_bIsJiggleBonesEnabled; // 0x22c - // MNetworkDisable - int8_t m_nClothUpdateFlags; // 0x22d + int8_t m_nClothUpdateFlags; // 0x224 }; // Alignment: 8 -// Size: 0x400 +// Size: 0x3f0 class CSkeletonInstance : public CGameSceneNode { private: @@ -9076,11 +8793,11 @@ public: // MNetworkEnable CModelState m_modelState; // 0x160 // MNetworkEnable - bool m_bIsAnimationEnabled; // 0x3a0 + bool m_bIsAnimationEnabled; // 0x390 // MNetworkEnable - bool m_bUseParentRenderBounds; // 0x3a1 + bool m_bUseParentRenderBounds; // 0x391 // MNetworkDisable - bool m_bDisableSolidCollisionsForHierarchy; // 0x3a2 + bool m_bDisableSolidCollisionsForHierarchy; // 0x392 struct { // MNetworkDisable @@ -9091,9 +8808,9 @@ public: }; // 16 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" - CUtlStringToken m_materialGroup; // 0x3a4 + CUtlStringToken m_materialGroup; // 0x394 // MNetworkEnable - uint8_t m_nHitboxSet; // 0x3a8 + uint8_t m_nHitboxSet; // 0x398 }; // Alignment: 3 @@ -9423,7 +9140,7 @@ public: }; // Alignment: 2 -// Size: 0x480 +// Size: 0x470 class CBodyComponentSkeletonInstance : public CBodyComponent { public: @@ -9431,7 +9148,7 @@ public: CSkeletonInstance m_skeletonInstance; // 0x50 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x450 + CNetworkVarChainer __m_pChainEntity; // 0x440 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; @@ -9513,39 +9230,20 @@ public: Vector m_vecSmoothedVelocity; // 0x1f8 }; -// Alignment: 10 -// Size: 0x60 -class JiggleData -{ -public: - int32_t bone; // 0x0 - int32_t id; // 0x4 - float lastUpdate; // 0x8 - Vector basePos; // 0xc - Vector baseLastPos; // 0x18 - Vector baseVel; // 0x24 - Vector baseAccel; // 0x30 - Vector tipPos; // 0x3c - Vector tipVel; // 0x48 - Vector tipAccel; // 0x54 -}; - // Alignment: 0 -// Size: 0x20 -class CJiggleBones +// Size: 0x8 +class ISkeletonAnimationController { private: - [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // No members available }; // Alignment: 1 // Size: 0x10 -class CSkeletonAnimationController +class CSkeletonAnimationController : public ISkeletonAnimationController { -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable CSkeletonInstance* m_pSkeletonInstance; // 0x8 @@ -9602,43 +9300,34 @@ public: }; // Alignment: 1 -// Size: 0x4b0 +// Size: 0x4a0 class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x480 + CNetworkVarChainer __m_pChainEntity; // 0x470 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; -// Alignment: 11 -// Size: 0x108 +// Alignment: 10 +// Size: 0x68 class CBaseAnimGraphController : public CSkeletonAnimationController { -private: - [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" - CNetworkedSequenceOperation m_baseLayer; // 0x18 + CNetworkedSequenceOperation m_baseLayer; // 0x10 + // MNetworkDisable + bool m_bSequenceFinished; // 0x38 private: - [[maybe_unused]] uint8_t __pad0040[0x8]; // 0x40 + [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MNetworkDisable - bool m_bSequenceFinished; // 0x48 -private: - [[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49 -public: - // MNetworkDisable - float m_flGroundSpeed; // 0x4c - // MNetworkDisable - float m_flLastEventCycle; // 0x50 - // MNetworkDisable - float m_flLastEventAnimTime; // 0x54 + float m_flLastEventCycle; // 0x3c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" @@ -9646,24 +9335,26 @@ public: // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" - CNetworkedQuantizedFloat m_flPlaybackRate; // 0x58 + CNetworkedQuantizedFloat m_flPlaybackRate; // 0x40 // MNetworkDisable - float m_flPrevAnimTime; // 0x60 + float m_flPrevAnimTime; // 0x48 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" - bool m_bClientSideAnimation; // 0x64 + bool m_bClientSideAnimation; // 0x4c // MNetworkDisable - bool m_bNetworkedAnimationInputsChanged; // 0x65 + bool m_bNetworkedAnimationInputsChanged; // 0x4d private: - [[maybe_unused]] uint8_t __pad0066[0x2]; // 0x66 + [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" - int32_t m_nNewSequenceParity; // 0x68 + int32_t m_nNewSequenceParity; // 0x50 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nResetEventsParity; // 0x6c + int32_t m_nResetEventsParity; // 0x54 + // MNetworkEnable + AnimLoopMode_t m_nAnimLoopMode; // 0x58 }; // Alignment: 2 @@ -10067,8 +9758,8 @@ public: GameTime_t m_flTimeStartedState; // 0x18 }; -// Alignment: 9 -// Size: 0x9 +// Alignment: 10 +// Size: 0xa struct HullFlags_t { public: @@ -10081,6 +9772,7 @@ public: bool m_bHull_Large; // 0x6 bool m_bHull_LargeCentered; // 0x7 bool m_bHull_MediumTall; // 0x8 + bool m_bHull_Small; // 0x9 }; // Alignment: 4 @@ -10449,8 +10141,9 @@ public: static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[4]->m_instance);}; static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[5]->m_instance);}; static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[6]->m_instance);}; - static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; - static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; + static int32_t &Get_m_nPredictionRandomSeedServer(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; + static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; + static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[9]->m_instance);}; }; // Alignment: 0 @@ -12069,16 +11762,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x8 -class IContextualQuery -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 -public: - // No members available -}; - // Alignment: 15 // Size: 0xa0 class CAnimationLayer @@ -12149,8 +11832,8 @@ public: CBaseAnimatingController* m_pOwner; // 0x158 }; -// Alignment: 13 -// Size: 0x230 +// Alignment: 14 +// Size: 0x238 class CBaseAnimatingController : public CSkeletonAnimationController { public: @@ -12200,22 +11883,24 @@ public: // MNetworkEnable // MNetworkPriority "32" int32_t m_nResetEventsParity; // 0xbc + // MNetworkEnable + AnimLoopMode_t m_nAnimLoopMode; // 0xc0 private: - [[maybe_unused]] uint8_t __pad00c0[0x10]; // 0xc0 + [[maybe_unused]] uint8_t __pad00c4[0x14]; // 0xc4 public: // MNetworkDisable - CSequenceTransitioner2 m_SequenceTransitioner; // 0xd0 + CSequenceTransitioner2 m_SequenceTransitioner; // 0xd8 }; // Alignment: 1 -// Size: 0x288 +// Size: 0x290 class CBaseAnimatingOverlayController : public CBaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" - CUtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x230 + CUtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x238 }; // Alignment: 2 @@ -12224,10 +11909,10 @@ class CBodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimatingOverlayController m_animationController; // 0x480 + CBaseAnimatingOverlayController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x708 + CNetworkVarChainer __m_pChainEntity; // 0x700 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimatingOverlay")->m_static_fields[0]->m_instance);}; @@ -12251,15 +11936,15 @@ public: }; // Alignment: 2 -// Size: 0x6e0 +// Size: 0x6d0 class CBodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimatingController m_animationController; // 0x480 + CBaseAnimatingController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x6b0 + CNetworkVarChainer __m_pChainEntity; // 0x6a8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimating")->m_static_fields[0]->m_instance);}; @@ -12548,6 +12233,19 @@ public: int32_t nCampType; // 0x34 }; +// Alignment: 3 +// Size: 0x30 +struct RegionTriggerBoxes_t +{ +public: + AABB_t regionBox; // 0x0 + Vector vRegionBoxOrigin; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 +public: + CUtlString strRegionName; // 0x28 +}; + // Alignment: 4 // Size: 0x18 class CDOTA_ReconnectInfo @@ -12691,8 +12389,8 @@ public: CUtlVectorEmbeddedNetworkVar< CDOTACustomShopItemInfo > m_CustomShopItems; // 0x130 }; -// Alignment: 102 -// Size: 0x750 +// Alignment: 103 +// Size: 0x758 class CDOTABaseGameMode : public CBaseEntity { private: @@ -12837,45 +12535,44 @@ public: // MNetworkEnable float m_flIntelligenceManaRegen; // 0x564 // MNetworkEnable - float m_flIntelligenceSpellAmpPercent; // 0x568 + float m_flIntelligenceMres; // 0x568 // MNetworkEnable - float m_flStrengthMagicResistancePercent; // 0x56c + float m_flIntelligenceSpellAmpPercent; // 0x56c // MNetworkEnable - float m_flDraftingHeroPickSelectTimeOverride; // 0x570 + float m_flStrengthMagicResistancePercent; // 0x570 // MNetworkEnable - float m_flDraftingBanningTimeOverride; // 0x574 + float m_flDraftingHeroPickSelectTimeOverride; // 0x574 // MNetworkEnable - bool m_bPauseEnabled; // 0x578 + float m_flDraftingBanningTimeOverride; // 0x578 + // MNetworkEnable + bool m_bPauseEnabled; // 0x57c private: - [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 + [[maybe_unused]] uint8_t __pad057d[0x3]; // 0x57d public: // MNetworkEnable - float m_flCustomScanCooldown; // 0x57c + float m_flCustomScanCooldown; // 0x580 // MNetworkEnable - float m_flCustomGlyphCooldown; // 0x580 + float m_flCustomGlyphCooldown; // 0x584 // MNetworkEnable - float m_flCustomBackpackSwapCooldown; // 0x584 + float m_flCustomBackpackSwapCooldown; // 0x588 // MNetworkEnable - float m_flCustomBackpackCooldownPercent; // 0x588 + float m_flCustomBackpackCooldownPercent; // 0x58c // MNetworkEnable - bool m_bDefaultRuneSpawnLogic; // 0x58c + bool m_bDefaultRuneSpawnLogic; // 0x590 // MNetworkEnable - bool m_bEnableFreeCourierMode; // 0x58d + bool m_bEnableFreeCourierMode; // 0x591 // MNetworkEnable - bool m_bAllowNeutralItemDrops; // 0x58e + bool m_bAllowNeutralItemDrops; // 0x592 // MNetworkEnable - bool m_bEnableNeutralStash; // 0x58f + bool m_bEnableNeutralStash; // 0x593 // MNetworkEnable - bool m_bEnableNeutralStashTeamViewOnly; // 0x590 + bool m_bEnableNeutralStashTeamViewOnly; // 0x594 // MNetworkEnable - bool m_bEnableNeutralItemHideUndiscovered; // 0x591 + bool m_bEnableNeutralItemHideUndiscovered; // 0x595 // MNetworkEnable - bool m_bEnableSendToStash; // 0x592 + bool m_bEnableSendToStash; // 0x596 // MNetworkEnable - bool m_bForceRightClickAttackDisabled; // 0x593 -private: - [[maybe_unused]] uint8_t __pad0594[0x4]; // 0x594 -public: + bool m_bForceRightClickAttackDisabled; // 0x597 // MNetworkEnable CUtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x598 // MNetworkEnable @@ -12918,61 +12615,61 @@ public: bool m_bRemoveIllusionsOnDeath; // 0x649 bool m_bRandomHeroBonusItemGrantDisabled; // 0x64a bool m_bDisableClumpingBehaviorByDefault; // 0x64b - bool m_bRuneTypeEnabled[8]; // 0x64c - bool m_bOverrideBotLateGame; // 0x654 - bool m_bBotsAlwaysPushWithHuman; // 0x655 - bool m_bBotsInLateGame; // 0x656 + bool m_bRuneTypeEnabled[10]; // 0x64c + bool m_bOverrideBotLateGame; // 0x656 + bool m_bBotsAlwaysPushWithHuman; // 0x657 + bool m_bBotsInLateGame; // 0x658 private: - [[maybe_unused]] uint8_t __pad0657[0x1]; // 0x657 + [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 public: - int32_t m_nBotMaxPushTier; // 0x658 - float m_flFountainPercentageHealthRegen; // 0x65c - float m_flFountainPercentageManaRegen; // 0x660 - float m_flFountainConstantManaRegen; // 0x664 - float m_flPowerRuneSpawnInterval; // 0x668 - float m_flBountyRuneSpawnInterval; // 0x66c + int32_t m_nBotMaxPushTier; // 0x65c + float m_flFountainPercentageHealthRegen; // 0x660 + float m_flFountainPercentageManaRegen; // 0x664 + float m_flFountainConstantManaRegen; // 0x668 + float m_flPowerRuneSpawnInterval; // 0x66c + float m_flBountyRuneSpawnInterval; // 0x670 }; // Alignment: 11 -// Size: 0x800 +// Size: 0x808 class CDOTATurboGameMode : public CDOTABaseGameMode { private: - [[maybe_unused]] uint8_t __pad0750[0x18]; // 0x750 + [[maybe_unused]] uint8_t __pad0758[0x18]; // 0x758 public: - int32_t m_nHighestLevelInCurrentGame; // 0x768 + int32_t m_nHighestLevelInCurrentGame; // 0x770 private: - [[maybe_unused]] uint8_t __pad076c[0x34]; // 0x76c + [[maybe_unused]] uint8_t __pad0774[0x34]; // 0x774 public: - CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7a0 - CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7b8 - CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7d0 - int32_t m_nExtraGoldPerWave; // 0x7e8 - int32_t m_nExtraXPPerWave; // 0x7ec - float m_flNextRewardDistributionTime; // 0x7f0 - float m_flNextWaveRecalculationTime; // 0x7f4 - float m_flNextNeutralItemDistributionTime; // 0x7f8 - bool m_bInOvertime; // 0x7fc - bool m_bDistributingPassiveGoldAndXp; // 0x7fd + CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7a8 + CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7c0 + CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7d8 + int32_t m_nExtraGoldPerWave; // 0x7f0 + int32_t m_nExtraXPPerWave; // 0x7f4 + float m_flNextRewardDistributionTime; // 0x7f8 + float m_flNextWaveRecalculationTime; // 0x7fc + float m_flNextNeutralItemDistributionTime; // 0x800 + bool m_bInOvertime; // 0x804 + bool m_bDistributingPassiveGoldAndXp; // 0x805 }; // Alignment: 5 -// Size: 0x808 +// Size: 0x810 class CDOTANewPlayerPoolGameMode : public CDOTABaseGameMode { public: - int32_t m_nHighestLevelInCurrentGame; // 0x750 + int32_t m_nHighestLevelInCurrentGame; // 0x758 private: - [[maybe_unused]] uint8_t __pad0754[0x64]; // 0x754 + [[maybe_unused]] uint8_t __pad075c[0x64]; // 0x75c public: - CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7b8 - CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7d0 - CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7e8 - bool m_bInOvertime; // 0x800 + CUtlVector< float32 > m_ExtraMeleeCreepTimes; // 0x7c0 + CUtlVector< float32 > m_ExtraRangedCreepTimes; // 0x7d8 + CUtlVector< float32 > m_ExtraSiegeCreepTimes; // 0x7f0 + bool m_bInOvertime; // 0x808 }; // Alignment: 0 -// Size: 0x750 +// Size: 0x758 class CDOTAMutationGameMode : public CDOTABaseGameMode { public: @@ -13021,8 +12718,8 @@ public: uint8_t m_Value; // 0x0 }; -// Alignment: 84 -// Size: 0x228 +// Alignment: 86 +// Size: 0x248 struct DOTAAbilityDefinition_t { public: @@ -13045,57 +12742,62 @@ public: int32_t m_iAbilityImmunityType; // 0x60 int32_t m_iAbilityDispellableType; // 0x64 int32_t m_iFightRecapLevel; // 0x68 - item_definition_index_t m_iAssociatedConsumableItemDef; // 0x6c - uint32_t m_nRequiredEffectsMask; // 0x70 - int32_t m_iAssociatedEventID; // 0x74 - int32_t m_iMaxLevel; // 0x78 - int32_t m_iItemBaseLevel; // 0x7c - float m_flItemLevelByGameTime; // 0x80 - int32_t m_iItemCost; // 0x84 - int32_t m_iItemInitialCharges; // 0x88 - int32_t m_iItemNeutralTierIndex; // 0x8c - int32_t m_iItemStockMax; // 0x90 - float m_fItemStockTime; // 0x94 - int32* m_pItemShopTagKeys; // 0x98 - AbilityID_t m_nRecipeResultAbilityID; // 0xa0 + int32_t m_iTokenTier; // 0x6c + item_definition_index_t m_iAssociatedConsumableItemDef; // 0x70 + uint32_t m_nRequiredEffectsMask; // 0x74 + int32_t m_iAssociatedEventID; // 0x78 + int32_t m_iMaxLevel; // 0x7c + int32_t m_iItemBaseLevel; // 0x80 + float m_flItemLevelByGameTime; // 0x84 + int32_t m_iItemCost; // 0x88 + int32_t m_iItemInitialCharges; // 0x8c + int32_t m_iItemNeutralTierIndex; // 0x90 + int32_t m_iItemStockMax; // 0x94 + float m_fItemStockTime; // 0x98 private: - [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 + [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c public: - CUtlVector< AbilityID_t > m_vecItemCombinesInto; // 0xa8 - CUtlVector< ItemRecipe_t > m_vecItemRecipes; // 0xc0 - int32_t m_nUpgradeGoal; // 0xd8 - ItemQuality_t m_ItemQuality; // 0xdc - float m_flModifierValue; // 0xe0 - float m_flModifierValueBonus; // 0xe4 - CUtlVector< CUtlString > m_InvalidHeroes; // 0xe8 + int32* m_pItemShopTagKeys; // 0xa0 + AbilityID_t m_nRecipeResultAbilityID; // 0xa8 private: - [[maybe_unused]] uint8_t __pad0100[0xb4]; // 0x100 + [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: - bool m_bHasScepterUpgrade; // 0x1b4 - bool m_bHasShardUpgrade; // 0x1b5 - bool m_bSharedWithTeammates; // 0x1b6 + CUtlVector< AbilityID_t > m_vecItemCombinesInto; // 0xb0 + CUtlVector< ItemRecipe_t > m_vecItemRecipes; // 0xc8 + int32_t m_nUpgradeGoal; // 0xe0 + ItemQuality_t m_ItemQuality; // 0xe4 + float m_flModifierValue; // 0xe8 + float m_flModifierValueBonus; // 0xec + CUtlVector< CUtlString > m_InvalidHeroes; // 0xf0 private: - [[maybe_unused]] uint8_t __pad01b7[0x1]; // 0x1b7 + [[maybe_unused]] uint8_t __pad0108[0xcc]; // 0x108 public: - int32_t m_nCastRangeBuffer; // 0x1b8 - int32_t m_nSpecialAbilities; // 0x1bc - DOTASpecialAbility_t* m_pSpecialAbilities; // 0x1c0 - CUtlVector< DOTAOutgoingBonus_t > m_OutgoingBonuses; // 0x1c8 - char* m_pModelName; // 0x1e0 - char* m_pModelAlternateName; // 0x1e8 - char* m_pEffectName; // 0x1f0 - char* m_pPingOverrideText; // 0x1f8 - char* m_pszRequiredCustomShopName; // 0x200 - char* m_pszLinkedScepterAbility; // 0x208 - char* m_pszLinkedShardAbility; // 0x210 - int32_t m_nKillToastOverride; // 0x218 - int32_t m_iLevelsBetweenUpgrades; // 0x21c - int32_t m_iRequiredLevel; // 0x220 + bool m_bHasScepterUpgrade; // 0x1d4 + bool m_bHasShardUpgrade; // 0x1d5 + bool m_bSharedWithTeammates; // 0x1d6 +private: + [[maybe_unused]] uint8_t __pad01d7[0x1]; // 0x1d7 +public: + int32_t m_nCastRangeBuffer; // 0x1d8 + int32_t m_nSpecialAbilities; // 0x1dc + DOTASpecialAbility_t* m_pSpecialAbilities; // 0x1e0 + CUtlVector< DOTAOutgoingBonus_t > m_OutgoingBonuses; // 0x1e8 + char* m_pModelName; // 0x200 + char* m_pModelAlternateName; // 0x208 + char* m_pEffectName; // 0x210 + char* m_pPingOverrideText; // 0x218 + char* m_pszRequiredCustomShopName; // 0x220 + char* m_pszLinkedScepterAbility; // 0x228 + char* m_pszLinkedShardAbility; // 0x230 + int32_t m_nKillToastOverride; // 0x238 + int32_t m_iLevelsBetweenUpgrades; // 0x23c + int32_t m_iRequiredLevel; // 0x240 struct { uint8_t m_bIsItem: 1; uint8_t m_bItemIsRecipe: 1; uint8_t m_bItemIsRecipeGenerated: 1; + uint8_t m_bItemRecipeConsumesCharges: 1; uint8_t m_bItemAvailableAtSecretShop: 1; uint8_t m_bItemAvailableAtGlobalShop: 1; uint8_t m_bItemAvailableAtSideShop: 1; @@ -13121,8 +12823,8 @@ public: uint8_t m_bHasCastAnimation: 1; uint8_t m_bItemHasPassive: 1; uint8_t m_bDisplayOverheadAlertOnReceived: 1; - uint8_t __pad2: 4; - }; // 32 bits + uint8_t __pad2: 5; + }; // 34 bits }; // Alignment: 1 @@ -13133,8 +12835,8 @@ public: uint32_t m_Value; // 0x0 }; -// Alignment: 294 -// Size: 0x5628 +// Alignment: 309 +// Size: 0x56f0 class CDOTAGameRules : public CMultiplayRules { public: @@ -13231,554 +12933,579 @@ public: // MNetworkEnable float m_flOverride_dota_rune_spawn_time; // 0x41c // MNetworkEnable - float m_flShowcaseTime[14]; // 0x420 + float m_flShowcaseTime[15]; // 0x420 // MNetworkEnable - float m_flNeutralInitialSpawnOffset; // 0x458 - float m_flOverride_dota_tree_regrow_time; // 0x45c + float m_flNeutralInitialSpawnOffset; // 0x45c + float m_flOverride_dota_tree_regrow_time; // 0x460 // MNetworkEnable - int32_t m_iGameMode; // 0x460 + int32_t m_iGameMode; // 0x464 // MNetworkEnable // MNetworkChangeCallback "OnGameModeEntityChanged" - CHandle< CBaseEntity > m_hGameModeEntity; // 0x464 + CHandle< CBaseEntity > m_hGameModeEntity; // 0x468 // MNetworkEnable - CHandle< CBaseEntity > m_hCustomHeroPickRulesEntity; // 0x468 + CHandle< CBaseEntity > m_hCustomHeroPickRulesEntity; // 0x46c // MNetworkEnable - GameTime_t m_flHeroPickStateTransitionTime; // 0x46c + GameTime_t m_flHeroPickStateTransitionTime; // 0x470 +private: + [[maybe_unused]] uint8_t __pad0474[0x4]; // 0x474 +public: // MNetworkEnable // MNetworkEncoder - uint64_t m_iPlayerIDsInControl; // 0x470 + uint64_t m_iPlayerIDsInControl; // 0x478 // MNetworkEnable - bool m_bSameHeroSelectionEnabled; // 0x478 + bool m_bSameHeroSelectionEnabled; // 0x480 // MNetworkEnable - bool m_bUseCustomHeroXPValue; // 0x479 + bool m_bUseCustomHeroXPValue; // 0x481 // MNetworkEnable - bool m_bUseBaseGoldBountyOnHeroes; // 0x47a + bool m_bUseBaseGoldBountyOnHeroes; // 0x482 // MNetworkEnable - bool m_bUseUniversalShopMode; // 0x47b + bool m_bUseUniversalShopMode; // 0x483 // MNetworkEnable - bool m_bHideKillMessageHeaders; // 0x47c + bool m_bHideKillMessageHeaders; // 0x484 private: - [[maybe_unused]] uint8_t __pad047d[0x3]; // 0x47d + [[maybe_unused]] uint8_t __pad0485[0x3]; // 0x485 public: // MNetworkEnable - float m_flHeroMinimapIconScale; // 0x480 + float m_flHeroMinimapIconScale; // 0x488 // MNetworkEnable - float m_flCreepMinimapIconScale; // 0x484 + float m_flCreepMinimapIconScale; // 0x48c // MNetworkEnable - bool m_bCreepSpawningEnabled; // 0x488 + bool m_bCreepSpawningEnabled; // 0x490 private: - [[maybe_unused]] uint8_t __pad0489[0x3]; // 0x489 + [[maybe_unused]] uint8_t __pad0491[0x3]; // 0x491 public: // MNetworkEnable - float m_flRuneMinimapIconScale; // 0x48c + float m_flRuneMinimapIconScale; // 0x494 // MNetworkEnable - char m_CustomVictoryMessage[256]; // 0x490 + char m_CustomVictoryMessage[256]; // 0x498 // MNetworkEnable - float m_flCustomGameEndDelay; // 0x590 + float m_flCustomGameEndDelay; // 0x598 // MNetworkEnable - float m_flCustomGameSetupAutoLaunchDelay; // 0x594 + float m_flCustomGameSetupAutoLaunchDelay; // 0x59c // MNetworkEnable - float m_flCustomGameSetupTimeout; // 0x598 + float m_flCustomGameSetupTimeout; // 0x5a0 // MNetworkEnable - float m_flCustomVictoryMessageDuration; // 0x59c + float m_flCustomVictoryMessageDuration; // 0x5a4 // MNetworkEnable - float m_flHeroSelectPenaltyTime; // 0x5a0 + float m_flHeroSelectPenaltyTime; // 0x5a8 // MNetworkEnable - bool m_bCustomGameSetupAutoLaunchEnabled; // 0x5a4 + bool m_bCustomGameSetupAutoLaunchEnabled; // 0x5ac // MNetworkEnable - bool m_bCustomGameTeamSelectionLocked; // 0x5a5 + bool m_bCustomGameTeamSelectionLocked; // 0x5ad // MNetworkEnable - bool m_bCustomGameEnablePickRules; // 0x5a6 + bool m_bCustomGameEnablePickRules; // 0x5ae // MNetworkEnable - bool m_bCustomGameAllowHeroPickMusic; // 0x5a7 + bool m_bCustomGameAllowHeroPickMusic; // 0x5af // MNetworkEnable - bool m_bCustomGameAllowMusicAtGameStart; // 0x5a8 + bool m_bCustomGameAllowMusicAtGameStart; // 0x5b0 // MNetworkEnable - bool m_bCustomGameAllowBattleMusic; // 0x5a9 + bool m_bCustomGameAllowBattleMusic; // 0x5b1 // MNetworkEnable - bool m_bCustomGameDisableIK; // 0x5aa + bool m_bCustomGameDisableIK; // 0x5b2 // MNetworkEnable - bool m_bCustomGameAllowSecondaryAbilitiesOnOtherUnits; // 0x5ab + bool m_bCustomGameAllowSecondaryAbilitiesOnOtherUnits; // 0x5b3 // MNetworkEnable - int32_t m_iCMModePickBanOrder; // 0x5ac + int32_t m_iCMModePickBanOrder; // 0x5b4 // MNetworkEnable - int32_t m_iCDModePickBanOrder; // 0x5b0 + int32_t m_iCDModePickBanOrder; // 0x5b8 // MNetworkEnable - int32_t m_nGGTeam; // 0x5b4 + int32_t m_nGGTeam; // 0x5bc // MNetworkEnable - GameTime_t m_flGGEndsAtTime; // 0x5b8 + GameTime_t m_flGGEndsAtTime; // 0x5c0 // MNetworkEnable - bool m_bGGCalled; // 0x5bc + bool m_bGGCalled; // 0x5c4 // MNetworkEnable - bool m_bWhiteListEnabled; // 0x5bd + bool m_bWhiteListEnabled; // 0x5c5 private: - [[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be + [[maybe_unused]] uint8_t __pad05c6[0x2]; // 0x5c6 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnWhitelistChanged" - uint64_t m_bItemWhiteList[4]; // 0x5c0 + uint64_t m_bItemWhiteList[4]; // 0x5c8 // MNetworkEnable - int32_t m_nLastHitUIMode; // 0x5e0 + int32_t m_nLastHitUIMode; // 0x5e8 // MNetworkEnable - bool m_bHUDTimerTutorialMode; // 0x5e4 + bool m_bHUDTimerTutorialMode; // 0x5ec private: - [[maybe_unused]] uint8_t __pad05e5[0x3]; // 0x5e5 + [[maybe_unused]] uint8_t __pad05ed[0x3]; // 0x5ed public: - CountdownTimer m_HeroPickMiscTimer; // 0x5e8 - CountdownTimer m_ExtraTimeTimer; // 0x600 + CountdownTimer m_HeroPickMiscTimer; // 0x5f0 + CountdownTimer m_ExtraTimeTimer; // 0x608 // MNetworkEnable - float m_fExtraTimeRemaining[2]; // 0x618 + float m_fExtraTimeRemaining[2]; // 0x620 // MNetworkEnable - bool m_bHeroRespawnEnabled; // 0x620 + bool m_bHeroRespawnEnabled; // 0x628 // MNetworkEnable - bool m_bIsRandomingEnabled; // 0x621 + bool m_bIsRandomingEnabled; // 0x629 private: - [[maybe_unused]] uint8_t __pad0622[0x6]; // 0x622 + [[maybe_unused]] uint8_t __pad062a[0x6]; // 0x62a public: - CUtlVector< int32 > m_HeroPickPhaseBitfield; // 0x628 - bool m_bHasSwapped[64]; // 0x640 + CUtlVector< int32 > m_HeroPickPhaseBitfield; // 0x630 + bool m_bHasSwapped[64]; // 0x648 // MNetworkEnable - PlayerID_t m_iCaptainPlayerIDs[2]; // 0x680 + PlayerID_t m_iCaptainPlayerIDs[2]; // 0x688 // MNetworkEnable - int32_t m_BannedHeroes[24]; // 0x688 + int32_t m_BannedHeroes[24]; // 0x690 // MNetworkEnable - int32_t m_SelectedHeroes[24]; // 0x6e8 + int32_t m_SelectedHeroes[24]; // 0x6f0 // MNetworkEnable - int32_t m_iActiveTeam; // 0x748 + int32_t m_iActiveTeam; // 0x750 // MNetworkEnable - int32_t m_iStartingTeam; // 0x74c + int32_t m_iStartingTeam; // 0x754 // MNetworkEnable - int32_t m_iPenaltyLevelRadiant; // 0x750 + int32_t m_iPenaltyLevelRadiant; // 0x758 // MNetworkEnable - int32_t m_iPenaltyLevelDire; // 0x754 + int32_t m_iPenaltyLevelDire; // 0x75c // MNetworkEnable - bool m_bIsLoadingScenario; // 0x758 + bool m_bIsLoadingScenario; // 0x760 private: - [[maybe_unused]] uint8_t __pad0759[0x7]; // 0x759 + [[maybe_unused]] uint8_t __pad0761[0x7]; // 0x761 public: - CUtlVector< int32 > m_vecBanNominatedHeroes; // 0x760 + CUtlVector< int32 > m_vecBanNominatedHeroes; // 0x768 // MNetworkEnable - CNetworkUtlVectorBase< int32 > m_vecNewBannedHeroes; // 0x778 + CNetworkUtlVectorBase< int32 > m_vecNewBannedHeroes; // 0x780 // MNetworkEnable - CNetworkUtlVectorBase< int32 > m_vecWhitelistedHeroes; // 0x790 + CNetworkUtlVectorBase< int32 > m_vecWhitelistedHeroes; // 0x798 // MNetworkEnable - CNetworkUtlVectorBase< int32 > m_vecBlacklistedHeroes; // 0x7a8 + CNetworkUtlVectorBase< int32 > m_vecBlacklistedHeroes; // 0x7b0 // MNetworkEnable - bool m_bHideBlacklistedHeroes; // 0x7c0 + bool m_bHideBlacklistedHeroes; // 0x7c8 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad07c9[0x3]; // 0x7c9 public: // MNetworkEnable - int32_t m_nSeriesType; // 0x7c4 + int32_t m_nSeriesType; // 0x7cc // MNetworkEnable - int32_t m_nRadiantSeriesWins; // 0x7c8 + int32_t m_nRadiantSeriesWins; // 0x7d0 // MNetworkEnable - int32_t m_nDireSeriesWins; // 0x7cc + int32_t m_nDireSeriesWins; // 0x7d4 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecAvailableHerosPerPlayerID; // 0x7d0 + CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecAvailableHerosPerPlayerID; // 0x7d8 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecLockedHerosByPlayerID; // 0x840 + CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecLockedHerosByPlayerID; // 0x848 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecDisabledRandomHerosByPlayerID; // 0x8b0 - int32_t m_CustomGameForceSelectHero[24]; // 0x920 - float m_flGoldTime; // 0x980 - float m_flXPTime; // 0x984 - GameTime_t m_flCreepSpawntime; // 0x988 - float m_flAnnounceStartTime; // 0x98c + CUtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecDisabledRandomHerosByPlayerID; // 0x8b8 + int32_t m_CustomGameForceSelectHero[24]; // 0x928 + float m_flGoldTime; // 0x988 + float m_flXPTime; // 0x98c + GameTime_t m_flCreepSpawntime; // 0x990 + float m_flAnnounceStartTime; // 0x994 // MNetworkEnable - int32_t m_iGoodTomeCount; // 0x990 + int32_t m_iGoodTomeCount; // 0x998 // MNetworkEnable - int32_t m_iBadTomeCount; // 0x994 + int32_t m_iBadTomeCount; // 0x99c // MNetworkEnable - GameTime_t m_flPreGameStartTime; // 0x998 + GameTime_t m_flPreGameStartTime; // 0x9a0 // MNetworkEnable - GameTime_t m_flGameStartTime; // 0x99c + GameTime_t m_flGameStartTime; // 0x9a4 // MNetworkEnable - GameTime_t m_flGameEndTime; // 0x9a0 + GameTime_t m_flGameEndTime; // 0x9a8 // MNetworkEnable - float m_flGameLoadTime; // 0x9a4 + float m_flGameLoadTime; // 0x9ac // MNetworkEnable - int32_t m_iCustomGameScore[2]; // 0x9a8 + int32_t m_iCustomGameScore[2]; // 0x9b0 // MNetworkEnable - int32_t m_nCustomGameDifficulty; // 0x9b0 - bool m_bEnemyModifiersEnabled; // 0x9b4 + int32_t m_nCustomGameDifficulty; // 0x9b8 + bool m_bEnemyModifiersEnabled; // 0x9bc private: - [[maybe_unused]] uint8_t __pad09b5[0x3]; // 0x9b5 + [[maybe_unused]] uint8_t __pad09bd[0x3]; // 0x9bd public: - int32_t m_iWaves; // 0x9b8 - int32_t m_iCreepUpgradeState; // 0x9bc + int32_t m_iWaves; // 0x9c0 + int32_t m_iCreepUpgradeState; // 0x9c4 // MNetworkEnable - GameTime_t m_fGoodGlyphCooldown; // 0x9c0 + GameTime_t m_fGoodGlyphCooldown; // 0x9c8 // MNetworkEnable - GameTime_t m_fBadGlyphCooldown; // 0x9c4 + GameTime_t m_fBadGlyphCooldown; // 0x9cc // MNetworkEnable - GameTime_t m_flGlyphCooldowns[14]; // 0x9c8 + GameTime_t m_flGlyphCooldowns[15]; // 0x9d0 // MNetworkEnable - GameTime_t m_fGoodRadarCooldown; // 0xa00 + GameTime_t m_fGoodRadarCooldown; // 0xa0c // MNetworkEnable - GameTime_t m_fBadRadarCooldown; // 0xa04 + GameTime_t m_fBadRadarCooldown; // 0xa10 // MNetworkEnable - GameTime_t m_flRadarCooldowns[14]; // 0xa08 + GameTime_t m_flRadarCooldowns[15]; // 0xa14 // MNetworkEnable - float m_flOutpostTimes[24]; // 0xa40 + float m_flOutpostTimes[24]; // 0xa50 // MNetworkEnable - bool m_bIsNightstalkerNight; // 0xaa0 + bool m_bIsNightstalkerNight; // 0xab0 // MNetworkEnable - bool m_bIsTemporaryNight; // 0xaa1 + bool m_bIsTemporaryNight; // 0xab1 // MNetworkEnable - bool m_bIsTemporaryDay; // 0xaa2 + bool m_bIsTemporaryDay; // 0xab2 private: - [[maybe_unused]] uint8_t __pad0aa3[0x1]; // 0xaa3 + [[maybe_unused]] uint8_t __pad0ab3[0x1]; // 0xab3 public: // MNetworkEnable - int32_t m_nRiverType; // 0xaa4 + int32_t m_nRiverType; // 0xab4 // MNetworkEnable - PlayerID_t m_nTeamFeaturedPlayerID[14]; // 0xaa8 + PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0xab8 // MNetworkEnable - item_definition_index_t m_nTeamVersusScreen[14]; // 0xae0 - float m_flGoldRedistributeTime; // 0xb18 - int32_t m_nGoldToRedistribute[2]; // 0xb1c - GameTime_t m_flNextPreGameThink; // 0xb24 - GameTime_t m_flNextAllDraftGoldThink; // 0xb28 + item_definition_index_t m_nTeamVersusScreen[15]; // 0xaf4 + float m_flGoldRedistributeTime; // 0xb30 + int32_t m_nGoldToRedistribute[2]; // 0xb34 + GameTime_t m_flNextPreGameThink; // 0xb3c + GameTime_t m_flNextAllDraftGoldThink; // 0xb40 private: - [[maybe_unused]] uint8_t __pad0b2c[0x4]; // 0xb2c + [[maybe_unused]] uint8_t __pad0b44[0x4]; // 0xb44 public: - double m_flTimeEnteredState; // 0xb30 - uint32_t m_unRiverAccountID; // 0xb38 + double m_flTimeEnteredState; // 0xb48 + uint32_t m_unRiverAccountID; // 0xb50 private: - [[maybe_unused]] uint8_t __pad0b3c[0x4]; // 0xb3c + [[maybe_unused]] uint8_t __pad0b54[0x4]; // 0xb54 public: - itemid_t m_ulRiverItemID; // 0xb40 + itemid_t m_ulRiverItemID; // 0xb58 private: - [[maybe_unused]] uint8_t __pad0b48[0x40]; // 0xb48 + [[maybe_unused]] uint8_t __pad0b60[0x40]; // 0xb60 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0xb88 + CUtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0xba0 // MNetworkEnable - DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0xbf8 + DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0xc10 // MNetworkEnable - int32_t m_nGameWinner; // 0xc08 + int32_t m_nGameWinner; // 0xc20 private: - [[maybe_unused]] uint8_t __pad0c0c[0x4]; // 0xc0c + [[maybe_unused]] uint8_t __pad0c24[0x4]; // 0xc24 public: // MNetworkEnable - MatchID_t m_unMatchID64; // 0xc10 + MatchID_t m_unMatchID64; // 0xc28 // MNetworkEnable - bool m_bMatchSignoutComplete; // 0xc18 + bool m_bMatchSignoutComplete; // 0xc30 private: - [[maybe_unused]] uint8_t __pad0c19[0x3]; // 0xc19 + [[maybe_unused]] uint8_t __pad0c31[0x3]; // 0xc31 public: // MNetworkEnable - CHandle< CBaseEntity > m_hSideShop1; // 0xc1c + CHandle< CBaseEntity > m_hSideShop1; // 0xc34 // MNetworkEnable - CHandle< CBaseEntity > m_hSideShop2; // 0xc20 + CHandle< CBaseEntity > m_hSideShop2; // 0xc38 // MNetworkEnable - CHandle< CBaseEntity > m_hSecretShop1; // 0xc24 + CHandle< CBaseEntity > m_hSecretShop1; // 0xc3c // MNetworkEnable - CHandle< CBaseEntity > m_hSecretShop2; // 0xc28 + CHandle< CBaseEntity > m_hSecretShop2; // 0xc40 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamFountains[14]; // 0xc2c + CHandle< CBaseEntity > m_hTeamFountains[15]; // 0xc44 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamForts[14]; // 0xc64 + CHandle< CBaseEntity > m_hTeamForts[15]; // 0xc80 // MNetworkEnable - CHandle< CBaseEntity > m_hTeamShops[14]; // 0xc9c + CHandle< CBaseEntity > m_hTeamShops[15]; // 0xcbc // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerGood; // 0xcd4 + CHandle< CBaseEntity > m_hAnnouncerGood; // 0xcf8 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerBad; // 0xcd8 + CHandle< CBaseEntity > m_hAnnouncerBad; // 0xcfc // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerSpectator; // 0xcdc + CHandle< CBaseEntity > m_hAnnouncerSpectator; // 0xd00 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerGood_KillingSpree; // 0xce0 + CHandle< CBaseEntity > m_hAnnouncerGood_KillingSpree; // 0xd04 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerBad_KillingSpree; // 0xce4 + CHandle< CBaseEntity > m_hAnnouncerBad_KillingSpree; // 0xd08 // MNetworkEnable - CHandle< CBaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0xce8 + CHandle< CBaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0xd0c // MNetworkEnable - bool m_arrTier1TowerDestroyed[14]; // 0xcec + bool m_arrTier1TowerDestroyed[15]; // 0xd10 // MNetworkEnable - bool m_arrTier2TowerDestroyed[14]; // 0xcfa + bool m_arrTier2TowerDestroyed[15]; // 0xd1f // MNetworkEnable - bool m_arrTier3TowerDestroyed[14]; // 0xd08 + bool m_arrTier3TowerDestroyed[15]; // 0xd2e // MNetworkEnable - bool m_bTier1TowerDestroyed; // 0xd16 + bool m_bTier1TowerDestroyed; // 0xd3d // MNetworkEnable - bool m_bTier2TowerDestroyed; // 0xd17 + bool m_bTier2TowerDestroyed; // 0xd3e // MNetworkEnable - bool m_bTier3TowerDestroyed; // 0xd18 -private: - [[maybe_unused]] uint8_t __pad0d19[0x3]; // 0xd19 -public: - float m_fTimeOfDay; // 0xd1c + bool m_bTier3TowerDestroyed; // 0xd3f + float m_fTimeOfDay; // 0xd40 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iNetTimeOfDay; // 0xd20 + int32_t m_iNetTimeOfDay; // 0xd44 // MNetworkEnable - int32_t m_nLoadedPlayers; // 0xd24 + int32_t m_nLoadedPlayers; // 0xd48 // MNetworkEnable - int32_t m_nExpectedPlayers; // 0xd28 + int32_t m_nExpectedPlayers; // 0xd4c private: - [[maybe_unused]] uint8_t __pad0d2c[0xc]; // 0xd2c + [[maybe_unused]] uint8_t __pad0d50[0x8]; // 0xd50 public: // MNetworkEnable - int32_t m_iMinimapDebugGridState; // 0xd38 + int32_t m_iMinimapDebugGridState; // 0xd58 private: - [[maybe_unused]] uint8_t __pad0d3c[0x74]; // 0xd3c + [[maybe_unused]] uint8_t __pad0d5c[0x7c]; // 0xd5c public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_iFoWFrameNumber; // 0xdb0 + int32_t m_iFoWFrameNumber; // 0xdd8 // MNetworkEnable - Vector m_vWeatherWindDirection; // 0xdb4 - KeyValues* m_pKVPostGameTable; // 0xdc0 - KeyValues* m_pKVEventMatchMetadata; // 0xdc8 - KeyValues* m_pKVEventSignout; // 0xdd0 + Vector m_vWeatherWindDirection; // 0xddc + KeyValues* m_pKVPostGameTable; // 0xde8 + KeyValues* m_pKVEventMatchMetadata; // 0xdf0 + KeyValues* m_pKVEventSignout; // 0xdf8 private: - [[maybe_unused]] uint8_t __pad0dd8[0x58]; // 0xdd8 + [[maybe_unused]] uint8_t __pad0e00[0x58]; // 0xe00 public: // MNetworkEnable - int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0xe30 + int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0xe58 // MNetworkEnable - int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0xe90 + int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0xeb8 // MNetworkEnable - bool m_bAllRequiredPlaytestHeroesPicked; // 0xef0 + bool m_bAllRequiredPlaytestHeroesPicked; // 0xf18 private: - [[maybe_unused]] uint8_t __pad0ef1[0x3]; // 0xef1 + [[maybe_unused]] uint8_t __pad0f19[0x3]; // 0xf19 public: // MNetworkEnable - int32_t m_nLastPlaytestPickPhase; // 0xef4 - int32_t m_nCustomGameFowTeamCount; // 0xef8 - bool m_bUseAlternateABRules; // 0xefc - bool m_bLobbyIsAssociatedWithGame; // 0xefd + int32_t m_nLastPlaytestPickPhase; // 0xf1c + int32_t m_nCustomGameFowTeamCount; // 0xf20 + bool m_bUseAlternateABRules; // 0xf24 + bool m_bLobbyIsAssociatedWithGame; // 0xf25 private: - [[maybe_unused]] uint8_t __pad0efe[0x2]; // 0xefe + [[maybe_unused]] uint8_t __pad0f26[0x2]; // 0xf26 public: - CountdownTimer m_BotDebugTimer; // 0xf00 + CountdownTimer m_BotDebugTimer; // 0xf28 // MNetworkEnable // MNetworkPriority "48" - uint8_t m_BotDebugPushLane[18]; // 0xf18 + uint8_t m_BotDebugPushLane[18]; // 0xf40 // MNetworkEnable - uint8_t m_BotDebugDefendLane[18]; // 0xf2a + uint8_t m_BotDebugDefendLane[18]; // 0xf52 // MNetworkEnable - uint8_t m_BotDebugFarmLane[6]; // 0xf3c + uint8_t m_BotDebugFarmLane[6]; // 0xf64 // MNetworkEnable - uint8_t m_BotDebugRoam[8]; // 0xf42 + uint8_t m_BotDebugRoam[8]; // 0xf6a private: - [[maybe_unused]] uint8_t __pad0f4a[0x2]; // 0xf4a + [[maybe_unused]] uint8_t __pad0f72[0x2]; // 0xf72 public: // MNetworkEnable - CHandle< CBaseEntity > m_hBotDebugRoamTarget[2]; // 0xf4c + CHandle< CBaseEntity > m_hBotDebugRoamTarget[2]; // 0xf74 // MNetworkEnable - uint8_t m_BotDebugRoshan[2]; // 0xf54 + uint8_t m_BotDebugRoshan[2]; // 0xf7c private: - [[maybe_unused]] uint8_t __pad0f56[0x2]; // 0xf56 + [[maybe_unused]] uint8_t __pad0f7e[0x2]; // 0xf7e public: // MNetworkEnable - ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xf58 + ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xf80 // MNetworkEnable - GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xf5c + GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xf84 // MNetworkEnable // MNetworkTypeAlias "CDOTA_AbilityDraftAbilityState[MAX_ABILITY_DRAFT_ABILITIES]" - CUtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xf60 + CUtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xf88 // MNetworkEnable - bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xfd0 + bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xff8 private: - [[maybe_unused]] uint8_t __pad0fd1[0x3]; // 0xfd1 + [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 public: // MNetworkEnable - int32_t m_nAbilityDraftPlayerTracker; // 0xfd4 + int32_t m_nAbilityDraftPlayerTracker; // 0xffc // MNetworkEnable - int32_t m_nAbilityDraftRoundNumber; // 0xfd8 + int32_t m_nAbilityDraftRoundNumber; // 0x1000 // MNetworkEnable - int32_t m_nAbilityDraftAdvanceSteps; // 0xfdc + int32_t m_nAbilityDraftAdvanceSteps; // 0x1004 // MNetworkEnable - int32_t m_nAbilityDraftPhase; // 0xfe0 + int32_t m_nAbilityDraftPhase; // 0x1008 // MNetworkEnable // MNetworkChangeCallback "OnAbilityDraftHeroesChanged" - int32_t m_nAbilityDraftHeroesChosen[13]; // 0xfe4 - CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0x1018 - int32_t m_nARDMHeroesPrecached; // 0x1048 - float m_fLastARDMPrecache; // 0x104c + int32_t m_nAbilityDraftHeroesChosen[13]; // 0x100c // MNetworkEnable - int32_t m_nAllDraftPhase; // 0x1050 - // MNetworkEnable - bool m_bAllDraftRadiantFirst; // 0x1054 - // MNetworkEnable - bool m_bAllowOverrideVPK; // 0x1055 + bool m_bIsPlayerDraft; // 0x1040 private: - [[maybe_unused]] uint8_t __pad1056[0x2]; // 0x1056 + [[maybe_unused]] uint8_t __pad1041[0x3]; // 0x1041 public: // MNetworkEnable - int32_t m_nARDMHeroesRemaining[2]; // 0x1058 - CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hGlobalPetList; // 0x1060 + DOTA_PlayerDraftState m_ePlayerDraftState; // 0x1044 + // MNetworkEnable + CNetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0x1048 + // MNetworkEnable + int32_t m_nPlayerDraftPick; // 0x1060 + // MNetworkEnable + int32_t m_nPlayerDraftActiveTeam; // 0x1064 + // MNetworkEnable + float m_flPlayerDraftTimeBank[2]; // 0x1068 + CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0x1070 + int32_t m_nARDMHeroesPrecached; // 0x10a0 + float m_fLastARDMPrecache; // 0x10a4 + // MNetworkEnable + int32_t m_nAllDraftPhase; // 0x10a8 + // MNetworkEnable + bool m_bAllDraftRadiantFirst; // 0x10ac + // MNetworkEnable + bool m_bAllowOverrideVPK; // 0x10ad private: - [[maybe_unused]] uint8_t __pad1078[0x50]; // 0x1078 -public: - int32_t m_nRadiantRoshanKills; // 0x10c8 - int32_t m_nDireRoshanKills; // 0x10cc -private: - [[maybe_unused]] uint8_t __pad10d0[0xc]; // 0x10d0 -public: - int32_t m_nDistanceCalculations; // 0x10dc - bool m_bLaneVictoryPredicted; // 0x10e0 -private: - [[maybe_unused]] uint8_t __pad10e1[0x7]; // 0x10e1 -public: - CUtlOrderedMap< PlayerID_t, int32 > m_mapSuccessfulSmokes; // 0x10e8 -private: - [[maybe_unused]] uint8_t __pad1110[0x10]; // 0x1110 + [[maybe_unused]] uint8_t __pad10ae[0x2]; // 0x10ae public: // MNetworkEnable - bool m_bExperimentalGameplay; // 0x1120 + int32_t m_nARDMHeroesRemaining[2]; // 0x10b0 + CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hGlobalPetList; // 0x10b8 private: - [[maybe_unused]] uint8_t __pad1121[0x1f]; // 0x1121 + [[maybe_unused]] uint8_t __pad10d0[0x50]; // 0x10d0 public: - CUtlVector< HeroPickRecord_t > m_vecHeroPickRecord; // 0x1140 + int32_t m_nRadiantRoshanKills; // 0x1120 + int32_t m_nDireRoshanKills; // 0x1124 + int32_t m_nRoshanKillsDay; // 0x1128 + int32_t m_nRoshanKillsNight; // 0x112c + int32_t m_nMinibossKills; // 0x1130 + int32_t m_nOutpostCaptures; // 0x1134 private: - [[maybe_unused]] uint8_t __pad1158[0x20]; // 0x1158 + [[maybe_unused]] uint8_t __pad1138[0xc]; // 0x1138 public: - CUtlVector< HeroDeathRecord_t > m_vecHeroDeathRecord; // 0x1178 + int32_t m_nDistanceCalculations; // 0x1144 + bool m_bLaneVictoryPredicted; // 0x1148 private: - [[maybe_unused]] uint8_t __pad1190[0x18]; // 0x1190 + [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 public: - CUtlVector< CHandle< CBaseEntity > > m_BadResultPositionTriggers; // 0x11a8 - CUtlVector< CHandle< CBaseEntity > > m_RoshanPositionTriggers; // 0x11c0 - CUtlVector< HeroPickRecord_t > m_vecAllDraftHeroPickRecord; // 0x11d8 - CUtlOrderedMap< PlayerID_t, CUtlVector< AbilityID_t > > m_vecAbilityDraftOrder; // 0x11f0 + CUtlOrderedMap< PlayerID_t, int32 > m_mapSuccessfulSmokes; // 0x1150 private: - [[maybe_unused]] uint8_t __pad1218[0x18]; // 0x1218 -public: - int32_t m_nAllDraftHeroPickCollisionsThisPhase; // 0x1230 -private: - [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 -public: - CUtlVector< CHandle< CBaseEntity > > m_hRuneSpawners; // 0x1238 - CUtlVector< CHandle< CBaseEntity > > m_hBountyRuneSpawners; // 0x1250 - CUtlVector< CHandle< CBaseEntity > > m_hNeutralSpawners[2]; // 0x1268 - int32_t m_iPreviousRune1; // 0x1298 - int32_t m_iPreviousRune2; // 0x129c - float m_fNextPowerupRuneSpawnTime; // 0x12a0 - float m_fNextBountyRuneSpawnTime; // 0x12a4 - float m_fNextBountyRunePrepTime; // 0x12a8 - bool m_bFirstPowerupRune; // 0x12ac - bool m_bFirstBountyRune; // 0x12ad - bool m_bFilterMoreGold; // 0x12ae - bool m_bAllowOutpostXP; // 0x12af - CHandle< CBaseEntity > m_hRoshanSpawner; // 0x12b0 - int32_t m_iPreviousSpectators; // 0x12b4 - uint32_t m_nMaxSpectators; // 0x12b8 -private: - [[maybe_unused]] uint8_t __pad12bc[0x4]; // 0x12bc -public: - CUtlVector< CHandle< CBaseEntity > > m_hDroppedItems; // 0x12c0 - CUtlVector< CHandle< CBaseEntity > > m_hWards; // 0x12d8 - CHandle< CBaseEntity > m_hGameEvents; // 0x12f0 -private: - [[maybe_unused]] uint8_t __pad12f4[0x1c]; // 0x12f4 -public: - CUtlVector< CHandle< CBaseEntity > > m_Towers; // 0x1310 - CUtlVector< CHandle< CDOTA_BaseNPC_Tower > > m_TeamTowers[10]; // 0x1328 - CUtlVector< CHandle< CBaseEntity > > m_Outposts; // 0x1418 - CUtlVector< Vector > m_TeamTowerPositions[10]; // 0x1430 - CUtlVector< int32 > m_TeamTowerLevels[10]; // 0x1520 - CUtlVector< int32 > m_TeamTowerLanes[10]; // 0x1610 - CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamBarracks[10]; // 0x1700 - CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamShrines[10]; // 0x17f0 - CountdownTimer m_TempDayTimer; // 0x18e0 - CountdownTimer m_TempNightTimer; // 0x18f8 - CountdownTimer m_NightstalkerNightTimer; // 0x1910 - CountdownTimer m_TempRiverTimer; // 0x1928 - bool m_bUseLenientAFK[2]; // 0x1940 - bool m_bFirstBlood; // 0x1942 -private: - [[maybe_unused]] uint8_t __pad1943[0x1]; // 0x1943 -public: - int32_t m_nFirstBloodTime; // 0x1944 - CountdownTimer m_CheckIdleTimer; // 0x1948 - PlayerID_t m_nAnnounceHeroPickRadiantPlayerID; // 0x1960 - PlayerID_t m_nAnnounceHeroPickDirePlayerID; // 0x1964 - CUtlString m_pszLastUsedAbility[64]; // 0x1968 - CUtlVector< CDOTA_ReconnectInfo > m_reconnectinfos; // 0x1b68 - CUtlVector< CHandle< CBaseEntity > > m_hEnemyCreepsInBase[10]; // 0x1b80 - bool m_bTeamHasAbandonedPlayer[10]; // 0x1c70 - bool m_bLobbyHasLeaverDetected; // 0x1c7a - bool m_bGameIsForcedSafeToLeave; // 0x1c7b - bool m_bLobbyHasDicardMatchResults; // 0x1c7c -private: - [[maybe_unused]] uint8_t __pad1c7d[0x3]; // 0x1c7d -public: - int32_t m_iGameEndReason; // 0x1c80 - bool m_bNotifiedPlayerLeaverStatus[64]; // 0x1c84 - bool m_bUploadedReplay; // 0x1cc4 -private: - [[maybe_unused]] uint8_t __pad1cc5[0x3]; // 0x1cc5 -public: - float m_flLobbyWaitTime; // 0x1cc8 - bool m_bGameWasLoaded; // 0x1ccc -private: - [[maybe_unused]] uint8_t __pad1ccd[0x3]; // 0x1ccd -public: - int32_t m_nLoadPauseFrameCount; // 0x1cd0 -private: - [[maybe_unused]] uint8_t __pad1cd4[0x4]; // 0x1cd4 -public: - double m_flStateFallbackTransitionTime; // 0x1cd8 - EngineCountdownTimer m_timerFinishReplay; // 0x1ce0 - CUtlVector< GameChatLogEntry_t > m_vecChatLog; // 0x1cf8 -private: - [[maybe_unused]] uint8_t __pad1d10[0x2658]; // 0x1d10 -public: - bool m_bFatalErrorAbortGame; // 0x4368 - bool m_bFillEmptySlotsWithBots; // 0x4369 -private: - [[maybe_unused]] uint8_t __pad436a[0x2]; // 0x436a -public: - uint32_t m_dotaMapSpawnGroup; // 0x436c -private: - [[maybe_unused]] uint8_t __pad4370[0x28]; // 0x4370 + [[maybe_unused]] uint8_t __pad1178[0x10]; // 0x1178 public: // MNetworkEnable - uint32_t m_lobbyType; // 0x4398 + bool m_bExperimentalGameplay; // 0x1188 +private: + [[maybe_unused]] uint8_t __pad1189[0x1f]; // 0x1189 +public: + CUtlVector< HeroPickRecord_t > m_vecHeroPickRecord; // 0x11a8 +private: + [[maybe_unused]] uint8_t __pad11c0[0x20]; // 0x11c0 +public: + CUtlVector< HeroDeathRecord_t > m_vecHeroDeathRecord; // 0x11e0 +private: + [[maybe_unused]] uint8_t __pad11f8[0x18]; // 0x11f8 +public: + CUtlVector< CHandle< CBaseEntity > > m_BadResultPositionTriggers; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_RoshanPositionTriggers; // 0x1228 + CUtlVector< HeroPickRecord_t > m_vecAllDraftHeroPickRecord; // 0x1240 + CUtlOrderedMap< PlayerID_t, CUtlVector< AbilityID_t > > m_vecAbilityDraftOrder; // 0x1258 +private: + [[maybe_unused]] uint8_t __pad1280[0x18]; // 0x1280 +public: + int32_t m_nAllDraftHeroPickCollisionsThisPhase; // 0x1298 +private: + [[maybe_unused]] uint8_t __pad129c[0x4]; // 0x129c +public: + CUtlVector< CHandle< CBaseEntity > > m_hRuneSpawners; // 0x12a0 + CUtlVector< CHandle< CBaseEntity > > m_hBountyRuneSpawners; // 0x12b8 + CUtlVector< CHandle< CBaseEntity > > m_hXPRuneSpawners; // 0x12d0 + CUtlVector< CHandle< CBaseEntity > > m_hNeutralSpawners[2]; // 0x12e8 + int32_t m_iPreviousRune1; // 0x1318 + int32_t m_iPreviousRune2; // 0x131c + CUtlVector< int32 > m_vecAvailableRunes; // 0x1320 + float m_fNextPowerupRuneSpawnTime; // 0x1338 + float m_fNextBountyRuneSpawnTime; // 0x133c + float m_fNextBountyRunePrepTime; // 0x1340 + float m_fNextXPRuneSpawnTime; // 0x1344 + float m_fNextXPRunePrepTime; // 0x1348 + bool m_bFirstPowerupRune; // 0x134c + bool m_bFirstBountyRune; // 0x134d + bool m_bFilterMoreGold; // 0x134e + bool m_bAllowOutpostXP; // 0x134f + CHandle< CBaseEntity > m_hRoshanSpawner; // 0x1350 + int32_t m_iPreviousSpectators; // 0x1354 + uint32_t m_nMaxSpectators; // 0x1358 +private: + [[maybe_unused]] uint8_t __pad135c[0x4]; // 0x135c +public: + CUtlVector< CHandle< CBaseEntity > > m_hDroppedItems; // 0x1360 + CUtlVector< CHandle< CBaseEntity > > m_hWards; // 0x1378 + CHandle< CBaseEntity > m_hGameEvents; // 0x1390 +private: + [[maybe_unused]] uint8_t __pad1394[0x1c]; // 0x1394 +public: + CUtlVector< CHandle< CBaseEntity > > m_Towers; // 0x13b0 + CUtlVector< CHandle< CDOTA_BaseNPC_Tower > > m_TeamTowers[10]; // 0x13c8 + CUtlVector< CHandle< CBaseEntity > > m_Outposts; // 0x14b8 + CUtlVector< Vector > m_TeamTowerPositions[10]; // 0x14d0 + CUtlVector< int32 > m_TeamTowerLevels[10]; // 0x15c0 + CUtlVector< int32 > m_TeamTowerLanes[10]; // 0x16b0 + CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamBarracks[10]; // 0x17a0 + CUtlVector< CHandle< CDOTA_BaseNPC_Building > > m_TeamShrines[10]; // 0x1890 + CountdownTimer m_TempDayTimer; // 0x1980 + CountdownTimer m_TempNightTimer; // 0x1998 + CountdownTimer m_NightstalkerNightTimer; // 0x19b0 + CountdownTimer m_TempRiverTimer; // 0x19c8 + bool m_bUseLenientAFK[2]; // 0x19e0 + bool m_bFirstBlood; // 0x19e2 +private: + [[maybe_unused]] uint8_t __pad19e3[0x1]; // 0x19e3 +public: + int32_t m_nFirstBloodTime; // 0x19e4 + CountdownTimer m_CheckIdleTimer; // 0x19e8 + PlayerID_t m_nAnnounceHeroPickRadiantPlayerID; // 0x1a00 + PlayerID_t m_nAnnounceHeroPickDirePlayerID; // 0x1a04 + CUtlString m_pszLastUsedAbility[64]; // 0x1a08 + CUtlVector< CDOTA_ReconnectInfo > m_reconnectinfos; // 0x1c08 + CUtlVector< CHandle< CBaseEntity > > m_hEnemyCreepsInBase[10]; // 0x1c20 + bool m_bTeamHasAbandonedPlayer[10]; // 0x1d10 + bool m_bLobbyHasLeaverDetected; // 0x1d1a + bool m_bGameIsForcedSafeToLeave; // 0x1d1b + bool m_bLobbyHasDicardMatchResults; // 0x1d1c +private: + [[maybe_unused]] uint8_t __pad1d1d[0x3]; // 0x1d1d +public: + int32_t m_iGameEndReason; // 0x1d20 + bool m_bNotifiedPlayerLeaverStatus[64]; // 0x1d24 + bool m_bUploadedReplay; // 0x1d64 +private: + [[maybe_unused]] uint8_t __pad1d65[0x3]; // 0x1d65 +public: + float m_flLobbyWaitTime; // 0x1d68 + bool m_bGameWasLoaded; // 0x1d6c +private: + [[maybe_unused]] uint8_t __pad1d6d[0x3]; // 0x1d6d +public: + int32_t m_nLoadPauseFrameCount; // 0x1d70 +private: + [[maybe_unused]] uint8_t __pad1d74[0x4]; // 0x1d74 +public: + double m_flStateFallbackTransitionTime; // 0x1d78 + EngineCountdownTimer m_timerFinishReplay; // 0x1d80 + CUtlVector< GameChatLogEntry_t > m_vecChatLog; // 0x1d98 +private: + [[maybe_unused]] uint8_t __pad1db0[0x2658]; // 0x1db0 +public: + bool m_bFatalErrorAbortGame; // 0x4408 + bool m_bFillEmptySlotsWithBots; // 0x4409 +private: + [[maybe_unused]] uint8_t __pad440a[0x2]; // 0x440a +public: + uint32_t m_dotaMapSpawnGroup; // 0x440c +private: + [[maybe_unused]] uint8_t __pad4410[0x28]; // 0x4410 +public: // MNetworkEnable - LeagueID_t m_lobbyLeagueID; // 0x439c + uint32_t m_lobbyType; // 0x4438 // MNetworkEnable - char m_lobbyGameName[256]; // 0x43a0 + LeagueID_t m_lobbyLeagueID; // 0x443c + // MNetworkEnable + char m_lobbyGameName[256]; // 0x4440 // MNetworkEnable // MNetworkChangeCallback "OnHeroStatueLiked" - CUtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0x44a0 + CUtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0x4540 // MNetworkEnable - int32_t m_CustomGameTeamMaxPlayers[14]; // 0x4510 + int32_t m_CustomGameTeamMaxPlayers[15]; // 0x45b0 private: - [[maybe_unused]] uint8_t __pad4548[0x38]; // 0x4548 + [[maybe_unused]] uint8_t __pad45ec[0x3c]; // 0x45ec public: // MNetworkEnable - int32_t m_iMutations[5]; // 0x4580 + int32_t m_iMutations[5]; // 0x4628 private: - [[maybe_unused]] uint8_t __pad4594[0x4]; // 0x4594 + [[maybe_unused]] uint8_t __pad463c[0x4]; // 0x463c public: // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CIngameEvent_Base > > m_vecIngameEvents; // 0x4598 + CNetworkUtlVectorBase< CHandle< CIngameEvent_Base > > m_vecIngameEvents; // 0x4640 // MNetworkEnable - int8_t m_nPrimaryIngameEventIndex; // 0x45b0 + int8_t m_nPrimaryIngameEventIndex; // 0x4658 private: - [[maybe_unused]] uint8_t __pad45b1[0x3]; // 0x45b1 + [[maybe_unused]] uint8_t __pad4659[0x3]; // 0x4659 public: - uint32_t m_nOfrendaPledges; // 0x45b4 - uint32_t m_nRadiantOfrendas; // 0x45b8 - uint32_t m_nDireOfrendas; // 0x45bc + uint32_t m_nOfrendaPledges; // 0x465c + uint32_t m_nRadiantOfrendas; // 0x4660 + uint32_t m_nDireOfrendas; // 0x4664 // MNetworkEnable - bool m_bOfrendaEnabled; // 0x45c0 + bool m_bOfrendaEnabled; // 0x4668 private: - [[maybe_unused]] uint8_t __pad45c1[0x1f]; // 0x45c1 + [[maybe_unused]] uint8_t __pad4669[0x1f]; // 0x4669 public: // MNetworkEnable - CNetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0x45e0 - double m_flLastItemSuggestionRequestTime[14]; // 0x45f8 + CNetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0x4688 + // MNetworkEnable + CNetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0x46a0 + double m_flLastItemSuggestionRequestTime[15]; // 0x46b8 private: - [[maybe_unused]] uint8_t __pad4668[0xfb8]; // 0x4668 + [[maybe_unused]] uint8_t __pad4730[0xfb8]; // 0x4730 public: - double m_flLastPerfSampleTime; // 0x5620 + double m_flLastPerfSampleTime; // 0x56e8 // Static fields: static int32_t &Get_s_GameStateTransitionsIndex(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTAGameRules")->m_static_fields[0]->m_instance);}; @@ -14492,7 +14219,7 @@ public: }; // Alignment: 7 -// Size: 0x260 +// Size: 0x270 class CDOTA_ModifierManager { private: @@ -14501,18 +14228,18 @@ public: // MNetworkEnable CHandle< CBaseEntity > m_hModifierParent; // 0x8 private: - [[maybe_unused]] uint8_t __pad000c[0x240]; // 0xc + [[maybe_unused]] uint8_t __pad000c[0x250]; // 0xc public: - uint16_t m_nHasTruesightForTeam; // 0x24c - uint16_t m_nHasTruesightForTeamValid; // 0x24e - uint16_t m_nProvidesFOWPositionForTeam; // 0x250 - uint16_t m_nProvidesFOWPositionForTeamValid; // 0x252 - int32_t m_iBuffIndex; // 0x254 - int32_t m_iLockRefCount; // 0x258 + uint16_t m_nHasTruesightForTeam; // 0x25c + uint16_t m_nHasTruesightForTeamValid; // 0x25e + uint16_t m_nProvidesFOWPositionForTeam; // 0x260 + uint16_t m_nProvidesFOWPositionForTeamValid; // 0x262 + int32_t m_iBuffIndex; // 0x264 + int32_t m_iLockRefCount; // 0x268 }; -// Alignment: 57 -// Size: 0x1c8 +// Alignment: 67 +// Size: 0x1d8 class CModifierParams { public: @@ -14576,15 +14303,28 @@ public: bool bIsSpellLifesteal; // 0x9f CEntityIndex pnMagicStickProcEntityIndices[64]; // 0xa0 bool bBloodstoneRegenApplied; // 0x1a0 + bool bShroudManaRestoreApplied; // 0x1a1 + bool bPhylacteryApplied; // 0x1a2 + bool bIgnoreNegativeValuesIfDebuffImmune; // 0x1a3 + bool bIgnorePositiveValuesIfDebuffImmune; // 0x1a4 + bool bIgnoreAllIfDebuffImmune; // 0x1a5 + bool bAlsoIgnoreBuffsIfDebuffImmune; // 0x1a6 + bool bIgnoreLowerIfDebuffImmune; // 0x1a7 + float flIgnoreLowerIfDebuffImmune; // 0x1a8 + bool bIgnoreHigherIfDebuffImmune; // 0x1ac private: - [[maybe_unused]] uint8_t __pad01a1[0x7]; // 0x1a1 + [[maybe_unused]] uint8_t __pad01ad[0x3]; // 0x1ad public: - char* pszAbilitySpecialName; // 0x1a8 - int32_t nAbilitySpecialLevel; // 0x1b0 - CHandle< CBaseEntity > hattacker; // 0x1b4 - CHandle< CBaseEntity > htarget; // 0x1b8 - CHandle< CBaseEntity > hunit; // 0x1bc - CDOTA_Buff* pAddedBuff; // 0x1c0 + float flIgnoreHigherIfDebuffImmune; // 0x1b0 +private: + [[maybe_unused]] uint8_t __pad01b4[0x4]; // 0x1b4 +public: + char* pszAbilitySpecialName; // 0x1b8 + int32_t nAbilitySpecialLevel; // 0x1c0 + CHandle< CBaseEntity > hattacker; // 0x1c4 + CHandle< CBaseEntity > htarget; // 0x1c8 + CHandle< CBaseEntity > hunit; // 0x1cc + CDOTA_Buff* pAddedBuff; // 0x1d0 // Static fields: static CModifierParams &Get_s_Default(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CModifierParams")->m_static_fields[0]->m_instance);}; @@ -14730,6 +14470,15 @@ public: ParticleIndex_t nRevenantFXIndex; // 0x8 }; +// Alignment: 2 +// Size: 0x8 +class sPartingShotTemporarySoulDef +{ +public: + CHandle< CBaseEntity > hHeroOwner; // 0x0 + CHandle< CBaseEntity > hTemporarySoulClone; // 0x4 +}; + // Alignment: 10 // Size: 0x548 class CDOTAAppCheers : public CBaseEntity @@ -14925,7 +14674,7 @@ public: item_definition_index_t m_nBackedByEconItemIndex; // 0x538 }; -// Alignment: 55 +// Alignment: 56 // Size: 0x5f8 class CDOTA_Item : public CDOTABaseAbility { @@ -14948,8 +14697,10 @@ public: int32_t m_iStackableMax; // 0x55c // MNetworkEnable bool m_bRecipe; // 0x560 + // MNetworkEnable + bool m_bRecipeConsumesCharges; // 0x561 private: - [[maybe_unused]] uint8_t __pad0561[0x3]; // 0x561 + [[maybe_unused]] uint8_t __pad0562[0x2]; // 0x562 public: // MNetworkEnable // MNetworkPriority "32" @@ -15116,46 +14867,6 @@ public: float flPurchaseTime; // 0x4 }; -// Alignment: 33 -// Size: 0x74 -struct TimedHeroStats_t -{ -public: - uint32_t m_nTime; // 0x0 - uint32_t m_nNetWorth; // 0x4 - uint16_t m_nXP; // 0x8 - uint16_t m_nKills; // 0xa - uint16_t m_nDeaths; // 0xc - uint16_t m_nAssists; // 0xe - uint16_t m_nLastHits; // 0x10 - uint16_t m_nDenies; // 0x12 - uint16_t m_nObserverWardsDestroyed; // 0x14 - uint16_t m_nBountyRuneGold; // 0x16 - uint32_t m_nRangeCreepUpgradeGold; // 0x18 - uint32_t m_nReliableGoldEarned; // 0x1c - uint32_t m_nGoldLossPrevented; // 0x20 - uint32_t m_nHeroKillGold; // 0x24 - uint32_t m_nCreepKillGold; // 0x28 - uint32_t m_nBuildingGold; // 0x2c - uint32_t m_nOtherGold; // 0x30 - uint32_t m_nComebackGold; // 0x34 - uint32_t m_nExperimentalGold; // 0x38 - uint32_t m_nExperimental2Gold; // 0x3c - uint32_t m_nTPScrollsPurchased; // 0x40 - uint32_t m_nCreepDenyGold; // 0x44 - uint32_t m_nNeutralGold; // 0x48 - uint32_t m_nCourierGold; // 0x4c - uint32_t m_nRoshanGold; // 0x50 - uint32_t m_nIncomeGold; // 0x54 - uint32_t m_nCustomStats; // 0x58 - uint32_t m_unItemValue; // 0x5c - uint32_t m_unSupportGoldSpent; // 0x60 - uint32_t m_unWardsPlaced; // 0x64 - uint32_t m_unCampsStacked; // 0x68 - uint32_t m_unTripleKills; // 0x6c - uint32_t m_unRampages; // 0x70 -}; - // Alignment: 5 // Size: 0xc struct TimedTeamStats_t @@ -15168,8 +14879,8 @@ public: uint8_t m_nEnemyBarracksKilled; // 0x9 }; -// Alignment: 117 -// Size: -0x4e98 +// Alignment: 125 +// Size: -0x2308 class CDOTA_PlayerResource : public CBaseEntity { public: @@ -15216,118 +14927,135 @@ public: int32_t m_iExperimental2GoldEarned[24]; // 0x2cc8 int32_t m_iCreepDenyGoldEarned[24]; // 0x2d28 int32_t m_iTPScrollsPurchased[24]; // 0x2d88 - float m_flCustomStats[24]; // 0x2de8 - int32_t m_iAegisPickups[24]; // 0x2e48 - int32_t m_iTeleportsUsed[24]; // 0x2ea8 - int32_t m_iNumConsumablesPurchased[24]; // 0x2f08 - int32_t m_iNumItemsPurchased[24]; // 0x2f68 - CUtlVector< PurchasedItem_t > m_vecItemsPurchased[24]; // 0x2fc8 - float m_flTimeOfLastItemPurchase[24]; // 0x3208 - float m_flTimeOfLastConsumablePurchase[24]; // 0x3268 - float m_flTimeOfLastDeath[24]; // 0x32c8 - int32_t m_iTowerDamageTaken[24]; // 0x3328 - int32_t m_iCreepDamageTaken[24]; // 0x3388 - int32_t m_iHeroDamageTaken[24]; // 0x33e8 - int32_t m_iTotalTowerDamageTaken[24]; // 0x3448 - int32_t m_iTotalCreepDamageTaken[24]; // 0x34a8 - int32_t m_iTotalHeroDamageTaken[24]; // 0x3508 - int32_t m_iRank[24]; // 0x3568 - bool m_bRankCalibrated[24]; // 0x35c8 - bool m_bTextChatBanned[24]; // 0x35e0 - bool m_bLowPriority[24]; // 0x35f8 - bool m_bWasHeroPickDotaPlusSuggestion[24]; // 0x3610 - bool m_bIdleInFountain[24]; // 0x3628 - bool m_bLoggedInElsewhere[24]; // 0x3640 - bool m_bPlayerLoadedCompletely[64]; // 0x3658 - int32_t m_iDisconnectionReason[64]; // 0x3698 - uint64_t m_SelectedGuide[64]; // 0x3798 - bool m_bIsUsingPlusGuide[64]; // 0x3998 - int32_t m_iCustomTeamAssignments[24]; // 0x39d8 - CUtlVector< float32 > m_vecPlayerLevelUpTimes[24]; // 0x3a38 - int32_t m_iManaSpent[64][6]; // 0x3c78 - bool m_bLeaverAlreadyDetected; // 0x4278 private: - [[maybe_unused]] uint8_t __pad4279[0x427]; // 0x4279 + [[maybe_unused]] uint8_t __pad2de8[0x240]; // 0x2de8 public: - CUtlVector< TimedKillEvent_t > m_TimedKillList; // 0x46a0 - CUtlVector< TimedKillEvent_t > m_TimedAssistList; // 0x46b8 - CUtlVector< TimedKillEvent_t > m_TimedDeathList; // 0x46d0 - uint32_t m_unLastHeroPickOrder; // 0x46e8 - int32_t m_iBountyGoldEarned[24]; // 0x46ec - int32_t m_iRangeCreepUpgradeGoldEarned[24]; // 0x474c - int32_t m_iObserverWardsDestroyed[24]; // 0x47ac - int32_t m_iReliableGoldEarned[24]; // 0x480c - int32_t m_iGoldLossPrevented[24]; // 0x486c + int32_t m_iAegisPickups[24]; // 0x3028 + int32_t m_iTeleportsUsed[24]; // 0x3088 + int32_t m_iNumConsumablesPurchased[24]; // 0x30e8 + int32_t m_iNumItemsPurchased[24]; // 0x3148 + CUtlVector< PurchasedItem_t > m_vecItemsPurchased[24]; // 0x31a8 + float m_flTimeOfLastItemPurchase[24]; // 0x33e8 + float m_flTimeOfLastConsumablePurchase[24]; // 0x3448 + float m_flTimeOfLastDeath[24]; // 0x34a8 + int32_t m_iTowerDamageTaken[24]; // 0x3508 + int32_t m_iCreepDamageTaken[24]; // 0x3568 + int32_t m_iHeroDamageTaken[24]; // 0x35c8 + int32_t m_iTotalTowerDamageTaken[24]; // 0x3628 + int32_t m_iTotalCreepDamageTaken[24]; // 0x3688 + int32_t m_iTotalHeroDamageTaken[24]; // 0x36e8 private: - [[maybe_unused]] uint8_t __pad48cc[0x1c]; // 0x48cc + [[maybe_unused]] uint8_t __pad3748[0x240]; // 0x3748 public: - CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hTeamCouriers[14]; // 0x48e8 - CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x4a38 - float m_flAvailableLaneGold[14]; // 0x5038 - CUtlVector< DamageShareEvent_t > m_DamageShareList[24]; // 0x5070 - DamageShareEvent_t m_AbsorbedDamageRollup[24][25]; // 0x52b0 - AbilityID_t m_playerAbilityUpgradeOrder[24][25]; // 0x6ed0 - int32_t m_playerAbilityUpgradeTimes[24][25]; // 0x7830 - int32_t m_playerAbilityUpgradeCount[24]; // 0x8190 + int32_t m_iRank[24]; // 0x3988 + bool m_bRankCalibrated[24]; // 0x39e8 + bool m_bTextChatBanned[24]; // 0x3a00 + bool m_bLowPriority[24]; // 0x3a18 + bool m_bWasHeroPickDotaPlusSuggestion[24]; // 0x3a30 + bool m_bIdleInFountain[24]; // 0x3a48 + bool m_bLoggedInElsewhere[24]; // 0x3a60 + bool m_bPlayerLoadedCompletely[64]; // 0x3a78 + int32_t m_iDisconnectionReason[64]; // 0x3ab8 + uint64_t m_SelectedGuide[64]; // 0x3bb8 + bool m_bIsUsingPlusGuide[64]; // 0x3db8 + int32_t m_iCustomTeamAssignments[24]; // 0x3df8 + CUtlVector< float32 > m_vecPlayerLevelUpTimes[24]; // 0x3e58 + int32_t m_iManaSpent[64][6]; // 0x4098 + int32_t m_iNeutralOption[64][6][6]; // 0x4698 + bool m_bLeaverAlreadyDetected; // 0x6a98 private: - [[maybe_unused]] uint8_t __pad81f0[0x40]; // 0x81f0 + [[maybe_unused]] uint8_t __pad6a99[0x427]; // 0x6a99 public: - int32_t m_fullUpdateCount[64]; // 0x8230 - int32_t m_iCouriersDeployed[24]; // 0x8330 - int32_t m_iCouriersPotentiallyKilled[24]; // 0x8390 - int32_t m_iCommandsIssued[24]; // 0x83f0 - uint32_t m_hHeroSpawnGroup[24]; // 0x8450 + CUtlVector< TimedKillEvent_t > m_TimedKillList; // 0x6ec0 + CUtlVector< TimedKillEvent_t > m_TimedAssistList; // 0x6ed8 + CUtlVector< TimedKillEvent_t > m_TimedDeathList; // 0x6ef0 + uint32_t m_unLastHeroPickOrder; // 0x6f08 + int32_t m_iBountyGoldEarned[24]; // 0x6f0c + int32_t m_iRangeCreepUpgradeGoldEarned[24]; // 0x6f6c + int32_t m_iObserverWardsDestroyed[24]; // 0x6fcc + int32_t m_iReliableGoldEarned[24]; // 0x702c + int32_t m_iGoldLossPrevented[24]; // 0x708c private: - [[maybe_unused]] uint8_t __pad84b0[0x17c0]; // 0x84b0 + [[maybe_unused]] uint8_t __pad70ec[0x5c]; // 0x70ec public: - float m_fNextLaneDetectionUpdate; // 0x9c70 - float m_fNextTimedHeroStatsUpdate; // 0x9c74 + CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x7148 + CUtlVector< CHandle< CDOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x72b0 + float m_flAvailableLaneGold[15]; // 0x78b0 private: - [[maybe_unused]] uint8_t __pad9c78[0x2a0]; // 0x9c78 + [[maybe_unused]] uint8_t __pad78ec[0x4]; // 0x78ec public: - bool m_bInitializedLaneWaypoints; // 0x9f18 + CUtlVector< DamageShareEvent_t > m_DamageShareList[24]; // 0x78f0 + DamageShareEvent_t m_AbsorbedDamageRollup[24][25]; // 0x7b30 + AbilityID_t m_playerAbilityUpgradeOrder[24][25]; // 0x9750 + int32_t m_playerAbilityUpgradeTimes[24][25]; // 0xa0b0 + int32_t m_playerAbilityUpgradeCount[24]; // 0xaa10 private: - [[maybe_unused]] uint8_t __pad9f19[0x757]; // 0x9f19 + [[maybe_unused]] uint8_t __padaa70[0x40]; // 0xaa70 public: - uint32_t m_nLastWardSuggestionBuildingState; // 0xa670 - uint32_t m_nLastWardSuggestionUpdateNum; // 0xa674 - bool m_bLastWardSuggestionRoshanAlive; // 0xa678 - bool bDoFinalPregameSuggestion[10]; // 0xa679 + int32_t m_fullUpdateCount[64]; // 0xaab0 + int32_t m_iCouriersDeployed[24]; // 0xabb0 + int32_t m_iCouriersPotentiallyKilled[24]; // 0xac10 + int32_t m_iCommandsIssued[24]; // 0xac70 + uint32_t m_hHeroSpawnGroup[24]; // 0xacd0 private: - [[maybe_unused]] uint8_t __pada683[0x1]; // 0xa683 + [[maybe_unused]] uint8_t __padad30[0x17c0]; // 0xad30 public: - int32_t m_hAbilitiesSuggestion[10]; // 0xa684 - int32_t m_hPregameItemsSuggestion[10]; // 0xa6ac - int32_t m_hItemsSuggestion[10]; // 0xa6d4 - int32_t m_hTopNItemsSuggestion[10]; // 0xa6fc - int32_t m_hNeutralItemsSuggestion[10]; // 0xa724 - int32_t m_hLanesSuggestion[14]; // 0xa74c - int32_t m_hWinProbabilitySuggestion; // 0xa784 - int32_t m_hHeroSuggestion[10]; // 0xa788 - int32_t m_hWardLocationsSuggestion[14]; // 0xa7b0 - float m_fNextCreepDistanceUpdate; // 0xa7e8 - float m_fCreepDistanceSafe[14]; // 0xa7ec - float m_fCreepDistanceMid[14]; // 0xa824 - float m_fCreepDistanceOff[14]; // 0xa85c - GameTime_t m_fLastSuggestionTime; // 0xa894 - bool m_bHasRevealedAnonymizedEnemyPlayerInfo; // 0xa898 + float m_fNextLaneDetectionUpdate; // 0xc4f0 + float m_fNextTimedHeroStatsUpdate; // 0xc4f4 private: - [[maybe_unused]] uint8_t __pada899[0x607]; // 0xa899 + [[maybe_unused]] uint8_t __padc4f8[0x2a0]; // 0xc4f8 public: - PlayerID_t m_nRequestedBotPlayerID; // 0xaea0 - float m_fNextCombatLogLocationUpdateTime; // 0xaea4 - float m_fNextAPMUpdateTime; // 0xaea8 + bool m_bInitializedLaneWaypoints; // 0xc798 private: - [[maybe_unused]] uint8_t __padaeac[0x4]; // 0xaeac + [[maybe_unused]] uint8_t __padc799[0x757]; // 0xc799 public: - CUtlVector< uint32 > m_vecPendingPlayerResourceRequests; // 0xaeb0 - int32_t m_iRampages[24]; // 0xaec8 - int32_t m_iTripleKills[24]; // 0xaf28 - int32_t m_iCouriersKilled[24]; // 0xaf88 - int32_t m_iAegisesSnatched[24]; // 0xafe8 - int32_t m_iCheesesEaten[24]; // 0xb048 - int32_t m_iRapiersPurchased[24]; // 0xb0a8 - float m_flPushingDamage[24]; // 0xb108 + uint32_t m_nLastWardSuggestionBuildingState; // 0xcef0 + uint32_t m_nLastWardSuggestionUpdateNum; // 0xcef4 + bool m_bLastWardSuggestionRoshanAlive; // 0xcef8 + bool bDoFinalPregameSuggestion[10]; // 0xcef9 +private: + [[maybe_unused]] uint8_t __padcf03[0x1]; // 0xcf03 +public: + int32_t m_hAbilitiesSuggestion[10]; // 0xcf04 + int32_t m_hPregameItemsSuggestion[10]; // 0xcf2c + int32_t m_hItemsSuggestion[10]; // 0xcf54 + int32_t m_hTopNItemsSuggestion[10]; // 0xcf7c + int32_t m_hNeutralItemsSuggestion[10]; // 0xcfa4 + int32_t m_hLanesSuggestion[15]; // 0xcfcc + int32_t m_hWinProbabilitySuggestion; // 0xd008 + int32_t m_hHeroSuggestion[10]; // 0xd00c + int32_t m_hWardLocationsSuggestion[15]; // 0xd034 + float m_fNextCreepDistanceUpdate; // 0xd070 + float m_fCreepDistanceSafe[15]; // 0xd074 + float m_fCreepDistanceMid[15]; // 0xd0b0 + float m_fCreepDistanceOff[15]; // 0xd0ec + GameTime_t m_fLastSuggestionTime; // 0xd128 + bool m_bHasRevealedAnonymizedEnemyPlayerInfo; // 0xd12c +private: + [[maybe_unused]] uint8_t __padd12d[0x603]; // 0xd12d +public: + PlayerID_t m_nRequestedBotPlayerID; // 0xd730 + float m_fNextCombatLogLocationUpdateTime; // 0xd734 + float m_fNextAPMUpdateTime; // 0xd738 +private: + [[maybe_unused]] uint8_t __padd73c[0x4]; // 0xd73c +public: + CUtlVector< uint32 > m_vecPendingPlayerResourceRequests; // 0xd740 + int32_t m_iRampages[24]; // 0xd758 + int32_t m_iTripleKills[24]; // 0xd7b8 + int32_t m_iCouriersKilled[24]; // 0xd818 + int32_t m_iAegisesSnatched[24]; // 0xd878 + int32_t m_iCheesesEaten[24]; // 0xd8d8 + int32_t m_iRapiersPurchased[24]; // 0xd938 + float m_flPushingDamage[24]; // 0xd998 + int32_t m_iRoshanKillsNight[24]; // 0xd9f8 + int32_t m_iRoshanKillsDay[24]; // 0xda58 + int32_t m_iPortalsUsed[24]; // 0xdab8 + int32_t m_iLanternsLit[24]; // 0xdb18 + int32_t m_iFamangosGained[24]; // 0xdb78 + int32_t m_iWisdomRunesGained[24]; // 0xdbd8 + int32_t m_iShieldRunesGained[24]; // 0xdc38 + int32_t m_iMinibossKills[24]; // 0xdc98 // Static fields: static uint64_t &Get_s_unLobbySteamID(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_PlayerResource")->m_static_fields[0]->m_instance);}; @@ -15359,6 +15087,22 @@ public: int32_t m_nAgreeState[24]; // 0x50 }; +// Alignment: 2 +// Size: 0x50 +struct TierNeutralInfo_t +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 +public: + // MNetworkEnable + int32_t m_nTier; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 +public: + // MNetworkEnable + CNetworkUtlVectorBase< AbilityID_t > m_nAbilityID; // 0x38 +}; + // Alignment: 3 // Size: 0x40 struct PlayerResourcePlayerPeriodicResourceData_t @@ -15460,7 +15204,7 @@ public: int32_t m_nEntIndex; // 0x34 }; -// Alignment: 61 +// Alignment: 63 // Size: 0x1f0 struct PlayerResourcePlayerTeamData_t { @@ -15548,6 +15292,7 @@ public: // MNetworkEnable int32_t m_UnitShareMasks; // 0x110 // MNetworkEnable + // MNetworkChangeCallback "OnTeamChanged" int32_t m_iTeamSlot; // 0x114 // MNetworkEnable uint8_t m_iBattleCupWinStreak; // 0x118 @@ -15628,6 +15373,10 @@ public: uint8_t m_eHeroStickerQuality; // 0x1e8 // MNetworkEnable uint8_t m_eLaneSelectionFlags; // 0x1e9 + // MNetworkEnable + uint8_t m_nPlayerDraftPreferredRoles; // 0x1ea + // MNetworkEnable + int8_t m_nPlayerDraftPreferredTeam; // 0x1eb }; // Alignment: 1 @@ -15855,8 +15604,8 @@ public: int32_t m_nChangeToken; // 0x234 }; -// Alignment: 18 -// Size: 0xeb0 +// Alignment: 19 +// Size: 0xf00 class CDOTA_DataNonSpectator : public CBaseEntity { public: @@ -15889,20 +15638,22 @@ private: [[maybe_unused]] uint8_t __pad0df6[0x2]; // 0xdf6 public: // MNetworkEnable - CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xdf8 + CUtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xdf8 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecNeutralStashItems; // 0xe10 + CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xe48 // MNetworkEnable - CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xe28 + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecNeutralStashItems; // 0xe60 // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xe40 + CNetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xe78 // MNetworkEnable - CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecKnownClearCamps; // 0xe90 - int32_t m_iTowerKills; // 0xea8 + CUtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xe90 + // MNetworkEnable + CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecKnownClearCamps; // 0xee0 + int32_t m_iTowerKills; // 0xef8 }; // Alignment: 0 -// Size: 0xeb0 +// Size: 0xf00 class CDOTA_DataRadiant : public CDOTA_DataNonSpectator { public: @@ -15910,7 +15661,7 @@ public: }; // Alignment: 0 -// Size: 0xeb0 +// Size: 0xf00 class CDOTA_DataDire : public CDOTA_DataNonSpectator { public: @@ -15918,39 +15669,43 @@ public: }; // Alignment: 0 -// Size: 0xeb0 +// Size: 0xf00 class CDOTA_DataCustomTeam : public CDOTA_DataNonSpectator { public: // No members available }; -// Alignment: 9 -// Size: 0xf80 +// Alignment: 11 +// Size: 0xfd8 class CDOTA_DataSpectator : public CDOTA_DataNonSpectator { public: // MNetworkEnable - CHandle< CBaseEntity > m_hPowerupRune_1; // 0xeb0 + CHandle< CBaseEntity > m_hPowerupRune_1; // 0xf00 // MNetworkEnable - CHandle< CBaseEntity > m_hPowerupRune_2; // 0xeb4 + CHandle< CBaseEntity > m_hPowerupRune_2; // 0xf04 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_1; // 0xeb8 + CHandle< CBaseEntity > m_hBountyRune_1; // 0xf08 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_2; // 0xebc + CHandle< CBaseEntity > m_hBountyRune_2; // 0xf0c // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_3; // 0xec0 + CHandle< CBaseEntity > m_hBountyRune_3; // 0xf10 // MNetworkEnable - CHandle< CBaseEntity > m_hBountyRune_4; // 0xec4 + CHandle< CBaseEntity > m_hBountyRune_4; // 0xf14 // MNetworkEnable - int32_t m_iNetWorth[24]; // 0xec8 + CHandle< CBaseEntity > m_hXPRune_1; // 0xf18 // MNetworkEnable - float m_fRadiantWinProbability; // 0xf28 + CHandle< CBaseEntity > m_hXPRune_2; // 0xf1c + // MNetworkEnable + int32_t m_iNetWorth[24]; // 0xf20 + // MNetworkEnable + float m_fRadiantWinProbability; // 0xf80 private: - [[maybe_unused]] uint8_t __pad0f2c[0x4]; // 0xf2c + [[maybe_unused]] uint8_t __pad0f84[0x4]; // 0xf84 public: // MNetworkEnable - CUtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0xf30 + CUtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0xf88 }; // Alignment: 0 @@ -16859,6 +16614,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Special_Bonus_Attack_Speed_225 : public CDOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Special_Bonus_Attack_Speed_250 : public CDOTABaseAbility @@ -26005,8 +25768,8 @@ public: // No members available }; -// Alignment: 26 -// Size: 0xd0 +// Alignment: 27 +// Size: 0xd8 struct PlayerResourcePlayerData_t { private: @@ -26089,6 +25852,8 @@ public: CPlayerSlot m_nPlayerSlot; // 0xc8 // MNetworkEnable bool m_bIsBot; // 0xcc + // MNetworkEnable + bool m_bHasNeutralTier[5]; // 0xcd }; // Alignment: 1 @@ -26565,8 +26330,8 @@ public: GameTime_t m_flLastDebugTime; // 0x8714 }; -// Alignment: 74 -// Size: 0x1480 +// Alignment: 75 +// Size: 0x1488 class CDOTA_TeamCommander { private: @@ -26670,18 +26435,19 @@ public: GameTime_t m_fLastAliveHeroHistorySnapshotTime; // 0x12cc int32_t m_iAliveHeroHistoryIndex; // 0x12d0 int32_t m_iAliveHeroHistory[5]; // 0x12d4 + GameTime_t m_fPlayerDraftChooseTime; // 0x12e8 private: - [[maybe_unused]] uint8_t __pad12e8[0x8]; // 0x12e8 + [[maybe_unused]] uint8_t __pad12ec[0xc]; // 0x12ec public: - CUtlString m_sScriptDirectory; // 0x12f0 - HSCRIPT m_hHeroSelectionScriptScope; // 0x12f8 - HSCRIPT m_hTeamLevelDesiresScriptScope; // 0x1300 + CUtlString m_sScriptDirectory; // 0x12f8 + HSCRIPT m_hHeroSelectionScriptScope; // 0x1300 + HSCRIPT m_hTeamLevelDesiresScriptScope; // 0x1308 private: - [[maybe_unused]] uint8_t __pad1308[0x68]; // 0x1308 + [[maybe_unused]] uint8_t __pad1310[0x68]; // 0x1310 public: - GameTick_t m_nScriptPathAvoidanceUpdateTick; // 0x1370 - float m_fExecutionTime[30]; // 0x1374 - int32_t m_iCurExecutionTime; // 0x13ec + GameTick_t m_nScriptPathAvoidanceUpdateTick; // 0x1378 + float m_fExecutionTime[30]; // 0x137c + int32_t m_iCurExecutionTime; // 0x13f4 }; // Alignment: 3 @@ -26842,27 +26608,27 @@ public: }; // Alignment: 1 -// Size: 0x80 +// Size: 0x78 class CDOTABehaviorDie { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CountdownTimer m_timer; // 0x68 + CountdownTimer m_timer; // 0x60 }; // Alignment: 1 -// Size: 0x80 +// Size: 0x78 class CDOTABehaviorIdle { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CountdownTimer m_IdleRareAnimationTime; // 0x68 + CountdownTimer m_IdleRareAnimationTime; // 0x60 }; // Alignment: 0 -// Size: 0x80 +// Size: 0x78 class CDOTABehaviorTutorialIdle : public CDOTABehaviorIdle { public: @@ -26870,14 +26636,14 @@ public: }; // Alignment: 2 -// Size: 0x98 +// Size: 0x90 class CDOTABehaviorTutorialVictory { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CountdownTimer m_StartAnimationTime; // 0x68 - CountdownTimer m_FinishAnimationTime; // 0x80 + CountdownTimer m_StartAnimationTime; // 0x60 + CountdownTimer m_FinishAnimationTime; // 0x78 }; // Alignment: 7 @@ -26900,382 +26666,382 @@ public: }; // Alignment: 5 -// Size: 0xa8 +// Size: 0xa0 class CDOTABehaviorNeutralAggro { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - Vector m_vHomePosition; // 0x68 - bool m_bNoLeashTime; // 0x74 - bool m_bShortLeashTime; // 0x75 + Vector m_vHomePosition; // 0x60 + bool m_bNoLeashTime; // 0x6c + bool m_bShortLeashTime; // 0x6d private: - [[maybe_unused]] uint8_t __pad0076[0x2]; // 0x76 + [[maybe_unused]] uint8_t __pad006e[0x2]; // 0x6e public: - CountdownTimer m_LeashTimer; // 0x78 - CountdownTimer m_FleeAgainTimer; // 0x90 + CountdownTimer m_LeashTimer; // 0x70 + CountdownTimer m_FleeAgainTimer; // 0x88 }; // Alignment: 5 -// Size: 0x160 +// Size: 0x158 class CDOTABehaviorCommandMoveToNPC { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hTarget; // 0x150 - int32_t m_nMovementState; // 0x154 - bool m_bInRange; // 0x158 - bool m_bWasAttacking; // 0x159 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x148 + int32_t m_nMovementState; // 0x14c + bool m_bInRange; // 0x150 + bool m_bWasAttacking; // 0x151 }; // Alignment: 5 -// Size: 0x160 +// Size: 0x158 class CDOTABehaviorCommandMoveToNPCToGive { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hTarget; // 0x150 - int32_t m_nMovementState; // 0x154 - CHandle< CBaseEntity > m_hItem; // 0x158 - float m_flRange; // 0x15c + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x148 + int32_t m_nMovementState; // 0x14c + CHandle< CBaseEntity > m_hItem; // 0x150 + float m_flRange; // 0x154 }; // Alignment: 11 -// Size: 0x178 +// Size: 0x170 class CDOTABehaviorCommandMoveToTargetToAttack { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hTarget; // 0x150 - int32_t m_nMovementState; // 0x154 - bool m_bFailedCast; // 0x158 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x148 + int32_t m_nMovementState; // 0x14c + bool m_bFailedCast; // 0x150 private: - [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 + [[maybe_unused]] uint8_t __pad0151[0x3]; // 0x151 public: - float m_flTargetRange; // 0x15c - bool m_bDeny; // 0x160 - bool m_bInvisBreak; // 0x161 - bool m_bNightmareAttack; // 0x162 - bool m_bTurningToTarget; // 0x163 - float m_flTargetAngle; // 0x164 - Vector m_vMoveToOrderPosition; // 0x168 + float m_flTargetRange; // 0x154 + bool m_bDeny; // 0x158 + bool m_bInvisBreak; // 0x159 + bool m_bNightmareAttack; // 0x15a + bool m_bTurningToTarget; // 0x15b + float m_flTargetAngle; // 0x15c + Vector m_vMoveToOrderPosition; // 0x160 }; // Alignment: 13 -// Size: 0x188 +// Size: 0x180 class CDOTABehaviorCommandVampireThrall { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hTarget; // 0x150 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x148 private: - [[maybe_unused]] uint8_t __pad0154[0x4]; // 0x154 + [[maybe_unused]] uint8_t __pad014c[0x4]; // 0x14c public: - float m_flTargetRange; // 0x158 - bool m_bDeny; // 0x15c - bool m_bInvisBreak; // 0x15d - bool m_bNightmareAttack; // 0x15e - bool m_bTurningToTarget; // 0x15f - bool m_bHasPositionOrder; // 0x160 - bool m_bIsAggressive; // 0x161 + float m_flTargetRange; // 0x150 + bool m_bDeny; // 0x154 + bool m_bInvisBreak; // 0x155 + bool m_bNightmareAttack; // 0x156 + bool m_bTurningToTarget; // 0x157 + bool m_bHasPositionOrder; // 0x158 + bool m_bIsAggressive; // 0x159 private: - [[maybe_unused]] uint8_t __pad0162[0x2]; // 0x162 + [[maybe_unused]] uint8_t __pad015a[0x2]; // 0x15a public: - float m_flTargetAngle; // 0x164 - Vector m_vFollowOffset; // 0x168 - Vector m_vMoveToPosition; // 0x174 - CHandle< CBaseEntity > m_hMaster; // 0x180 + float m_flTargetAngle; // 0x15c + Vector m_vFollowOffset; // 0x160 + Vector m_vMoveToPosition; // 0x16c + CHandle< CBaseEntity > m_hMaster; // 0x178 }; // Alignment: 5 -// Size: 0x168 +// Size: 0x160 class CDOTABehaviorPuppetMasterVoodooDoll { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - float m_flDistanceFromMaster; // 0x150 - Vector m_vLastDir; // 0x154 - CHandle< CDOTA_BaseNPC > m_hMaster; // 0x160 - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x164 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + float m_flDistanceFromMaster; // 0x148 + Vector m_vLastDir; // 0x14c + CHandle< CDOTA_BaseNPC > m_hMaster; // 0x158 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x15c }; // Alignment: 8 -// Size: 0x1a0 +// Size: 0x198 class CDOTABehaviorMoveToNPCToAttack { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 private: - [[maybe_unused]] uint8_t __pad0150[0x8]; // 0x150 + [[maybe_unused]] uint8_t __pad0148[0x8]; // 0x148 public: - bool m_bMovingToLastKnownTargetPosition; // 0x158 + bool m_bMovingToLastKnownTargetPosition; // 0x150 private: - [[maybe_unused]] uint8_t __pad0159[0x7]; // 0x159 + [[maybe_unused]] uint8_t __pad0151[0x7]; // 0x151 public: - CountdownTimer m_AttackDelay; // 0x160 - CountdownTimer m_ChaseLimit; // 0x178 - bool m_bInAttackPosition; // 0x190 - bool m_bTurningToTarget; // 0x191 + CountdownTimer m_AttackDelay; // 0x158 + CountdownTimer m_ChaseLimit; // 0x170 + bool m_bInAttackPosition; // 0x188 + bool m_bTurningToTarget; // 0x189 private: - [[maybe_unused]] uint8_t __pad0192[0x2]; // 0x192 + [[maybe_unused]] uint8_t __pad018a[0x2]; // 0x18a public: - float m_flTargetAngle; // 0x194 - bool m_bAttackMove; // 0x198 + float m_flTargetAngle; // 0x18c + bool m_bAttackMove; // 0x190 }; // Alignment: 1 -// Size: 0x1b8 +// Size: 0x1b0 class CDOTABehaviorTutorialRazorMoveToNPCToAttack : public CDOTABehaviorMoveToNPCToAttack { public: - CountdownTimer m_PlasmaFieldDelay; // 0x1a0 + CountdownTimer m_PlasmaFieldDelay; // 0x198 }; // Alignment: 5 -// Size: 0x188 +// Size: 0x180 class CDOTABehaviorNeutralHome { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - Vector m_vHomePosition; // 0x150 - Vector m_vHomeFacing; // 0x15c - bool m_bHomePositionSet; // 0x168 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + Vector m_vHomePosition; // 0x148 + Vector m_vHomeFacing; // 0x154 + bool m_bHomePositionSet; // 0x160 private: - [[maybe_unused]] uint8_t __pad0169[0x7]; // 0x169 + [[maybe_unused]] uint8_t __pad0161[0x7]; // 0x161 public: - CountdownTimer m_IdleRareAnimationTime; // 0x170 + CountdownTimer m_IdleRareAnimationTime; // 0x168 }; // Alignment: 5 -// Size: 0xc0 +// Size: 0xb8 class CDOTABehaviorAttack { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CHandle< CBaseEntity > m_hTarget; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x60 private: - [[maybe_unused]] uint8_t __pad006c[0x24]; // 0x6c + [[maybe_unused]] uint8_t __pad0064[0x24]; // 0x64 public: - CountdownTimer m_backSwingTimer; // 0x90 - bool m_bCastAttack; // 0xa8 + CountdownTimer m_backSwingTimer; // 0x88 + bool m_bCastAttack; // 0xa0 private: - [[maybe_unused]] uint8_t __pad00a9[0x3]; // 0xa9 + [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 public: - float m_flBackswingTime; // 0xac - float m_flAnimSpeed; // 0xb0 + float m_flBackswingTime; // 0xa4 + float m_flAnimSpeed; // 0xa8 }; // Alignment: 5 -// Size: 0x160 +// Size: 0x158 class CDOTABehaviorInvade { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_goalEntity; // 0x150 - CHandle< CBaseEntity > m_nextGoalEntity; // 0x154 - bool m_bReachedFinalGoal; // 0x158 - bool m_bRequireReachingEndPath; // 0x159 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_goalEntity; // 0x148 + CHandle< CBaseEntity > m_nextGoalEntity; // 0x14c + bool m_bReachedFinalGoal; // 0x150 + bool m_bRequireReachingEndPath; // 0x151 }; // Alignment: 4 -// Size: 0x160 +// Size: 0x158 class CDOTABehaviorCommandMoveToPosition { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - Vector m_vPosition; // 0x150 - bool m_bDirectional; // 0x15c - bool m_bRelative; // 0x15d + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + Vector m_vPosition; // 0x148 + bool m_bDirectional; // 0x154 + bool m_bRelative; // 0x155 }; // Alignment: 5 -// Size: 0x180 +// Size: 0x178 class CDOTABehaviorCommandPatrol { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - Vector m_vOrderPosition; // 0x150 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + Vector m_vOrderPosition; // 0x148 private: - [[maybe_unused]] uint8_t __pad015c[0x4]; // 0x15c + [[maybe_unused]] uint8_t __pad0154[0x4]; // 0x154 public: - CUtlVector< Vector > m_vPatrolPoints; // 0x160 - int32_t m_nCurrentTargetIndex; // 0x178 - int32_t m_nDirection; // 0x17c + CUtlVector< Vector > m_vPatrolPoints; // 0x158 + int32_t m_nCurrentTargetIndex; // 0x170 + int32_t m_nDirection; // 0x174 }; // Alignment: 3 -// Size: 0x160 +// Size: 0x158 class CDOTABehaviorCommandMoveToPositionToDropItem { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - Vector m_vPosition; // 0x150 - CHandle< CBaseEntity > m_hItem; // 0x15c + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + Vector m_vPosition; // 0x148 + CHandle< CBaseEntity > m_hItem; // 0x154 }; // Alignment: 2 -// Size: 0x158 +// Size: 0x150 class CDOTABehaviorCommandMoveToRuneToTake { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hRune; // 0x150 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hRune; // 0x148 }; // Alignment: 2 -// Size: 0x158 +// Size: 0x150 class CDOTABehaviorCommandMoveToItemToTake { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hItem; // 0x150 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hItem; // 0x148 }; // Alignment: 10 -// Size: 0xd0 +// Size: 0xc8 class CDOTABehaviorAttackPhase { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CHandle< CBaseEntity > m_hTarget; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x60 private: - [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c + [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 public: - CountdownTimer m_attackTimer; // 0x70 - bool m_bAttackComplete; // 0x88 + CountdownTimer m_attackTimer; // 0x68 + bool m_bAttackComplete; // 0x80 private: - [[maybe_unused]] uint8_t __pad0089[0x27]; // 0x89 + [[maybe_unused]] uint8_t __pad0081[0x27]; // 0x81 public: - bool m_bDeny; // 0xb0 - bool m_bCastAttack; // 0xb1 - bool m_bTargetTeleported; // 0xb2 + bool m_bDeny; // 0xa8 + bool m_bCastAttack; // 0xa9 + bool m_bTargetTeleported; // 0xaa private: - [[maybe_unused]] uint8_t __pad00b3[0x1]; // 0xb3 + [[maybe_unused]] uint8_t __pad00ab[0x1]; // 0xab public: - float m_flBackswingDuration; // 0xb4 - float m_flAnimSpeed; // 0xb8 - float m_flAttackPortionPriorToTimer; // 0xbc - HSequence m_iSequence; // 0xc0 + float m_flBackswingDuration; // 0xac + float m_flAnimSpeed; // 0xb0 + float m_flAttackPortionPriorToTimer; // 0xb4 + HSequence m_iSequence; // 0xb8 }; // Alignment: 7 -// Size: 0xa8 +// Size: 0xa0 class CDOTABehaviorAbilityPhase { private: - [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 public: - CountdownTimer m_abilityTimer; // 0x68 - CountdownTimer m_backSwingTimer; // 0x80 - bool m_bBackswinging; // 0x98 + CountdownTimer m_abilityTimer; // 0x60 + CountdownTimer m_backSwingTimer; // 0x78 + bool m_bBackswinging; // 0x90 private: - [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 + [[maybe_unused]] uint8_t __pad0091[0x3]; // 0x91 public: - CHandle< CBaseEntity > m_hAbility; // 0x9c - bool m_bActionLocked; // 0xa0 - bool m_bTargetTeleported; // 0xa1 - bool m_bOriginalTargetTeleported; // 0xa2 + CHandle< CBaseEntity > m_hAbility; // 0x94 + bool m_bActionLocked; // 0x98 + bool m_bTargetTeleported; // 0x99 + bool m_bOriginalTargetTeleported; // 0x9a }; // Alignment: 5 -// Size: 0x168 +// Size: 0x160 class CDOTABehaviorCommandMoveToPositionToCast { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - Vector m_vPosition; // 0x150 - CHandle< CBaseEntity > m_hAbility; // 0x15c - bool m_bTurningToTarget; // 0x160 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + Vector m_vPosition; // 0x148 + CHandle< CBaseEntity > m_hAbility; // 0x154 + bool m_bTurningToTarget; // 0x158 private: - [[maybe_unused]] uint8_t __pad0161[0x3]; // 0x161 + [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 public: - float m_flTargetAngle; // 0x164 + float m_flTargetAngle; // 0x15c }; // Alignment: 8 -// Size: 0x170 +// Size: 0x168 class CDOTABehaviorCommandMoveToTargetToCast { -private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 -public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hTarget; // 0x150 - CHandle< CBaseEntity > m_hAbility; // 0x154 - int32_t m_nMovementState; // 0x158 - bool m_bFailedCast; // 0x15c -private: - [[maybe_unused]] uint8_t __pad015d[0x3]; // 0x15d -public: - float m_flTargetRange; // 0x160 - bool m_bTurningToTarget; // 0x164 -private: - [[maybe_unused]] uint8_t __pad0165[0x3]; // 0x165 -public: - float m_flTargetAngle; // 0x168 -}; - -// Alignment: 5 -// Size: 0x90 -class CDOTABehaviorAbilityChannel -{ private: [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CountdownTimer m_timer; // 0x68 - float m_flAbilityChannelDuration; // 0x80 - CHandle< CBaseEntity > m_hAbility; // 0x84 - CHandle< CBaseEntity > m_hTarget; // 0x88 - bool m_bCompletedChanneling; // 0x8c + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hTarget; // 0x148 + CHandle< CBaseEntity > m_hAbility; // 0x14c + int32_t m_nMovementState; // 0x150 + bool m_bFailedCast; // 0x154 +private: + [[maybe_unused]] uint8_t __pad0155[0x3]; // 0x155 +public: + float m_flTargetRange; // 0x158 + bool m_bTurningToTarget; // 0x15c +private: + [[maybe_unused]] uint8_t __pad015d[0x3]; // 0x15d +public: + float m_flTargetAngle; // 0x160 +}; + +// Alignment: 5 +// Size: 0x88 +class CDOTABehaviorAbilityChannel +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x60]; // 0x0 +public: + CountdownTimer m_timer; // 0x60 + float m_flAbilityChannelDuration; // 0x78 + CHandle< CBaseEntity > m_hAbility; // 0x7c + CHandle< CBaseEntity > m_hTarget; // 0x80 + bool m_bCompletedChanneling; // 0x84 }; // Alignment: 6 -// Size: 0x180 +// Size: 0x178 class CDOTABehaviorCompanion { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_goalEntity; // 0x150 - Vector m_vOffset; // 0x154 - int32_t m_iRightOffset; // 0x160 - int32_t m_iForwardOffset; // 0x164 - CountdownTimer m_PositionFuzziness; // 0x168 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_goalEntity; // 0x148 + Vector m_vOffset; // 0x14c + int32_t m_iRightOffset; // 0x158 + int32_t m_iForwardOffset; // 0x15c + CountdownTimer m_PositionFuzziness; // 0x160 }; // Alignment: 0 -// Size: 0x180 +// Size: 0x178 class CDOTABehaviorCreatureCompanion : public CDOTABehaviorCompanion { public: @@ -27283,78 +27049,78 @@ public: }; // Alignment: 26 -// Size: 0x2f0 +// Size: 0x2e8 class CDOTABehaviorPet : public CDOTABehaviorCompanion { private: - [[maybe_unused]] uint8_t __pad0180[0x10]; // 0x180 + [[maybe_unused]] uint8_t __pad0178[0x10]; // 0x178 public: - float m_flThreatLevel; // 0x190 + float m_flThreatLevel; // 0x188 private: - [[maybe_unused]] uint8_t __pad0194[0x4]; // 0x194 + [[maybe_unused]] uint8_t __pad018c[0x4]; // 0x18c public: - CountdownTimer m_ThreatTimer; // 0x198 - CountdownTimer m_StuckTimer; // 0x1b0 - bool m_bHasVanished; // 0x1c8 + CountdownTimer m_ThreatTimer; // 0x190 + CountdownTimer m_StuckTimer; // 0x1a8 + bool m_bHasVanished; // 0x1c0 private: - [[maybe_unused]] uint8_t __pad01c9[0x7]; // 0x1c9 + [[maybe_unused]] uint8_t __pad01c1[0x7]; // 0x1c1 public: - CountdownTimer m_VanishOnThreatTimer; // 0x1d0 - Vector m_vecFleeCurrentTarget; // 0x1e8 - Vector m_vecFleeDirection; // 0x1f4 - Vector m_vecOldFleeDirection; // 0x200 + CountdownTimer m_VanishOnThreatTimer; // 0x1c8 + Vector m_vecFleeCurrentTarget; // 0x1e0 + Vector m_vecFleeDirection; // 0x1ec + Vector m_vecOldFleeDirection; // 0x1f8 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 public: - CountdownTimer m_FleePersistTimer; // 0x210 - CountdownTimer m_CombatRepositionTimer; // 0x228 - CHandle< CDOTA_BaseNPC > m_hNearestEnemyHero; // 0x240 - GameTime_t m_flLastInWater; // 0x244 - Vector m_vecHomeBasePosition; // 0x248 - bool m_bReturnToBase; // 0x254 + CountdownTimer m_FleePersistTimer; // 0x208 + CountdownTimer m_CombatRepositionTimer; // 0x220 + CHandle< CDOTA_BaseNPC > m_hNearestEnemyHero; // 0x238 + GameTime_t m_flLastInWater; // 0x23c + Vector m_vecHomeBasePosition; // 0x240 + bool m_bReturnToBase; // 0x24c private: - [[maybe_unused]] uint8_t __pad0255[0x3]; // 0x255 + [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d public: - CountdownTimer m_ReturnToBaseTimer; // 0x258 - PetCoopStates_t m_nCoopTeleportState; // 0x270 + CountdownTimer m_ReturnToBaseTimer; // 0x250 + PetCoopStates_t m_nCoopTeleportState; // 0x268 private: - [[maybe_unused]] uint8_t __pad0274[0x4]; // 0x274 + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c public: - CountdownTimer m_CarryItemTimer; // 0x278 - CountdownTimer m_PickupDelayTimer; // 0x290 - CountdownTimer m_LevelupCheckTimer; // 0x2a8 - bool m_bIsEmoting; // 0x2c0 + CountdownTimer m_CarryItemTimer; // 0x270 + CountdownTimer m_PickupDelayTimer; // 0x288 + CountdownTimer m_LevelupCheckTimer; // 0x2a0 + bool m_bIsEmoting; // 0x2b8 private: - [[maybe_unused]] uint8_t __pad02c1[0x3]; // 0x2c1 + [[maybe_unused]] uint8_t __pad02b9[0x3]; // 0x2b9 public: - CHandle< CDOTA_BaseNPC > m_hEmoteTarget; // 0x2c4 - CountdownTimer m_EmoteTimer; // 0x2c8 - int32_t m_nEmoteActivity; // 0x2e0 - CHandle< CBaseEntity > m_tempGoalEntity; // 0x2e4 - bool m_bFollowingTempGoal; // 0x2e8 + CHandle< CDOTA_BaseNPC > m_hEmoteTarget; // 0x2bc + CountdownTimer m_EmoteTimer; // 0x2c0 + int32_t m_nEmoteActivity; // 0x2d8 + CHandle< CBaseEntity > m_tempGoalEntity; // 0x2dc + bool m_bFollowingTempGoal; // 0x2e0 private: - [[maybe_unused]] uint8_t __pad02e9[0x3]; // 0x2e9 + [[maybe_unused]] uint8_t __pad02e1[0x3]; // 0x2e1 public: - int32_t m_event_dota_illusions_created; // 0x2ec + int32_t m_event_dota_illusions_created; // 0x2e4 }; // Alignment: 7 -// Size: 0x180 +// Size: 0x178 class CDOTABehaviorChase { private: - [[maybe_unused]] uint8_t __pad0000[0x70]; // 0x0 + [[maybe_unused]] uint8_t __pad0000[0x68]; // 0x0 public: - CDOTABehaviorMoveTo m_MoveTo; // 0x70 - CHandle< CBaseEntity > m_hChaseEntity; // 0x150 - bool m_bTargetMoves; // 0x154 + CDOTABehaviorMoveTo m_MoveTo; // 0x68 + CHandle< CBaseEntity > m_hChaseEntity; // 0x148 + bool m_bTargetMoves; // 0x14c private: - [[maybe_unused]] uint8_t __pad0155[0x3]; // 0x155 + [[maybe_unused]] uint8_t __pad014d[0x3]; // 0x14d public: - float m_flFollowDistance[2]; // 0x158 - float m_flForwardDistance; // 0x160 - float m_flRightDistance; // 0x164 - CountdownTimer m_PositionFuzziness; // 0x168 + float m_flFollowDistance[2]; // 0x150 + float m_flForwardDistance; // 0x158 + float m_flRightDistance; // 0x15c + CountdownTimer m_PositionFuzziness; // 0x160 }; // Alignment: 0 @@ -27764,6 +27530,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x498 +class CInfoTargetServerOnly : public CServerOnlyPointEntity +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x498 class CInfoParticleTarget : public CPointEntity @@ -28097,104 +27871,6 @@ public: float m_flCrouchTime; // 0x174 }; -// Alignment: 14 -// Size: 0x178 -class CBaseVehicleVData : public CEntitySubclassVDataBase -{ -public: - // MPropertyGroupName "Visuals" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Identifier for this vehicle in player's animgraph" - CUtlString m_sAnimGraphPropEnumValue; // 0x108 - // MPropertyDescription "Scales the use range for players near this vehicle, so they can enter from farther away" - float m_flUseRangeScale; // 0x110 - float m_flMaximumSpeedToEnterExit; // 0x114 - bool m_bAllowBlockedExits; // 0x118 - bool m_bAllowMidairExits; // 0x119 -private: - [[maybe_unused]] uint8_t __pad011a[0x6]; // 0x11a -public: - // MPropertyDescription "Attachment name indicating the start location of the trace we perform to determine where a player can exit" - // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" - CUtlString m_sExitTraceOriginAttachmentName; // 0x120 - // MPropertyDescription "What angle from upright does this vehicle need to be to be considered overturned if it has a passenger? Determines when player is kicked out of an overturned vehicle. (0 == never is overturned)" - float m_flOverturnedAngleWithPassenger; // 0x128 - // MPropertyDescription "What angle from upright does this vehicle need to be to be considered overturned if there are no passengers? Determines what happens when a player tries to enter an overturned vehicle. (0 == never is overturned)" - float m_flOverturnedAngleNoPassenger; // 0x12c - // MPropertyDescription "Should we automatically enter the vehicle after flipping it upright" - bool m_bAutoEnterAfterFlip; // 0x130 -private: - [[maybe_unused]] uint8_t __pad0131[0x3]; // 0x131 -public: - // MPropertyDescription "Minimum delay from the time we start flipping the vehicle to the time we auto-enter" - float m_flMinTimeAfterFlipToAutoEnter; // 0x134 - // MPropertyDescription "Maximum delay from the time we start flipping the vehicle to the time we auto-enter (if we can't enter at this point, we cancel the auto-enter attempt)" - float m_flMaxTimeAfterFlipToAutoEnter; // 0x138 -private: - [[maybe_unused]] uint8_t __pad013c[0x4]; // 0x13c -public: - CUtlVector< BaseVehicleRole_t > m_vecPassengerRoles; // 0x140 - // MPropertyFriendlyName "Fallback Exit Animgraph Parameter" - // MPropertyDescription "If none of the actual animations are appropriate, we just teleport -- need to inform the graph." - // MPropertyGroupName "Animation" - // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" - CAnimGraphSymbolWithStorage m_sAnimgraphParamExitFallback; // 0x158 -}; - -// Alignment: 0 -// Size: 0x178 -class CVehicleEntityIOVData : public CBaseVehicleVData -{ -public: - // No members available -}; - -// Alignment: 16 -// Size: 0x3d8 -class CWheeledPhysicsVehicleVData : public CBaseVehicleVData -{ -public: - // MPropertyGroupName "Visuals" - // MPropertyDescription "A particle effect that releases smoke when the wheels are slipping heavily" - CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szWheelSmokeEffect; // 0x178 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Exponential moving average time constant used to smooth increases in the wheel smoke intensity -- i.e. time to reach 63% of target intensity" - float m_flWheelSmokeIntensityRiseTimeConstant; // 0x258 - // MPropertyGroupName "Visuals" - // MPropertyDescription "Exponential moving average time constant used to smooth decreases in the wheel smoke intensity -- i.e. time to reach 63% of target intensity" - float m_flWheelSmokeIntensityDecayTimeConstant; // 0x25c - // MPropertyGroupName "Airborne" - // MPropertyDescription "Subclass we switch to when the vehicle gets airborne" - CUtlString m_sAirborneSubclass; // 0x260 - // MPropertyGroupName "Airborne" - // MPropertyDescription "Time with wheels off the ground before we enter airborne mode" - float m_flTimeOffGroundToEnterAirborne; // 0x268 - // MPropertyGroupName "Airborne" - // MPropertyDescription "Time with wheels on the ground before we leave airborne mode" - float m_flTimeOnGroundToExitAirborne; // 0x26c - // MPropertyDescription "Angular velocity delta (degrees / sec) to apply when flipping a vehicle that's on its side" - float m_flFlipFromSidewaysAngularVelocityDelta; // 0x270 - // MPropertyDescription "Vertical (upward) velocity delta to apply when flipping a vehicle that's on its side" - float m_flFlipFromSidewaysVerticalVelocityDelta; // 0x274 - // MPropertyDescription "Angular velocity delta (degrees / sec) to apply when flipping a vehicle that's upside down" - float m_flFlipFromUpsideDownAngularVelocityDelta; // 0x278 - // MPropertyDescription "Vertical (upward) velocity delta to apply when flipping a vehicle that's upside down" - float m_flFlipFromUpsideDownVerticalVelocityDelta; // 0x27c - // MPropertyDescription "Velocity delta to apply in the direction away from the player when flipping a vehicle" - float m_flFlipPushVelocityDelta; // 0x280 - // MPropertyDescription "Minimum time between attempts to flip the vehicle" - float m_flMinTimeBetweenFlipAttempts; // 0x284 - // MPropertyDescription "If vehicle is overturned for this amount of time, the player will be ejected" - float m_flOverturnedExitWaitTime; // 0x288 -private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c -public: - WheeledPhysicsVehiclePhysicsData_t m_PhysicsData; // 0x290 - WheeledPhysicsVehicleControlsData_t m_ControlsData; // 0x368 - WheeledPhysicsVehicleCameraData_t m_CameraData; // 0x3c4 -}; - // Alignment: 2 // Size: 0x4a8 class CInfoGameEventProxy : public CPointEntity @@ -28214,15 +27890,15 @@ public: }; // Alignment: 2 -// Size: 0x5b0 +// Size: 0x500 class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance { public: // MNetworkEnable - CBaseAnimGraphController m_animationController; // 0x480 + CBaseAnimGraphController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex - CNetworkVarChainer __m_pChainEntity; // 0x588 + CNetworkVarChainer __m_pChainEntity; // 0x4d8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; @@ -28442,6 +28118,14 @@ public: CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x558 }; +// Alignment: 0 +// Size: 0x578 +class CPathParticleRopeAlias_path_particle_rope_clientside : public CPathParticleRope +{ +public: + // No members available +}; + // Alignment: 1 // Size: 0x750 class CFuncWall : public CBaseModelEntity @@ -29402,15 +29086,14 @@ public: int32_t m_iDirection; // 0x52c }; -// Alignment: 4 -// Size: 0x4d0 +// Alignment: 3 +// Size: 0x4c8 class CPathCorner : public CPointEntity { public: float m_flWait; // 0x498 float m_flRadius; // 0x49c CEntityIOOutput m_OnPass; // 0x4a0 - CUtlSymbolLarge m_MoveActivityName; // 0x4c8 }; // Alignment: 6 @@ -30158,8 +29841,8 @@ public: static int32_t &Get_s_nSceneFlushCounter(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; }; -// Alignment: 58 -// Size: 0x7b0 +// Alignment: 57 +// Size: 0x7a0 class CScriptedSequence : public CBaseEntity { public: @@ -30167,78 +29850,74 @@ public: CUtlSymbolLarge m_iszPreIdle; // 0x4a0 CUtlSymbolLarge m_iszPlay; // 0x4a8 CUtlSymbolLarge m_iszPostIdle; // 0x4b0 - CUtlSymbolLarge m_iszCustomMove; // 0x4b8 - CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x4c0 - CUtlSymbolLarge m_iszNextScript; // 0x4c8 - CUtlSymbolLarge m_iszEntity; // 0x4d0 - CUtlSymbolLarge m_iszSyncGroup; // 0x4d8 - ScriptedMoveTo_t m_nMoveTo; // 0x4e0 - bool m_bIsPlayingEntry; // 0x4e4 - bool m_bLoopActionSequence; // 0x4e5 - bool m_bSynchPostIdles; // 0x4e6 - bool m_bIgnoreGravity; // 0x4e7 - bool m_bDisableNPCCollisions; // 0x4e8 - bool m_bKeepAnimgraphLockedPost; // 0x4e9 - bool m_bDontAddModifiers; // 0x4ea + CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x4b8 + CUtlSymbolLarge m_iszNextScript; // 0x4c0 + CUtlSymbolLarge m_iszEntity; // 0x4c8 + CUtlSymbolLarge m_iszSyncGroup; // 0x4d0 + ScriptedMoveTo_t m_nMoveTo; // 0x4d8 + bool m_bIsPlayingEntry; // 0x4dc + bool m_bLoopActionSequence; // 0x4dd + bool m_bSynchPostIdles; // 0x4de + bool m_bIgnoreGravity; // 0x4df + bool m_bDisableNPCCollisions; // 0x4e0 + bool m_bKeepAnimgraphLockedPost; // 0x4e1 + bool m_bDontAddModifiers; // 0x4e2 private: - [[maybe_unused]] uint8_t __pad04eb[0x1]; // 0x4eb + [[maybe_unused]] uint8_t __pad04e3[0x1]; // 0x4e3 public: - float m_flRadius; // 0x4ec - float m_flRepeat; // 0x4f0 - float m_flPlayAnimFadeInTime; // 0x4f4 - float m_flMoveInterpTime; // 0x4f8 - float m_flAngRate; // 0x4fc - int32_t m_iDelay; // 0x500 - GameTime_t m_startTime; // 0x504 - bool m_bWaitForBeginSequence; // 0x508 + float m_flRadius; // 0x4e4 + float m_flRepeat; // 0x4e8 + float m_flPlayAnimFadeInTime; // 0x4ec + float m_flMoveInterpTime; // 0x4f0 + float m_flAngRate; // 0x4f4 + int32_t m_iDelay; // 0x4f8 + GameTime_t m_startTime; // 0x4fc + bool m_bWaitForBeginSequence; // 0x500 private: - [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 + [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 public: - int32_t m_saved_effects; // 0x50c - int32_t m_savedFlags; // 0x510 - int32_t m_savedCollisionGroup; // 0x514 - bool m_interruptable; // 0x518 - bool m_sequenceStarted; // 0x519 - bool m_bPrevAnimatedEveryTick; // 0x51a - bool m_bForcedAnimatedEveryTick; // 0x51b - bool m_bPositionRelativeToOtherEntity; // 0x51c + int32_t m_saved_effects; // 0x504 + int32_t m_savedFlags; // 0x508 + int32_t m_savedCollisionGroup; // 0x50c + bool m_interruptable; // 0x510 + bool m_sequenceStarted; // 0x511 + bool m_bPrevAnimatedEveryTick; // 0x512 + bool m_bForcedAnimatedEveryTick; // 0x513 + bool m_bPositionRelativeToOtherEntity; // 0x514 private: - [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d + [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 public: - CHandle< CBaseEntity > m_hTargetEnt; // 0x520 - CHandle< CScriptedSequence > m_hNextCine; // 0x524 - bool m_bThinking; // 0x528 - bool m_bInitiatedSelfDelete; // 0x529 - bool m_bIsTeleportingDueToMoveTo; // 0x52a - bool m_bAllowCustomInterruptConditions; // 0x52b - CHandle< CBaseEntity > m_hLastFoundEntity; // 0x52c - CHandle< CBaseAnimGraph > m_hForcedTarget; // 0x530 - bool m_bDontCancelOtherSequences; // 0x534 - bool m_bForceSynch; // 0x535 - bool m_bTargetWasAsleep; // 0x536 - bool m_bPreventUpdateYawOnFinish; // 0x537 - bool m_bEnsureOnNavmeshOnFinish; // 0x538 + CHandle< CBaseEntity > m_hTargetEnt; // 0x518 + CHandle< CScriptedSequence > m_hNextCine; // 0x51c + bool m_bThinking; // 0x520 + bool m_bInitiatedSelfDelete; // 0x521 + bool m_bIsTeleportingDueToMoveTo; // 0x522 + bool m_bAllowCustomInterruptConditions; // 0x523 + CHandle< CBaseEntity > m_hLastFoundEntity; // 0x524 + CHandle< CBaseAnimGraph > m_hForcedTarget; // 0x528 + bool m_bDontCancelOtherSequences; // 0x52c + bool m_bForceSynch; // 0x52d + bool m_bTargetWasAsleep; // 0x52e + bool m_bPreventUpdateYawOnFinish; // 0x52f + bool m_bEnsureOnNavmeshOnFinish; // 0x530 private: - [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 + [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 public: - ScriptedOnDeath_t m_onDeathBehavior; // 0x53c - ScriptedConflictResponse_t m_ConflictResponse; // 0x540 + ScriptedOnDeath_t m_onDeathBehavior; // 0x534 + ScriptedConflictResponse_t m_ConflictResponse; // 0x538 private: - [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 + [[maybe_unused]] uint8_t __pad053c[0x4]; // 0x53c public: - CEntityIOOutput m_OnBeginSequence; // 0x548 - CEntityIOOutput m_OnActionStartOrLoop; // 0x570 - CEntityIOOutput m_OnEndSequence; // 0x598 - CEntityIOOutput m_OnPostIdleEndSequence; // 0x5c0 - CEntityIOOutput m_OnCancelSequence; // 0x5e8 - CEntityIOOutput m_OnCancelFailedSequence; // 0x610 - CEntityIOOutput m_OnScriptEvent[8]; // 0x638 -private: - [[maybe_unused]] uint8_t __pad0778[0x8]; // 0x778 -public: - CTransform m_matOtherToMain; // 0x780 - CHandle< CBaseEntity > m_hInteractionMainEntity; // 0x7a0 - int32_t m_iPlayerDeathBehavior; // 0x7a4 + CEntityIOOutput m_OnBeginSequence; // 0x540 + CEntityIOOutput m_OnActionStartOrLoop; // 0x568 + CEntityIOOutput m_OnEndSequence; // 0x590 + CEntityIOOutput m_OnPostIdleEndSequence; // 0x5b8 + CEntityIOOutput m_OnCancelSequence; // 0x5e0 + CEntityIOOutput m_OnCancelFailedSequence; // 0x608 + CEntityIOOutput m_OnScriptEvent[8]; // 0x630 + CTransform m_matOtherToMain; // 0x770 + CHandle< CBaseEntity > m_hInteractionMainEntity; // 0x790 + int32_t m_iPlayerDeathBehavior; // 0x794 }; // Alignment: 8 @@ -31319,16 +30998,6 @@ public: CountdownTimer m_RampTimer; // 0x928 }; -// Alignment: 2 -// Size: 0x918 -class CTriggerBuoyancy : public CBaseTrigger -{ -public: - CBuoyancyHelper m_BuoyancyHelper; // 0x8f0 - // MNetworkEnable - float m_flFluidDensity; // 0x910 -}; - // Alignment: 0 // Size: 0x498 class CNavWalkable : public CPointEntity @@ -31761,7 +31430,7 @@ public: }; // Alignment: 0 -// Size: 0x28 +// Size: 0x20 class IIntention : public INextBotComponent { public: @@ -31960,6 +31629,23 @@ public: CDOTA_Buff* m_pMyBuff; // 0x558 }; +// Alignment: 2 +// Size: 0x558 +class CDOTA_Ability_Lamp_Use : public CDOTABaseAbility +{ +public: + GameTime_t m_flLastCaptureTime; // 0x550 + ParticleIndex_t m_nChannelFXIndex; // 0x554 +}; + +// Alignment: 1 +// Size: 0x568 +class CDOTA_Ability_Twin_Gate_Portal_Warp : public CDOTABaseAbility +{ +public: + CHandle< CBaseEntity > m_hTarget; // 0x550 +}; + // Alignment: 0 // Size: 0x618 class CDOTA_Item_Tombstone_Mutation : public CDOTA_Item_Tombstone @@ -32013,7 +31699,7 @@ public: CUtlVector< ParticleIndex_t > m_Particles; // 0x790 // MNetworkEnable bool m_bIsPartOfFowSystem; // 0x7a8 - bool m_bForceVisible[14]; // 0x7a9 + bool m_bForceVisible[15]; // 0x7a9 }; // Alignment: 0 @@ -32688,7 +32374,7 @@ public: }; // Alignment: 34 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff : public CHorizontalMotionController { private: @@ -32740,13 +32426,13 @@ public: CUtlVector< CDOTA_BuffParticle > m_iParticles; // 0xa0 CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00d0[0x1060]; // 0xd0 + [[maybe_unused]] uint8_t __pad00d0[0x10e0]; // 0xd0 public: - HSCRIPT m_hScriptScope; // 0x1130 + HSCRIPT m_hScriptScope; // 0x11b0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff_Item : public CDOTA_Buff { public: @@ -32754,58 +32440,82 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: - int32_t max_stacks; // 0x1138 - bool destroy_on_zero_stacks; // 0x113c + int32_t max_stacks; // 0x11b8 + bool destroy_on_zero_stacks; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float sub_modifier_forced_duration; // 0x1140 + float sub_modifier_forced_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlString m_szSubModifierName; // 0x1148 - KeyValues* m_pSubModifierKV; // 0x1150 + CUtlString m_szSubModifierName; // 0x11c8 + KeyValues* m_pSubModifierKV; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: - int32_t m_nParentBuffIndex; // 0x1138 + int32_t m_nParentBuffIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c8 +class CDOTA_Modifier_SetScaleset : public CDOTA_Buff +{ +public: + CUtlString m_Scaleset; // 0x11b8 + bool m_bActive; // 0x11c0 +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: // No members available }; -// Alignment: 2 -// Size: 0x1158 +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff +{ +public: + float melee_number; // 0x11b8 + float ranged_number; // 0x11bc + float siege_number; // 0x11c0 + int32_t lane; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11d8 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x1138 - bool bStarted; // 0x1150 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x11b8 + bool bStarted; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 +public: + int32_t nCount; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: @@ -32813,38 +32523,38 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: - int32_t hp_heal; // 0x1138 - int32_t mp_heal; // 0x113c - int32_t hp_heal_growth; // 0x1140 - float mp_heal_growth; // 0x1144 - int32_t hp_heal_pct; // 0x1148 - int32_t mp_heal_pct; // 0x114c - int32_t tota_hp_per_second; // 0x1150 - int32_t tota_mp_per_second; // 0x1154 + int32_t hp_heal; // 0x11b8 + int32_t mp_heal; // 0x11bc + int32_t hp_heal_growth; // 0x11c0 + float mp_heal_growth; // 0x11c4 + int32_t hp_heal_pct; // 0x11c8 + int32_t mp_heal_pct; // 0x11cc + int32_t tota_hp_per_second; // 0x11d0 + int32_t tota_mp_per_second; // 0x11d4 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: - Vector m_vecPosition; // 0x1138 + Vector m_vecPosition; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: @@ -32852,15 +32562,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: - int32_t m_nAuraRadius; // 0x1138 + int32_t m_nAuraRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -32868,7 +32578,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: @@ -32876,41 +32586,69 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - bool m_bOverrideArmor; // 0x113c + int32_t bonus_armor; // 0x11b8 + bool m_bOverrideArmor; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float hp_regen; // 0x1140 - bool m_bOverrideRegen; // 0x1144 + float hp_regen; // 0x11c0 + bool m_bOverrideRegen; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t m_nRadius; // 0x1148 + int32_t m_nRadius; // 0x11c8 }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - float hp_regen; // 0x113c - bool m_bOverrideArmor; // 0x1140 - bool m_bOverrideRegen; // 0x1141 - bool m_bSentFirstRefresh; // 0x1142 + int32_t bonus_armor; // 0x11b8 + float hp_regen; // 0x11bc + bool m_bOverrideArmor; // 0x11c0 + bool m_bOverrideRegen; // 0x11c1 + bool m_bSentFirstRefresh; // 0x11c2 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Scout_Bonuses : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff +{ +public: + int32_t reveal_radius; // 0x11b8 +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff +{ +public: + int32_t reveal_radius; // 0x11b8 + float increase_health; // 0x11bc + int32_t max_health; // 0x11c0 + float increase_armor; // 0x11c4 + float max_armor; // 0x11c8 }; // Alignment: 0 @@ -32938,26 +32676,26 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: - bool m_bActivated; // 0x1138 + bool m_bActivated; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float m_flHealthToRestore; // 0x113c - int32_t radius; // 0x1140 - float activation_time; // 0x1144 - int32_t regen_rate; // 0x1148 + float m_flHealthToRestore; // 0x11bc + int32_t radius; // 0x11c0 + float activation_time; // 0x11c4 + int32_t regen_rate; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CountdownTimer m_TimerToActivate; // 0x1150 + CountdownTimer m_TimerToActivate; // 0x11d0 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: @@ -32965,7 +32703,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: @@ -32973,7 +32711,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: @@ -32981,7 +32719,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: @@ -32989,7 +32727,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: @@ -32997,16 +32735,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: - uint32_t m_unStatusEffectIndex; // 0x1138 - CHandle< CBaseEntity > m_hPedestal; // 0x113c + uint32_t m_unStatusEffectIndex; // 0x11b8 + CHandle< CBaseEntity > m_hPedestal; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: @@ -33014,7 +32752,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: @@ -33022,7 +32760,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: @@ -33030,7 +32768,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: @@ -33038,33 +32776,33 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: - bool m_bFacePlayer; // 0x1138 + bool m_bFacePlayer; // 0x11b8 }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: - int32_t m_nActivity; // 0x1138 - bool m_bLoop; // 0x113c - bool m_bFacePlayer; // 0x113d + int32_t m_nActivity; // 0x11b8 + bool m_bLoop; // 0x11bc + bool m_bFacePlayer; // 0x11bd }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: - bool m_bRemoveOnDeath; // 0x1138 + bool m_bRemoveOnDeath; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: @@ -33072,15 +32810,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: - bool m_bIsFriend; // 0x1138 + bool m_bIsFriend; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: @@ -33088,7 +32826,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: @@ -33096,7 +32834,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: @@ -33104,7 +32842,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: @@ -33112,18 +32850,18 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: - HSCRIPT m_hHorizontalControlFunction; // 0x1138 - HSCRIPT m_hVerticalControlFunction; // 0x1140 - HSCRIPT m_hOnDestroyFunction; // 0x1148 - CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x1150 + HSCRIPT m_hHorizontalControlFunction; // 0x11b8 + HSCRIPT m_hVerticalControlFunction; // 0x11c0 + HSCRIPT m_hOnDestroyFunction; // 0x11c8 + CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: @@ -33131,7 +32869,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: @@ -33139,7 +32877,84 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff +{ +public: + int32_t damage_absorb; // 0x11b8 + bool m_bStartedTimer; // 0x11bc +private: + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd +public: + int32_t m_nDamageAbsorbed; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_HP_Regen : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_MP_Regen : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: @@ -33147,7 +32962,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: @@ -33155,7 +32978,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: @@ -33163,7 +32986,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: @@ -33171,7 +32994,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: @@ -33179,23 +33002,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: - // No members available + bool m_bHideOnKill; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: @@ -33203,7 +33026,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: @@ -33211,7 +33034,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: @@ -33219,7 +33042,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: @@ -33227,7 +33050,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: @@ -33235,7 +33058,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: @@ -33243,7 +33066,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: @@ -33251,7 +33074,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: @@ -33259,30 +33082,30 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: - float fade_delay; // 0x1138 - float m_flFadeTime; // 0x113c - GameTime_t m_flLastActionTime; // 0x1140 + float fade_delay; // 0x11b8 + float m_flFadeTime; // 0x11bc + GameTime_t m_flLastActionTime; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: - bool m_bSubtle; // 0x1138 + bool m_bSubtle; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flFadeTime; // 0x113c - float m_flFadeTimeValue; // 0x1140 + GameTime_t m_flFadeTime; // 0x11bc + float m_flFadeTimeValue; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: @@ -33290,7 +33113,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: @@ -33298,7 +33121,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: @@ -33306,7 +33129,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: @@ -33314,7 +33137,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: @@ -33322,7 +33145,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: @@ -33330,7 +33153,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: @@ -33338,7 +33161,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: @@ -33346,7 +33169,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: @@ -33354,7 +33177,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: @@ -33362,7 +33185,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: @@ -33370,7 +33193,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: @@ -33378,7 +33201,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: @@ -33386,7 +33209,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: @@ -33394,7 +33217,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: @@ -33402,22 +33225,22 @@ public: }; // Alignment: 8 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: - int32_t outgoing_damage; // 0x1138 - int32_t outgoing_damage_structure; // 0x113c - int32_t outgoing_damage_roshan; // 0x1140 - int32_t incoming_damage; // 0x1144 - int32_t bounty_base; // 0x1148 - int32_t bounty_growth; // 0x114c - CUtlString m_strIllusionType; // 0x1150 - char m_szIllusionLabel[64]; // 0x1158 + int32_t outgoing_damage; // 0x11b8 + int32_t outgoing_damage_structure; // 0x11bc + int32_t outgoing_damage_roshan; // 0x11c0 + int32_t incoming_damage; // 0x11c4 + int32_t bounty_base; // 0x11c8 + int32_t bounty_growth; // 0x11cc + CUtlString m_strIllusionType; // 0x11d0 + char m_szIllusionLabel[64]; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: @@ -33425,15 +33248,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: - int32_t m_iAdditionalDamagePct; // 0x1138 + int32_t m_iAdditionalDamagePct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: @@ -33441,7 +33264,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: @@ -33449,7 +33272,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: @@ -33457,7 +33280,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: @@ -33465,7 +33288,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -33473,7 +33296,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: @@ -33481,7 +33304,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: @@ -33489,16 +33312,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: - int32_t m_iCooldownReductionPct; // 0x1138 - int32_t m_iCostReductionPct; // 0x113c + int32_t m_iCooldownReductionPct; // 0x11b8 + int32_t m_iCostReductionPct; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: @@ -33506,30 +33329,30 @@ public: }; // Alignment: 11 -// Size: 0x1590 +// Size: 0x1610 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x20]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x20]; // 0x11b8 public: - float m_fStartTime; // 0x1158 - char m_iszPortalLoopAppear[260]; // 0x115c - char m_iszPortalLoopDisappear[260]; // 0x1260 - char m_iszHeroLoopAppear[260]; // 0x1364 - char m_iszHeroLoopDisappear[260]; // 0x1468 - bool m_bSkipTeleportAnim; // 0x156c - bool m_bPlayingCoopAnim; // 0x156d - bool m_bIsPlayingTauntGesture; // 0x156e + float m_fStartTime; // 0x11d8 + char m_iszPortalLoopAppear[260]; // 0x11dc + char m_iszPortalLoopDisappear[260]; // 0x12e0 + char m_iszHeroLoopAppear[260]; // 0x13e4 + char m_iszHeroLoopDisappear[260]; // 0x14e8 + bool m_bSkipTeleportAnim; // 0x15ec + bool m_bPlayingCoopAnim; // 0x15ed + bool m_bIsPlayingTauntGesture; // 0x15ee private: - [[maybe_unused]] uint8_t __pad156f[0x1]; // 0x156f + [[maybe_unused]] uint8_t __pad15ef[0x1]; // 0x15ef public: - float m_fChannelTime; // 0x1570 - Vector m_vStart; // 0x1574 - Vector m_vEnd; // 0x1580 + float m_fChannelTime; // 0x15f0 + Vector m_vStart; // 0x15f4 + Vector m_vEnd; // 0x1600 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: @@ -33537,52 +33360,52 @@ public: }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: - float knockback_distance; // 0x1138 - int32_t knockback_height; // 0x113c - float knockback_duration; // 0x1140 - Vector m_vHorizOffset; // 0x1144 - Vector m_vStartPosition; // 0x1150 - float m_fCurrentTimeHoriz; // 0x115c - float m_fCurrentTimeVert; // 0x1160 - bool m_bShouldStun; // 0x1164 - bool m_bRespectLeash; // 0x1165 - bool m_bReversePolarity; // 0x1166 + float knockback_distance; // 0x11b8 + int32_t knockback_height; // 0x11bc + float knockback_duration; // 0x11c0 + Vector m_vHorizOffset; // 0x11c4 + Vector m_vStartPosition; // 0x11d0 + float m_fCurrentTimeHoriz; // 0x11dc + float m_fCurrentTimeVert; // 0x11e0 + bool m_bShouldStun; // 0x11e4 + bool m_bRespectLeash; // 0x11e5 + bool m_bReversePolarity; // 0x11e6 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - Vector m_vStartPos; // 0x113c - float m_flCurTime; // 0x1148 - float m_flHeightT; // 0x114c + GameTime_t m_flStartTime; // 0x11b8 + Vector m_vStartPos; // 0x11bc + float m_flCurTime; // 0x11c8 + float m_flHeightT; // 0x11cc }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: - GameTime_t m_fLastUpdateTime; // 0x1138 - Vector m_vVelocity; // 0x113c + GameTime_t m_fLastUpdateTime; // 0x11b8 + Vector m_vVelocity; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: - bool m_bTargetFriendlies; // 0x1138 + bool m_bTargetFriendlies; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: @@ -33590,7 +33413,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: @@ -33598,16 +33421,16 @@ public: }; // Alignment: 2 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x1138 - CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x1150 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11b8 + CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: @@ -33615,7 +33438,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: @@ -33623,15 +33446,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: - CUtlSymbolLarge m_activityModifier; // 0x1138 + CUtlSymbolLarge m_activityModifier; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: @@ -33639,24 +33462,24 @@ public: }; // Alignment: 7 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x1138 - bool m_bGroundToTree; // 0x113c - bool m_bTreeToGround; // 0x113d - bool m_bTreeToTree; // 0x113e + CHandle< CBaseEntity > m_hTree; // 0x11b8 + bool m_bGroundToTree; // 0x11bc + bool m_bTreeToGround; // 0x11bd + bool m_bTreeToTree; // 0x11be private: - [[maybe_unused]] uint8_t __pad113f[0x1]; // 0x113f + [[maybe_unused]] uint8_t __pad11bf[0x1]; // 0x11bf public: - float perched_day_vision; // 0x1140 - float perched_night_vision; // 0x1144 - bool m_bAbilityIsStolen; // 0x1148 + float perched_day_vision; // 0x11c0 + float perched_night_vision; // 0x11c4 + bool m_bAbilityIsStolen; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: @@ -33664,7 +33487,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: @@ -33672,7 +33495,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: @@ -33680,7 +33503,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: @@ -33688,28 +33511,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: - bool m_bEnemiesOnly; // 0x1138 + bool m_bEnemiesOnly; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x1138 + CHandle< CBaseEntity > m_hTree; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlString m_strModel; // 0x1140 - int32_t m_nModelChangeToken; // 0x1148 + CUtlString m_strModel; // 0x11c0 + int32_t m_nModelChangeToken; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: @@ -33717,20 +33540,29 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: - int32_t creep_attack_divisor; // 0x1138 - int32_t attack_count; // 0x113c + int32_t creep_attack_divisor; // 0x11b8 + int32_t attack_count; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: - int32_t m_nCurReduction; // 0x1138 + int32_t m_nCurReduction; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned +{ +public: + CHandle< CBaseEntity > m_hSoulEntity; // 0x11b8 + int32_t damage_reduction_percent; // 0x11bc }; // Alignment: 20 @@ -33802,93 +33634,93 @@ public: }; // Alignment: 63 -// Size: 0x2b68 +// Size: 0x3518 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x18]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x18]; // 0x11b8 public: - AbilityID_t m_nAbilityID; // 0x1150 - int32_t m_nIndexInAbility; // 0x1154 - bool m_bIsHidden; // 0x1158 - bool m_bIsDebuff; // 0x1159 - bool m_bIsPurgable; // 0x115a - bool m_bIsStunDebuff; // 0x115b - bool m_bAllowIllusionDuplicate; // 0x115c - bool m_bRemoveOnDeath; // 0x115d + AbilityID_t m_nAbilityID; // 0x11d0 + int32_t m_nIndexInAbility; // 0x11d4 + bool m_bIsHidden; // 0x11d8 + bool m_bIsDebuff; // 0x11d9 + bool m_bIsPurgable; // 0x11da + bool m_bIsStunDebuff; // 0x11db + bool m_bAllowIllusionDuplicate; // 0x11dc + bool m_bRemoveOnDeath; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - char* m_pszAuraModifier; // 0x1160 - int32_t m_nAuraModifierIndex; // 0x1168 - int32_t m_nAuraRadius; // 0x116c - int32_t m_nAuraSearchTeam; // 0x1170 - int32_t m_nAuraSearchType; // 0x1174 - int32_t m_nAuraSearchFlags; // 0x1178 - bool m_bAuraApplyToCaster; // 0x117c - bool m_bAuraApplyToParent; // 0x117d + char* m_pszAuraModifier; // 0x11e0 + int32_t m_nAuraModifierIndex; // 0x11e8 + int32_t m_nAuraRadius; // 0x11ec + int32_t m_nAuraSearchTeam; // 0x11f0 + int32_t m_nAuraSearchType; // 0x11f4 + int32_t m_nAuraSearchFlags; // 0x11f8 + bool m_bAuraApplyToCaster; // 0x11fc + bool m_bAuraApplyToParent; // 0x11fd private: - [[maybe_unused]] uint8_t __pad117e[0x2]; // 0x117e + [[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe public: - int32_t m_nAttributes; // 0x1180 + int32_t m_nAttributes; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - char* m_pszEffectName; // 0x1188 - int32_t m_nEffectAttachType; // 0x1190 - int32_t m_nPriority; // 0x1194 - char* m_pszStatusEffectName; // 0x1198 - int32_t m_nStatusEffectPriority; // 0x11a0 - int32_t m_nOverrideAnimation; // 0x11a4 - int32_t m_nOrbPriority; // 0x11a8 - int32_t m_nOrbLabel; // 0x11ac - bool m_bOrbIsCastAttack; // 0x11b0 + char* m_pszEffectName; // 0x1208 + int32_t m_nEffectAttachType; // 0x1210 + int32_t m_nPriority; // 0x1214 + char* m_pszStatusEffectName; // 0x1218 + int32_t m_nStatusEffectPriority; // 0x1220 + int32_t m_nOverrideAnimation; // 0x1224 + int32_t m_nOrbPriority; // 0x1228 + int32_t m_nOrbLabel; // 0x122c + bool m_bOrbIsCastAttack; // 0x1230 private: - [[maybe_unused]] uint8_t __pad11b1[0x3]; // 0x11b1 + [[maybe_unused]] uint8_t __pad1231[0x3]; // 0x1231 public: - float m_flThinkInterval; // 0x11b4 - bool m_bNeedsReParseIfRefreshed; // 0x11b8 + float m_flThinkInterval; // 0x1234 + bool m_bNeedsReParseIfRefreshed; // 0x1238 private: - [[maybe_unused]] uint8_t __pad11b9[0x7]; // 0x11b9 + [[maybe_unused]] uint8_t __pad1239[0x7]; // 0x1239 public: - char* m_pszModelName; // 0x11c0 - char* m_pszOrbProjectileName; // 0x11c8 + char* m_pszModelName; // 0x1240 + char* m_pszOrbProjectileName; // 0x1248 private: - [[maybe_unused]] uint8_t __pad11d0[0x1890]; // 0x11d0 + [[maybe_unused]] uint8_t __pad1250[0x21c0]; // 0x1250 public: - uint64_t m_nModifierStatesEnabled; // 0x2a60 - uint64_t m_nModifierStatesDisabled; // 0x2a68 - KeyValues* m_pOnCreated; // 0x2a70 - KeyValues* m_pOnIntervalThink; // 0x2a78 - KeyValues* m_pOnDestroy; // 0x2a80 - KeyValues* m_pOnAttackStart; // 0x2a88 - KeyValues* m_pOnAttack; // 0x2a90 - KeyValues* m_pOnAttackLanded; // 0x2a98 - KeyValues* m_pOnAttackFailed; // 0x2aa0 - KeyValues* m_pOnAttackAllied; // 0x2aa8 - KeyValues* m_pOnProjectileDodge; // 0x2ab0 - KeyValues* m_pOnOrder; // 0x2ab8 - KeyValues* m_pOnUnitMoved; // 0x2ac0 - KeyValues* m_pOnAbilityStart; // 0x2ac8 - KeyValues* m_pOnAbilityExecuted; // 0x2ad0 - KeyValues* m_pOnBreakInvisibility; // 0x2ad8 - KeyValues* m_pOnAbilityEndChannel; // 0x2ae0 - KeyValues* m_pOnTakeDamage; // 0x2ae8 - KeyValues* m_pOnDealDamage; // 0x2af0 - KeyValues* m_pOnStateChanged; // 0x2af8 - KeyValues* m_pOnAttacked; // 0x2b00 - KeyValues* m_pOnDeath; // 0x2b08 - KeyValues* m_pOnKill; // 0x2b10 - KeyValues* m_pOnRespawn; // 0x2b18 - KeyValues* m_pOnSpentMana; // 0x2b20 - KeyValues* m_pOnTeleporting; // 0x2b28 - KeyValues* m_pOnTeleported; // 0x2b30 - KeyValues* m_pOnHealthGained; // 0x2b38 - KeyValues* m_pOnManaGained; // 0x2b40 - KeyValues* m_pOnHeroKilled; // 0x2b48 - KeyValues* m_pOnHealReceived; // 0x2b50 - KeyValues* m_pOnAttackFinished; // 0x2b58 - KeyValues* m_pOnAttackCancelled; // 0x2b60 + uint64_t m_nModifierStatesEnabled; // 0x3410 + uint64_t m_nModifierStatesDisabled; // 0x3418 + KeyValues* m_pOnCreated; // 0x3420 + KeyValues* m_pOnIntervalThink; // 0x3428 + KeyValues* m_pOnDestroy; // 0x3430 + KeyValues* m_pOnAttackStart; // 0x3438 + KeyValues* m_pOnAttack; // 0x3440 + KeyValues* m_pOnAttackLanded; // 0x3448 + KeyValues* m_pOnAttackFailed; // 0x3450 + KeyValues* m_pOnAttackAllied; // 0x3458 + KeyValues* m_pOnProjectileDodge; // 0x3460 + KeyValues* m_pOnOrder; // 0x3468 + KeyValues* m_pOnUnitMoved; // 0x3470 + KeyValues* m_pOnAbilityStart; // 0x3478 + KeyValues* m_pOnAbilityExecuted; // 0x3480 + KeyValues* m_pOnBreakInvisibility; // 0x3488 + KeyValues* m_pOnAbilityEndChannel; // 0x3490 + KeyValues* m_pOnTakeDamage; // 0x3498 + KeyValues* m_pOnDealDamage; // 0x34a0 + KeyValues* m_pOnStateChanged; // 0x34a8 + KeyValues* m_pOnAttacked; // 0x34b0 + KeyValues* m_pOnDeath; // 0x34b8 + KeyValues* m_pOnKill; // 0x34c0 + KeyValues* m_pOnRespawn; // 0x34c8 + KeyValues* m_pOnSpentMana; // 0x34d0 + KeyValues* m_pOnTeleporting; // 0x34d8 + KeyValues* m_pOnTeleported; // 0x34e0 + KeyValues* m_pOnHealthGained; // 0x34e8 + KeyValues* m_pOnManaGained; // 0x34f0 + KeyValues* m_pOnHeroKilled; // 0x34f8 + KeyValues* m_pOnHealReceived; // 0x3500 + KeyValues* m_pOnAttackFinished; // 0x3508 + KeyValues* m_pOnAttackCancelled; // 0x3510 }; // Alignment: 0 @@ -33900,17 +33732,17 @@ public: }; // Alignment: 1 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0xe8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0xe8]; // 0x11b8 public: - bool m_bHasCustomTransmitterData; // 0x1220 + bool m_bHasCustomTransmitterData; // 0x12a0 }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: @@ -33918,7 +33750,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: @@ -33926,7 +33758,7 @@ public: }; // Alignment: 0 -// Size: 0x1228 +// Size: 0x12a8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: @@ -33982,29 +33814,29 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t strike_damage; // 0x1140 + float strike_interval; // 0x11b8 + int32_t radius; // 0x11bc + int32_t strike_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 + int32_t strike_chance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 0 @@ -34042,37 +33874,37 @@ public: }; // Alignment: 1 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[9]; // 0x1138 + Vector m_PositionIndex[9]; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - CHandle< CBaseEntity > m_hEntity; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + CHandle< CBaseEntity > m_hEntity; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t max_ticks; // 0x113c + float damage; // 0x11b8 + int32_t max_ticks; // 0x11bc }; // Alignment: 0 @@ -34124,28 +33956,28 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float formation_time; // 0x11bc + bool m_bActive; // 0x11c0 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vOriginLoc; // 0x113c - bool m_bCanBeAffected; // 0x1148 - bool m_bTruesight; // 0x1149 + int32_t radius; // 0x11b8 + Vector m_vOriginLoc; // 0x11bc + bool m_bCanBeAffected; // 0x11c8 + bool m_bTruesight; // 0x11c9 private: - [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a + [[maybe_unused]] uint8_t __pad11ca[0x2]; // 0x11ca public: - int32_t intellect_bonus; // 0x114c + int32_t intellect_bonus; // 0x11cc }; // Alignment: 0 @@ -34181,30 +34013,30 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x1138 - int32_t radius; // 0x113c - int32_t damage_max; // 0x1140 - int32_t pulses; // 0x1144 - float duration; // 0x1148 + int32_t m_nCurrentPulse; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_max; // 0x11c0 + int32_t pulses; // 0x11c4 + float duration; // 0x11c8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t movement_speed_reduction; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - bool m_bHasScepter; // 0x1144 + int32_t miss_rate; // 0x11b8 + int32_t movement_speed_reduction; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + bool m_bHasScepter; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -34212,24 +34044,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 - int32_t move_slow_pct; // 0x113c + int32_t damage_reduction_pct; // 0x11b8 + int32_t move_slow_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: - int32_t int_increase_amount; // 0x1138 + int32_t int_increase_amount; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: @@ -34245,23 +34077,23 @@ public: }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: - float air_duration; // 0x1138 - int32_t air_height; // 0x113c - int32_t travel_distance; // 0x1140 - Vector m_vDestination; // 0x1144 - float m_flStartZ; // 0x1150 - float m_flCurTime; // 0x1154 - float m_flJumpDuration; // 0x1158 - float m_flJumpHeight; // 0x115c - Vector m_vTargetHorizontalDirection; // 0x1160 + float air_duration; // 0x11b8 + int32_t air_height; // 0x11bc + int32_t travel_distance; // 0x11c0 + Vector m_vDestination; // 0x11c4 + float m_flStartZ; // 0x11d0 + float m_flCurTime; // 0x11d4 + float m_flJumpDuration; // 0x11d8 + float m_flJumpHeight; // 0x11dc + Vector m_vTargetHorizontalDirection; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: @@ -34301,11 +34133,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 + int32_t damage_reduction_pct; // 0x11b8 }; // Alignment: 0 @@ -34317,23 +34149,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float pull_duration; // 0x114c - float effective_distance; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float pull_duration; // 0x11cc + float effective_distance; // 0x11d0 }; // Alignment: 2 @@ -34354,20 +34186,20 @@ public: }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - float splash_damage_pct; // 0x114c - int32_t splash_radius; // 0x1150 - float self_multiplier; // 0x1154 - int32_t lifesteal_pct; // 0x1158 - GameTime_t m_fLastShockwaveProcTime; // 0x115c + int32_t bonus_damage_pct; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + float splash_damage_pct; // 0x11cc + int32_t splash_radius; // 0x11d0 + float self_multiplier; // 0x11d4 + int32_t lifesteal_pct; // 0x11d8 + GameTime_t m_fLastShockwaveProcTime; // 0x11dc }; // Alignment: 0 @@ -34418,32 +34250,32 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t m_nProjectileID; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - int32_t skewer_damage; // 0x113c - Vector m_vDirection; // 0x1140 - float m_flEndTime; // 0x114c - float m_flCurTime; // 0x1150 + float slow_duration; // 0x11b8 + int32_t skewer_damage; // 0x11bc + Vector m_vDirection; // 0x11c0 + float m_flEndTime; // 0x11cc + float m_flCurTime; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 8 @@ -34462,11 +34294,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 @@ -34510,7 +34342,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -34518,7 +34350,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: @@ -34550,12 +34382,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: - int32_t move_speed_percent; // 0x1138 - int32_t attack_speed; // 0x113c + int32_t move_speed_percent; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 0 @@ -34567,7 +34399,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: @@ -34617,37 +34449,37 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - int32_t attack_factor; // 0x113c + int32_t base_damage; // 0x11b8 + int32_t attack_factor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 + int32_t strike_chance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 0 @@ -34683,20 +34515,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_evasion; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_evasion; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 + int32_t damage_reduction_pct; // 0x11b8 }; // Alignment: 0 @@ -34732,21 +34564,21 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float fade_duration; // 0x114c - bool m_bDestroyNext; // 0x1150 + int32_t radius; // 0x11c8 + float fade_duration; // 0x11cc + bool m_bDestroyNext; // 0x11d0 }; // Alignment: 0 @@ -34758,21 +34590,21 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x1138 - int32_t crit_chance; // 0x113c - bool crit_active; // 0x1140 + int32_t crit_bonus; // 0x11b8 + int32_t crit_chance; // 0x11bc + bool crit_active; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t m_nAttackRecord; // 0x1144 + int32_t m_nAttackRecord; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: @@ -34812,11 +34644,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 @@ -34828,13 +34660,13 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t arrow_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t arrow_count; // 0x11c0 }; // Alignment: 0 @@ -34846,12 +34678,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 0 @@ -34879,32 +34711,32 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x1138 - int32_t attack_range_bonus; // 0x113c - int32_t projectile_speed_bonus; // 0x1140 - int32_t night_vision_bonus; // 0x1144 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 + float attack_point; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t projectile_speed_bonus; // 0x11c0 + int32_t night_vision_bonus; // 0x11c4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - int32_t move_slow; // 0x113c + float damage_per_second; // 0x11b8 + int32_t move_slow; // 0x11bc }; // Alignment: 0 @@ -34943,20 +34775,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 0 @@ -34992,30 +34824,30 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: - int32_t m_nOriginalAttackCapability; // 0x1138 + int32_t m_nOriginalAttackCapability; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x8]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x8]; // 0x11bc public: - bool m_bDidBlast; // 0x1144 + bool m_bDidBlast; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t heal_additive; // 0x1148 - float heal_percentage; // 0x114c + int32_t heal_additive; // 0x11c8 + float heal_percentage; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x1138 - int32_t barrier_block; // 0x113c - int32_t m_nMaxMovementSpeed; // 0x1140 + int32_t barrier_amount; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t m_nMaxMovementSpeed; // 0x11c0 }; // Alignment: 0 @@ -35051,38 +34883,38 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; // Alignment: 11 @@ -35116,20 +34948,20 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x1138 + bool m_bIsPointBlank; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t movement_slow_pct; // 0x113c - int32_t attack_slow_pct; // 0x1140 + int32_t movement_slow_pct; // 0x11bc + int32_t attack_slow_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -35151,39 +34983,39 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - bool m_bMovesHorizontal; // 0x113c - bool m_bSecondaryCookie; // 0x113d + float jump_duration; // 0x11b8 + bool m_bMovesHorizontal; // 0x11bc + bool m_bSecondaryCookie; // 0x11bd }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - int32_t jump_height; // 0x113c - int32_t jump_horizontal_distance; // 0x1140 - float pre_land_anim_time; // 0x1144 - float landing_gesture_duration; // 0x1148 - int32_t impact_radius; // 0x114c - int32_t impact_damage; // 0x1150 - float impact_stun_duration; // 0x1154 - float m_flStartZ; // 0x1158 - float m_flCurTime; // 0x115c - float m_flJumpDuration; // 0x1160 - float m_flJumpDistance; // 0x1164 - float m_flJumpHeight; // 0x1168 - Vector m_vTargetHorizontalDirection; // 0x116c - bool m_bSecondaryCookie; // 0x1178 + float jump_duration; // 0x11b8 + int32_t jump_height; // 0x11bc + int32_t jump_horizontal_distance; // 0x11c0 + float pre_land_anim_time; // 0x11c4 + float landing_gesture_duration; // 0x11c8 + int32_t impact_radius; // 0x11cc + int32_t impact_damage; // 0x11d0 + float impact_stun_duration; // 0x11d4 + float m_flStartZ; // 0x11d8 + float m_flCurTime; // 0x11dc + float m_flJumpDuration; // 0x11e0 + float m_flJumpDistance; // 0x11e4 + float m_flJumpHeight; // 0x11e8 + Vector m_vTargetHorizontalDirection; // 0x11ec + bool m_bSecondaryCookie; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -35191,7 +35023,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -35199,12 +35031,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t bonus_attack_damage; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t bonus_attack_damage; // 0x11bc }; // Alignment: 2 @@ -35220,75 +35052,75 @@ public: }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t m_nIsActive; // 0x1158 - bool m_bHasAttackTalent; // 0x115c + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t m_nIsActive; // 0x11d8 + bool m_bHasAttackTalent; // 0x11dc private: - [[maybe_unused]] uint8_t __pad115d[0x3]; // 0x115d + [[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd public: - int32_t attack_range_bonus; // 0x1160 - int32_t buffed_attacks; // 0x1164 - float base_attack_time; // 0x1168 - int32_t attack_speed_bonus; // 0x116c - float armor_duration; // 0x1170 - int32_t damage; // 0x1174 - int32_t bounce_range; // 0x1178 - int32_t bounces; // 0x117c + int32_t attack_range_bonus; // 0x11e0 + int32_t buffed_attacks; // 0x11e4 + float base_attack_time; // 0x11e8 + int32_t attack_speed_bonus; // 0x11ec + float armor_duration; // 0x11f0 + int32_t damage; // 0x11f4 + int32_t bounce_range; // 0x11f8 + int32_t bounces; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x1138 + float armor_reduction_per_attack; // 0x11b8 }; // Alignment: 16 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x1138 - float m_flFacingTarget; // 0x113c - ParticleIndex_t m_nBeamFXIndex; // 0x1140 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1144 - float m_flCurDistance; // 0x1148 - Vector m_vAimTarget; // 0x114c - float m_fLastTurnAmount; // 0x1158 - int32_t m_nProjectilesLaunched; // 0x115c - bool m_bDestroyOnNextThink; // 0x1160 + float m_fIntervalPerRocket; // 0x11b8 + float m_flFacingTarget; // 0x11bc + ParticleIndex_t m_nBeamFXIndex; // 0x11c0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x11c4 + float m_flCurDistance; // 0x11c8 + Vector m_vAimTarget; // 0x11cc + float m_fLastTurnAmount; // 0x11d8 + int32_t m_nProjectilesLaunched; // 0x11dc + bool m_bDestroyOnNextThink; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nProjectilesToLaunch; // 0x1164 - bool m_bHasProjectileTalent; // 0x1168 + int32_t m_nProjectilesToLaunch; // 0x11e4 + bool m_bHasProjectileTalent; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0xb]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0xb]; // 0x11e9 public: - int32_t projectile_count; // 0x1174 - int32_t projectile_vision; // 0x1178 - float turn_rate; // 0x117c - int32_t min_range; // 0x1180 - float delay_after_last_projectile; // 0x1184 + int32_t projectile_count; // 0x11f4 + int32_t projectile_vision; // 0x11f8 + float turn_rate; // 0x11fc + int32_t min_range; // 0x1200 + float delay_after_last_projectile; // 0x1204 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -35296,27 +35128,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t impact_radius; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_linger_duration; // 0x1144 - ParticleIndex_t m_nPathEffectIndex; // 0x1148 + float burn_interval; // 0x11b8 + int32_t impact_radius; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_linger_duration; // 0x11c4 + ParticleIndex_t m_nPathEffectIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x1138 - float m_fBurnDamagePerTick; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_interval; // 0x1144 - int32_t burn_damage; // 0x1148 + int32_t m_nMoveSlowPct; // 0x11b8 + float m_fBurnDamagePerTick; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_interval; // 0x11c4 + int32_t burn_damage; // 0x11c8 }; // Alignment: 2 @@ -35329,7 +35161,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -35337,12 +35169,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x1138 - float max_time_in_belly; // 0x113c + CHandle< CBaseEntity > m_hGobbledUnit; // 0x11b8 + float max_time_in_belly; // 0x11bc }; // Alignment: 3 @@ -35356,37 +35188,37 @@ public: }; // Alignment: 24 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x1138 - Vector m_vStartPosition; // 0x113c - float m_flCurrentTimeHoriz; // 0x1148 - float m_flCurrentTimeVert; // 0x114c - bool m_bHorizontalMotionInterrupted; // 0x1150 - bool m_bDamageApplied; // 0x1151 - bool m_bTargetTeleported; // 0x1152 + float m_flPredictedTotalTime; // 0x11b8 + Vector m_vStartPosition; // 0x11bc + float m_flCurrentTimeHoriz; // 0x11c8 + float m_flCurrentTimeVert; // 0x11cc + bool m_bHorizontalMotionInterrupted; // 0x11d0 + bool m_bDamageApplied; // 0x11d1 + bool m_bTargetTeleported; // 0x11d2 private: - [[maybe_unused]] uint8_t __pad1153[0x1]; // 0x1153 + [[maybe_unused]] uint8_t __pad11d3[0x1]; // 0x11d3 public: - Vector m_vHorizontalVelocity; // 0x1154 - Vector m_vLastKnownTargetPosition; // 0x1160 - float m_flInitialVelocityZ; // 0x116c - float m_fClampedProjectileSpeed; // 0x1170 - ParticleIndex_t m_nFXIndex; // 0x1174 - float m_fAcceleration; // 0x1178 - int32_t min_range; // 0x117c - float min_lob_travel_time; // 0x1180 - float max_lob_travel_time; // 0x1184 - int32_t impact_radius; // 0x1188 - int32_t projectile_vision; // 0x118c - float stun_duration; // 0x1190 - int32_t impact_damage; // 0x1194 - float min_height_above_lowest; // 0x1198 - float min_height_above_highest; // 0x119c - float min_acceleration; // 0x11a0 - float max_acceleration; // 0x11a4 + Vector m_vHorizontalVelocity; // 0x11d4 + Vector m_vLastKnownTargetPosition; // 0x11e0 + float m_flInitialVelocityZ; // 0x11ec + float m_fClampedProjectileSpeed; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x11f4 + float m_fAcceleration; // 0x11f8 + int32_t min_range; // 0x11fc + float min_lob_travel_time; // 0x1200 + float max_lob_travel_time; // 0x1204 + int32_t impact_radius; // 0x1208 + int32_t projectile_vision; // 0x120c + float stun_duration; // 0x1210 + int32_t impact_damage; // 0x1214 + float min_height_above_lowest; // 0x1218 + float min_height_above_highest; // 0x121c + float min_acceleration; // 0x1220 + float max_acceleration; // 0x1224 }; // Alignment: 0 @@ -35502,20 +35334,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 15 @@ -35577,14 +35409,14 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x1138 - int32_t radius; // 0x1144 - float damage; // 0x1148 - float explosion_interval; // 0x114c + Vector m_vPos; // 0x11b8 + int32_t radius; // 0x11c4 + float damage; // 0x11c8 + float explosion_interval; // 0x11cc }; // Alignment: 20 @@ -35626,7 +35458,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -35642,7 +35474,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -35650,7 +35482,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -35658,7 +35490,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -35674,53 +35506,53 @@ public: }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 - bool m_bPunchKill; // 0x1155 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 + bool m_bPunchKill; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad1156[0x2]; // 0x1156 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 - int32_t m_nAttackRecord; // 0x1174 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t m_nAttackRecord; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float flAirTime; // 0x1164 - float m_flEndTime; // 0x1168 - float m_fHorizontalDistance; // 0x116c - float m_fVerticalDistance; // 0x1170 - float m_fDamage; // 0x1174 + int32_t hp_threshold; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float flAirTime; // 0x11e4 + float m_flEndTime; // 0x11e8 + float m_fHorizontalDistance; // 0x11ec + float m_fVerticalDistance; // 0x11f0 + float m_fDamage; // 0x11f4 }; // Alignment: 0 @@ -35732,28 +35564,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -35805,11 +35637,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: - float spell_lifesteal_pct; // 0x1138 + float spell_lifesteal_pct; // 0x11b8 }; // Alignment: 0 @@ -35885,7 +35717,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -35909,24 +35741,24 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 - float bonus_reset_time; // 0x113c - float bonus_reset_time_roshan; // 0x1140 - int32_t max_swipe_stack; // 0x1144 + int32_t damage_per_stack; // 0x11b8 + float bonus_reset_time; // 0x11bc + float bonus_reset_time_roshan; // 0x11c0 + int32_t max_swipe_stack; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 - int32_t m_nArmorReductionPerStack; // 0x113c - int32_t m_nLifestealPerStack; // 0x1140 + int32_t damage_per_stack; // 0x11b8 + int32_t m_nArmorReductionPerStack; // 0x11bc + int32_t m_nLifestealPerStack; // 0x11c0 }; // Alignment: 0 @@ -35938,57 +35770,57 @@ public: }; // Alignment: 9 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: - float hop_duration; // 0x1138 - int32_t hop_height; // 0x113c - int32_t hop_distance; // 0x1140 - int32_t impact_damage; // 0x1144 - float m_flStartZ; // 0x1148 - float m_flCurTime; // 0x114c - float m_flJumpDuration; // 0x1150 - float m_flJumpHeight; // 0x1154 - Vector m_vTargetHorizontalDirection; // 0x1158 + float hop_duration; // 0x11b8 + int32_t hop_height; // 0x11bc + int32_t hop_distance; // 0x11c0 + int32_t impact_damage; // 0x11c4 + float m_flStartZ; // 0x11c8 + float m_flCurTime; // 0x11cc + float m_flJumpDuration; // 0x11d0 + float m_flJumpHeight; // 0x11d4 + Vector m_vTargetHorizontalDirection; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 - int32_t m_nEarthshockAttacks; // 0x113c - int32_t m_nOverpowerCritMultiplier; // 0x1140 + int32_t attack_speed_bonus_pct; // 0x11b8 + int32_t m_nEarthshockAttacks; // 0x11bc + int32_t m_nOverpowerCritMultiplier; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t m_nMissChance; // 0x1138 - bool m_bAddOverpower; // 0x113c + int32_t m_nMissChance; // 0x11b8 + bool m_bAddOverpower; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flOverpowerDuration; // 0x1140 - int32_t m_nNumOverpowerAttacks; // 0x1144 - int32_t movement_slow; // 0x1148 + float m_flOverpowerDuration; // 0x11c0 + int32_t m_nNumOverpowerAttacks; // 0x11c4 + int32_t movement_slow; // 0x11c8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + CHandle< CBaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: @@ -35996,36 +35828,36 @@ public: }; // Alignment: 1 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: - float value3; // 0x1168 + float value3; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 @@ -36037,44 +35869,44 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t m_nModelScale; // 0x1138 + int32_t m_nModelScale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 0 @@ -36244,16 +36076,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x1138 - bool m_bLatched; // 0x113c + int32_t m_nProjectileHandle; // 0x11b8 + bool m_bLatched; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -36269,31 +36101,31 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float formation_time; // 0x113c - float m_flInitialZ; // 0x1140 - float m_flFinalZ; // 0x1144 + float radius; // 0x11b8 + float formation_time; // 0x11bc + float m_flInitialZ; // 0x11c0 + float m_flFinalZ; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x10]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x10]; // 0x11c8 public: - bool m_bCaughtOne; // 0x1158 - bool m_bKilledOne; // 0x1159 + bool m_bCaughtOne; // 0x11d8 + bool m_bKilledOne; // 0x11d9 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -36301,45 +36133,45 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t health_regen; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 7 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t width; // 0x113c - int32_t spear_damage; // 0x1140 - int32_t spear_distance_from_wall; // 0x1144 - float spear_attack_interval; // 0x1148 + int32_t radius; // 0x11b8 + int32_t width; // 0x11bc + int32_t spear_damage; // 0x11c0 + int32_t spear_distance_from_wall; // 0x11c4 + float spear_attack_interval; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x34]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x34]; // 0x11cc public: - int32_t m_hObstruction; // 0x1180 + int32_t m_hObstruction; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1188 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1208 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -36347,25 +36179,25 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float width; // 0x113c - Vector m_vOriginLoc; // 0x1140 + int32_t radius; // 0x11b8 + float width; // 0x11bc + Vector m_vOriginLoc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -36381,19 +36213,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 1 @@ -36413,53 +36245,53 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x1138 - int32_t redirect_range; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 - int32_t redirect_speed_penatly; // 0x1148 + int32_t redirect_chance; // 0x11b8 + int32_t redirect_range; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 + int32_t redirect_speed_penatly; // 0x11c8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 @@ -36583,22 +36415,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: - int32_t stack_limit; // 0x1138 - float stack_interval; // 0x113c - ParticleIndex_t m_nFxIndexB; // 0x1140 - int32_t iCur_stack; // 0x1144 + int32_t stack_limit; // 0x11b8 + float stack_interval; // 0x11bc + ParticleIndex_t m_nFxIndexB; // 0x11c0 + int32_t iCur_stack; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -36610,28 +36442,28 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x1138 - int32_t m_iAttackCount; // 0x113c - int32_t destroy_attacks; // 0x1140 - Vector m_vDirection; // 0x1144 - Vector m_vStartLoc; // 0x1150 - CHandle< CBaseEntity > m_hAttachTarget; // 0x115c + int32_t m_iMaxDist; // 0x11b8 + int32_t m_iAttackCount; // 0x11bc + int32_t destroy_attacks; // 0x11c0 + Vector m_vDirection; // 0x11c4 + Vector m_vStartLoc; // 0x11d0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11dc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x1138 - int32_t damage; // 0x113c - int32_t damage_share_percentage; // 0x1140 - float m_flCurrentArmorReduction; // 0x1144 - float flTotalDamage; // 0x1148 + float armor_reduction; // 0x11b8 + int32_t damage; // 0x11bc + int32_t damage_share_percentage; // 0x11c0 + float m_flCurrentArmorReduction; // 0x11c4 + float flTotalDamage; // 0x11c8 }; // Alignment: 4 @@ -36646,23 +36478,23 @@ public: }; // Alignment: 7 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t speed; // 0x1150 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t speed; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1158 - bool bHasStartedBurning; // 0x1170 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11d8 + bool bHasStartedBurning; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - int32_t m_nBurningTrailRadius; // 0x1174 - Vector m_vLastTrailThinkerLocation; // 0x1178 + int32_t m_nBurningTrailRadius; // 0x11f4 + Vector m_vLastTrailThinkerLocation; // 0x11f8 }; // Alignment: 0 @@ -36674,20 +36506,20 @@ public: }; // Alignment: 2 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 @@ -36701,33 +36533,33 @@ public: }; // Alignment: 4 -// Size: 0x1218 +// Size: 0x1298 class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x1138 - float m_flLife[11]; // 0x11bc - float m_flMana[11]; // 0x11e8 - bool m_bHasValidHistory; // 0x1214 + Vector m_PositionIndex[11]; // 0x11b8 + float m_flLife[11]; // 0x123c + float m_flMana[11]; // 0x1268 + bool m_bHasValidHistory; // 0x1294 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 0 @@ -36891,28 +36723,28 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t magic_resistance; // 0x1140 - float m_flAccumDamage; // 0x1144 - float m_flPoisonSnapCounter; // 0x1148 - int32_t m_nPoisonSnapThreshold; // 0x114c + float damage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t magic_resistance; // 0x11c0 + float m_flAccumDamage; // 0x11c4 + float m_flPoisonSnapCounter; // 0x11c8 + int32_t m_nPoisonSnapThreshold; // 0x11cc }; // Alignment: 0 @@ -36948,28 +36780,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x1138 - int32_t max_damage; // 0x113c - float max_duration; // 0x1140 - float m_flDamageInterval; // 0x1144 - float m_flTimeIncrement; // 0x1148 + int32_t min_damage; // 0x11b8 + int32_t max_damage; // 0x11bc + float max_duration; // 0x11c0 + float m_flDamageInterval; // 0x11c4 + float m_flTimeIncrement; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -37001,12 +36833,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 - float duration; // 0x113c + int32_t m_nRadius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 @@ -37018,7 +36850,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: @@ -37026,29 +36858,29 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 + int32_t bonus_magic_resistance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: - float m_flFactor; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + float m_flFactor; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t damage; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 0 @@ -37094,28 +36926,28 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t damage; // 0x1140 - bool m_bTargetedAlly; // 0x1144 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t damage; // 0x11c0 + bool m_bTargetedAlly; // 0x11c4 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c - int32_t m_nTargetTeam; // 0x1140 + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_nTargetTeam; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1148 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x11c8 }; // Alignment: 0 @@ -37127,7 +36959,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: @@ -37153,74 +36985,74 @@ public: }; // Alignment: 11 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x1138 + Vector m_vFacingDir; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x1138 + int32_t remnant_watch_radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float m_fMovementSpeed; // 0x1140 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x1144 - float think_interval; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float m_fMovementSpeed; // 0x11c0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x11c4 + float think_interval; // 0x11c8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< CBaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< CBaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -37245,21 +37077,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - int32_t movement_slow_pct; // 0x113c - int32_t pop_damage; // 0x1140 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + int32_t movement_slow_pct; // 0x11bc + int32_t pop_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 @@ -37272,39 +37104,39 @@ public: }; // Alignment: 19 -// Size: 0x11d8 +// Size: 0x1258 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -37312,12 +37144,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 5 @@ -37336,18 +37168,18 @@ public: }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1148 - int32_t speed; // 0x1160 - int32_t radius; // 0x1164 - int32_t damage; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t speed; // 0x11e0 + int32_t radius; // 0x11e4 + int32_t damage; // 0x11e8 }; // Alignment: 0 @@ -37359,19 +37191,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - float damage_delay; // 0x1140 - int32_t m_nShrapnelPct; // 0x1144 - bool m_bExploded; // 0x1148 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + float damage_delay; // 0x11c0 + int32_t m_nShrapnelPct; // 0x11c4 + bool m_bExploded; // 0x11c8 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: @@ -37379,18 +37211,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - float m_fAccumulatedDamage; // 0x1138 - int32_t shrapnel_damage; // 0x113c - int32_t slow_movement_speed; // 0x1140 - int32_t miss_chance; // 0x1144 + float m_fAccumulatedDamage; // 0x11b8 + int32_t shrapnel_damage; // 0x11bc + int32_t slow_movement_speed; // 0x11c0 + int32_t miss_chance; // 0x11c4 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: @@ -37398,17 +37230,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: - int32_t value; // 0x1138 - float value2; // 0x113c - int32_t m_nAttackSpeedBonus; // 0x1140 + int32_t value; // 0x11b8 + float value2; // 0x11bc + int32_t m_nAttackSpeedBonus; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: @@ -37424,25 +37256,25 @@ public: }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - float slow_duration; // 0x113c - int32_t damage; // 0x1140 - int32_t knockback_distance; // 0x1144 - GameTime_t m_fLastStunProcTime; // 0x1148 + int32_t proc_chance; // 0x11b8 + float slow_duration; // 0x11bc + int32_t damage; // 0x11c0 + int32_t knockback_distance; // 0x11c4 + GameTime_t m_fLastStunProcTime; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_vHeadshotRecords; // 0x1150 - CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1168 - int32_t m_nCritPct; // 0x1180 + CUtlVector< int16 > m_vHeadshotRecords; // 0x11d0 + CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x11e8 + int32_t m_nCritPct; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: @@ -37450,12 +37282,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t slow_vs_considered_hero; // 0x113c + int32_t slow; // 0x11b8 + int32_t slow_vs_considered_hero; // 0x11bc }; // Alignment: 0 @@ -37467,48 +37299,48 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t active_attack_range_multiplier; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t active_attack_range_multiplier; // 0x11bc }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t m_nAttackSpeedPerAttack; // 0x113c - int32_t m_nShrapnelPct; // 0x1140 - bool m_bNoCollision; // 0x1144 + int32_t slow; // 0x11b8 + int32_t m_nAttackSpeedPerAttack; // 0x11bc + int32_t m_nShrapnelPct; // 0x11c0 + bool m_bNoCollision; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x1148 + CUtlVector< CHandle< CBaseEntity > > m_vecArtilleryEnemies; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: - int32_t value2; // 0x1138 + int32_t value2; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: - int32_t value2; // 0x1138 - int32_t value3; // 0x113c + int32_t value2; // 0x11b8 + int32_t value3; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: @@ -37516,24 +37348,24 @@ public: }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bDamageApplied; // 0x115d - bool m_bTargetTeleported; // 0x115e + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bDamageApplied; // 0x11dd + bool m_bTargetTeleported; // 0x11de private: - [[maybe_unused]] uint8_t __pad115f[0x1]; // 0x115f + [[maybe_unused]] uint8_t __pad11df[0x1]; // 0x11df public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 9 @@ -37558,7 +37390,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: @@ -37566,7 +37398,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: @@ -37718,11 +37550,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -37742,11 +37574,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -37758,15 +37590,15 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: - bool m_bHasBeenMagnetized; // 0x1138 + bool m_bHasBeenMagnetized; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 12 @@ -37795,15 +37627,15 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x1138 + bool m_bInterrupted; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nProjectileID; // 0x113c + int32_t m_nProjectileID; // 0x11bc }; // Alignment: 15 @@ -37834,7 +37666,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: @@ -37842,15 +37674,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: @@ -37866,35 +37698,35 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t rock_damage; // 0x113c - float pull_units_per_second; // 0x1140 - float pull_units_per_second_heroes; // 0x1144 - float total_pull_distance; // 0x1148 - float duration; // 0x114c - bool m_bUsedStone; // 0x1150 + int32_t radius; // 0x11b8 + int32_t rock_damage; // 0x11bc + float pull_units_per_second; // 0x11c0 + float pull_units_per_second_heroes; // 0x11c4 + float total_pull_distance; // 0x11c8 + float duration; // 0x11cc + bool m_bUsedStone; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - Vector m_vDestination; // 0x1154 - Vector m_vLocation; // 0x1160 + Vector m_vDestination; // 0x11d4 + Vector m_vLocation; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1170 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11f0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - bool m_bHasBeenMagnetized; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + bool m_bHasBeenMagnetized; // 0x11bc }; // Alignment: 3 @@ -37908,23 +37740,23 @@ public: }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x1138 - int32_t damage_per_second; // 0x113c - float damage_interval; // 0x1140 - float rock_explosion_delay; // 0x1144 - float damage_duration; // 0x1148 - int32_t cast_radius; // 0x114c - int32_t rock_explosion_radius; // 0x1150 + int32_t rock_search_radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float damage_interval; // 0x11c0 + float rock_explosion_delay; // 0x11c4 + float damage_duration; // 0x11c8 + int32_t cast_radius; // 0x11cc + int32_t rock_explosion_radius; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x1158 - float duration; // 0x1170 - bool m_bShowOverhead; // 0x1174 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x11d8 + float duration; // 0x11f0 + bool m_bShowOverhead; // 0x11f4 }; // Alignment: 0 @@ -37960,11 +37792,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: - float cooldown_reduction_per_hit; // 0x1138 + float cooldown_reduction_per_hit; // 0x11b8 }; // Alignment: 0 @@ -37984,7 +37816,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: @@ -38000,24 +37832,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t move_speed_bonus; // 0x1138 - int32_t attack_speed_bonus; // 0x113c - float damage_interval; // 0x1140 - int32_t attack_damage_pct; // 0x1144 - int32_t death_heal; // 0x1148 - bool bIsAllied; // 0x114c + int32_t move_speed_bonus; // 0x11b8 + int32_t attack_speed_bonus; // 0x11bc + float damage_interval; // 0x11c0 + int32_t attack_damage_pct; // 0x11c4 + int32_t death_heal; // 0x11c8 + bool bIsAllied; // 0x11cc }; // Alignment: 0 @@ -38029,14 +37861,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - float hp_regen; // 0x113c - int32_t bonus_str; // 0x1140 - int32_t damage_increase_outgoing_pct; // 0x1144 + int32_t damage_reduction; // 0x11b8 + float hp_regen; // 0x11bc + int32_t bonus_str; // 0x11c0 + int32_t damage_increase_outgoing_pct; // 0x11c4 }; // Alignment: 0 @@ -38048,15 +37880,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t hp_regen; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t purification_trigger_chance; // 0x1140 - float purification_trigger_cooldown; // 0x1144 - GameTime_t m_fLastProc; // 0x1148 + int32_t hp_regen; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t purification_trigger_chance; // 0x11c0 + float purification_trigger_cooldown; // 0x11c4 + GameTime_t m_fLastProc; // 0x11c8 }; // Alignment: 0 @@ -38092,11 +37924,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 + int32_t damage_threshold; // 0x11b8 }; // Alignment: 0 @@ -38156,7 +37988,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: @@ -38172,7 +38004,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: @@ -38190,12 +38022,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t remaining_bounces; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t remaining_bounces; // 0x11bc }; // Alignment: 0 @@ -38207,7 +38039,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -38215,15 +38047,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float mana_per_second; // 0x113c - float heal_interval; // 0x1140 - int32_t lifesteal_percent; // 0x1144 - int32_t spell_lifesteal_pct; // 0x1148 + int32_t heal; // 0x11b8 + float mana_per_second; // 0x11bc + float heal_interval; // 0x11c0 + int32_t lifesteal_percent; // 0x11c4 + int32_t spell_lifesteal_pct; // 0x11c8 }; // Alignment: 0 @@ -38235,7 +38067,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -38243,16 +38075,16 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_threshold; // 0x1140 - int32_t max_bonus_damage; // 0x1144 - int32_t ticks; // 0x1148 - int32_t iCurrentTick; // 0x114c + int32_t m_iStartHealth; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_threshold; // 0x11c0 + int32_t max_bonus_damage; // 0x11c4 + int32_t ticks; // 0x11c8 + int32_t iCurrentTick; // 0x11cc }; // Alignment: 9 @@ -38272,18 +38104,18 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t m_iBounceRadius; // 0x113c - bool m_bFirstAttack; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t m_iBounceRadius; // 0x11bc + bool m_bFirstAttack; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t m_iBounces; // 0x1144 - ParticleIndex_t m_nStaffParticle; // 0x1148 + int32_t m_iBounces; // 0x11c4 + ParticleIndex_t m_nStaffParticle; // 0x11c8 }; // Alignment: 0 @@ -38423,21 +38255,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: - int32_t cask_chance; // 0x1138 - int32_t cask_cooldown; // 0x113c - GameTime_t flLastProcTime; // 0x1140 + int32_t cask_chance; // 0x11b8 + int32_t cask_cooldown; // 0x11bc + GameTime_t flLastProcTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 9 @@ -38457,7 +38289,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: @@ -38465,7 +38297,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: @@ -38473,13 +38305,13 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t split_shot_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t split_shot_count; // 0x11c0 }; // Alignment: 0 @@ -38499,20 +38331,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 - int32_t max_damage_absorb; // 0x113c + int32_t damage_threshold; // 0x11b8 + int32_t max_damage_absorb; // 0x11bc }; // Alignment: 0 @@ -38524,32 +38356,32 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x1138 + bool launched_attack; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - bool launched_attack; // 0x113c + int32_t bonus_damage; // 0x11b8 + bool launched_attack; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CHandle< CBaseEntity > m_hTarget; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -38561,45 +38393,45 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - float attack_spill_range; // 0x113c - int32_t attack_spill_width; // 0x1140 - int32_t attack_spill_pct; // 0x1144 - int32_t attack_spill_penalty; // 0x1148 + int32_t bonus_attack_range; // 0x11b8 + float attack_spill_range; // 0x11bc + int32_t attack_spill_width; // 0x11c0 + int32_t attack_spill_pct; // 0x11c4 + int32_t attack_spill_penalty; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: - int32_t trap_radius; // 0x1138 - float trap_delay_time; // 0x113c - float slow_duration; // 0x1140 - int32_t max_pulses; // 0x1144 - int32_t iCurrentPulse; // 0x1148 - CHandle< CBaseEntity > m_hImage; // 0x114c + int32_t trap_radius; // 0x11b8 + float trap_delay_time; // 0x11bc + float slow_duration; // 0x11c0 + int32_t max_pulses; // 0x11c4 + int32_t iCurrentPulse; // 0x11c8 + CHandle< CBaseEntity > m_hImage; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_slow; // 0x1138 - int32_t trap_damage; // 0x113c + int32_t movement_speed_slow; // 0x11b8 + int32_t trap_damage; // 0x11bc }; // Alignment: 0 @@ -38611,13 +38443,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t damage_absorb; // 0x113c - float m_flDamageAbsorbed; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t damage_absorb; // 0x11bc + float m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 0 @@ -38725,17 +38557,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t radius; // 0x113c - int32_t m_iAttackRecord; // 0x1140 + float fire_rate; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_iAttackRecord; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: @@ -38751,7 +38583,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: @@ -38759,17 +38591,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t m_iPulseCount; // 0x1138 - int32_t radius; // 0x113c - float total_damage; // 0x1140 - int32_t total_pulses; // 0x1144 - int32_t heal_pct; // 0x1148 - float pulse_interval; // 0x114c - bool bIsBaseAbility; // 0x1150 + int32_t m_iPulseCount; // 0x11b8 + int32_t radius; // 0x11bc + float total_damage; // 0x11c0 + int32_t total_pulses; // 0x11c4 + int32_t heal_pct; // 0x11c8 + float pulse_interval; // 0x11cc + bool bIsBaseAbility; // 0x11d0 }; // Alignment: 0 @@ -38781,55 +38613,55 @@ public: }; // Alignment: 16 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 - bool m_bFoundUnit; // 0x1161 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 + bool m_bFoundUnit; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0x6]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0x6]; // 0x11e2 public: - CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x1168 - int32_t pounce_distance; // 0x1180 - int32_t pounce_distance_default; // 0x1184 - float pounce_speed; // 0x1188 - float pounce_acceleration; // 0x118c - int32_t pounce_radius; // 0x1190 - int32_t pounce_damage; // 0x1194 - float leash_duration; // 0x1198 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x11e8 + int32_t pounce_distance; // 0x1200 + int32_t pounce_distance_default; // 0x1204 + float pounce_speed; // 0x1208 + float pounce_acceleration; // 0x120c + int32_t pounce_radius; // 0x1210 + int32_t pounce_damage; // 0x1214 + float leash_duration; // 0x1218 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x1138 - Vector vLeashLocation; // 0x113c - bool m_bEscaped; // 0x1148 + int32_t leash_radius; // 0x11b8 + Vector vLeashLocation; // 0x11bc + bool m_bEscaped; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float pounce_damage_multiplier; // 0x114c - int32_t pounce_damage; // 0x1150 + float pounce_damage_multiplier; // 0x11cc + int32_t pounce_damage; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: - int32_t max_stacks; // 0x1138 - int32_t passive_agility; // 0x113c - GameTime_t flLastProcTime; // 0x1140 - float debuff_duration; // 0x1144 + int32_t max_stacks; // 0x11b8 + int32_t passive_agility; // 0x11bc + GameTime_t flLastProcTime; // 0x11c0 + float debuff_duration; // 0x11c4 }; // Alignment: 0 @@ -38841,21 +38673,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: - int32_t agi_gain; // 0x1138 - int32_t iPrimaryAttribute; // 0x113c - float model_scale; // 0x1140 + int32_t agi_gain; // 0x11b8 + int32_t iPrimaryAttribute; // 0x11bc + float model_scale; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: - int32_t reduction; // 0x1138 + int32_t reduction; // 0x11b8 }; // Alignment: 0 @@ -38867,38 +38699,38 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x1138 + int32_t scepter_aoe; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_regen_pct; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_regen_pct; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - GameTime_t flLastPulseTime; // 0x1150 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + GameTime_t flLastPulseTime; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x1138 + bool m_bScepter; // 0x11b8 }; // Alignment: 0 @@ -39006,24 +38838,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: - Vector m_vPullLocation; // 0x1138 - float pull_speed; // 0x1144 + Vector m_vPullLocation; // 0x11b8 + float pull_speed; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: @@ -39051,19 +38883,19 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x1138 - int32_t duration_heal; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t duration_damage; // 0x11b8 + int32_t duration_heal; // 0x11bc + int32_t movement_slow; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_SlowInterval; // 0x1148 - float m_flSlowStep; // 0x1160 - float m_flSlowStepStep; // 0x1164 + CountdownTimer m_SlowInterval; // 0x11c8 + float m_flSlowStep; // 0x11e0 + float m_flSlowStepStep; // 0x11e4 }; // Alignment: 1 @@ -39075,11 +38907,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 9 @@ -39102,29 +38934,29 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t m_nRadius; // 0x1144 - ParticleIndex_t m_nTrailFX; // 0x1148 - float linger_duration; // 0x114c - float flDamage; // 0x1150 - float damage_pct; // 0x1154 + Vector m_vPathDir; // 0x11b8 + int32_t m_nRadius; // 0x11c4 + ParticleIndex_t m_nTrailFX; // 0x11c8 + float linger_duration; // 0x11cc + float flDamage; // 0x11d0 + float damage_pct; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 - float burn_interval; // 0x113c + float flDamage; // 0x11b8 + float burn_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: @@ -39236,7 +39068,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: @@ -39244,7 +39076,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: @@ -39252,12 +39084,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t spell_amp; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 @@ -39290,14 +39122,14 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: - Vector m_vPos; // 0x1138 - int32_t radius; // 0x1144 - float damage; // 0x1148 - float explosion_interval; // 0x114c + Vector m_vPos; // 0x11b8 + int32_t radius; // 0x11c4 + float damage; // 0x11c8 + float explosion_interval; // 0x11cc }; // Alignment: 20 @@ -39339,7 +39171,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: @@ -39355,7 +39187,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: @@ -39363,7 +39195,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: @@ -39371,7 +39203,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -39387,54 +39219,54 @@ public: }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 - bool m_bPunchKill; // 0x1155 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 + bool m_bPunchKill; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad1156[0x2]; // 0x1156 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 - int32_t m_nAttackRecord; // 0x1174 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t m_nAttackRecord; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 13 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float flAirTime; // 0x1164 - float m_flEndTime; // 0x1168 - float m_fHorizontalDistance; // 0x116c - float m_fVerticalDistance; // 0x1170 - float m_fDamage; // 0x1174 - Vector m_vLandingPos; // 0x1178 + int32_t hp_threshold; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float flAirTime; // 0x11e4 + float m_flEndTime; // 0x11e8 + float m_fHorizontalDistance; // 0x11ec + float m_fVerticalDistance; // 0x11f0 + float m_fDamage; // 0x11f4 + Vector m_vLandingPos; // 0x11f8 }; // Alignment: 0 @@ -39446,28 +39278,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -39575,7 +39407,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: @@ -39583,15 +39415,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float health_threshold_pct; // 0x113c - float duration; // 0x1140 - CHandle< CBaseEntity > m_hTombstoneSourceAbility; // 0x1144 - CHandle< CBaseEntity > m_hChaseUnit; // 0x1148 + int32_t radius; // 0x11b8 + float health_threshold_pct; // 0x11bc + float duration; // 0x11c0 + CHandle< CBaseEntity > m_hTombstoneSourceAbility; // 0x11c4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x11c8 }; // Alignment: 3 @@ -39605,42 +39437,42 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: - int32_t tombstone_health; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t tombstone_health; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float zombie_interval; // 0x113c - int32_t spawn_at_parent; // 0x1140 - int32_t remove_on_death; // 0x1144 - float knockback_duration; // 0x1148 - int32_t knockback_distance; // 0x114c - int32_t knockback_height; // 0x1150 - int32_t spawn_distance; // 0x1154 + int32_t radius; // 0x11b8 + float zombie_interval; // 0x11bc + int32_t spawn_at_parent; // 0x11c0 + int32_t remove_on_death; // 0x11c4 + float knockback_duration; // 0x11c8 + int32_t knockback_distance; // 0x11cc + int32_t knockback_height; // 0x11d0 + int32_t spawn_distance; // 0x11d4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hLoadedUnit; // 0x1138 - float heal_percent_per_tick; // 0x113c - int32_t tombstone_grab_radius; // 0x1140 - ParticleIndex_t m_nBunkerEnterFXIndex; // 0x1144 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x11b8 + float heal_percent_per_tick; // 0x11bc + int32_t tombstone_grab_radius; // 0x11c0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: @@ -39648,13 +39480,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: - float m_fStrengthStolen; // 0x1138 - float model_scale_per_strength; // 0x113c - float model_scale_max; // 0x1140 + float m_fStrengthStolen; // 0x11b8 + float model_scale_per_strength; // 0x11bc + float model_scale_max; // 0x11c0 }; // Alignment: 6 @@ -39671,28 +39503,28 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - float interval; // 0x113c - int32_t extra_decays; // 0x1140 - int32_t radius; // 0x1144 - int32_t decay_strength_percent; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + int32_t m_iCount; // 0x11b8 + float interval; // 0x11bc + int32_t extra_decays; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t decay_strength_percent; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: - float str_stolen; // 0x1138 + float str_stolen; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: @@ -39712,39 +39544,39 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: - int32_t ward_radius; // 0x1138 - int32_t explosion_damage; // 0x113c - float taunt_interval; // 0x1140 + int32_t ward_radius; // 0x11b8 + int32_t explosion_damage; // 0x11bc + float taunt_interval; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: - float str_gain; // 0x1138 - int32_t model_scale; // 0x113c + float str_gain; // 0x11b8 + int32_t model_scale; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float m_flDecrementTime; // 0x113c + int32_t slow; // 0x11b8 + float m_flDecrementTime; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -39756,16 +39588,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: @@ -39773,7 +39605,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: @@ -39781,7 +39613,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: @@ -39797,12 +39629,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: - int32_t bonus_move_speed_per_stack; // 0x1138 - int32_t bonus_attack_speed_per_stack; // 0x113c + int32_t bonus_move_speed_per_stack; // 0x11b8 + int32_t bonus_attack_speed_per_stack; // 0x11bc }; // Alignment: 0 @@ -39814,35 +39646,35 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x1138 - int32_t movement_bonus; // 0x113c + int32_t str_percentage; // 0x11b8 + int32_t movement_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x1138 - int32_t slow; // 0x113c + int32_t damage_amp; // 0x11b8 + int32_t slow; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c - float tick_rate; // 0x1140 + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc + float tick_rate; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -39962,7 +39794,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: @@ -39993,40 +39825,40 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - float burn_damage; // 0x113c - int32_t mana_restore; // 0x1140 + float burn_interval; // 0x11b8 + float burn_damage; // 0x11bc + int32_t mana_restore; // 0x11c0 }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t m_iDamage; // 0x1150 - float m_flStunDuration; // 0x1154 - int32_t light_strike_array_damage; // 0x1158 - float light_strike_array_stun_duration; // 0x115c - float light_strike_array_delay; // 0x1160 - int32_t m_nLSARadius; // 0x1164 - int32_t m_nCount; // 0x1168 - int32_t max_count; // 0x116c - int32_t iPower; // 0x1170 - float pulse_interval; // 0x1174 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t m_iDamage; // 0x11d0 + float m_flStunDuration; // 0x11d4 + int32_t light_strike_array_damage; // 0x11d8 + float light_strike_array_stun_duration; // 0x11dc + float light_strike_array_delay; // 0x11e0 + int32_t m_nLSARadius; // 0x11e4 + int32_t m_nCount; // 0x11e8 + int32_t max_count; // 0x11ec + int32_t iPower; // 0x11f0 + float pulse_interval; // 0x11f4 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 1 @@ -40038,36 +39870,36 @@ public: }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: - int32_t attack_range_per_stack; // 0x1138 - bool m_bShouldReset; // 0x113c - bool m_bIsActive; // 0x113d + int32_t attack_range_per_stack; // 0x11b8 + bool m_bShouldReset; // 0x11bc + bool m_bIsActive; // 0x11bd private: - [[maybe_unused]] uint8_t __pad113e[0x2]; // 0x113e + [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be public: - int32_t fiery_soul_attack_speed_bonus; // 0x1140 - float fiery_soul_move_speed_bonus; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t fiery_soul_attack_speed_bonus; // 0x11c0 + float fiery_soul_move_speed_bonus; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x1138 - float fiery_soul_move_speed_bonus; // 0x113c - int32_t fiery_soul_max_stacks; // 0x1140 - float fiery_soul_stack_duration; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flFierySoulDieTime; // 0x114c + int32_t fiery_soul_attack_speed_bonus; // 0x11b8 + float fiery_soul_move_speed_bonus; // 0x11bc + int32_t fiery_soul_max_stacks; // 0x11c0 + float fiery_soul_stack_duration; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flFierySoulDieTime; // 0x11cc }; // Alignment: 2 @@ -40080,18 +39912,18 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x1138 - Vector vEnd; // 0x1144 - float damage_delay; // 0x1150 - CHandle< CBaseEntity > m_hMainTarget; // 0x1154 + Vector vStart; // 0x11b8 + Vector vEnd; // 0x11c4 + float damage_delay; // 0x11d0 + CHandle< CBaseEntity > m_hMainTarget; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: @@ -40227,55 +40059,55 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t split_shot_bonus_range; // 0x113c - int32_t arrow_count; // 0x1140 + int32_t damage_modifier; // 0x11b8 + int32_t split_shot_bonus_range; // 0x11bc + int32_t arrow_count; // 0x11c0 }; // Alignment: 7 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: - int32_t stack_limit; // 0x1138 - float stack_interval; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x1140 - ParticleIndex_t m_nFxIndexB; // 0x1158 + int32_t stack_limit; // 0x11b8 + float stack_interval; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesToHit; // 0x11c0 + ParticleIndex_t m_nFxIndexB; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1160 - int32_t bounces_remaining; // 0x1178 - int32_t iCur_stack; // 0x117c + CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x11e0 + int32_t bounces_remaining; // 0x11f8 + int32_t iCur_stack; // 0x11fc }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: - int32_t bounces_remaining; // 0x1138 + int32_t bounces_remaining; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1140 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: - float attack_damage; // 0x1138 - int32_t damage_penalty; // 0x113c + float attack_damage; // 0x11b8 + int32_t damage_penalty; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: @@ -40283,14 +40115,14 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float m_flPushDistance; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float m_flPushDistance; // 0x11cc }; // Alignment: 0 @@ -40302,38 +40134,38 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t blade_fury_damage; // 0x113c - float blade_fury_damage_tick; // 0x1140 - int32_t movement_bonus; // 0x1144 - int32_t spark_radius; // 0x1148 - int32_t spark_damage_percent; // 0x114c - bool m_bDestroyParentThinkerOnDeath; // 0x1150 - bool m_bPreIntervalThink; // 0x1151 + int32_t blade_fury_radius; // 0x11b8 + int32_t blade_fury_damage; // 0x11bc + float blade_fury_damage_tick; // 0x11c0 + int32_t movement_bonus; // 0x11c4 + int32_t spark_radius; // 0x11c8 + int32_t spark_damage_percent; // 0x11cc + bool m_bDestroyParentThinkerOnDeath; // 0x11d0 + bool m_bPreIntervalThink; // 0x11d1 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t pull_speed; // 0x113c - int32_t pull_stop; // 0x1140 - Vector pull_origin; // 0x1144 - GameTime_t m_flLastThinkTime; // 0x1150 + int32_t blade_fury_radius; // 0x11b8 + int32_t pull_speed; // 0x11bc + int32_t pull_stop; // 0x11c0 + Vector pull_origin; // 0x11c4 + GameTime_t m_flLastThinkTime; // 0x11d0 }; // Alignment: 0 @@ -40345,29 +40177,29 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - float healing_ward_heal_amount; // 0x113c - float healing_ward_interval; // 0x1140 - int32_t m_nTotalHealing; // 0x1144 + int32_t healing_ward_aura_radius; // 0x11b8 + float healing_ward_heal_amount; // 0x11bc + float healing_ward_interval; // 0x11c0 + int32_t m_nTotalHealing; // 0x11c4 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - int32_t trigger_radius; // 0x113c - int32_t search_radius; // 0x1140 - int32_t damage_percent; // 0x1144 - int32_t movement_bonus; // 0x1148 - int32_t power; // 0x114c - CHandle< CBaseEntity > m_hTarget; // 0x1150 - bool m_bPlayerControlled; // 0x1154 + int32_t healing_ward_aura_radius; // 0x11b8 + int32_t trigger_radius; // 0x11bc + int32_t search_radius; // 0x11c0 + int32_t damage_percent; // 0x11c4 + int32_t movement_bonus; // 0x11c8 + int32_t power; // 0x11cc + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + bool m_bPlayerControlled; // 0x11d4 }; // Alignment: 0 @@ -40379,22 +40211,22 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: - int32_t healing_ward_aura_radius; // 0x1138 - float healing_ward_heal_amount; // 0x113c - float healing_ward_interval; // 0x1140 - int32_t m_nTotalRegen; // 0x1144 + int32_t healing_ward_aura_radius; // 0x11b8 + float healing_ward_heal_amount; // 0x11bc + float healing_ward_interval; // 0x11c0 + int32_t m_nTotalRegen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 + int32_t armor_bonus; // 0x11b8 }; // Alignment: 1 @@ -40406,36 +40238,36 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - bool m_bDidBladeDanceCrit; // 0x1140 + int32_t blade_dance_crit_mult; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + bool m_bDidBladeDanceCrit; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: - int32_t evasion_per_stack; // 0x1138 - int32_t movespeed_per_stack; // 0x113c - int32_t evasion_bonus; // 0x1140 - int32_t movespeed_bonus; // 0x1144 + int32_t evasion_per_stack; // 0x11b8 + int32_t movespeed_per_stack; // 0x11bc + int32_t evasion_bonus; // 0x11c0 + int32_t movespeed_bonus; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: - int32_t range; // 0x1138 - float bonus_attack_duration; // 0x113c - int32_t bonus_attack_count; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - float m_fBonusRange; // 0x1148 + int32_t range; // 0x11b8 + float bonus_attack_duration; // 0x11bc + int32_t bonus_attack_count; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + float m_fBonusRange; // 0x11c8 }; // Alignment: 0 @@ -40447,44 +40279,44 @@ public: }; // Alignment: 16 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - CHandle< CBaseEntity > m_hLastTarget; // 0x113c - int32_t m_nJumps; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t omni_slash_radius; // 0x114c - float attack_rate_multiplier; // 0x1150 - int32_t upgraded_radius; // 0x1154 - int32_t m_iTotalDamage; // 0x1158 - int32_t m_iHeroDamage; // 0x115c - bool m_bReflection; // 0x1160 - bool m_bFirstHit; // 0x1161 - bool m_bEndNext; // 0x1162 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + CHandle< CBaseEntity > m_hLastTarget; // 0x11bc + int32_t m_nJumps; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t omni_slash_radius; // 0x11cc + float attack_rate_multiplier; // 0x11d0 + int32_t upgraded_radius; // 0x11d4 + int32_t m_iTotalDamage; // 0x11d8 + int32_t m_iHeroDamage; // 0x11dc + bool m_bReflection; // 0x11e0 + bool m_bFirstHit; // 0x11e1 + bool m_bEndNext; // 0x11e2 private: - [[maybe_unused]] uint8_t __pad1163[0x1]; // 0x1163 + [[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3 public: - GameTime_t m_fNextAttackTime; // 0x1164 - Vector m_vCastOrigin; // 0x1168 + GameTime_t m_fNextAttackTime; // 0x11e4 + Vector m_vCastOrigin; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x1178 + CUtlVector< CHandle< CBaseEntity > > m_hIllusions; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: - bool m_bIsDone; // 0x1138 + bool m_bIsDone; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: @@ -40492,16 +40324,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - float tick_damage; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + float tick_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: @@ -40509,7 +40341,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: @@ -40677,15 +40509,15 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: @@ -40693,17 +40525,17 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: - float interval; // 0x1138 - int32_t max_stacks; // 0x113c - int32_t damage_percent; // 0x1140 - int32_t movement_damage_percent; // 0x1144 - int32_t m_nDamage; // 0x1148 - ParticleIndex_t m_nFXStackIndex; // 0x114c - Vector m_vLastPosition; // 0x1150 + float interval; // 0x11b8 + int32_t max_stacks; // 0x11bc + int32_t damage_percent; // 0x11c0 + int32_t movement_damage_percent; // 0x11c4 + int32_t m_nDamage; // 0x11c8 + ParticleIndex_t m_nFXStackIndex; // 0x11cc + Vector m_vLastPosition; // 0x11d0 }; // Alignment: 7 @@ -40721,15 +40553,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: - int32_t blind_percent; // 0x1138 + int32_t blind_percent; // 0x11b8 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -40737,35 +40569,35 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: - Vector m_vTarget; // 0x1138 + Vector m_vTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff { public: - int32_t movespeed_percent; // 0x1138 + int32_t movespeed_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x1138 + float m_fDamagePerSecond; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_AgilityTimers; // 0x1138 + CUtlVector< GameTime_t > m_AgilityTimers; // 0x11b8 }; // Alignment: 1 @@ -40777,53 +40609,53 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: - int32_t damage_percent; // 0x1138 - int32_t knockback_distance; // 0x113c - float knockback_duration; // 0x1140 - int32_t move_speed_percent; // 0x1144 - int32_t max_move_speed_percent; // 0x1148 - int32_t model_scale; // 0x114c - int32_t max_model_scale; // 0x1150 - bool m_bActive; // 0x1154 + int32_t damage_percent; // 0x11b8 + int32_t knockback_distance; // 0x11bc + float knockback_duration; // 0x11c0 + int32_t move_speed_percent; // 0x11c4 + int32_t max_move_speed_percent; // 0x11c8 + int32_t model_scale; // 0x11cc + int32_t max_model_scale; // 0x11d0 + bool m_bActive; // 0x11d4 }; // Alignment: 15 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: - int32_t arrow_width; // 0x1138 - float arrow_speed; // 0x113c - int32_t range; // 0x1140 - int32_t wave_count; // 0x1144 - float wave_delay; // 0x1148 - int32_t arrow_count_per_wave; // 0x114c - float arrow_delay; // 0x1150 - float per_arrow_angle; // 0x1154 - float m_fYawOffset; // 0x1158 - int32_t m_iWaveIndex; // 0x115c - int32_t m_iArrowIndex; // 0x1160 - Vector m_vTarget; // 0x1164 - QAngle m_vWaveAngle; // 0x1170 - float m_flInterval; // 0x117c - GameTime_t m_flNextThink; // 0x1180 + int32_t arrow_width; // 0x11b8 + float arrow_speed; // 0x11bc + int32_t range; // 0x11c0 + int32_t wave_count; // 0x11c4 + float wave_delay; // 0x11c8 + int32_t arrow_count_per_wave; // 0x11cc + float arrow_delay; // 0x11d0 + float per_arrow_angle; // 0x11d4 + float m_fYawOffset; // 0x11d8 + int32_t m_iWaveIndex; // 0x11dc + int32_t m_iArrowIndex; // 0x11e0 + Vector m_vTarget; // 0x11e4 + QAngle m_vWaveAngle; // 0x11f0 + float m_flInterval; // 0x11fc + GameTime_t m_flNextThink; // 0x1200 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: - int32_t m_iWaveIndex; // 0x1138 - float m_fYawOffset; // 0x113c + int32_t m_iWaveIndex; // 0x11b8 + float m_fYawOffset; // 0x11bc }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: @@ -40831,7 +40663,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: @@ -40847,40 +40679,40 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x1138 - int32_t aura_range; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t m_nBonusFactor; // 0x1144 - GameTime_t m_fLastEnableTime; // 0x1148 - ParticleIndex_t m_nFxIndex; // 0x114c + int32_t aura_disable_range; // 0x11b8 + int32_t aura_range; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t m_nBonusFactor; // 0x11c4 + GameTime_t m_fLastEnableTime; // 0x11c8 + ParticleIndex_t m_nFxIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_agility_multiplier; // 0x1138 + int32_t aura_agility_multiplier; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - float duration; // 0x1144 - int32_t charges; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + float duration; // 0x11c4 + int32_t charges; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: @@ -40888,11 +40720,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: - int32_t aura_disable_range; // 0x1138 + int32_t aura_disable_range; // 0x11b8 }; // Alignment: 0 @@ -41032,30 +40864,30 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x1138 - int32_t lifesteal; // 0x113c + int32_t bonus_aspd; // 0x11b8 + int32_t lifesteal; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t night_bonus_pct; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t night_bonus_pct; // 0x11bc }; // Alignment: 2 @@ -41071,7 +40903,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: @@ -41079,7 +40911,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: @@ -41087,69 +40919,69 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: - int32_t attack_speed_slow; // 0x1138 - int32_t move_speed_slow_pct; // 0x113c + int32_t attack_speed_slow; // 0x11b8 + int32_t move_speed_slow_pct; // 0x11bc }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bTargetTeleported; // 0x115d + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bTargetTeleported; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 - float stun_duration; // 0x117c + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 + float stun_duration; // 0x11fc }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t bounces; // 0x113c - int32_t damage_reduction_percent; // 0x1140 - int32_t bounce_pct; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t range; // 0x11b8 + int32_t bounces; // 0x11bc + int32_t damage_reduction_percent; // 0x11c0 + int32_t bounce_pct; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x1138 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: - int32_t spell_resist_pct; // 0x1138 + int32_t spell_resist_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: - int32_t m_nBonusDamage; // 0x1138 + int32_t m_nBonusDamage; // 0x11b8 }; // Alignment: 0 @@ -41161,15 +40993,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: @@ -41177,15 +41009,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: @@ -41193,19 +41025,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 0 @@ -41217,12 +41049,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - float night_multiplier; // 0x113c + int32_t attack_speed; // 0x11b8 + float night_multiplier; // 0x11bc }; // Alignment: 0 @@ -41234,28 +41066,28 @@ public: }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float m_flBeamStun; // 0x114c - Vector vPosition; // 0x1150 - bool m_bAreaTarget; // 0x115c - bool m_bMoonWell; // 0x115d + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float m_flBeamStun; // 0x11cc + Vector vPosition; // 0x11d0 + bool m_bAreaTarget; // 0x11dc + bool m_bMoonWell; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - int32_t m_iTickCount; // 0x1160 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1164 - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1168 - CUtlVector< CHandle< CBaseEntity > > m_HitAllies; // 0x1180 - float beam_interval; // 0x1198 - float m_flInterval; // 0x119c + int32_t m_iTickCount; // 0x11e0 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e4 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x11e8 + CUtlVector< CHandle< CBaseEntity > > m_HitAllies; // 0x1200 + float beam_interval; // 0x1218 + float m_flInterval; // 0x121c }; // Alignment: 0 @@ -41411,32 +41243,32 @@ public: }; // Alignment: 16 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t leap_distance; // 0x1164 - float leap_speed; // 0x1168 - float leap_acceleration; // 0x116c - int32_t leap_radius; // 0x1170 - int32_t search_range; // 0x1174 - float damage_multiplier; // 0x1178 - float m_flPowerLevelPct; // 0x117c - bool m_bLaunched; // 0x1180 + int32_t leap_distance; // 0x11e4 + float leap_speed; // 0x11e8 + float leap_acceleration; // 0x11ec + int32_t leap_radius; // 0x11f0 + int32_t search_range; // 0x11f4 + float damage_multiplier; // 0x11f8 + float m_flPowerLevelPct; // 0x11fc + bool m_bLaunched; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1181[0x7]; // 0x1181 + [[maybe_unused]] uint8_t __pad1201[0x7]; // 0x1201 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1188 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1208 }; // Alignment: 1 @@ -41448,26 +41280,26 @@ public: }; // Alignment: 9 -// Size: 0x1340 +// Size: 0x13c0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x1138 + bool m_bSpiritsExplode; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t hit_radius; // 0x113c - int32_t rotate_range; // 0x1140 - int32_t glaive_movement_rate; // 0x1144 - float replenish_time; // 0x1148 - float m_flRotation; // 0x114c - float m_flGlaiveRadius; // 0x1150 - GameTime_t m_flNextSpawn; // 0x1154 - bool m_bPaused; // 0x1158 + int32_t hit_radius; // 0x11bc + int32_t rotate_range; // 0x11c0 + int32_t glaive_movement_rate; // 0x11c4 + float replenish_time; // 0x11c8 + float m_flRotation; // 0x11cc + float m_flGlaiveRadius; // 0x11d0 + GameTime_t m_flNextSpawn; // 0x11d4 + bool m_bPaused; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: @@ -41475,12 +41307,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: - int32_t m_nMoveSpeed; // 0x1138 - int32_t m_nEvasion; // 0x113c + int32_t m_nMoveSpeed; // 0x11b8 + int32_t m_nEvasion; // 0x11bc }; // Alignment: 0 @@ -41492,13 +41324,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c - bool is_primary_target; // 0x1140 + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc + bool is_primary_target; // 0x11c0 }; // Alignment: 3 @@ -41513,33 +41345,33 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: - int32_t mana_drain; // 0x1138 - float m_flIntervalRate; // 0x113c + int32_t mana_drain; // 0x11b8 + float m_flIntervalRate; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t mana_drain; // 0x113c - float m_flIntervalRate; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t mana_drain; // 0x11bc + float m_flIntervalRate; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t base_damage_outgoing_percentage; // 0x113c - bool m_bFirstTick; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t base_damage_outgoing_percentage; // 0x11bc + bool m_bFirstTick; // 0x11c0 }; // Alignment: 2 @@ -41552,30 +41384,30 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CountdownTimer m_Timer; // 0x1140 + int32_t aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 0 @@ -41587,48 +41419,48 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_health_regen; // 0x1144 + int32_t radius; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: - int32_t magic_resist_reduction; // 0x1138 - int32_t max_stacks; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 + int32_t magic_resist_reduction; // 0x11b8 + int32_t max_stacks; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t model_scale; // 0x113c - int32_t damage_radius; // 0x1140 - int32_t pct_int_damage_per_second; // 0x1144 - float tick_rate; // 0x1148 + int32_t movement_speed; // 0x11b8 + int32_t model_scale; // 0x11bc + int32_t damage_radius; // 0x11c0 + int32_t pct_int_damage_per_second; // 0x11c4 + float tick_rate; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: @@ -41648,15 +41480,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x1138 - int32_t m_nHeroesKilled; // 0x113c - int32_t m_nJumps; // 0x1140 - CHandle< CBaseEntity > m_hTarget; // 0x1144 - CHandle< CBaseEntity > m_hAvoidTarget; // 0x1148 + int32_t m_nDamageToHeroes; // 0x11b8 + int32_t m_nHeroesKilled; // 0x11bc + int32_t m_nJumps; // 0x11c0 + CHandle< CBaseEntity > m_hTarget; // 0x11c4 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x11c8 }; // Alignment: 0 @@ -41780,11 +41612,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 1 @@ -41796,64 +41628,64 @@ public: }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bIsSquall; // 0x1138 - bool m_bIsSeaLegs; // 0x1139 + bool m_bIsSquall; // 0x11b8 + bool m_bIsSeaLegs; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - float m_flRadius; // 0x113c - bool m_bShowEnemies; // 0x1140 - bool m_bTorrentStorm; // 0x1141 + float m_flRadius; // 0x11bc + bool m_bShowEnemies; // 0x11c0 + bool m_bTorrentStorm; // 0x11c1 private: - [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 + [[maybe_unused]] uint8_t __pad11c2[0x2]; // 0x11c2 public: - float m_flDelay; // 0x1144 - float m_flFireTime; // 0x1148 - bool m_bForcePosition; // 0x114c + float m_flDelay; // 0x11c4 + float m_flFireTime; // 0x11c8 + bool m_bForcePosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - Vector m_vStartPosition; // 0x1150 - Vector m_vEndPosition; // 0x115c - int32_t m_nPercentChanceOfGhostShip; // 0x1168 - CHandle< CBaseEntity > m_hTarget; // 0x116c + Vector m_vStartPosition; // 0x11d0 + Vector m_vEndPosition; // 0x11dc + int32_t m_nPercentChanceOfGhostShip; // 0x11e8 + CHandle< CBaseEntity > m_hTarget; // 0x11ec }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: - float flIntervalThinkTime; // 0x1138 - int32_t torrent_damage; // 0x113c - float m_flDamageScale; // 0x1140 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - bool m_bTorrentStorm; // 0x114c + float flIntervalThinkTime; // 0x11b8 + int32_t torrent_damage; // 0x11bc + float m_flDamageScale; // 0x11c0 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + bool m_bTorrentStorm; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: @@ -41869,14 +41701,14 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x1138 - int32_t torrent_max_distance; // 0x113c - int32_t m_iExplosionQuadrant; // 0x1140 - Vector m_vPosition; // 0x1144 + int32_t torrent_min_distance; // 0x11b8 + int32_t torrent_max_distance; // 0x11bc + int32_t m_iExplosionQuadrant; // 0x11c0 + Vector m_vPosition; // 0x11c4 }; // Alignment: 0 @@ -41888,22 +41720,22 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x1138 + bool m_bTidebringerAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t cleave_starting_width; // 0x113c - int32_t cleave_ending_width; // 0x1140 - int32_t cleave_distance; // 0x1144 - int32_t damage_bonus; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - int32_t cleave_damage; // 0x1150 - bool m_bIgnoreCooldown; // 0x1154 - bool m_bDreadPirate; // 0x1155 + int32_t cleave_starting_width; // 0x11bc + int32_t cleave_ending_width; // 0x11c0 + int32_t cleave_distance; // 0x11c4 + int32_t damage_bonus; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + int32_t cleave_damage; // 0x11d0 + bool m_bIgnoreCooldown; // 0x11d4 + bool m_bDreadPirate; // 0x11d5 }; // Alignment: 1 @@ -41915,24 +41747,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: - int32_t m_nSpeedBonusPercentage; // 0x1138 + int32_t m_nSpeedBonusPercentage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - float armour_increase; // 0x1138 - float speed_increase_pct; // 0x113c + float armour_increase; // 0x11b8 + float speed_increase_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -41940,25 +41772,25 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: - Vector m_vLastPosition; // 0x1138 - CHandle< CBaseEntity > m_hEntity; // 0x1144 + Vector m_vLastPosition; // 0x11b8 + CHandle< CBaseEntity > m_hEntity; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - bool m_bIsReflection; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + bool m_bIsReflection; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< CBaseEntity > m_hEntity; // 0x1148 + CHandle< CBaseEntity > m_hEntity; // 0x11c8 }; // Alignment: 0 @@ -41970,11 +41802,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x1138 + CHandle< CDOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11b8 }; // Alignment: 6 @@ -41991,20 +41823,20 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: - float m_flDistance; // 0x1138 - float m_flSpeed; // 0x113c - int32_t m_nNumCannons; // 0x1140 - float m_flProjectileRadius; // 0x1144 - bool m_bGhostShipIsEntity; // 0x1148 + float m_flDistance; // 0x11b8 + float m_flSpeed; // 0x11bc + int32_t m_nNumCannons; // 0x11c0 + float m_flProjectileRadius; // 0x11c4 + bool m_bGhostShipIsEntity; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - int32_t m_hGhostShipProjectile; // 0x114c - CHandle< CBaseEntity > m_hGhostShip; // 0x1150 + int32_t m_hGhostShipProjectile; // 0x11cc + CHandle< CBaseEntity > m_hGhostShip; // 0x11d0 }; // Alignment: 0 @@ -42016,17 +41848,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x1138 - Vector vEnd; // 0x1144 - int32_t m_nHitCount; // 0x1150 + Vector vCasterOrigin; // 0x11b8 + Vector vEnd; // 0x11c4 + int32_t m_nHitCount; // 0x11d0 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -42034,7 +41866,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -42042,32 +41874,32 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - int32_t movespeed_bonus; // 0x113c - float ghostship_absorb; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + int32_t movespeed_bonus; // 0x11bc + float ghostship_absorb; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c - float m_flMovespeedBonus; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc + float m_flMovespeedBonus; // 0x11c0 }; // Alignment: 1 @@ -42151,11 +41983,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: - float m_flRadius; // 0x1138 + float m_flRadius; // 0x11b8 }; // Alignment: 0 @@ -42167,32 +41999,32 @@ public: }; // Alignment: 19 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: - float tick_interval; // 0x1138 - float forward_move_speed; // 0x113c - float turn_rate_boosted; // 0x1140 - float turn_rate; // 0x1144 - int32_t hit_radius; // 0x1148 - int32_t knockback_radius; // 0x114c - bool m_bHitFirstUpdate; // 0x1150 + float tick_interval; // 0x11b8 + float forward_move_speed; // 0x11bc + float turn_rate_boosted; // 0x11c0 + float turn_rate; // 0x11c4 + int32_t hit_radius; // 0x11c8 + int32_t knockback_radius; // 0x11cc + bool m_bHitFirstUpdate; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - GameTime_t m_flHitEndTime; // 0x1154 - float hit_recover_time; // 0x1158 - float m_flTurnBoostProgress; // 0x115c - float m_flFacingTarget; // 0x1160 - GameTime_t m_flLastHeroAttackTime; // 0x1164 - ParticleIndex_t m_nFXIndex; // 0x1168 - float m_flGyroshellDurationRemaining; // 0x116c - CUtlVector< float32 > m_flTurnHistory; // 0x1170 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1188 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x11a0 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11b8 - Vector m_vDirection; // 0x11d0 + GameTime_t m_flHitEndTime; // 0x11d4 + float hit_recover_time; // 0x11d8 + float m_flTurnBoostProgress; // 0x11dc + float m_flFacingTarget; // 0x11e0 + GameTime_t m_flLastHeroAttackTime; // 0x11e4 + ParticleIndex_t m_nFXIndex; // 0x11e8 + float m_flGyroshellDurationRemaining; // 0x11ec + CUtlVector< float32 > m_flTurnHistory; // 0x11f0 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1208 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1220 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1238 + Vector m_vDirection; // 0x1250 }; // Alignment: 0 @@ -42204,7 +42036,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: @@ -42212,11 +42044,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: - int32_t m_nStackCount; // 0x1138 + int32_t m_nStackCount; // 0x11b8 }; // Alignment: 0 @@ -42262,68 +42094,68 @@ public: }; // Alignment: 12 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - bool m_bActivated; // 0x1138 + bool m_bActivated; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - Vector m_vFacingDir; // 0x113c - CUtlVector< Vector > m_vecWatchPositions; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + Vector m_vFacingDir; // 0x11bc + CUtlVector< Vector > m_vecWatchPositions; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float m_fMovementSpeed; // 0x1140 - Vector m_vPullTarget; // 0x1144 - Vector m_vFacingDir; // 0x1150 - float think_interval; // 0x115c + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float m_fMovementSpeed; // 0x11c0 + Vector m_vPullTarget; // 0x11c4 + Vector m_vFacingDir; // 0x11d0 + float think_interval; // 0x11dc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< CBaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< CBaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -42347,22 +42179,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - float m_fVoidMarkPct; // 0x113c - int32_t movement_slow_pct; // 0x1140 - int32_t pop_damage; // 0x1144 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + float m_fVoidMarkPct; // 0x11bc + int32_t movement_slow_pct; // 0x11c0 + int32_t pop_damage; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 @@ -42375,52 +42207,52 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: - int32_t damage_radius; // 0x1138 - float debuff_duration; // 0x113c - int32_t destination_fx_radius; // 0x1140 - int32_t damage; // 0x1144 - Vector m_vExitPos; // 0x1148 + int32_t damage_radius; // 0x11b8 + float debuff_duration; // 0x11bc + int32_t destination_fx_radius; // 0x11c0 + int32_t damage; // 0x11c4 + Vector m_vExitPos; // 0x11c8 }; // Alignment: 20 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 - int32_t damage; // 0x11d8 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 + int32_t damage; // 0x1258 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -42428,12 +42260,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 5 @@ -42449,19 +42281,19 @@ public: }; // Alignment: 9 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_EnemiesHit; // 0x1148 - CUtlVector< CHandle< CBaseEntity > > m_AlliesHit; // 0x1160 - int32_t speed; // 0x1178 - int32_t radius; // 0x117c - int32_t damage; // 0x1180 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_EnemiesHit; // 0x11c8 + CUtlVector< CHandle< CBaseEntity > > m_AlliesHit; // 0x11e0 + int32_t speed; // 0x11f8 + int32_t radius; // 0x11fc + int32_t damage; // 0x1200 }; // Alignment: 0 @@ -42473,12 +42305,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_nRemnantProjectileID; // 0x1144 + Vector m_vDirection; // 0x11b8 + float m_nRemnantProjectileID; // 0x11c4 }; // Alignment: 0 @@ -42490,11 +42322,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: - int32_t m_nCritPercent; // 0x1138 + int32_t m_nCritPercent; // 0x11b8 }; // Alignment: 0 @@ -42506,19 +42338,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -42554,24 +42386,24 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageRadius; // 0x1138 - float m_fDissimilateDamage; // 0x113c - float m_fThinkInterval; // 0x1140 - float m_fDissimilateDamagePctPerInterval; // 0x1144 - float m_fLingerDuration; // 0x1148 + int32_t m_nDamageRadius; // 0x11b8 + float m_fDissimilateDamage; // 0x11bc + float m_fThinkInterval; // 0x11c0 + float m_fDissimilateDamagePctPerInterval; // 0x11c4 + float m_fLingerDuration; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 - int32_t m_nBonusIncomingMagicDamage; // 0x113c + float m_fDamagePerInterval; // 0x11b8 + int32_t m_nBonusIncomingMagicDamage; // 0x11bc }; // Alignment: 0 @@ -42583,11 +42415,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: - int32_t m_nSpellAmp; // 0x1138 + int32_t m_nSpellAmp; // 0x11b8 }; // Alignment: 0 @@ -42599,11 +42431,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: - float m_fSpellAmp; // 0x1138 + float m_fSpellAmp; // 0x11b8 }; // Alignment: 1 @@ -42615,7 +42447,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -42631,13 +42463,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: - float m_fVacuumSpeed; // 0x1138 - float m_fStunDuration; // 0x113c - Vector m_vPullLoc; // 0x1140 + float m_fVacuumSpeed; // 0x11b8 + float m_fStunDuration; // 0x11bc + Vector m_vPullLoc; // 0x11c0 }; // Alignment: 0 @@ -42649,7 +42481,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: @@ -42665,23 +42497,23 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: - float m_fThinkInterval; // 0x1138 - float m_fPopDamagePctPerInterval; // 0x113c - float m_fLingerDuration; // 0x1140 - int32_t radius; // 0x1144 - int32_t pop_damage; // 0x1148 + float m_fThinkInterval; // 0x11b8 + float m_fPopDamagePctPerInterval; // 0x11bc + float m_fLingerDuration; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t pop_damage; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 + float m_fDamagePerInterval; // 0x11b8 }; // Alignment: 0 @@ -42693,11 +42525,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: - float m_fDamagePerInterval; // 0x1138 + float m_fDamagePerInterval; // 0x11b8 }; // Alignment: 0 @@ -42766,21 +42598,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t m_nPower; // 0x113c + int32_t rocket_damage; // 0x11b8 + int32_t m_nPower; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: - int32_t grab_radius; // 0x1138 - CHandle< CBaseEntity > m_hLoadedUnit; // 0x113c + int32_t grab_radius; // 0x11b8 + CHandle< CBaseEntity > m_hLoadedUnit; // 0x11bc }; // Alignment: 0 @@ -42792,30 +42624,30 @@ public: }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t acceleration; // 0x1140 - float pre_flight_time; // 0x1144 - float stun_duration; // 0x1148 - int32_t m_nMissileDamage; // 0x114c - int32_t damage; // 0x1150 - int32_t m_nTeamNumber; // 0x1154 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t acceleration; // 0x11c0 + float pre_flight_time; // 0x11c4 + float stun_duration; // 0x11c8 + int32_t m_nMissileDamage; // 0x11cc + int32_t damage; // 0x11d0 + int32_t m_nTeamNumber; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1158[0x8]; // 0x1158 + [[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8 public: - float speed; // 0x1160 - float m_flFacingTarget; // 0x1164 - int32_t movement_turn_rate; // 0x1168 - int32_t m_nPower; // 0x116c - CHandle< CBaseEntity > m_hAttachTarget; // 0x1170 + float speed; // 0x11e0 + float m_flFacingTarget; // 0x11e4 + int32_t movement_turn_rate; // 0x11e8 + int32_t m_nPower; // 0x11ec + CHandle< CBaseEntity > m_hAttachTarget; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CountdownTimer m_MoveTime; // 0x1178 + CountdownTimer m_MoveTime; // 0x11f8 }; // Alignment: 0 @@ -42827,58 +42659,58 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - int32_t projectile_speed; // 0x1144 - int32_t radius; // 0x1148 - int32_t max_targets; // 0x114c - bool m_bFirstStrike; // 0x1150 - bool m_bShouldFireMissiles; // 0x1151 + int32_t max_attacks; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + int32_t radius; // 0x11c8 + int32_t max_targets; // 0x11cc + bool m_bFirstStrike; // 0x11d0 + bool m_bShouldFireMissiles; // 0x11d1 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t m_iAttackRecord; // 0x1140 + float fire_rate; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t m_iAttackRecord; // 0x11c0 }; // Alignment: 12 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x1138 - int32_t slow_duration_second; // 0x113c - int32_t damage_first; // 0x1140 - int32_t damage_second; // 0x1144 - float power; // 0x1148 - int32_t radius; // 0x114c - float slow_first; // 0x1150 - float slow_second; // 0x1154 - bool m_bDelayed; // 0x1158 - bool m_bHalfDamage; // 0x1159 - bool m_bFirstStrike; // 0x115a + int32_t slow_duration_first; // 0x11b8 + int32_t slow_duration_second; // 0x11bc + int32_t damage_first; // 0x11c0 + int32_t damage_second; // 0x11c4 + float power; // 0x11c8 + int32_t radius; // 0x11cc + float slow_first; // 0x11d0 + float slow_second; // 0x11d4 + bool m_bDelayed; // 0x11d8 + bool m_bHalfDamage; // 0x11d9 + bool m_bFirstStrike; // 0x11da private: - [[maybe_unused]] uint8_t __pad115b[0x1]; // 0x115b + [[maybe_unused]] uint8_t __pad11db[0x1]; // 0x11db public: - CHandle< CBaseEntity > m_hInflictorAbility; // 0x115c + CHandle< CBaseEntity > m_hInflictorAbility; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 @@ -43018,16 +42850,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: - int32_t strike_chance; // 0x1138 - float duration; // 0x113c + int32_t strike_chance; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: @@ -43035,18 +42867,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hMissile; // 0x1138 - int32_t hit_radius; // 0x113c - float timeout_duration; // 0x1140 - int32_t damage; // 0x1144 + CHandle< CDOTA_BaseNPC > m_hMissile; // 0x11b8 + int32_t hit_radius; // 0x11bc + float timeout_duration; // 0x11c0 + int32_t damage; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: @@ -43054,63 +42886,63 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t path_radius; // 0x1144 - float linger_duration; // 0x1148 - float flDamage; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t path_radius; // 0x11c4 + float linger_duration; // 0x11c8 + float flDamage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: - float flDamage; // 0x1138 + float flDamage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t attackspeed; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t attackspeed; // 0x11bc }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float proximity_threshold; // 0x113c - float damage; // 0x1140 - float activation_delay; // 0x1144 - bool bActivated; // 0x1148 + int32_t radius; // 0x11b8 + float proximity_threshold; // 0x11bc + float damage; // 0x11c0 + float activation_delay; // 0x11c4 + bool bActivated; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_Timer; // 0x1150 + CountdownTimer m_Timer; // 0x11d0 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - float m_flCurVertTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float m_flEndTime; // 0x1164 - int32_t push_length; // 0x1168 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + float m_flCurVertTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float m_flEndTime; // 0x11e4 + int32_t push_length; // 0x11e8 }; // Alignment: 0 @@ -43135,54 +42967,54 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x1138 - int32_t iEffectRadius; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - int32_t scepter_heal; // 0x1148 - CHandle< CBaseEntity > m_hFollowTarget; // 0x114c - CHandle< CBaseEntity > m_hInflictor; // 0x1150 - GameTime_t m_flNextPulseTime; // 0x1154 - ParticleIndex_t m_nThinkerFXIndex; // 0x1158 + float pulse_interval; // 0x11b8 + int32_t iEffectRadius; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + int32_t scepter_heal; // 0x11c8 + CHandle< CBaseEntity > m_hFollowTarget; // 0x11cc + CHandle< CBaseEntity > m_hInflictor; // 0x11d0 + GameTime_t m_flNextPulseTime; // 0x11d4 + ParticleIndex_t m_nThinkerFXIndex; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - Vector m_vDirection; // 0x1140 - float m_flEndTime; // 0x114c - CHandle< CBaseEntity > m_hThinker; // 0x1150 - Vector m_vTargetPosition; // 0x1154 - Vector m_vStartPosition; // 0x1160 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + Vector m_vDirection; // 0x11c0 + float m_flEndTime; // 0x11cc + CHandle< CBaseEntity > m_hThinker; // 0x11d0 + Vector m_vTargetPosition; // 0x11d4 + Vector m_vStartPosition; // 0x11e0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -43198,40 +43030,40 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t attack_count; // 0x113c - bool m_bShouldIncrement; // 0x1140 + int32_t attack_count; // 0x11bc + bool m_bShouldIncrement; // 0x11c0 }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x1138 - bool m_bSunSentinel; // 0x1139 + bool m_bIsBuffedAttack; // 0x11b8 + bool m_bSunSentinel; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - int32_t heal_pct; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t heal_radius; // 0x1144 - int32_t heal_from_creeps; // 0x1148 - int32_t allied_healing_pct; // 0x114c - int32_t m_nSmashDamage; // 0x1150 - int32_t m_nCounterOrbitalChance; // 0x1154 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesToHeal; // 0x1158 - float m_flTotalToHeal; // 0x1170 - bool m_bCounterOrbitalProcessed; // 0x1174 - bool m_bIsCounterOrbitalSmash; // 0x1175 - bool m_bBrightFoundryProcessed; // 0x1176 + int32_t heal_pct; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t heal_radius; // 0x11c4 + int32_t heal_from_creeps; // 0x11c8 + int32_t allied_healing_pct; // 0x11cc + int32_t m_nSmashDamage; // 0x11d0 + int32_t m_nCounterOrbitalChance; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesToHeal; // 0x11d8 + float m_flTotalToHeal; // 0x11f0 + bool m_bCounterOrbitalProcessed; // 0x11f4 + bool m_bIsCounterOrbitalSmash; // 0x11f5 + bool m_bBrightFoundryProcessed; // 0x11f6 }; // Alignment: 9 @@ -43254,38 +43086,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CHandle< CBaseEntity > m_hInflictor; // 0x1140 + int32_t flare_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CHandle< CBaseEntity > m_hInflictor; // 0x11c0 }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t travel_speed_pct; // 0x1140 - int32_t m_nMaxRange; // 0x1144 - Vector m_vStartPoint; // 0x1148 - Vector m_vLastTrailThinkerLocation; // 0x1154 - Vector m_vEndPointShard; // 0x1160 - ParticleIndex_t m_nStatusFXIndex; // 0x116c - int32_t flare_radius; // 0x1170 - bool bHasStartedBurning; // 0x1174 + int32_t m_nProjectileID; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t travel_speed_pct; // 0x11c0 + int32_t m_nMaxRange; // 0x11c4 + Vector m_vStartPoint; // 0x11c8 + Vector m_vLastTrailThinkerLocation; // 0x11d4 + Vector m_vEndPointShard; // 0x11e0 + ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t flare_radius; // 0x11f0 + bool bHasStartedBurning; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - float flare_debuff_duration; // 0x1178 + float flare_debuff_duration; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -43293,76 +43125,76 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float trail_duration; // 0x113c - int32_t flare_radius; // 0x1140 - int32_t m_nProjectileHandle; // 0x1144 - CHandle< CBaseEntity > m_hHavenThinker; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11b8 + float trail_duration; // 0x11bc + int32_t flare_radius; // 0x11c0 + int32_t m_nProjectileHandle; // 0x11c4 + CHandle< CBaseEntity > m_hHavenThinker; // 0x11c8 }; // Alignment: 22 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t swipe_radius; // 0x1138 - int32_t swipe_damage; // 0x113c - int32_t smash_radius; // 0x1140 - int32_t smash_damage; // 0x1144 - int32_t m_nCurrentSpeed; // 0x1148 - float flSwipeInterval; // 0x114c - GameTime_t m_flNextHit; // 0x1150 - int32_t iCurrentAttack; // 0x1154 - int32_t total_attacks; // 0x1158 - float smash_stun_duration; // 0x115c - float sweep_stun_duration; // 0x1160 - bool m_bHasCompletedMove; // 0x1164 + int32_t swipe_radius; // 0x11b8 + int32_t swipe_damage; // 0x11bc + int32_t smash_radius; // 0x11c0 + int32_t smash_damage; // 0x11c4 + int32_t m_nCurrentSpeed; // 0x11c8 + float flSwipeInterval; // 0x11cc + GameTime_t m_flNextHit; // 0x11d0 + int32_t iCurrentAttack; // 0x11d4 + int32_t total_attacks; // 0x11d8 + float smash_stun_duration; // 0x11dc + float sweep_stun_duration; // 0x11e0 + bool m_bHasCompletedMove; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - float duration; // 0x1168 - Vector m_vTargetHorizontalDirection; // 0x116c - int32_t smash_distance_from_hero; // 0x1178 - float animation_rate; // 0x117c - float turn_rate; // 0x1180 - float m_flFacingTarget; // 0x1184 - bool m_bSuncrusher; // 0x1188 + float duration; // 0x11e8 + Vector m_vTargetHorizontalDirection; // 0x11ec + int32_t smash_distance_from_hero; // 0x11f8 + float animation_rate; // 0x11fc + float turn_rate; // 0x1200 + float m_flFacingTarget; // 0x1204 + bool m_bSuncrusher; // 0x1208 private: - [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: - float m_flDistanceSinceStandAblazeThinker; // 0x118c - float m_flDistancePerStandAblazeThinker; // 0x1190 - CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1194 + float m_flDistanceSinceStandAblazeThinker; // 0x120c + float m_flDistancePerStandAblazeThinker; // 0x1210 + CHandle< CDOTABaseAbility > m_hCelestialHammerForFire; // 0x1214 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x1138 + int32_t swipe_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 + int32_t damage; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 }; // Alignment: 0 @@ -43374,14 +43206,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t burn_damage; // 0x113c - float burn_interval; // 0x1140 - CHandle< CBaseEntity > m_hInflictor; // 0x1144 + int32_t move_slow; // 0x11b8 + int32_t burn_damage; // 0x11bc + float burn_interval; // 0x11c0 + CHandle< CBaseEntity > m_hInflictor; // 0x11c4 }; // Alignment: 0 @@ -43401,7 +43233,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: @@ -43409,7 +43241,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43441,7 +43273,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43473,14 +43305,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: - int32_t move_speed_pct; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t m_nBonusMovementSpeedPct; // 0x1140 - int32_t m_nBonusAttackSpeed; // 0x1144 + int32_t move_speed_pct; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t m_nBonusMovementSpeedPct; // 0x11c0 + int32_t m_nBonusAttackSpeed; // 0x11c4 }; // Alignment: 0 @@ -43492,7 +43324,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: @@ -43508,7 +43340,7 @@ public: }; // Alignment: 0 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: @@ -43524,7 +43356,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: @@ -43532,16 +43364,16 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - bool m_bPassive; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + bool m_bPassive; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flCooldown; // 0x1140 + float m_flCooldown; // 0x11c0 }; // Alignment: 0 @@ -43553,7 +43385,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: @@ -43569,17 +43401,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x1138 - float cooldown; // 0x113c - GameTime_t m_fLastProc; // 0x1140 + int32_t trigger_chance; // 0x11b8 + float cooldown; // 0x11bc + GameTime_t m_fLastProc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: @@ -43627,7 +43459,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: @@ -43635,13 +43467,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t heal_reduction; // 0x113c - int32_t cast_reduction; // 0x1140 + int32_t damage_reduction; // 0x11b8 + int32_t heal_reduction; // 0x11bc + int32_t cast_reduction; // 0x11c0 }; // Alignment: 2 @@ -43670,30 +43502,30 @@ public: }; // Alignment: 12 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: - bool m_bSweetDreams; // 0x1138 - bool m_bConfusion; // 0x1139 - bool m_bSelfBreakAvailable; // 0x113a - bool m_bNoStatusEffect; // 0x113b - int32_t m_nSource; // 0x113c - float animation_rate; // 0x1140 - GameTime_t m_flNextNightmareDamageTime; // 0x1144 - float m_flAccumNightmareDamage; // 0x1148 - int32_t movespeed_pct; // 0x114c - int32_t attack_speed; // 0x1150 - int32_t model_scale; // 0x1154 - CHandle< CBaseEntity > m_hConfusionAttackTarget; // 0x1158 + bool m_bSweetDreams; // 0x11b8 + bool m_bConfusion; // 0x11b9 + bool m_bSelfBreakAvailable; // 0x11ba + bool m_bNoStatusEffect; // 0x11bb + int32_t m_nSource; // 0x11bc + float animation_rate; // 0x11c0 + GameTime_t m_flNextNightmareDamageTime; // 0x11c4 + float m_flAccumNightmareDamage; // 0x11c8 + int32_t movespeed_pct; // 0x11cc + int32_t attack_speed; // 0x11d0 + int32_t model_scale; // 0x11d4 + CHandle< CBaseEntity > m_hConfusionAttackTarget; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: - int32_t m_nMoveSpeed; // 0x1138 + int32_t m_nMoveSpeed; // 0x11b8 }; // Alignment: 6 @@ -43711,32 +43543,32 @@ public: }; // Alignment: 9 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - int32_t fiend_grip_boost_lifesteal_multiplier; // 0x113c - int32_t fiend_grip_damage; // 0x1140 - int32_t fiend_grip_spread_radius; // 0x1144 - float fiend_grip_tick_interval; // 0x1148 - GameTime_t m_flLastSpreadTime; // 0x114c - bool m_bThinkerSource; // 0x1150 - bool m_bRequiresChanneling; // 0x1151 - bool m_bPrimaryGrip; // 0x1152 + int32_t fiend_grip_mana_drain; // 0x11b8 + int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11bc + int32_t fiend_grip_damage; // 0x11c0 + int32_t fiend_grip_spread_radius; // 0x11c4 + float fiend_grip_tick_interval; // 0x11c8 + GameTime_t m_flLastSpreadTime; // 0x11cc + bool m_bThinkerSource; // 0x11d0 + bool m_bRequiresChanneling; // 0x11d1 + bool m_bPrimaryGrip; // 0x11d2 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -43744,7 +43576,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -43752,7 +43584,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -43776,11 +43608,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 @@ -43792,11 +43624,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 + int32_t latch_range; // 0x11b8 }; // Alignment: 0 @@ -43848,23 +43680,23 @@ public: }; // Alignment: 5 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: - int32_t radius; // 0x1168 - int32_t heal_pct; // 0x116c - float slow_duration; // 0x1170 - int32_t m_nBrainSapDamage; // 0x1174 - CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x1178 + int32_t radius; // 0x11e8 + int32_t heal_pct; // 0x11ec + float slow_duration; // 0x11f0 + int32_t m_nBrainSapDamage; // 0x11f4 + CUtlVector< CHandle< CBaseEntity > > m_vecHitTargets; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -43876,28 +43708,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: - int32_t invis_movement_speed; // 0x1148 + int32_t invis_movement_speed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: - int32_t invis_brain_sap_crit_pct; // 0x1138 - int32_t m_nCritPct; // 0x113c + int32_t invis_brain_sap_crit_pct; // 0x11b8 + int32_t m_nCritPct; // 0x11bc }; // Alignment: 0 @@ -43917,7 +43749,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -43925,37 +43757,37 @@ public: }; // Alignment: 21 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: - float hp_cost_pct; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - float m_flCurrentTime; // 0x115c - float m_flAccumulatedSelfDamage; // 0x1160 - bool m_bMovingForward; // 0x1164 - bool m_bTurningFast; // 0x1165 + float hp_cost_pct; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + float m_flCurrentTime; // 0x11dc + float m_flAccumulatedSelfDamage; // 0x11e0 + bool m_bMovingForward; // 0x11e4 + bool m_bTurningFast; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - float m_flFacingTarget; // 0x1168 - float hp_perc_heal; // 0x116c - ParticleIndex_t m_nBeamFXIndex; // 0x1170 - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1174 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1194 - bool m_bCreatedVisionThinkers; // 0x1198 + float m_flFacingTarget; // 0x11e8 + float hp_perc_heal; // 0x11ec + ParticleIndex_t m_nBeamFXIndex; // 0x11f0 + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x11f4 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1214 + bool m_bCreatedVisionThinkers; // 0x1218 private: - [[maybe_unused]] uint8_t __pad1199[0x3]; // 0x1199 + [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x119c - CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x11a0 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x121c + CUtlVector< CHandle< CBaseEntity > > m_vecDispelledAllies; // 0x1220 }; // Alignment: 0 @@ -43983,36 +43815,36 @@ public: }; // Alignment: 13 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x1138 - Vector m_vTarget; // 0x1144 - Vector m_vDirection; // 0x1150 - QAngle m_angDirection; // 0x115c - float m_flCurrentTime; // 0x1168 - int32_t dash_length; // 0x116c - int32_t dash_width; // 0x1170 - int32_t hit_radius; // 0x1174 - float burn_duration; // 0x1178 - float dive_duration; // 0x117c - int32_t damage_per_second; // 0x1180 + Vector m_vSource; // 0x11b8 + Vector m_vTarget; // 0x11c4 + Vector m_vDirection; // 0x11d0 + QAngle m_angDirection; // 0x11dc + float m_flCurrentTime; // 0x11e8 + int32_t dash_length; // 0x11ec + int32_t dash_width; // 0x11f0 + int32_t hit_radius; // 0x11f4 + float burn_duration; // 0x11f8 + float dive_duration; // 0x11fc + int32_t damage_per_second; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1188 - bool m_bSavedAlly; // 0x11a0 + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1208 + bool m_bSavedAlly; // 0x1220 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t slow_movement_speed_pct; // 0x1140 + float burn_tick_interval; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow_movement_speed_pct; // 0x11c0 }; // Alignment: 2 @@ -44025,12 +43857,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t spirit_count; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t spirit_count; // 0x11bc }; // Alignment: 6 @@ -44050,13 +43882,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t attackspeed_slow; // 0x113c - int32_t damage_per_second; // 0x1140 + float tick_interval; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc + int32_t damage_per_second; // 0x11c0 }; // Alignment: 0 @@ -44068,7 +43900,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -44076,60 +43908,60 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t attacks_to_kill; // 0x1140 - int32_t captain_attack_value; // 0x1144 - int32_t boss_attack_value; // 0x1148 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x114c - bool m_bHasExpelCoreShard; // 0x1150 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t attacks_to_kill; // 0x11c0 + int32_t captain_attack_value; // 0x11c4 + int32_t boss_attack_value; // 0x11c8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11cc + bool m_bHasExpelCoreShard; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t m_nAttackCount; // 0x1154 - int32_t creep_attacks_count; // 0x1158 + int32_t m_nAttackCount; // 0x11d4 + int32_t creep_attacks_count; // 0x11d8 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t attacks_to_kill; // 0x1140 - int32_t captain_attack_value; // 0x1144 - int32_t boss_attack_value; // 0x1148 - int32_t m_nAttackCount; // 0x114c - int32_t m_nRadius; // 0x1150 - float m_fSecondSunRadiusPct; // 0x1154 - int32_t creep_attacks_count; // 0x1158 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t attacks_to_kill; // 0x11c0 + int32_t captain_attack_value; // 0x11c4 + int32_t boss_attack_value; // 0x11c8 + int32_t m_nAttackCount; // 0x11cc + int32_t m_nRadius; // 0x11d0 + float m_fSecondSunRadiusPct; // 0x11d4 + int32_t creep_attacks_count; // 0x11d8 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 - float damage_interval; // 0x113c - int32_t aura_radius; // 0x1140 - float m_fRadius; // 0x1144 - float m_fSecondSunRadiusPct; // 0x1148 - GameTime_t m_fNextDamageTime; // 0x114c - GameTime_t m_fLastThinkTime; // 0x1150 - bool m_bHasHorizonAbility; // 0x1154 + int32_t damage_per_sec; // 0x11b8 + float damage_interval; // 0x11bc + int32_t aura_radius; // 0x11c0 + float m_fRadius; // 0x11c4 + float m_fSecondSunRadiusPct; // 0x11c8 + GameTime_t m_fNextDamageTime; // 0x11cc + GameTime_t m_fLastThinkTime; // 0x11d0 + bool m_bHasHorizonAbility; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_nHorizonPushDistance; // 0x1158 - float m_fHorizonPushInterval; // 0x115c - GameTime_t m_fNextHorizonPushTime; // 0x1160 - ParticleIndex_t m_nHorizonFX; // 0x1164 + int32_t m_nHorizonPushDistance; // 0x11d8 + float m_fHorizonPushInterval; // 0x11dc + GameTime_t m_fNextHorizonPushTime; // 0x11e0 + ParticleIndex_t m_nHorizonFX; // 0x11e4 }; // Alignment: 0 @@ -44141,7 +43973,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: @@ -44149,20 +43981,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hSaviorEnt; // 0x1138 - float ally_position_offset; // 0x113c + CHandle< CBaseEntity > m_hSaviorEnt; // 0x11b8 + float ally_position_offset; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x1148 + float duration; // 0x11c8 }; // Alignment: 0 @@ -44198,13 +44030,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x1138 - Vector m_vDirection; // 0x113c - float unit_position_offset; // 0x1148 + int32_t m_nProjectileHandle; // 0x11b8 + Vector m_vDirection; // 0x11bc + float unit_position_offset; // 0x11c8 }; // Alignment: 0 @@ -44216,7 +44048,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: @@ -44232,45 +44064,45 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x1138 - bool m_bCleanupWhenEmpty; // 0x1150 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11b8 + bool m_bCleanupWhenEmpty; // 0x11d0 }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: - float radius_pct_as_length; // 0x1138 - int32_t width; // 0x113c - float linger_duration; // 0x1140 - float m_fLength; // 0x1144 - ParticleIndex_t m_nBeamFXIndex; // 0x1148 - CHandle< CBaseEntity > m_hBeamEnd; // 0x114c - GameTime_t m_flLastHit; // 0x1150 + float radius_pct_as_length; // 0x11b8 + int32_t width; // 0x11bc + float linger_duration; // 0x11c0 + float m_fLength; // 0x11c4 + ParticleIndex_t m_nBeamFXIndex; // 0x11c8 + CHandle< CBaseEntity > m_hBeamEnd; // 0x11cc + GameTime_t m_flLastHit; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x1158 - CHandle< CBaseEntity > m_hTreeFireThinker; // 0x1170 + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x11d8 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x11f0 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: - float m_fDamagePerSecond; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - ParticleIndex_t m_nActiveFXIndex; // 0x1140 - ParticleIndex_t m_nActiveStatusFXIndex; // 0x1144 - float flame_revenant_damage_pct; // 0x1148 - float think_interval; // 0x114c - int32_t move_slow_pct; // 0x1150 + float m_fDamagePerSecond; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + ParticleIndex_t m_nActiveFXIndex; // 0x11c0 + ParticleIndex_t m_nActiveStatusFXIndex; // 0x11c4 + float flame_revenant_damage_pct; // 0x11c8 + float think_interval; // 0x11cc + int32_t move_slow_pct; // 0x11d0 }; // Alignment: 0 @@ -44298,20 +44130,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: - float pct_of_heal_as_attack_speed; // 0x1138 - float m_fAttackSpeedBonus; // 0x113c + float pct_of_heal_as_attack_speed; // 0x11b8 + float m_fAttackSpeedBonus; // 0x11bc }; // Alignment: 0 @@ -44371,24 +44203,24 @@ public: }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x1138 - int32_t damage_per_tick_min; // 0x113c - int32_t damage_per_tick_max; // 0x1140 - int32_t search_radius; // 0x1144 - int32_t move_speed_slow_pct; // 0x1148 - float think_interval; // 0x114c - float m_fCurrentDamage; // 0x1150 - float m_fDamageIncreasePerTick; // 0x1154 - int32_t m_nCurrentSlow; // 0x1158 - bool m_bAlone; // 0x115c + int32_t m_nCasterTeam; // 0x11b8 + int32_t damage_per_tick_min; // 0x11bc + int32_t damage_per_tick_max; // 0x11c0 + int32_t search_radius; // 0x11c4 + int32_t move_speed_slow_pct; // 0x11c8 + float think_interval; // 0x11cc + float m_fCurrentDamage; // 0x11d0 + float m_fDamageIncreasePerTick; // 0x11d4 + int32_t m_nCurrentSlow; // 0x11d8 + bool m_bAlone; // 0x11dc private: - [[maybe_unused]] uint8_t __pad115d[0x3]; // 0x115d + [[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd public: - ParticleIndex_t m_nFXIndex; // 0x1160 + ParticleIndex_t m_nFXIndex; // 0x11e0 }; // Alignment: 0 @@ -44400,55 +44232,55 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 - float explosion_delay_time; // 0x1144 - float explosion_stun_duration; // 0x1148 - int32_t explosion_damage; // 0x114c - int32_t caster_team; // 0x1150 + int32_t radius; // 0x11c0 + float explosion_delay_time; // 0x11c4 + float explosion_stun_duration; // 0x11c8 + int32_t explosion_damage; // 0x11cc + int32_t caster_team; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t explosion_damage; // 0x113c - float explosion_stun_duration; // 0x1140 - float explosion_delay_time; // 0x1144 + int32_t radius; // 0x11b8 + int32_t explosion_damage; // 0x11bc + float explosion_stun_duration; // 0x11c0 + float explosion_delay_time; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c - float aura_origin_x; // 0x1140 - float aura_origin_y; // 0x1144 + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc + float aura_origin_x; // 0x11c0 + float aura_origin_y; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 5 @@ -44464,42 +44296,42 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x1138 + int32_t move_speed_slow_pct; // 0x11b8 }; // Alignment: 18 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t wraith_vision_radius; // 0x113c - int32_t wraith_speed; // 0x1140 + int32_t radius; // 0x11b8 + int32_t wraith_vision_radius; // 0x11bc + int32_t wraith_speed; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - float activation_delay; // 0x114c - float scepter_activation_delay; // 0x1150 - float think_interval; // 0x1154 - float search_timer_min; // 0x1158 - float search_timer_max; // 0x115c - float mini_stun_duration; // 0x1160 - int32_t move_speed_slow_pct; // 0x1164 - int32_t m_nSparkDamage; // 0x1168 - bool m_bActive; // 0x116c - bool m_bOriginal; // 0x116d + float activation_delay; // 0x11cc + float scepter_activation_delay; // 0x11d0 + float think_interval; // 0x11d4 + float search_timer_min; // 0x11d8 + float search_timer_max; // 0x11dc + float mini_stun_duration; // 0x11e0 + int32_t move_speed_slow_pct; // 0x11e4 + int32_t m_nSparkDamage; // 0x11e8 + bool m_bActive; // 0x11ec + bool m_bOriginal; // 0x11ed private: - [[maybe_unused]] uint8_t __pad116e[0x2]; // 0x116e + [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: - float m_fSearchTimer; // 0x1170 - float m_fRotationSpeed; // 0x1174 - int32_t m_nRotationDirection; // 0x1178 - Vector m_vRotationCenter; // 0x117c - ParticleIndex_t m_nFXIndex; // 0x1188 + float m_fSearchTimer; // 0x11f0 + float m_fRotationSpeed; // 0x11f4 + int32_t m_nRotationDirection; // 0x11f8 + Vector m_vRotationCenter; // 0x11fc + ParticleIndex_t m_nFXIndex; // 0x1208 }; // Alignment: 1 @@ -44511,44 +44343,44 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: - int32_t damage_increase; // 0x1138 + int32_t damage_increase; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: - int32_t num_doubles; // 0x1138 + int32_t num_doubles; // 0x11b8 }; // Alignment: 12 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - float knockback_distance; // 0x1188 - float knockback_duration; // 0x118c - float windup_time; // 0x1190 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + float knockback_distance; // 0x1208 + float knockback_duration; // 0x120c + float windup_time; // 0x1210 }; // Alignment: 0 @@ -44568,35 +44400,35 @@ public: }; // Alignment: 15 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t hero_damage; // 0x1140 - int32_t acceleration; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_distance; // 0x114c - float pre_flight_time; // 0x1150 - float stun_duration; // 0x1154 - int32_t m_nMissileDamage; // 0x1158 - int32_t m_nTeamNumber; // 0x115c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t hero_damage; // 0x11c0 + int32_t acceleration; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_distance; // 0x11cc + float pre_flight_time; // 0x11d0 + float stun_duration; // 0x11d4 + int32_t m_nMissileDamage; // 0x11d8 + int32_t m_nTeamNumber; // 0x11dc private: - [[maybe_unused]] uint8_t __pad1160[0x8]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x8]; // 0x11e0 public: - float speed; // 0x1168 - CHandle< CBaseEntity > m_hAttachTarget; // 0x116c - Vector m_vStartPosition; // 0x1170 + float speed; // 0x11e8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11ec + Vector m_vStartPosition; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad117c[0x4]; // 0x117c + [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: - CountdownTimer m_EnemyVision; // 0x1180 - CountdownTimer m_MoveTime; // 0x1198 + CountdownTimer m_EnemyVision; // 0x1200 + CountdownTimer m_MoveTime; // 0x1218 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: @@ -44612,17 +44444,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: - Vector m_vStartPos; // 0x1138 - Vector m_vEndPos; // 0x1144 - GameTime_t m_flEndTime; // 0x1150 + Vector m_vStartPos; // 0x11b8 + Vector m_vEndPos; // 0x11c4 + GameTime_t m_flEndTime; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -44630,7 +44462,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -44638,7 +44470,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -44654,38 +44486,38 @@ public: }; // Alignment: 19 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x4]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x4]; // 0x11b8 public: - Vector m_vLoc; // 0x113c - float m_flPredictedTotalTime; // 0x1148 - Vector m_vStartPosition; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bHorizontalMotionInterrupted; // 0x1160 - bool m_bDamageApplied; // 0x1161 - bool m_bTargetTeleported; // 0x1162 + Vector m_vLoc; // 0x11bc + float m_flPredictedTotalTime; // 0x11c8 + Vector m_vStartPosition; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bHorizontalMotionInterrupted; // 0x11e0 + bool m_bDamageApplied; // 0x11e1 + bool m_bTargetTeleported; // 0x11e2 private: - [[maybe_unused]] uint8_t __pad1163[0x1]; // 0x1163 + [[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3 public: - Vector m_vHorizontalVelocity; // 0x1164 - Vector m_vLastKnownTargetPosition; // 0x1170 - float m_flInitialVelocityZ; // 0x117c - ParticleIndex_t m_nPreviewFX; // 0x1180 - int32_t scepter_height; // 0x1184 - int32_t scepter_height_arcbuffer; // 0x1188 - int32_t scepter_acceleration_z; // 0x118c - int32_t scepter_acceleration_horizontal; // 0x1190 - int32_t landing_radius; // 0x1194 - float landing_debuff_duration; // 0x1198 - int32_t landing_impact_damage; // 0x119c + Vector m_vHorizontalVelocity; // 0x11e4 + Vector m_vLastKnownTargetPosition; // 0x11f0 + float m_flInitialVelocityZ; // 0x11fc + ParticleIndex_t m_nPreviewFX; // 0x1200 + int32_t scepter_height; // 0x1204 + int32_t scepter_height_arcbuffer; // 0x1208 + int32_t scepter_acceleration_z; // 0x120c + int32_t scepter_acceleration_horizontal; // 0x1210 + int32_t landing_radius; // 0x1214 + float landing_debuff_duration; // 0x1218 + int32_t landing_impact_damage; // 0x121c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -44693,24 +44525,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: - int32_t landing_move_slow_pct; // 0x1138 + int32_t landing_move_slow_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t totem_damage_percentage; // 0x113c + int32_t bonus_attack_range; // 0x11b8 + int32_t totem_damage_percentage; // 0x11bc private: - [[maybe_unused]] uint8_t __pad1140[0x8]; // 0x1140 + [[maybe_unused]] uint8_t __pad11c0[0x8]; // 0x11c0 public: - bool bActive; // 0x1148 + bool bActive; // 0x11c8 }; // Alignment: 0 @@ -44722,37 +44554,37 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: - int32_t effect_radius; // 0x1138 - float rock_duration; // 0x113c - int32_t damage; // 0x1140 + int32_t effect_radius; // 0x11b8 + float rock_duration; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: - int32_t rock_health; // 0x1138 - int32_t rock_visualzdelta; // 0x113c - bool m_bIsCrushing; // 0x1140 + int32_t rock_health; // 0x11b8 + int32_t rock_visualzdelta; // 0x11bc + bool m_bIsCrushing; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t summon_count; // 0x1144 + int32_t summon_count; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRock; // 0x1138 - QAngle m_qRotation; // 0x113c - float m_flOldPitch; // 0x1148 + CHandle< CBaseEntity > m_hRock; // 0x11b8 + QAngle m_qRotation; // 0x11bc + float m_flOldPitch; // 0x11c8 }; // Alignment: 0 @@ -44764,18 +44596,18 @@ public: }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: - Vector vLastPos; // 0x1138 - float flCurrentDistance; // 0x1144 - int32_t step_distance; // 0x1148 - int32_t effect_radius; // 0x114c - int32_t base_damage; // 0x1150 - CHandle< CBaseEntity > m_hTarget; // 0x1154 - CountdownTimer ctLastCommandTimer; // 0x1158 - bool m_bMoveCommandIssued; // 0x1170 + Vector vLastPos; // 0x11b8 + float flCurrentDistance; // 0x11c4 + int32_t step_distance; // 0x11c8 + int32_t effect_radius; // 0x11cc + int32_t base_damage; // 0x11d0 + CHandle< CBaseEntity > m_hTarget; // 0x11d4 + CountdownTimer ctLastCommandTimer; // 0x11d8 + bool m_bMoveCommandIssued; // 0x11f0 }; // Alignment: 1 @@ -44787,114 +44619,114 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float m_flOffset; // 0x113c - QAngle m_vStartAngles; // 0x1140 - float animation_rate; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + float animation_rate; // 0x11cc }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x1138 - Vector m_vPos; // 0x113c - int32_t splash_radius; // 0x1148 - float interval; // 0x114c - float ministun; // 0x1150 - int32_t m_nCurrentHitCount; // 0x1154 - int32_t total_ripple_circles; // 0x1158 - int32_t ripple_step_distance; // 0x115c - int32_t ripple_step_distance_offset; // 0x1160 - float health_damage; // 0x1164 - float ripple_duration; // 0x1168 - int32_t ripple_damage; // 0x116c - CUtlVector< int32 > m_vLastRippleOffsets; // 0x1170 - float self_animation_rate; // 0x1188 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11b8 + Vector m_vPos; // 0x11bc + int32_t splash_radius; // 0x11c8 + float interval; // 0x11cc + float ministun; // 0x11d0 + int32_t m_nCurrentHitCount; // 0x11d4 + int32_t total_ripple_circles; // 0x11d8 + int32_t ripple_step_distance; // 0x11dc + int32_t ripple_step_distance_offset; // 0x11e0 + float health_damage; // 0x11e4 + float ripple_duration; // 0x11e8 + int32_t ripple_damage; // 0x11ec + CUtlVector< int32 > m_vLastRippleOffsets; // 0x11f0 + float self_animation_rate; // 0x1208 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: - int32_t ripple_effect_width; // 0x1138 - int32_t ripple_damage; // 0x113c - int32_t health_damage; // 0x1140 - int32_t ripple_count; // 0x1144 - int32_t total_ripple_circles; // 0x1148 - float radius; // 0x114c - float ripple_slow_duration; // 0x1150 - float ripple_knockback_duration; // 0x1154 - CHandle< CBaseEntity > m_hGrabbedEnemy; // 0x1158 - ParticleIndex_t m_nPreviewFXIndex; // 0x115c + int32_t ripple_effect_width; // 0x11b8 + int32_t ripple_damage; // 0x11bc + int32_t health_damage; // 0x11c0 + int32_t ripple_count; // 0x11c4 + int32_t total_ripple_circles; // 0x11c8 + float radius; // 0x11cc + float ripple_slow_duration; // 0x11d0 + float ripple_knockback_duration; // 0x11d4 + CHandle< CBaseEntity > m_hGrabbedEnemy; // 0x11d8 + ParticleIndex_t m_nPreviewFXIndex; // 0x11dc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: - int32_t damage_limit; // 0x1138 - ParticleIndex_t m_nFxIndex; // 0x113c - float m_fTotalDamage; // 0x1140 + int32_t damage_limit; // 0x11b8 + ParticleIndex_t m_nFxIndex; // 0x11bc + float m_fTotalDamage; // 0x11c0 }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bTargetTeleported; // 0x115d + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bTargetTeleported; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: - bool m_bAutoPickup; // 0x1138 - bool m_bOnlyPlayerHeroPickup; // 0x1139 - bool m_bCreepHeroPickup; // 0x113a - bool m_bAutoUse; // 0x113b - bool m_bFlying; // 0x113c + bool m_bAutoPickup; // 0x11b8 + bool m_bOnlyPlayerHeroPickup; // 0x11b9 + bool m_bCreepHeroPickup; // 0x11ba + bool m_bAutoUse; // 0x11bb + bool m_bFlying; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - GameTime_t m_flKnockbackStartTime; // 0x1140 - GameTime_t m_flKnockbackEndTime; // 0x1144 - float m_flKnockbackHeight; // 0x1148 - float m_flInitialHeight; // 0x114c - float m_flKnockbackDuration; // 0x1150 - float m_flEndHeight; // 0x1154 - Vector m_vStartPos; // 0x1158 - Vector m_vEndPos; // 0x1164 - ParticleIndex_t m_nContainerFx; // 0x1170 + GameTime_t m_flKnockbackStartTime; // 0x11c0 + GameTime_t m_flKnockbackEndTime; // 0x11c4 + float m_flKnockbackHeight; // 0x11c8 + float m_flInitialHeight; // 0x11cc + float m_flKnockbackDuration; // 0x11d0 + float m_flEndHeight; // 0x11d4 + Vector m_vStartPos; // 0x11d8 + Vector m_vEndPos; // 0x11e4 + ParticleIndex_t m_nContainerFx; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFXIndex; // 0x1138 + ParticleIndex_t m_nPreviewFXIndex; // 0x11b8 }; // Alignment: 1 @@ -44906,55 +44738,55 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: - float m_flFacingTarget; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - ParticleIndex_t m_nCrosshairFX; // 0x1140 - float charge_duration; // 0x1144 - float max_charge_time; // 0x1148 - float turn_rate; // 0x114c - float base_power; // 0x1150 - int32_t charge_speed; // 0x1154 - float animation_rate; // 0x1158 + float m_flFacingTarget; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + ParticleIndex_t m_nCrosshairFX; // 0x11c0 + float charge_duration; // 0x11c4 + float max_charge_time; // 0x11c8 + float turn_rate; // 0x11cc + float base_power; // 0x11d0 + int32_t charge_speed; // 0x11d4 + float animation_rate; // 0x11d8 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: - float charge_speed; // 0x1138 - int32_t knockback_radius; // 0x113c - int32_t knockback_distance; // 0x1140 - int32_t knockback_damage; // 0x1144 - int32_t forward_offset; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x114c - float m_flFacingTarget; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + float charge_speed; // 0x11b8 + int32_t knockback_radius; // 0x11bc + int32_t knockback_distance; // 0x11c0 + int32_t knockback_damage; // 0x11c4 + int32_t forward_offset; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11cc + float m_flFacingTarget; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bTargetTeleported; // 0x115d + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bTargetTeleported; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 0 @@ -44966,20 +44798,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: - float debuff_duration; // 0x1138 + float debuff_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: - int32_t heal_suppression_pct; // 0x1138 - int32_t armor_reduction_pct; // 0x113c + int32_t heal_suppression_pct; // 0x11b8 + int32_t armor_reduction_pct; // 0x11bc }; // Alignment: 0 @@ -44991,25 +44823,25 @@ public: }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - GameTime_t m_flEndTime; // 0x1140 - Vector m_vStartPosition; // 0x1144 - Vector m_vTargetHorizontalDirection; // 0x1150 - float m_flCurrentTimeHoriz; // 0x115c - float m_flCurrentTimeVert; // 0x1160 - bool m_bInterrupted; // 0x1164 - bool m_bStartedLandingSequence; // 0x1165 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + GameTime_t m_flEndTime; // 0x11c0 + Vector m_vStartPosition; // 0x11c4 + Vector m_vTargetHorizontalDirection; // 0x11d0 + float m_flCurrentTimeHoriz; // 0x11dc + float m_flCurrentTimeVert; // 0x11e0 + bool m_bInterrupted; // 0x11e4 + bool m_bStartedLandingSequence; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - float vault_speed; // 0x1168 - float vault_acceleration; // 0x116c - int32_t vault_radius; // 0x1170 + float vault_speed; // 0x11e8 + float vault_acceleration; // 0x11ec + int32_t vault_radius; // 0x11f0 }; // Alignment: 6 @@ -45044,57 +44876,57 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: - int32_t rock_drop_intervals; // 0x1138 - int32_t rock_drop_per_interval; // 0x113c - int32_t rock_drop_distance; // 0x1140 - int32_t m_nCurrentInterval; // 0x1144 - int32_t rock_drop_rotation_angle; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x114c + int32_t rock_drop_intervals; // 0x11b8 + int32_t rock_drop_per_interval; // 0x11bc + int32_t rock_drop_distance; // 0x11c0 + int32_t m_nCurrentInterval; // 0x11c4 + int32_t rock_drop_rotation_angle; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: - bool bCanbeMotionControlled; // 0x1138 + bool bCanbeMotionControlled; // 0x11b8 }; // Alignment: 23 -// Size: 0x11e8 +// Size: 0x1268 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x1138 - int32_t projectile_speed_increment; // 0x113c - int32_t projectile_distance; // 0x1140 - int32_t projectile_width; // 0x1144 - int32_t projectiles_per_interval; // 0x1148 - int32_t projectiles_per_interval_increment; // 0x114c - int32_t initial_spread_angle; // 0x1150 - int32_t angle_offset; // 0x1154 - int32_t iCurrentInterval; // 0x1158 - int32_t splinter_angle; // 0x115c - CountdownTimer m_LeftHandSmashTimer; // 0x1160 - CountdownTimer m_RightHandSmashTimer; // 0x1178 - CountdownTimer m_AttackIntervalTimer; // 0x1190 - float initial_interval; // 0x11a8 - float interval_reduction; // 0x11ac - float min_interval; // 0x11b0 - int32_t arm_distance_forward; // 0x11b4 - int32_t arm_distance_side; // 0x11b8 - int32_t splash_radius; // 0x11bc - int32_t max_split_amount; // 0x11c0 - int32_t m_nCurrentCastCount; // 0x11c4 - int32_t max_projectiles; // 0x11c8 + int32_t projectile_speed; // 0x11b8 + int32_t projectile_speed_increment; // 0x11bc + int32_t projectile_distance; // 0x11c0 + int32_t projectile_width; // 0x11c4 + int32_t projectiles_per_interval; // 0x11c8 + int32_t projectiles_per_interval_increment; // 0x11cc + int32_t initial_spread_angle; // 0x11d0 + int32_t angle_offset; // 0x11d4 + int32_t iCurrentInterval; // 0x11d8 + int32_t splinter_angle; // 0x11dc + CountdownTimer m_LeftHandSmashTimer; // 0x11e0 + CountdownTimer m_RightHandSmashTimer; // 0x11f8 + CountdownTimer m_AttackIntervalTimer; // 0x1210 + float initial_interval; // 0x1228 + float interval_reduction; // 0x122c + float min_interval; // 0x1230 + int32_t arm_distance_forward; // 0x1234 + int32_t arm_distance_side; // 0x1238 + int32_t splash_radius; // 0x123c + int32_t max_split_amount; // 0x1240 + int32_t m_nCurrentCastCount; // 0x1244 + int32_t max_projectiles; // 0x1248 private: - [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc + [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c public: - CUtlVector< int32 > m_vecProjectileHandles; // 0x11d0 + CUtlVector< int32 > m_vecProjectileHandles; // 0x1250 }; // Alignment: 1 @@ -45117,7 +44949,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: @@ -45125,24 +44957,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x1138 + Vector m_vVelocity; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: @@ -45150,7 +44982,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: @@ -45158,7 +44990,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: @@ -45166,13 +44998,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: - float tick_damage; // 0x1138 - int32_t damage_ticks; // 0x113c - int32_t m_nTickAmount; // 0x1140 + float tick_damage; // 0x11b8 + int32_t damage_ticks; // 0x11bc + int32_t m_nTickAmount; // 0x11c0 }; // Alignment: 1 @@ -45192,35 +45024,35 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x1138 - int32_t caustic_finale_damage_death; // 0x113c - int32_t caustic_finale_damage_dot; // 0x1140 - int32_t caustic_finale_slow; // 0x1144 - float caustic_finale_dot_tick; // 0x1148 + int32_t caustic_finale_radius; // 0x11b8 + int32_t caustic_finale_damage_death; // 0x11bc + int32_t caustic_finale_damage_dot; // 0x11c0 + int32_t caustic_finale_slow; // 0x11c4 + float caustic_finale_dot_tick; // 0x11c8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x1138 + float caustic_finale_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x1138 + Vector m_vStartLocation; // 0x11b8 }; // Alignment: 4 @@ -45235,65 +45067,65 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - bool m_bDamageApplied; // 0x1140 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + bool m_bDamageApplied; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float m_flPower; // 0x1144 + float m_flPower; // 0x11c4 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x1138 - bool m_bTeleported; // 0x1144 + Vector m_vPopupLocation; // 0x11b8 + bool m_bTeleported; // 0x11c4 }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: - float sand_storm_radius; // 0x1138 - int32_t sand_storm_damage; // 0x113c - float damage_tick_rate; // 0x1140 - GameTime_t m_flLastDamageTime; // 0x1144 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1148 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x114c + float sand_storm_radius; // 0x11b8 + int32_t sand_storm_damage; // 0x11bc + float damage_tick_rate; // 0x11c0 + GameTime_t m_flLastDamageTime; // 0x11c4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x11c8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x11cc private: - [[maybe_unused]] uint8_t __pad1150[0x8]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x8]; // 0x11d0 public: - CHandle< CBaseEntity > m_hThinker; // 0x1158 - CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x115c - bool m_bIsPrimarySandstorm; // 0x1160 + CHandle< CBaseEntity > m_hThinker; // 0x11d8 + CHandle< CBaseEntity > m_hBurrowstrikeFieldThinker; // 0x11dc + bool m_bIsPrimarySandstorm; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - Vector vecSpawnPos; // 0x1164 + Vector vecSpawnPos; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - float sand_storm_radius; // 0x1138 + float sand_storm_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: - int32_t blind_slow_pct; // 0x1138 + int32_t blind_slow_pct; // 0x11b8 }; // Alignment: 1 @@ -45305,24 +45137,24 @@ public: }; // Alignment: 5 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_pulses; // 0x1138 - int32_t epicenter_radius[16]; // 0x113c - int32_t epicenter_damage; // 0x117c - int32_t m_iMaxPulses; // 0x1180 - int32_t m_iPulseCount; // 0x1184 + int32_t epicenter_pulses; // 0x11b8 + int32_t epicenter_radius[16]; // 0x11bc + int32_t epicenter_damage; // 0x11fc + int32_t m_iMaxPulses; // 0x1200 + int32_t m_iPulseCount; // 0x1204 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x1138 - int32_t epicenter_slow_as; // 0x113c + int32_t epicenter_slow; // 0x11b8 + int32_t epicenter_slow_as; // 0x11bc }; // Alignment: 0 @@ -45334,54 +45166,54 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - ParticleIndex_t m_nCrosshairFX; // 0x1144 + Vector m_vTargetPos; // 0x11b8 + ParticleIndex_t m_nCrosshairFX; // 0x11c4 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - Vector m_vDirection; // 0x113c - float m_flEndTime; // 0x1148 - float m_flCurTime; // 0x114c + int32_t m_nProjectileID; // 0x11b8 + Vector m_vDirection; // 0x11bc + float m_flEndTime; // 0x11c8 + float m_flCurTime; // 0x11cc }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float explosion_interval; // 0x113c - int32_t explosion_radius; // 0x1140 - int32_t explosion_min_dist; // 0x1144 - float m_fLastTick; // 0x1148 - float m_fTimeAccumulator; // 0x114c - int32_t m_iExplosionCount; // 0x1150 - int32_t m_iExplosionTotalCount; // 0x1154 - int32_t m_iExplosionQuadrant; // 0x1158 - int32_t m_iExplosionDistance; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 + float radius; // 0x11b8 + float explosion_interval; // 0x11bc + int32_t explosion_radius; // 0x11c0 + int32_t explosion_min_dist; // 0x11c4 + float m_fLastTick; // 0x11c8 + float m_fTimeAccumulator; // 0x11cc + int32_t m_iExplosionCount; // 0x11d0 + int32_t m_iExplosionTotalCount; // 0x11d4 + int32_t m_iExplosionQuadrant; // 0x11d8 + int32_t m_iExplosionDistance; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 - Vector vPullLocation; // 0x113c + float pull_speed; // 0x11b8 + Vector vPullLocation; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: @@ -45453,12 +45285,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: - int32_t str_pct; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t str_pct; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -45478,13 +45310,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: - Vector vLastPos; // 0x1138 - float m_fAccumulatedDistance; // 0x1144 - int32_t movement_distance; // 0x1148 + Vector vLastPos; // 0x11b8 + float m_fAccumulatedDistance; // 0x11c4 + int32_t movement_distance; // 0x11c8 }; // Alignment: 0 @@ -45504,12 +45336,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 0 @@ -45537,24 +45369,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: - int32_t damage_pct; // 0x1138 + int32_t damage_pct; // 0x11b8 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: - Vector m_vOriginalTarget; // 0x1138 - int32_t wave_count; // 0x1144 - int32_t projectile_speed; // 0x1148 - int32_t projectile_width; // 0x114c - float m_flInterval; // 0x1150 - int32_t m_nArrowsFired; // 0x1154 + Vector m_vOriginalTarget; // 0x11b8 + int32_t wave_count; // 0x11c4 + int32_t projectile_speed; // 0x11c8 + int32_t projectile_width; // 0x11cc + float m_flInterval; // 0x11d0 + int32_t m_nArrowsFired; // 0x11d4 }; // Alignment: 0 @@ -45566,27 +45398,27 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - bool m_bBonusAttack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + bool m_bBonusAttack; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t damage_bonus; // 0x1154 - float debuff_duration; // 0x1158 + int32_t damage_bonus; // 0x11d4 + float debuff_duration; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: - int32_t attack_slow; // 0x1138 - float m_fIgniteThinkInterval; // 0x113c - float m_fIgniteDmgPerSec; // 0x1140 + int32_t attack_slow; // 0x11b8 + float m_fIgniteThinkInterval; // 0x11bc + float m_fIgniteDmgPerSec; // 0x11c0 }; // Alignment: 5 @@ -45602,23 +45434,23 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + Vector m_vFacePosition; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - int32_t damage_percent; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 - bool m_bHasAttacked; // 0x1144 + float attack_rate; // 0x11b8 + int32_t damage_percent; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 + bool m_bHasAttacked; // 0x11c4 }; // Alignment: 0 @@ -45630,13 +45462,13 @@ public: }; // Alignment: 3 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x1148 - int32_t move_speed_bonus_pct; // 0x1160 - int32_t bonus_magic_resist; // 0x1164 + CUtlVector< CHandle< CBaseEntity > > m_vecWraithTouchedEntities; // 0x11c8 + int32_t move_speed_bonus_pct; // 0x11e0 + int32_t bonus_magic_resist; // 0x11e4 }; // Alignment: 0 @@ -45664,7 +45496,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: @@ -45672,11 +45504,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: - int32_t move_slow_pct; // 0x1138 + int32_t move_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -45704,27 +45536,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: - float lifetime; // 0x1138 + float lifetime; // 0x11b8 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - int32_t block_damage_ranged_active; // 0x114c - int32_t block_damage_melee_active; // 0x1150 - int32_t hp_gain_per_caster_level; // 0x1154 - float hp_regen_per_caster_level; // 0x1158 + ParticleIndex_t m_nFXIndex; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + int32_t block_damage_ranged_active; // 0x11cc + int32_t block_damage_melee_active; // 0x11d0 + int32_t hp_gain_per_caster_level; // 0x11d4 + float hp_regen_per_caster_level; // 0x11d8 }; // Alignment: 0 @@ -45736,12 +45568,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: - float armor_reduction_per_arrow; // 0x1138 - int32_t m_nMaxStacks; // 0x113c + float armor_reduction_per_arrow; // 0x11b8 + int32_t m_nMaxStacks; // 0x11bc }; // Alignment: 0 @@ -45761,19 +45593,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: - float m_fAttackLoss; // 0x1138 + float m_fAttackLoss; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: - int32_t max_stacks; // 0x1138 + int32_t max_stacks; // 0x11b8 }; // Alignment: 0 @@ -45785,11 +45617,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: - float m_fAttackSpeed; // 0x1138 + float m_fAttackSpeed; // 0x11b8 }; // Alignment: 0 @@ -45801,30 +45633,30 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: - float m_fSlowPct; // 0x1138 - float radius; // 0x113c - float think_interval; // 0x1140 - float linger_duration; // 0x1144 + float m_fSlowPct; // 0x11b8 + float radius; // 0x11bc + float think_interval; // 0x11c0 + float linger_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: - float m_fLifestealPct; // 0x1138 + float m_fLifestealPct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: - float m_fSlowPct; // 0x1138 + float m_fSlowPct; // 0x11b8 }; // Alignment: 0 @@ -45844,7 +45676,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: @@ -45852,38 +45684,38 @@ public: }; // Alignment: 5 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x38]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x38]; // 0x11b8 public: - int32_t model_scale; // 0x1170 - float radius; // 0x1174 - int32_t splitshot_count; // 0x1178 - float debuff_duration; // 0x117c - float pct_for_moveslow; // 0x1180 + int32_t model_scale; // 0x11f0 + float radius; // 0x11f4 + int32_t splitshot_count; // 0x11f8 + float debuff_duration; // 0x11fc + float pct_for_moveslow; // 0x1200 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: - float m_fMovementSlow; // 0x1138 + float m_fMovementSlow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: - int32_t m_nInitialHealthBarOffset; // 0x1138 - int32_t colossus_model_scale; // 0x113c + int32_t m_nInitialHealthBarOffset; // 0x11b8 + int32_t colossus_model_scale; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: @@ -45995,21 +45827,21 @@ public: }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - float m_fAddInterval; // 0x1138 - GameTime_t m_fNextAddTime; // 0x113c - GameTime_t m_flStartTime; // 0x1140 - float m_flDamageScale; // 0x1144 - float duration; // 0x1148 - float attack_logic_duration; // 0x114c - int32_t speed_boost; // 0x1150 - int32_t num_adds; // 0x1154 - int32_t projectile_range; // 0x1158 - int32_t projectile_speed; // 0x115c - int32_t projectile_width; // 0x1160 + float m_fAddInterval; // 0x11b8 + GameTime_t m_fNextAddTime; // 0x11bc + GameTime_t m_flStartTime; // 0x11c0 + float m_flDamageScale; // 0x11c4 + float duration; // 0x11c8 + float attack_logic_duration; // 0x11cc + int32_t speed_boost; // 0x11d0 + int32_t num_adds; // 0x11d4 + int32_t projectile_range; // 0x11d8 + int32_t projectile_speed; // 0x11dc + int32_t projectile_width; // 0x11e0 }; // Alignment: 0 @@ -46021,15 +45853,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x1138 - float stun_duration; // 0x113c - int32_t stun_radius; // 0x1140 - int32_t damage; // 0x1144 - GameTime_t m_fStartTime; // 0x1148 + float delay; // 0x11b8 + float stun_duration; // 0x11bc + int32_t stun_radius; // 0x11c0 + int32_t damage; // 0x11c4 + GameTime_t m_fStartTime; // 0x11c8 }; // Alignment: 0 @@ -46041,19 +45873,19 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x1138 - int32_t m_nCurrentTick; // 0x1144 - float damage; // 0x1148 - int32_t break_distance; // 0x114c - float stun_duration; // 0x1150 + Vector m_vecStartPosition; // 0x11b8 + int32_t m_nCurrentTick; // 0x11c4 + float damage; // 0x11c8 + int32_t break_distance; // 0x11cc + float stun_duration; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -46069,30 +45901,30 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t movement_speed_pct; // 0x113c - int32_t spell_resist_pct; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x1148 + int32_t radius; // 0x11b8 + int32_t movement_speed_pct; // 0x11bc + int32_t spell_resist_pct; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x11c8 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t spell_resist_pct; // 0x113c - int32_t drag_speed; // 0x1140 - float aura_origin_x; // 0x1144 - float aura_origin_y; // 0x1148 - int32_t shard_dps; // 0x114c - int32_t shard_attack_speed_reduction; // 0x1150 - Vector m_vCenter; // 0x1154 + int32_t movement_speed_pct; // 0x11b8 + int32_t spell_resist_pct; // 0x11bc + int32_t drag_speed; // 0x11c0 + float aura_origin_x; // 0x11c4 + float aura_origin_y; // 0x11c8 + int32_t shard_dps; // 0x11cc + int32_t shard_attack_speed_reduction; // 0x11d0 + Vector m_vCenter; // 0x11d4 }; // Alignment: 0 @@ -46104,25 +45936,25 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 12 @@ -46153,13 +45985,32 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: - float dot_damage; // 0x1138 - float kill_pct; // 0x113c - CHandle< CBaseEntity > m_hFracturingEntity; // 0x1140 + float dot_damage; // 0x11b8 + float kill_pct; // 0x11bc + CHandle< CBaseEntity > m_hFracturingEntity; // 0x11c0 +}; + +// Alignment: 4 +// Size: 0x560 +class CDOTA_Ability_AncientApparition_IceAge : public CDOTABaseAbility +{ +public: + int32_t radius; // 0x550 + int32_t health_degen; // 0x554 + float duration; // 0x558 + int32_t damage; // 0x55c +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff +{ +public: + float damage; // 0x11b8 }; // Alignment: 0 @@ -46171,22 +46022,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff { public: - int32_t percent_damage_per_burn; // 0x1138 - int32_t mana_per_hit; // 0x113c - float mana_per_hit_pct; // 0x1140 - float slow_duration; // 0x1144 + int32_t percent_damage_per_burn; // 0x11b8 + int32_t mana_per_hit; // 0x11bc + float mana_per_hit_pct; // 0x11c0 + float slow_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 @@ -46206,7 +46057,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: @@ -46230,15 +46081,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: - int32_t shard_bonus_aura_range; // 0x1138 + int32_t shard_bonus_aura_range; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: @@ -46246,37 +46097,37 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: - int32_t shard_spell_damage_reduction_pct; // 0x1138 - int32_t shard_bonus_spell_damage_reduction_pct; // 0x113c + int32_t shard_spell_damage_reduction_pct; // 0x11b8 + int32_t shard_bonus_spell_damage_reduction_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x1138 + int32_t magic_resistance; // 0x11b8 }; // Alignment: 2 -// Size: 0x1308 +// Size: 0x1398 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x1138 - int32_t magic_resistance; // 0x1300 + CModifierParams m_LastParams; // 0x11b8 + int32_t magic_resistance; // 0x1390 }; // Alignment: 0 @@ -46288,7 +46139,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: @@ -46320,7 +46171,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: @@ -46328,13 +46179,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t heal_reduction; // 0x113c - int32_t cast_reduction; // 0x1140 + int32_t damage_reduction; // 0x11b8 + int32_t heal_reduction; // 0x11bc + int32_t cast_reduction; // 0x11c0 }; // Alignment: 1 @@ -46362,16 +46213,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: - int32_t m_nSource; // 0x1138 - float animation_rate; // 0x113c + int32_t m_nSource; // 0x11b8 + float animation_rate; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -46389,25 +46240,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: - int32_t fiend_grip_mana_drain; // 0x1138 - float fiend_grip_tick_interval; // 0x113c + int32_t fiend_grip_mana_drain; // 0x11b8 + float fiend_grip_tick_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: @@ -46415,7 +46266,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: @@ -46423,7 +46274,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: @@ -46439,26 +46290,26 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: - float order_lock_duration; // 0x1138 - GameTime_t m_fOrderLockDone; // 0x113c - int32_t m_nFXIndex; // 0x1140 - float shard_regen_pct; // 0x1144 + float order_lock_duration; // 0x11b8 + GameTime_t m_fOrderLockDone; // 0x11bc + int32_t m_nFXIndex; // 0x11c0 + float shard_regen_pct; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: @@ -46512,7 +46363,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: @@ -46520,7 +46371,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -46537,36 +46388,37 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: - int32_t rot_damage; // 0x1138 - int32_t rot_slow; // 0x113c - int32_t scepter_rot_regen_reduction_pct; // 0x1140 + int32_t rot_damage; // 0x11b8 + int32_t rot_slow; // 0x11bc + int32_t scepter_rot_regen_reduction_pct; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - GameTime_t m_flLastRotTime; // 0x114c - bool m_bQualifiesAsPotentionalDeny; // 0x1150 + GameTime_t m_flLastRotTime; // 0x11cc + bool m_bQualifiesAsPotentionalDeny; // 0x11d0 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: - float damage_block; // 0x1138 + float damage_block; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: - float magic_resistance; // 0x1138 - float damage_block; // 0x113c - float flesh_heap_strength_buff_amount; // 0x1140 + float magic_resistance; // 0x11b8 + float damage_block; // 0x11bc + float flesh_heap_strength_buff_amount; // 0x11c0 }; // Alignment: 2 @@ -46580,30 +46432,30 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: - int32_t dismember_damage; // 0x1138 - float strength_damage; // 0x113c - int32_t m_nTicks; // 0x1140 - int32_t m_nMaxTicks; // 0x1144 - float m_flTickRate; // 0x1148 - float animation_rate; // 0x114c + int32_t dismember_damage; // 0x11b8 + float strength_damage; // 0x11bc + int32_t m_nTicks; // 0x11c0 + int32_t m_nMaxTicks; // 0x11c4 + float m_flTickRate; // 0x11c8 + float animation_rate; // 0x11cc }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - int32_t pull_units_per_second; // 0x1144 - float pull_distance_limit; // 0x1148 + Vector m_vDestination; // 0x11b8 + int32_t pull_units_per_second; // 0x11c4 + float pull_distance_limit; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - float animation_rate; // 0x1154 + float animation_rate; // 0x11d4 }; // Alignment: 0 @@ -46671,26 +46523,26 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_radius; // 0x1138 - int32_t blade_fury_damage; // 0x113c - float blade_fury_damage_tick; // 0x1140 - float m_flTotalAppliedDamage; // 0x1144 - int32_t shard_bonus_move_speed; // 0x1148 - float shard_attack_rate; // 0x114c - GameTime_t m_flNextAttack; // 0x1150 - bool m_bIgnoreAttackRestriction; // 0x1154 + int32_t blade_fury_radius; // 0x11b8 + int32_t blade_fury_damage; // 0x11bc + float blade_fury_damage_tick; // 0x11c0 + float m_flTotalAppliedDamage; // 0x11c4 + int32_t shard_bonus_move_speed; // 0x11c8 + float shard_attack_rate; // 0x11cc + GameTime_t m_flNextAttack; // 0x11d0 + bool m_bIgnoreAttackRestriction; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: - int32_t shard_damage_pct; // 0x1138 + int32_t shard_damage_pct; // 0x11b8 }; // Alignment: 0 @@ -46702,15 +46554,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: - int32_t healing_ward_movespeed_tooltip; // 0x1138 + int32_t healing_ward_movespeed_tooltip; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: @@ -46718,12 +46570,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: - int32_t healing_ward_heal_amount; // 0x1138 - int32_t m_nStartingHealthThisInterval; // 0x113c + int32_t healing_ward_heal_amount; // 0x11b8 + int32_t m_nStartingHealthThisInterval; // 0x11bc }; // Alignment: 0 @@ -46735,15 +46587,15 @@ public: }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: - int32_t blade_dance_crit_mult; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - int32_t blade_dance_lifesteal; // 0x1140 - bool m_bHasCrit; // 0x1144 - bool m_bWasBladeDanceTriggeredCrit; // 0x1145 + int32_t blade_dance_crit_mult; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + int32_t blade_dance_lifesteal; // 0x11c0 + bool m_bHasCrit; // 0x11c4 + bool m_bWasBladeDanceTriggeredCrit; // 0x11c5 }; // Alignment: 0 @@ -46763,32 +46615,32 @@ public: }; // Alignment: 15 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - CHandle< CBaseEntity > m_hLastTarget; // 0x113c - int32_t m_nJumps; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t omni_slash_radius; // 0x114c - float attack_rate_multiplier; // 0x1150 - bool m_bFirstHit; // 0x1154 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + CHandle< CBaseEntity > m_hLastTarget; // 0x11bc + int32_t m_nJumps; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t omni_slash_radius; // 0x11cc + float attack_rate_multiplier; // 0x11d0 + bool m_bFirstHit; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_iTotalDamage; // 0x1158 - int32_t m_iHeroDamage; // 0x115c - int32_t m_iKilledHeroes; // 0x1160 - GameTime_t m_fNextAttackTime; // 0x1164 - bool m_bScepterCast; // 0x1168 - bool m_bReflection; // 0x1169 - bool m_bEndNext; // 0x116a + int32_t m_iTotalDamage; // 0x11d8 + int32_t m_iHeroDamage; // 0x11dc + int32_t m_iKilledHeroes; // 0x11e0 + GameTime_t m_fNextAttackTime; // 0x11e4 + bool m_bScepterCast; // 0x11e8 + bool m_bReflection; // 0x11e9 + bool m_bEndNext; // 0x11ea }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: @@ -46804,17 +46656,17 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: - int32_t blade_fury_damage; // 0x1138 - int32_t blade_dance_crit_chance; // 0x113c - int32_t blade_dance_crit_mult; // 0x1140 - float blade_fury_damage_tick; // 0x1144 - int32_t blade_fury_radius; // 0x1148 - int32_t bonus_evasion; // 0x114c - bool m_bTryToCrit; // 0x1150 + int32_t blade_fury_damage; // 0x11b8 + int32_t blade_dance_crit_chance; // 0x11bc + int32_t blade_dance_crit_mult; // 0x11c0 + float blade_fury_damage_tick; // 0x11c4 + int32_t blade_fury_radius; // 0x11c8 + int32_t bonus_evasion; // 0x11cc + bool m_bTryToCrit; // 0x11d0 }; // Alignment: 11 @@ -46839,16 +46691,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: - float animation_rate; // 0x1138 - int32_t bonus_damage; // 0x113c + float animation_rate; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: @@ -46865,20 +46717,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t turn_rate_pct; // 0x113c + int32_t movement_speed_pct; // 0x11b8 + int32_t turn_rate_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: - float shadowraze_cooldown; // 0x1138 + float shadowraze_cooldown; // 0x11b8 }; // Alignment: 0 @@ -46913,21 +46765,24 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: - int32_t presence_radius; // 0x1138 + int32_t presence_radius; // 0x11b8 + float kill_buff_duration; // 0x11bc + GameTime_t m_fLastStackChange; // 0x11c0 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: - int32_t presence_armor_reduction; // 0x1138 - bool m_bWasHidden; // 0x113c + int32_t presence_armor_reduction; // 0x11b8 + int32_t bonus_armor_per_stack; // 0x11bc + bool m_bWasHidden; // 0x11c0 }; // Alignment: 1 @@ -46955,31 +46810,31 @@ public: }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: - int32_t necromastery_damage_per_soul; // 0x1138 - int32_t necromastery_max_souls; // 0x113c - int32_t necromastery_max_souls_scepter; // 0x1140 - int32_t shard_crit_pct; // 0x1144 - int32_t shard_souls_per_kill; // 0x1148 - float shard_fear_duration; // 0x114c - ParticleIndex_t m_iParticleSoulsIndex; // 0x1150 - ParticleIndex_t m_FXIndex; // 0x1154 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + int32_t necromastery_damage_per_soul; // 0x11b8 + int32_t necromastery_max_souls; // 0x11bc + int32_t necromastery_max_souls_scepter; // 0x11c0 + int32_t shard_crit_pct; // 0x11c4 + int32_t shard_souls_per_kill; // 0x11c8 + float shard_fear_duration; // 0x11cc + ParticleIndex_t m_iParticleSoulsIndex; // 0x11d0 + ParticleIndex_t m_FXIndex; // 0x11d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: - bool bDisableInvis; // 0x1138 + bool bDisableInvis; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: @@ -46987,7 +46842,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: @@ -46995,15 +46850,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: @@ -47011,12 +46866,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: - int32_t requiem_reduction_ms; // 0x1138 - int32_t requiem_reduction_mres; // 0x113c + int32_t requiem_reduction_ms; // 0x11b8 + int32_t requiem_reduction_mres; // 0x11bc }; // Alignment: 0 @@ -47028,57 +46883,57 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: - float caustic_finale_duration; // 0x1138 + float caustic_finale_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: - int32_t caustic_finale_radius; // 0x1138 - int32_t caustic_finale_damage_base; // 0x113c - int32_t caustic_finale_damage_pct; // 0x1140 - int32_t caustic_finale_slow; // 0x1144 + int32_t caustic_finale_radius; // 0x11b8 + int32_t caustic_finale_damage_base; // 0x11bc + int32_t caustic_finale_damage_pct; // 0x11c0 + int32_t caustic_finale_slow; // 0x11c4 }; -// Alignment: 5 -// Size: 0x568 +// Alignment: 4 +// Size: 0x560 class CDOTA_Ability_SandKing_BurrowStrike : public CDOTABaseAbility { public: int32_t burrow_width; // 0x550 int32_t burrow_speed; // 0x554 int32_t burrow_speed_scepter; // 0x558 - float burrow_duration; // 0x55c - float burrow_anim_time; // 0x560 + float burrow_anim_time; // 0x55c }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - bool m_bDamageApplied; // 0x1140 + float m_flPower; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + bool m_bDamageApplied; // 0x11c4 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: - Vector m_vPopupLocation; // 0x1138 - bool m_bTeleported; // 0x1144 + Vector m_vPopupLocation; // 0x11b8 + bool m_bTeleported; // 0x11c4 }; // Alignment: 0 @@ -47089,81 +46944,82 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x1178 +// Alignment: 10 +// Size: 0x1200 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t sand_storm_radius; // 0x1148 - int32_t sand_storm_damage; // 0x114c - float damage_tick_rate; // 0x1150 - GameTime_t m_flLastDamageTime; // 0x1154 - ParticleIndex_t m_nSandStormParticleIndex1; // 0x1158 - ParticleIndex_t m_nSandStormParticleIndex2; // 0x115c + int32_t sand_storm_radius; // 0x11c8 + int32_t sand_storm_damage; // 0x11cc + float damage_tick_rate; // 0x11d0 + GameTime_t m_flLastDamageTime; // 0x11d4 + ParticleIndex_t m_nSandStormParticleIndex1; // 0x11d8 + ParticleIndex_t m_nSandStormParticleIndex2; // 0x11dc private: - [[maybe_unused]] uint8_t __pad1160[0x8]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x8]; // 0x11e0 public: - CHandle< CBaseEntity > m_hThinker; // 0x1168 - Vector vecSpawnPos; // 0x116c + CHandle< CBaseEntity > m_hThinker; // 0x11e8 + Vector vecSpawnPos; // 0x11ec + int32_t m_iExplosionQuadrant; // 0x11f8 + int32_t m_iExplosionDistance; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: - int32_t sand_storm_radius; // 0x1138 + int32_t sand_storm_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t blind; // 0x113c + int32_t slow; // 0x11b8 + int32_t blind; // 0x11bc }; -// Alignment: 1 +// Alignment: 2 // Size: 0x558 class CDOTA_Ability_SandKing_Epicenter : public CDOTABaseAbility { public: ParticleIndex_t m_nFXEpicenterIndex; // 0x550 + ParticleIndex_t m_nFXIndex; // 0x554 }; -// Alignment: 7 -// Size: 0x1198 +// Alignment: 6 +// Size: 0x1218 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: - int32_t epicenter_radius_base; // 0x1138 - int32_t epicenter_radius_increment; // 0x113c - int32_t epicenter_pulses; // 0x1140 - int32_t epicenter_radius[16]; // 0x1144 - int32_t epicenter_damage; // 0x1184 - int32_t m_iMaxPulses; // 0x1188 - int32_t m_iPulseCount; // 0x118c + int32_t epicenter_radius_base; // 0x11b8 + int32_t epicenter_radius_increment; // 0x11bc + int32_t epicenter_pulses; // 0x11c0 + int32_t epicenter_radius[16]; // 0x11c4 + int32_t m_iMaxPulses; // 0x1204 + int32_t m_iPulseCount; // 0x1208 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: - int32_t epicenter_slow; // 0x1138 - int32_t epicenter_slow_as; // 0x113c + int32_t epicenter_slow; // 0x11b8 + int32_t epicenter_slow_as; // 0x11bc }; -// Alignment: 4 -// Size: 0x1150 +// Alignment: 3 +// Size: 0x11d0 class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff { public: - int32_t shard_epicenter_pulse_damage_bonus; // 0x1138 - float shard_move_distance; // 0x113c - Vector vLastPos; // 0x1140 - float m_fAccumulatedDistance; // 0x114c + float shard_move_distance; // 0x11b8 + Vector vLastPos; // 0x11bc + float m_fAccumulatedDistance; // 0x11c8 }; // Alignment: 1 @@ -47175,29 +47031,29 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x1138 - bool bInBufferTime; // 0x113c + float interval_scepter; // 0x11b8 + bool bInBufferTime; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t damage; // 0x1140 - GameTime_t m_flLastApplyTime; // 0x1144 + int32_t damage; // 0x11c0 + GameTime_t m_flLastApplyTime; // 0x11c4 }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: - int32_t starfall_secondary_radius; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - int32_t m_iDamage; // 0x1140 - bool m_bStarDropped; // 0x1144 - bool m_bSecondStar; // 0x1145 + int32_t starfall_secondary_radius; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + int32_t m_iDamage; // 0x11c0 + bool m_bStarDropped; // 0x11c4 + bool m_bSecondStar; // 0x11c5 }; // Alignment: 7 @@ -47215,69 +47071,76 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; -// Alignment: 0 -// Size: 0x550 +// Alignment: 3 +// Size: 0x570 class CDOTA_Ability_Mirana_Leap : public CDOTABaseAbility { public: - // No members available + bool m_bIsVectorTargeted; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0551[0x3]; // 0x551 +public: + Vector m_vEndpoint; // 0x554 + Vector m_vLandPosition; // 0x560 }; -// Alignment: 18 -// Size: 0x1190 +// Alignment: 20 +// Size: 0x1220 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 + bool m_bIsVectorTargeted; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2 public: - int32_t leap_distance; // 0x1164 - float shard_radius; // 0x1168 - float shard_radius_end; // 0x116c - float shard_damage; // 0x1170 - float shard_slow_pct; // 0x1174 - float shard_slow_duration; // 0x1178 - float leap_speed; // 0x117c - float leap_acceleration; // 0x1180 - int32_t leap_radius; // 0x1184 - float leap_bonus_duration; // 0x1188 - bool m_bLaunched; // 0x118c + Vector m_vFaceDirection; // 0x11e4 + int32_t leap_distance; // 0x11f0 + float shard_radius; // 0x11f4 + float shard_radius_end; // 0x11f8 + float shard_damage; // 0x11fc + float shard_slow_pct; // 0x1200 + float shard_slow_duration; // 0x1204 + float leap_speed; // 0x1208 + float leap_acceleration; // 0x120c + int32_t leap_radius; // 0x1210 + float leap_bonus_duration; // 0x1214 + bool m_bLaunched; // 0x1218 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: - int32_t shard_slow_pct; // 0x1138 + int32_t shard_slow_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: - int32_t leap_speedbonus; // 0x1138 - int32_t leap_speedbonus_as; // 0x113c - bool m_bCritUsed; // 0x1140 + int32_t leap_speedbonus; // 0x11b8 + int32_t leap_speedbonus_as; // 0x11bc + bool m_bCritUsed; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x7]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x7]; // 0x11c1 public: - CUtlVector< int16 > m_vCritRecords; // 0x1148 + CUtlVector< int16 > m_vCritRecords; // 0x11c8 }; // Alignment: 0 @@ -47289,17 +47152,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: - float duration; // 0x1148 - int32_t bonus_movement_speed; // 0x114c - int32_t evasion; // 0x1150 + float duration; // 0x11c8 + int32_t bonus_movement_speed; // 0x11cc + int32_t evasion; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: @@ -47315,11 +47178,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x1138 + int32_t m_nHandle; // 0x11b8 }; // Alignment: 0 @@ -47330,20 +47193,21 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: - int32_t cleave_starting_width; // 0x1138 - int32_t cleave_ending_width; // 0x113c - int32_t cleave_distance; // 0x1140 - int32_t great_cleave_damage; // 0x1144 - int16_t m_nLastCleaveRecord; // 0x1148 + int32_t cleave_starting_width; // 0x11b8 + int32_t cleave_ending_width; // 0x11bc + int32_t cleave_distance; // 0x11c0 + int32_t great_cleave_damage; // 0x11c4 + int32_t strength_bonus; // 0x11c8 + int16_t m_nLastCleaveRecord; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a + [[maybe_unused]] uint8_t __pad11ce[0x2]; // 0x11ce public: - int32_t m_nLastCleaveKills; // 0x114c + int32_t m_nLastCleaveKills; // 0x11d0 }; // Alignment: 0 @@ -47355,28 +47219,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: - int32_t shard_passive_armor; // 0x1138 + int32_t shard_passive_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -47388,11 +47252,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: - int32_t gods_strength_damage; // 0x1138 + int32_t gods_strength_damage; // 0x11b8 }; // Alignment: 0 @@ -47468,21 +47332,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff { public: - int32_t blast_dot_damage; // 0x1138 - int32_t blast_slow; // 0x113c + int32_t blast_dot_damage; // 0x11b8 + int32_t blast_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_move_speed; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_move_speed; // 0x11bc }; // Alignment: 0 @@ -47493,43 +47357,45 @@ public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: - int32_t vampiric_aura; // 0x1138 - float skeleton_duration; // 0x113c - int32_t max_skeleton_charges; // 0x1140 - int32_t m_iKillCounter; // 0x1144 + int32_t vampiric_aura; // 0x11b8 + int32_t creep_vampiric_aura; // 0x11bc + float skeleton_duration; // 0x11c0 + int32_t max_skeleton_charges; // 0x11c4 + int32_t m_iKillCounter; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 + int32_t m_iCount; // 0x11b8 }; -// Alignment: 10 -// Size: 0x1158 +// Alignment: 11 +// Size: 0x11e0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_iBonusDamage; // 0x113c - bool m_bRespawnReady; // 0x1140 - bool m_bRespawnConsumed; // 0x1141 - bool m_bKillParentOnDestroy; // 0x1142 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_iBonusDamage; // 0x11bc + bool m_bRespawnReady; // 0x11c0 + bool m_bRespawnConsumed; // 0x11c1 + bool m_bKillParentOnDestroy; // 0x11c2 private: - [[maybe_unused]] uint8_t __pad1143[0x1]; // 0x1143 + [[maybe_unused]] uint8_t __pad11c3[0x1]; // 0x11c3 public: - GameTime_t m_flRespawnTime; // 0x1144 - int32_t vampiric_aura; // 0x1148 - int32_t gold_bounty; // 0x114c - int32_t xp_bounty; // 0x1150 - bool m_bFirstTick; // 0x1154 + GameTime_t m_flRespawnTime; // 0x11c4 + int32_t vampiric_aura; // 0x11c8 + int32_t gold_bounty; // 0x11cc + int32_t xp_bounty; // 0x11d0 + int32_t skeleton_building_damage_reduction; // 0x11d4 + bool m_bFirstTick; // 0x11d8 }; // Alignment: 0 @@ -47541,62 +47407,70 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_vCritRecords; // 0x1140 + CUtlVector< int16 > m_vCritRecords; // 0x11c0 }; -// Alignment: 0 -// Size: 0x550 +// Alignment: 1 +// Size: 0x558 class CDOTA_Ability_SkeletonKing_Reincarnation : public CDOTABaseAbility { public: - // No members available + bool m_bShouldUseResources; // 0x550 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x1138 - int32_t scepter_aura_radius; // 0x113c - GameTime_t m_fLastReincarnationTime; // 0x1140 + float reincarnate_time; // 0x11b8 + int32_t scepter_aura_radius; // 0x11bc + GameTime_t m_fLastReincarnationTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: - int32_t shard_skeleton_count; // 0x1138 + int32_t shard_skeleton_count; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t attackslow; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t attackslow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: - float scepter_duration; // 0x1138 + float scepter_duration; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff +{ +public: + float scepter_respawn_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: @@ -47604,11 +47478,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: - bool m_bHasCrit; // 0x1138 + bool m_bHasCrit; // 0x11b8 }; // Alignment: 0 @@ -47620,13 +47494,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x1138 - int32_t overload_damage; // 0x113c - int32_t shard_attack_speed_bonus; // 0x1140 + int32_t overload_aoe; // 0x11b8 + int32_t overload_damage; // 0x11bc + int32_t shard_attack_speed_bonus; // 0x11c0 }; // Alignment: 1 @@ -47638,16 +47512,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x1138 - int32_t static_remnant_damage_radius; // 0x113c - int32_t static_remnant_damage; // 0x1140 - float static_remnant_delay; // 0x1144 - int32_t m_iSearchRadius; // 0x1148 - int32_t m_iDamageRadius; // 0x114c + int32_t static_remnant_radius; // 0x11b8 + int32_t static_remnant_damage_radius; // 0x11bc + int32_t static_remnant_damage; // 0x11c0 + float static_remnant_delay; // 0x11c4 + int32_t m_iSearchRadius; // 0x11c8 + int32_t m_iDamageRadius; // 0x11cc }; // Alignment: 0 @@ -47659,25 +47533,25 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: - int32_t electric_vortex_self_slow; // 0x1138 + int32_t electric_vortex_self_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - int32_t electric_vortex_pull_distance; // 0x1144 - float electric_vortex_pull_tether_range; // 0x1148 + Vector m_vDestination; // 0x11b8 + int32_t electric_vortex_pull_distance; // 0x11c4 + float electric_vortex_pull_tether_range; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: @@ -47697,7 +47571,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: @@ -47705,20 +47579,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: - int32_t overload_aoe; // 0x1138 + int32_t overload_aoe; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: - int32_t overload_move_slow; // 0x1138 - int32_t overload_attack_slow; // 0x113c + int32_t overload_move_slow; // 0x11b8 + int32_t overload_attack_slow; // 0x11bc }; // Alignment: 12 @@ -47746,7 +47620,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: @@ -47754,19 +47628,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: - int32_t static_remnant_radius; // 0x1138 - int32_t static_remnant_damage_radius; // 0x113c - int32_t static_remnant_damage; // 0x1140 - float static_remnant_delay; // 0x1144 - float overload_duration; // 0x1148 + int32_t static_remnant_radius; // 0x11b8 + int32_t static_remnant_damage_radius; // 0x11bc + int32_t static_remnant_damage; // 0x11c0 + float static_remnant_delay; // 0x11c4 + float overload_duration; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: @@ -47796,15 +47670,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: @@ -47812,7 +47686,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: @@ -47828,7 +47702,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: @@ -47836,7 +47710,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: @@ -47844,11 +47718,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: - float trueshot_ranged_attack_speed; // 0x1138 + float trueshot_ranged_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -47860,43 +47734,43 @@ public: }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: - int32_t chance; // 0x1138 - ParticleIndex_t m_nFxIndex; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x1158 - int32_t bonus_factor; // 0x1170 - int32_t disable_range; // 0x1174 - int32_t agility_range; // 0x1178 - int32_t bonus_damage; // 0x117c - int32_t split_count; // 0x1180 - int32_t split_range; // 0x1184 - bool m_bGlacialAttack; // 0x1188 + int32_t chance; // 0x11b8 + ParticleIndex_t m_nFxIndex; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x11d8 + int32_t bonus_factor; // 0x11f0 + int32_t disable_range; // 0x11f4 + int32_t agility_range; // 0x11f8 + int32_t bonus_damage; // 0x11fc + int32_t split_count; // 0x1200 + int32_t split_range; // 0x1204 + bool m_bGlacialAttack; // 0x1208 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: - int32_t agility_multiplier; // 0x1138 - float agility_multiplier_ally; // 0x113c + int32_t agility_multiplier; // 0x11b8 + float agility_multiplier_ally; // 0x11bc }; // Alignment: 3 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: - int32_t split_damage_reduction; // 0x1138 + int32_t split_damage_reduction; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x1140 - CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1178 + CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11c0 + CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x11f8 }; // Alignment: 2 @@ -47909,50 +47783,60 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t shard_bonus_damage_per_stack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t shard_bonus_damage_per_stack; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: - int32_t frost_arrows_movement_speed; // 0x1138 - int32_t shard_max_stacks; // 0x113c - float shard_stack_duration; // 0x1140 + int32_t frost_arrows_movement_speed; // 0x11b8 + int32_t shard_max_stacks; // 0x11bc + float shard_stack_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: - int32_t shard_burst_move_slow_pct; // 0x1138 + int32_t shard_burst_move_slow_pct; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: - int32_t shard_regen_reduction_pct_per_stack; // 0x1138 - int32_t shard_burst_radius; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 + int32_t shard_regen_reduction_pct_per_stack; // 0x11b8 + int32_t shard_burst_radius; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff +{ +public: + int32_t multishot_arrow_bonus; // 0x11b8 + int32_t end_height; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 +}; + // Alignment: 12 // Size: 0x618 class CDOTA_Ability_DrowRanger_Multishot : public CDOTABaseAbility @@ -47976,31 +47860,31 @@ public: }; // Alignment: 13 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x1138 - Vector m_vOriginalTarget; // 0x113c - int32_t arrow_width; // 0x1148 - float arrow_speed; // 0x114c - float arrow_range_multiplier; // 0x1150 - int32_t wave_count; // 0x1154 - int32_t arrow_count_per_wave; // 0x1158 - int32_t arrow_angle; // 0x115c - int32_t m_iLoopCount; // 0x1160 - float m_flInterval; // 0x1164 - float m_flCycleDelay; // 0x1168 - float m_flTimeWaste; // 0x116c - GameTime_t m_flExpectedTime; // 0x1170 + int32_t m_iArrowCount; // 0x11b8 + Vector m_vOriginalTarget; // 0x11bc + int32_t arrow_width; // 0x11c8 + float arrow_speed; // 0x11cc + float arrow_range_multiplier; // 0x11d0 + int32_t wave_count; // 0x11d4 + int32_t arrow_count_per_wave; // 0x11d8 + int32_t arrow_angle; // 0x11dc + int32_t m_iLoopCount; // 0x11e0 + float m_flInterval; // 0x11e4 + float m_flCycleDelay; // 0x11e8 + float m_flTimeWaste; // 0x11ec + GameTime_t m_flExpectedTime; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: - int32_t arrow_damage_pct; // 0x1138 + int32_t arrow_damage_pct; // 0x11b8 }; // Alignment: 0 @@ -48068,23 +47952,74 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: - PlayerID_t m_nPlayerID_Drow; // 0x1138 + PlayerID_t m_nPlayerID_Drow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: - bool m_bFlawlessVictoryProgressGranted; // 0x1138 + bool m_bFlawlessVictoryProgressGranted; // 0x11b8 +}; + +// Alignment: 10 +// Size: 0x5b8 +class CDOTA_Ability_Drow_Ranger_Glacier : public CDOTABaseAbility +{ +public: + int32_t shard_width; // 0x550 + int32_t shard_count; // 0x554 + float shard_duration; // 0x558 + float shard_angle_step; // 0x55c + int32_t shard_distance; // 0x560 + Vector m_vSpawnOrigin; // 0x564 + Vector m_vDirection; // 0x570 +private: + [[maybe_unused]] uint8_t __pad057c[0x4]; // 0x57c +public: + CUtlVector< CHandle< CBaseEntity > > m_vecShards; // 0x580 +private: + [[maybe_unused]] uint8_t __pad0598[0x8]; // 0x598 +public: + CDOTABaseAbility* m_pIceShardsStop; // 0x5a0 +private: + [[maybe_unused]] uint8_t __pad05a8[0x8]; // 0x5a8 +public: + ParticleIndex_t m_nFXIndex; // 0x5b0 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff +{ +public: + int32_t shard_width; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff +{ +public: + float z_speed_override; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff +{ +public: + uint32_t m_unOccluderID; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: @@ -48092,14 +48027,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: - int32_t m_nComboCount; // 0x1138 - float m_flComboWindow; // 0x113c - float m_flComboDisplayInterval; // 0x1140 - float m_flDamageDone; // 0x1144 + int32_t m_nComboCount; // 0x11b8 + float m_flComboWindow; // 0x11bc + float m_flComboDisplayInterval; // 0x11c0 + float m_flDamageDone; // 0x11c4 }; // Alignment: 0 @@ -48111,19 +48046,19 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: - int32_t shard_aftershock_stun_duration_pct; // 0x1138 - float shard_free_pathing_linger_duration; // 0x113c - Vector m_vStartPos; // 0x1140 - Vector m_vEndPos; // 0x114c - GameTime_t m_flEndTime; // 0x1158 + int32_t shard_aftershock_stun_duration_pct; // 0x11b8 + float shard_free_pathing_linger_duration; // 0x11bc + Vector m_vStartPos; // 0x11c0 + Vector m_vEndPos; // 0x11cc + GameTime_t m_flEndTime; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: @@ -48131,7 +48066,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: @@ -48139,7 +48074,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: @@ -48147,7 +48082,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: @@ -48163,34 +48098,34 @@ public: }; // Alignment: 15 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x4]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x4]; // 0x11b8 public: - Vector m_vLoc; // 0x113c - float m_flPredictedTotalTime; // 0x1148 - Vector m_vStartPosition; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bHorizontalMotionInterrupted; // 0x1160 - bool m_bDamageApplied; // 0x1161 - bool m_bTargetTeleported; // 0x1162 + Vector m_vLoc; // 0x11bc + float m_flPredictedTotalTime; // 0x11c8 + Vector m_vStartPosition; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bHorizontalMotionInterrupted; // 0x11e0 + bool m_bDamageApplied; // 0x11e1 + bool m_bTargetTeleported; // 0x11e2 private: - [[maybe_unused]] uint8_t __pad1163[0x1]; // 0x1163 + [[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3 public: - Vector m_vHorizontalVelocity; // 0x1164 - Vector m_vLastKnownTargetPosition; // 0x1170 - float m_flInitialVelocityZ; // 0x117c - int32_t scepter_height; // 0x1180 - int32_t scepter_height_arcbuffer; // 0x1184 - int32_t scepter_acceleration_z; // 0x1188 - int32_t scepter_acceleration_horizontal; // 0x118c + Vector m_vHorizontalVelocity; // 0x11e4 + Vector m_vLastKnownTargetPosition; // 0x11f0 + float m_flInitialVelocityZ; // 0x11fc + int32_t scepter_height; // 0x1200 + int32_t scepter_height_arcbuffer; // 0x1204 + int32_t scepter_acceleration_z; // 0x1208 + int32_t scepter_acceleration_horizontal; // 0x120c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: @@ -48198,20 +48133,20 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t totem_damage_percentage; // 0x113c - int32_t scepter_cleave_pct; // 0x1140 - float scepter_cleave_starting_width; // 0x1144 - float scepter_cleave_ending_width; // 0x1148 - float scepter_cleave_distance; // 0x114c + int32_t bonus_attack_range; // 0x11b8 + int32_t totem_damage_percentage; // 0x11bc + int32_t scepter_cleave_pct; // 0x11c0 + float scepter_cleave_starting_width; // 0x11c4 + float scepter_cleave_ending_width; // 0x11c8 + float scepter_cleave_distance; // 0x11cc private: - [[maybe_unused]] uint8_t __pad1150[0x8]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x8]; // 0x11d0 public: - bool bActive; // 0x1158 + bool bActive; // 0x11d8 }; // Alignment: 0 @@ -48223,15 +48158,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x1138 + int32_t aftershock_range; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: @@ -48251,7 +48186,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: @@ -48259,7 +48194,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: @@ -48267,12 +48202,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 1 @@ -48298,7 +48233,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: @@ -48306,65 +48241,65 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - int32_t damage_reduction_pct; // 0x113c + int32_t armor_reduction; // 0x11b8 + int32_t damage_reduction_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x1138 + CHandle< CBaseEntity > hTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_base_damage; // 0x1138 + int32_t bonus_base_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 + int32_t bonus_damage_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -48383,16 +48318,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: - float damage_reduction; // 0x1138 - ParticleIndex_t nFXIndex; // 0x113c + float damage_reduction; // 0x11b8 + ParticleIndex_t nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: @@ -48400,19 +48335,19 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x1138 + bool m_bLeftoverHybrid; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t scepter_illusion_ms_bonus_pct; // 0x113c + int32_t scepter_illusion_ms_bonus_pct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: @@ -48428,16 +48363,16 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: - Vector m_vPathStart; // 0x1138 - Vector m_vPathEnd; // 0x1144 + Vector m_vPathStart; // 0x11b8 + Vector m_vPathEnd; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: @@ -48445,7 +48380,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: @@ -48461,12 +48396,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 0 @@ -48478,14 +48413,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t creep_damage_per_second; // 0x1140 - float tick_interval; // 0x1144 + int32_t max_ticks; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t creep_damage_per_second; // 0x11c0 + float tick_interval; // 0x11c4 }; // Alignment: 0 @@ -48497,7 +48432,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: @@ -48505,14 +48440,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: - float base_mana_regen; // 0x1138 - float self_factor; // 0x113c - float proximity_bonus_factor; // 0x1140 - int32_t proximity_bonus_radius; // 0x1144 + float base_mana_regen; // 0x11b8 + float self_factor; // 0x11bc + float proximity_bonus_factor; // 0x11c0 + int32_t proximity_bonus_radius; // 0x11c4 }; // Alignment: 0 @@ -48532,51 +48467,51 @@ public: }; // Alignment: 22 -// Size: 0x11c0 +// Size: 0x1240 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - int32_t bonus_armor; // 0x1140 - float explosion_interval; // 0x1144 - float shard_bonus_explosion; // 0x1148 - int32_t explosion_radius; // 0x114c - float slow_duration; // 0x1150 - int32_t explosion_min_dist; // 0x1154 - int32_t explosion_max_dist; // 0x1158 - float frostbite_delay; // 0x115c - GameTime_t m_fLastTick; // 0x1160 - float m_fTimeAccumulator; // 0x1164 - int32_t m_iExplosionCount; // 0x1168 - int32_t m_iExplosionTotalCount; // 0x116c - int32_t m_iExplosionQuadrant; // 0x1170 - int32_t m_iExplosionDistance; // 0x1174 - int32_t shard_self_movement_speed_slow_pct; // 0x1178 - ParticleIndex_t m_nFXIndex; // 0x117c + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float explosion_interval; // 0x11c4 + float shard_bonus_explosion; // 0x11c8 + int32_t explosion_radius; // 0x11cc + float slow_duration; // 0x11d0 + int32_t explosion_min_dist; // 0x11d4 + int32_t explosion_max_dist; // 0x11d8 + float frostbite_delay; // 0x11dc + GameTime_t m_fLastTick; // 0x11e0 + float m_fTimeAccumulator; // 0x11e4 + int32_t m_iExplosionCount; // 0x11e8 + int32_t m_iExplosionTotalCount; // 0x11ec + int32_t m_iExplosionQuadrant; // 0x11f0 + int32_t m_iExplosionDistance; // 0x11f4 + int32_t shard_self_movement_speed_slow_pct; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x11fc private: - [[maybe_unused]] uint8_t __pad1180[0x8]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1188 - CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x11a0 - bool m_bHitInvisibleHero; // 0x11b8 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1208 + CUtlVector< CHandle< CBaseEntity > > m_hHitHeroes; // 0x1220 + bool m_bHitInvisibleHero; // 0x1238 private: - [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 + [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 public: - int32_t can_move; // 0x11bc + int32_t can_move; // 0x123c }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: @@ -48592,40 +48527,40 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float rink_formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float rink_formation_time; // 0x11bc + bool m_bActive; // 0x11c0 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: - bool m_bHitFirstUpdate; // 0x1138 + bool m_bHitFirstUpdate; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float flMovementSpeed; // 0x113c - float m_flTurnBoostProgress; // 0x1140 - float m_flFacingTarget; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flHitEndTime; // 0x114c - float hit_recover_time; // 0x1150 - Vector m_vDirection; // 0x1154 + float flMovementSpeed; // 0x11bc + float m_flTurnBoostProgress; // 0x11c0 + float m_flFacingTarget; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flHitEndTime; // 0x11cc + float hit_recover_time; // 0x11d0 + Vector m_vDirection; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc }; // Alignment: 1 @@ -48637,29 +48572,29 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t slow; // 0x113c - int32_t scepter_armor_change; // 0x1140 + int32_t damage_per_second; // 0x11b8 + int32_t slow; // 0x11bc + int32_t scepter_armor_change; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: - int32_t scepter_armor_change; // 0x1138 + int32_t scepter_armor_change; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 0 @@ -48671,20 +48606,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -48695,22 +48630,21 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t trigger_chance; // 0x113c - GameTime_t m_fLastProc; // 0x1140 + int32_t radius; // 0x11b8 + int32_t trigger_attacks; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: - int32_t shard_damage_reduction; // 0x1138 + int32_t shard_damage_reduction; // 0x11b8 }; // Alignment: 3 @@ -48729,7 +48663,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: @@ -48737,7 +48671,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: @@ -48745,24 +48679,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t atk_speed_bonus; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t atk_speed_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: - float armor_per_stack; // 0x1138 + float armor_per_stack; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: @@ -48778,24 +48712,24 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t leap_distance; // 0x1164 - int32_t leap_radius; // 0x1168 - float leap_speed; // 0x116c - float leap_acceleration; // 0x1170 + int32_t leap_distance; // 0x11e4 + int32_t leap_radius; // 0x11e8 + float leap_speed; // 0x11ec + float leap_acceleration; // 0x11f0 }; // Alignment: 0 @@ -48855,15 +48789,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t spell_amp; // 0x113c - float shard_max_health_dmg_pct; // 0x1140 - float damage_pct; // 0x1144 - float flTickRate; // 0x1148 + int32_t attack_speed; // 0x11b8 + int32_t spell_amp; // 0x11bc + float shard_max_health_dmg_pct; // 0x11c0 + float damage_pct; // 0x11c4 + float flTickRate; // 0x11c8 }; // Alignment: 0 @@ -48875,28 +48809,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: - int32_t hero_kill_heal; // 0x1138 - int32_t creep_kill_heal; // 0x113c - int32_t half_bonus_aoe; // 0x1140 - int32_t visibility_threshold_pct; // 0x1144 - int32_t invis_threshold_pct; // 0x1148 - int32_t min_bonus_pct; // 0x114c - int32_t max_bonus_pct; // 0x1150 - int32_t bonus_movement_speed; // 0x1154 - float linger_duration; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c + int32_t hero_kill_heal; // 0x11b8 + int32_t creep_kill_heal; // 0x11bc + int32_t half_bonus_aoe; // 0x11c0 + int32_t visibility_threshold_pct; // 0x11c4 + int32_t invis_threshold_pct; // 0x11c8 + int32_t min_bonus_pct; // 0x11cc + int32_t max_bonus_pct; // 0x11d0 + int32_t bonus_movement_speed; // 0x11d4 + float linger_duration; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc }; // Alignment: 0 @@ -48908,23 +48842,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x1138 + int32_t invis_threshold_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: - CUtlSymbolLarge m_iszModifierString; // 0x1138 + CUtlSymbolLarge m_iszModifierString; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -48940,18 +48874,18 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: - int32_t movement_damage_pct; // 0x1138 - float hp_pct; // 0x113c - Vector vLastPos; // 0x1140 - bool bResetPosition; // 0x114c + int32_t movement_damage_pct; // 0x11b8 + float hp_pct; // 0x11bc + Vector vLastPos; // 0x11c0 + bool bResetPosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fAccumulatedDamage; // 0x1150 + float m_fAccumulatedDamage; // 0x11d0 }; // Alignment: 0 @@ -48962,36 +48896,54 @@ public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff +{ +public: + GameTime_t flLastGameTime; // 0x11b8 + float m_flCurrentShield; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff +{ +public: + // No members available +}; + // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; -// Alignment: 1 -// Size: 0x568 +// Alignment: 2 +// Size: 0x558 class CDOTA_Ability_PhantomLancer_SpiritLance : public CDOTABaseAbility { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x550 + CHandle< CBaseEntity > m_hLastHitEntity; // 0x550 + int32_t m_nBounceCount; // 0x554 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 0 @@ -49003,55 +48955,71 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff { public: - Vector vTargetPosition; // 0x1138 + Vector vTargetPosition; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff { public: - float flDamageTaken; // 0x1138 + float flDamageTaken; // 0x11b8 }; -// Alignment: 0 -// Size: 0x550 +// Alignment: 1 +// Size: 0x558 class CDOTA_Ability_PhantomLancer_Juxtapose : public CDOTABaseAbility { public: - // No members available + CHandle< CBaseEntity > m_hInvisIllusion; // 0x550 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff +{ +public: + PlayerID_t m_nControllingPlayer; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11d0 +class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible +{ +public: + float invis_movespeed; // 0x11c8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: - int32_t max_illusions; // 0x1138 - int32_t scepter_bonus_illusions; // 0x113c - float illusion_duration; // 0x1140 - int32_t illusion_damage_out_pct; // 0x1144 - int32_t illusion_damage_in_pct; // 0x1148 - float scepter_bonus_duration; // 0x114c - int32_t m_iIllusionsSoFar; // 0x1150 + int32_t max_illusions; // 0x11b8 + int32_t scepter_bonus_illusions; // 0x11bc + float illusion_duration; // 0x11c0 + int32_t illusion_damage_out_pct; // 0x11c4 + int32_t illusion_damage_in_pct; // 0x11c8 + float scepter_bonus_duration; // 0x11cc + int32_t m_iIllusionsSoFar; // 0x11d0 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: - int32_t proc_chance_pct; // 0x1138 - int32_t illusion_proc_chance_pct; // 0x113c - int32_t max_illusions; // 0x1140 - float illusion_duration; // 0x1144 - int32_t illusion_damage_out_pct; // 0x1148 - int32_t illusion_damage_in_pct; // 0x114c - int32_t scepter_bonus_illusions; // 0x1150 + int32_t proc_chance_pct; // 0x11b8 + int32_t illusion_proc_chance_pct; // 0x11bc + int32_t max_illusions; // 0x11c0 + float illusion_duration; // 0x11c4 + int32_t illusion_damage_out_pct; // 0x11c8 + int32_t illusion_damage_in_pct; // 0x11cc + int32_t shard_bonus_illusions; // 0x11d0 }; // Alignment: 0 @@ -49063,43 +49031,43 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: - int32_t min_distance; // 0x1138 - int32_t max_distance; // 0x113c - CHandle< CBaseEntity > m_hTarget; // 0x1140 + int32_t min_distance; // 0x11b8 + int32_t max_distance; // 0x11bc + CHandle< CBaseEntity > m_hTarget; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x1138 - float agility_duration; // 0x113c - bool m_bGiveAgility; // 0x1140 + int32_t bonus_speed; // 0x11b8 + float agility_duration; // 0x11bc + bool m_bGiveAgility; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - CHandle< CBaseEntity > m_hTarget; // 0x1144 + CHandle< CBaseEntity > m_hTarget; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: - bool m_bstrongIllusion; // 0x1138 + bool m_bstrongIllusion; // 0x11b8 }; // Alignment: 0 @@ -49167,31 +49135,31 @@ public: }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bContracting; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bContracting; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage_min; // 0x1188 - int32_t damage_max; // 0x118c - int32_t slow_min; // 0x1190 - int32_t slow_max; // 0x1194 - float slow_duration; // 0x1198 - bool m_bHasCreatedFx; // 0x119c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + float damage_min; // 0x1208 + float damage_max; // 0x120c + int32_t slow_min; // 0x1210 + int32_t slow_max; // 0x1214 + float slow_duration; // 0x1218 + bool m_bHasCreatedFx; // 0x121c }; // Alignment: 4 @@ -49209,44 +49177,44 @@ public: }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: - float flSmoothness; // 0x1138 - float drain_duration; // 0x113c - int32_t drain_rate; // 0x1140 - int32_t drain_range; // 0x1144 - int32_t drain_range_buffer; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x114c - int32_t m_iTotalDrainAmount; // 0x1150 - ParticleIndex_t m_iLinkIndex; // 0x1154 - CDOTA_Buff* m_pBuffPositive; // 0x1158 - CDOTA_Buff* m_pNegative; // 0x1160 + float flSmoothness; // 0x11b8 + float drain_duration; // 0x11bc + int32_t drain_rate; // 0x11c0 + int32_t drain_range; // 0x11c4 + int32_t drain_range_buffer; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11cc + int32_t m_iTotalDrainAmount; // 0x11d0 + ParticleIndex_t m_iLinkIndex; // 0x11d4 + CDOTA_Buff* m_pBuffPositive; // 0x11d8 + CDOTA_Buff* m_pNegative; // 0x11e0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t drain_rate; // 0x113c - float drain_length; // 0x1140 - int32_t attack_speed_factor; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t drain_rate; // 0x11bc + float drain_length; // 0x11c0 + int32_t attack_speed_factor; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t attack_speed_factor; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t attack_speed_factor; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: @@ -49262,44 +49230,44 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: - int32_t self_movement_speed_pct; // 0x1138 - int32_t shard_pct_chance; // 0x113c - int32_t shard_damage; // 0x1140 - int32_t shard_move_slow_pct; // 0x1144 - int32_t shard_search_radius; // 0x1148 - int32_t shard_target_count; // 0x114c - float shard_slow_duration; // 0x1150 - float shard_internal_cd; // 0x1154 - GameTime_t m_flNextShardProcTime; // 0x1158 + int32_t self_movement_speed_pct; // 0x11b8 + int32_t shard_pct_chance; // 0x11bc + int32_t shard_damage; // 0x11c0 + int32_t shard_move_slow_pct; // 0x11c4 + int32_t shard_search_radius; // 0x11c8 + int32_t shard_target_count; // 0x11cc + float shard_slow_duration; // 0x11d0 + float shard_internal_cd; // 0x11d4 + GameTime_t m_flNextShardProcTime; // 0x11d8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: - int32_t shard_damage; // 0x1138 - float shard_slow_duration; // 0x113c + int32_t shard_damage; // 0x11b8 + float shard_slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x1138 + int32_t shard_move_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 0 @@ -49311,28 +49279,28 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: - int32_t passive_area_damage; // 0x1138 - float passive_area_interval; // 0x113c - int32_t radius; // 0x1140 - bool m_bHitNext; // 0x1144 + int32_t passive_area_damage; // 0x11b8 + float passive_area_interval; // 0x11bc + int32_t radius; // 0x11c0 + bool m_bHitNext; // 0x11c4 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t armor_reduction; // 0x113c - int32_t damage; // 0x1140 + int32_t radius; // 0x11b8 + int32_t armor_reduction; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: @@ -49388,29 +49356,29 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: - bool m_bIsMeleeAttack; // 0x1138 - bool m_bTauntQueued; // 0x1139 + bool m_bIsMeleeAttack; // 0x11b8 + bool m_bTauntQueued; // 0x11b9 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: - ParticleIndex_t m_nEmpoweredBodyFX; // 0x1138 - ParticleIndex_t m_nEmpoweredWeaponFX; // 0x113c + ParticleIndex_t m_nEmpoweredBodyFX; // 0x11b8 + ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 2 @@ -49433,15 +49401,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - float m_flStunDuration; // 0x113c - int32_t light_strike_array_aoe; // 0x1140 - int32_t light_strike_array_damage; // 0x1144 - float light_strike_array_stun_duration; // 0x1148 + int32_t m_iDamage; // 0x11b8 + float m_flStunDuration; // 0x11bc + int32_t light_strike_array_aoe; // 0x11c0 + int32_t light_strike_array_damage; // 0x11c4 + float light_strike_array_stun_duration; // 0x11c8 }; // Alignment: 0 @@ -49453,17 +49421,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: - int32_t fiery_soul_attack_speed_bonus; // 0x1138 - float fiery_soul_move_speed_bonus; // 0x113c - int32_t fiery_soul_max_stacks; // 0x1140 - float fiery_soul_stack_duration; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - GameTime_t m_flFierySoulDieTime; // 0x114c - GameTime_t m_flLastFierySoalFullStackTime; // 0x1150 + int32_t fiery_soul_attack_speed_bonus; // 0x11b8 + float fiery_soul_move_speed_bonus; // 0x11bc + int32_t fiery_soul_max_stacks; // 0x11c0 + float fiery_soul_stack_duration; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + GameTime_t m_flFierySoulDieTime; // 0x11cc + GameTime_t m_flLastFierySoalFullStackTime; // 0x11d0 }; // Alignment: 1 @@ -49475,20 +49443,28 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff { public: - Vector vStart; // 0x1138 - Vector vEnd; // 0x1144 + Vector vStart; // 0x11b8 + Vector vEnd; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff +{ +public: + int32_t increased_damage; // 0x11b8 }; // Alignment: 0 @@ -49500,13 +49476,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: - int32_t magic_resistance; // 0x1138 - int32_t spell_amp; // 0x113c - float visualzdelta; // 0x1140 + int32_t magic_resistance; // 0x11b8 + int32_t spell_amp; // 0x11bc + float visualzdelta; // 0x11c0 }; // Alignment: 0 @@ -49566,7 +49542,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -49587,7 +49563,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: @@ -49611,22 +49587,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: - Vector m_vStartPos; // 0x1138 - Vector m_vDirection; // 0x1144 - float m_flTotalDistance; // 0x1150 - float m_flCurTime; // 0x1154 + Vector m_vStartPos; // 0x11b8 + Vector m_vDirection; // 0x11c4 + float m_flTotalDistance; // 0x11d0 + float m_flCurTime; // 0x11d4 }; // Alignment: 0 @@ -49638,12 +49614,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - int32_t bonus_attributes; // 0x113c + float tick_rate; // 0x11b8 + int32_t bonus_attributes; // 0x11bc }; // Alignment: 0 @@ -49655,13 +49631,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: - int32_t mana_cost; // 0x1138 - int32_t points_per_tick; // 0x113c - float morph_cooldown; // 0x1140 + int32_t mana_cost; // 0x11b8 + int32_t points_per_tick; // 0x11bc + float morph_cooldown; // 0x11c0 }; // Alignment: 0 @@ -49673,13 +49649,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: - int32_t mana_cost; // 0x1138 - int32_t points_per_tick; // 0x113c - float morph_cooldown; // 0x1140 + int32_t mana_cost; // 0x11b8 + int32_t points_per_tick; // 0x11bc + float morph_cooldown; // 0x11c0 }; // Alignment: 1 @@ -49700,70 +49676,89 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_status_resist; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nAgiSteal; // 0x1144 - int32_t nIntSteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_status_resist; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nAgiSteal; // 0x11c4 + int32_t nIntSteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_status_resist; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_status_resist; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_attack_speed; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nAgilitySteal; // 0x1144 - int32_t nIntSteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nAgilitySteal; // 0x11c4 + int32_t nIntSteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_attack_speed; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_spell_amplify; // 0x113c - int32_t nStrengthSteal; // 0x1140 - int32_t nIntSteal; // 0x1144 - int32_t nAgilitySteal; // 0x1148 + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_spell_amplify; // 0x11bc + int32_t nStrengthSteal; // 0x11c0 + int32_t nIntSteal; // 0x11c4 + int32_t nAgilitySteal; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: - int32_t scepter_stat_steal; // 0x1138 - int32_t scepter_spell_amplify; // 0x113c + int32_t scepter_stat_steal; // 0x11b8 + int32_t scepter_spell_amplify; // 0x11bc +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff +{ +public: + int32_t scepter_stat_steal; // 0x11b8 + int32_t nStrengthSteal; // 0x11bc + int32_t nAgiSteal; // 0x11c0 + int32_t nIntSteal; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff +{ +public: + int32_t scepter_stat_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: @@ -49771,35 +49766,35 @@ public: }; // Alignment: 15 -// Size: 0x11c8 +// Size: 0x1248 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x1138 - float m_flBaseAttackRange; // 0x113c - float m_flBaseMovementSpeed; // 0x1140 + CHandle< CBaseEntity > m_hTinyTreeWearable; // 0x11b8 + float m_flBaseAttackRange; // 0x11bc + float m_flBaseMovementSpeed; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszModelName; // 0x1148 - CUtlSymbolLarge m_iszProjectileName; // 0x1150 - CUtlSymbolLarge m_iszOriginalModel; // 0x1158 - int32_t m_nCopiedHeroID; // 0x1160 - float m_fOriginalModelScale; // 0x1164 - CUtlVector< CEconItemView* > m_vecOriginalItems; // 0x1168 + CUtlSymbolLarge m_iszModelName; // 0x11c8 + CUtlSymbolLarge m_iszProjectileName; // 0x11d0 + CUtlSymbolLarge m_iszOriginalModel; // 0x11d8 + int32_t m_nCopiedHeroID; // 0x11e0 + float m_fOriginalModelScale; // 0x11e4 + CUtlVector< CEconItemView* > m_vecOriginalItems; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1180[0x30]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x30]; // 0x1200 public: - float m_flOriginalStr; // 0x11b0 - float m_flOriginalAgi; // 0x11b4 - float m_flOriginalInt; // 0x11b8 - int32_t m_iOriginalAttackCapability; // 0x11bc - float m_flOriginalHealthPercentage; // 0x11c0 - float m_flOriginalManaPercentage; // 0x11c4 + float m_flOriginalStr; // 0x1230 + float m_flOriginalAgi; // 0x1234 + float m_flOriginalInt; // 0x1238 + int32_t m_iOriginalAttackCapability; // 0x123c + float m_flOriginalHealthPercentage; // 0x1240 + float m_flOriginalManaPercentage; // 0x1244 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: @@ -49807,7 +49802,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: @@ -49823,7 +49818,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: @@ -49831,13 +49826,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t aspd_slow; // 0x113c - int32_t cast_slow; // 0x1140 + int32_t move_slow; // 0x11b8 + int32_t aspd_slow; // 0x11bc + int32_t cast_slow; // 0x11c0 }; // Alignment: 0 @@ -49848,22 +49843,24 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x1170 +// Alignment: 9 +// Size: 0x11f8 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t jump_count; // 0x113c - int32_t arc_damage; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + int32_t radius; // 0x11b8 + int32_t jump_count; // 0x11bc + int32_t arc_damage; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t damage_health_pct; // 0x11c8 + int32_t total_damage_pct; // 0x11cc + int32_t m_iCurJumpCount; // 0x11d0 + Vector m_vCurTargetLoc; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: @@ -49887,7 +49884,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: @@ -49903,30 +49900,43 @@ public: bool m_bZeusHasArcana; // 0x554 }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 8 +// Size: 0x11f0 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: - // No members available + int32_t damage; // 0x11b8 + float sight_duration; // 0x11bc + int32_t second_strike_damage_percent; // 0x11c0 + float second_strike_delay; // 0x11c4 + bool m_bZeusHasArcana; // 0x11c8 +private: + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 +public: + CUtlVector< CHandle< CBaseEntity > > m_hTargetEntities; // 0x11d0 + bool m_bSecondaryStrike; // 0x11e8 +private: + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 +public: + int32_t m_nKills; // 0x11ec }; // Alignment: 0 -// Size: 0x558 -class CDOTA_Ability_Zuus_ThundergodsVengeance : public CDOTA_Ability_Zuus_ThundergodsWrath +// Size: 0x11b8 +class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: - CountdownTimer m_CloudBoltTimer; // 0x1138 - float cloud_bolt_interval; // 0x1150 - int32_t cloud_radius; // 0x1154 + CountdownTimer m_CloudBoltTimer; // 0x11b8 + float cloud_bolt_interval; // 0x11d0 + int32_t cloud_radius; // 0x11d4 }; // Alignment: 0 @@ -49938,32 +49948,32 @@ public: }; // Alignment: 11 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: - float hop_duration; // 0x1138 - int32_t hop_height; // 0x113c - int32_t hop_distance; // 0x1140 - int32_t search_radius; // 0x1144 - float m_flStartZ; // 0x1148 - float m_flCurTime; // 0x114c - float m_flJumpDuration; // 0x1150 - float m_flJumpHeight; // 0x1154 - Vector m_vTargetHorizontalDirection; // 0x1158 + float hop_duration; // 0x11b8 + int32_t hop_height; // 0x11bc + int32_t hop_distance; // 0x11c0 + int32_t search_radius; // 0x11c4 + float m_flStartZ; // 0x11c8 + float m_flCurTime; // 0x11cc + float m_flJumpDuration; // 0x11d0 + float m_flJumpHeight; // 0x11d4 + Vector m_vTargetHorizontalDirection; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x1168 - bool m_bLaunched; // 0x1180 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x11e8 + bool m_bLaunched; // 0x1200 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: - int32_t postjump_movespeed; // 0x1138 + int32_t postjump_movespeed; // 0x11b8 }; // Alignment: 0 @@ -50006,6 +50016,50 @@ public: // No members available }; +// Alignment: 6 +// Size: 0x590 +class CDOTA_Ability_Zuus_Thunder_Trail : public CDOTABaseAbility +{ +public: + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0568[0x8]; // 0x568 +public: + int32_t damage; // 0x570 + int32_t debuff_spell_amp_min; // 0x574 + int32_t debuff_spell_amp_max; // 0x578 + Vector m_vStartPos; // 0x57c + int32_t m_nMaxRange; // 0x588 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff +{ +public: + int32_t debuff_spell_amp; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Zuus_Lightning_Hands : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x11e0 +class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff +{ +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11d0 + int32_t arc_lightning_damage_pct; // 0x11d4 + int32_t arc_lightning_damage_illusion_pct; // 0x11d8 + int32_t attack_range_bonus; // 0x11dc +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Kunkka_Torrent : public CDOTABaseAbility @@ -50015,41 +50069,41 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: - bool m_bShowEnemies; // 0x1138 - bool m_bTorrentStorm; // 0x1139 + bool m_bShowEnemies; // 0x11b8 + bool m_bTorrentStorm; // 0x11b9 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: - int32_t torrent_damage; // 0x1138 - float damage_tick_interval; // 0x113c - float flDamagePerTick; // 0x1140 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - bool m_bTorrentStorm; // 0x114c + int32_t torrent_damage; // 0x11b8 + float damage_tick_interval; // 0x11bc + float flDamagePerTick; // 0x11c0 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + bool m_bTorrentStorm; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 + int32_t movespeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 0 @@ -50061,13 +50115,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: - int32_t torrent_min_distance; // 0x1138 - int32_t torrent_max_distance; // 0x113c - int32_t m_iExplosionQuadrant; // 0x1140 + int32_t torrent_min_distance; // 0x11b8 + int32_t torrent_max_distance; // 0x11bc + int32_t m_iExplosionQuadrant; // 0x11c0 }; // Alignment: 0 @@ -50079,20 +50133,20 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: - bool m_bTidebringerAttack; // 0x1138 + bool m_bTidebringerAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t cleave_starting_width; // 0x113c - int32_t cleave_ending_width; // 0x1140 - int32_t cleave_distance; // 0x1144 - int32_t damage_bonus; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - int32_t cleave_damage; // 0x1150 + int32_t cleave_starting_width; // 0x11bc + int32_t cleave_ending_width; // 0x11c0 + int32_t cleave_distance; // 0x11c4 + int32_t damage_bonus; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + int32_t cleave_damage; // 0x11d0 }; // Alignment: 1 @@ -50103,16 +50157,17 @@ public: CHandle< CBaseEntity > m_hThinker; // 0x550 }; -// Alignment: 1 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: - int32_t ally_ms; // 0x1138 + int32_t ally_ms; // 0x11b8 + int32_t ally_armor; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: @@ -50120,16 +50175,16 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - bool m_bIsReflection; // 0x1144 + Vector m_vStartLoc; // 0x11b8 + bool m_bIsReflection; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< CBaseEntity > m_hEntity; // 0x1148 + CHandle< CBaseEntity > m_hEntity; // 0x11c8 }; // Alignment: 0 @@ -50154,17 +50209,17 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: - Vector vCasterOrigin; // 0x1138 - Vector vEnd; // 0x1144 - int32_t hitcount; // 0x1150 + Vector vCasterOrigin; // 0x11b8 + Vector vEnd; // 0x11c4 + int32_t hitcount; // 0x11d0 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: @@ -50172,7 +50227,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: @@ -50180,22 +50235,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - int32_t movespeed_bonus; // 0x113c - float ghostship_absorb; // 0x1140 + int32_t m_iAccumulatedDamage; // 0x11b8 + int32_t movespeed_bonus; // 0x11bc + float ghostship_absorb; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: - int32_t m_iAccumulatedDamage; // 0x1138 - float m_flDuration; // 0x113c + int32_t m_iAccumulatedDamage; // 0x11b8 + float m_flDuration; // 0x11bc }; // Alignment: 2 @@ -50216,13 +50271,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: - int32_t stun_chance; // 0x1138 - float stun_duration; // 0x113c - int32_t damage; // 0x1140 + int32_t stun_chance; // 0x11b8 + float stun_duration; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 1 @@ -50234,7 +50289,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -50242,22 +50297,22 @@ public: }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: - CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x1138 - int32_t radius; // 0x1150 - float total_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t tick_count; // 0x115c - float toss_multiplier; // 0x1160 - int32_t m_damage; // 0x1164 - int32_t m_nTicks; // 0x1168 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x11b8 + int32_t radius; // 0x11d0 + float total_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t tick_count; // 0x11dc + float toss_multiplier; // 0x11e0 + int32_t m_damage; // 0x11e4 + int32_t m_nTicks; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50273,30 +50328,30 @@ public: }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - float m_flPredictedTotalTime; // 0x113c - Vector m_vStartPosition; // 0x1140 - float m_flCurrentTimeHoriz; // 0x114c - float m_flCurrentTimeVert; // 0x1150 - bool m_bHorizontalMotionInterrupted; // 0x1154 - bool m_bDamageApplied; // 0x1155 - bool m_bTargetTeleported; // 0x1156 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + float m_flPredictedTotalTime; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + float m_flCurrentTimeHoriz; // 0x11cc + float m_flCurrentTimeVert; // 0x11d0 + bool m_bHorizontalMotionInterrupted; // 0x11d4 + bool m_bDamageApplied; // 0x11d5 + bool m_bTargetTeleported; // 0x11d6 private: - [[maybe_unused]] uint8_t __pad1157[0x1]; // 0x1157 + [[maybe_unused]] uint8_t __pad11d7[0x1]; // 0x11d7 public: - Vector m_vHorizontalVelocity; // 0x1158 - Vector m_vLastKnownTargetPosition; // 0x1164 - float m_flInitialVelocityZ; // 0x1170 - bool m_bDone; // 0x1174 + Vector m_vHorizontalVelocity; // 0x11d8 + Vector m_vLastKnownTargetPosition; // 0x11e4 + float m_flInitialVelocityZ; // 0x11f0 + bool m_bDone; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - int32_t radius; // 0x1178 - int32_t toss_damage; // 0x117c + int32_t radius; // 0x11f8 + int32_t toss_damage; // 0x11fc }; // Alignment: 1 @@ -50308,22 +50363,22 @@ public: }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: - int32_t attack_count; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_buildings; // 0x1140 - float stun_duration; // 0x1144 - int32_t attack_range; // 0x1148 - int32_t m_nOriginalAttackCapability; // 0x114c - float bat_increase; // 0x1150 - int32_t speed_reduction; // 0x1154 - int32_t m_nBonusAttackRange; // 0x1158 - CHandle< CBaseEntity > m_hStolenTree; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 - ParticleIndex_t m_nFXAttackIndex; // 0x1164 + int32_t attack_count; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_buildings; // 0x11c0 + float stun_duration; // 0x11c4 + int32_t attack_range; // 0x11c8 + int32_t m_nOriginalAttackCapability; // 0x11cc + float bat_increase; // 0x11d0 + int32_t speed_reduction; // 0x11d4 + int32_t m_nBonusAttackRange; // 0x11d8 + CHandle< CBaseEntity > m_hStolenTree; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 + ParticleIndex_t m_nFXAttackIndex; // 0x11e4 }; // Alignment: 0 @@ -50335,23 +50390,23 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: - int32_t tree_grab_radius; // 0x1138 - int32_t splash_radius; // 0x113c - int32_t speed; // 0x1140 - float interval; // 0x1144 - Vector m_vPos; // 0x1148 + int32_t tree_grab_radius; // 0x11b8 + int32_t splash_radius; // 0x11bc + int32_t speed; // 0x11c0 + float interval; // 0x11c4 + Vector m_vPos; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -50363,19 +50418,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -50387,15 +50442,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t attack_speed_reduction; // 0x113c - int32_t bonus_damage; // 0x1140 - float tree_bonus_damage_pct; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t bonus_armor; // 0x11b8 + int32_t attack_speed_reduction; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float tree_bonus_damage_pct; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 0 @@ -50481,13 +50536,12 @@ public: CSoundPatch* m_pSoundPatch; // 0x580 }; -// Alignment: 2 +// Alignment: 1 // Size: 0x558 class CDOTA_Ability_Puck_WaningRift : public CDOTABaseAbility { public: int32_t max_distance; // 0x550 - int32_t scepter_max_distance; // 0x554 }; // Alignment: 0 @@ -50499,13 +50553,21 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: // No members available }; +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff +{ +public: + int32_t shard_bonus_damage; // 0x11b8 +}; + // Alignment: 1 // Size: 0x558 class CDOTA_Ability_Puck_DreamCoil : public CDOTABaseAbility @@ -50515,26 +50577,28 @@ public: }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x1138 - int32_t coil_radius; // 0x1150 - int32_t coil_break_radius; // 0x1154 - int32_t coil_initial_damage; // 0x1158 - float coil_stun_duration; // 0x115c - float coil_duration; // 0x1160 - int32_t coil_break_damage; // 0x1164 - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1168 + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x11b8 + int32_t coil_radius; // 0x11d0 + int32_t coil_break_radius; // 0x11d4 + int32_t coil_initial_damage; // 0x11d8 + float coil_stun_duration; // 0x11dc + float coil_duration; // 0x11e0 + int32_t coil_break_damage; // 0x11e4 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11e8 }; -// Alignment: 1 -// Size: 0x1148 +// Alignment: 3 +// Size: 0x11d0 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: - Vector m_vCastLocation; // 0x1138 + Vector m_vCastLocation; // 0x11b8 + int32_t coil_rapid_fire_z_offset; // 0x11c4 + float coil_rapid_fire_rate; // 0x11c8 }; // Alignment: 0 @@ -50601,18 +50665,21 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x568 +// Alignment: 6 +// Size: 0x588 class CDOTA_Ability_Windrunner_Shackleshot : public CDOTABaseAbility { public: int32_t shackle_count; // 0x550 - Vector m_vArrowStartPos; // 0x554 - CHandle< CBaseEntity > m_hTarget; // 0x560 + Vector m_vArrowAvgPos; // 0x554 + Vector m_vArrowStartPos; // 0x560 + Vector m_vArrowStartPos2; // 0x56c + Vector m_vArrowStartPos3; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x584 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: @@ -50642,7 +50709,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -50658,7 +50725,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: @@ -50666,44 +50733,48 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t movespeed_bonus_pct; // 0x1140 - bool m_bDispellable; // 0x1144 + int32_t radius; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t movespeed_bonus_pct; // 0x11c0 + bool m_bDispellable; // 0x11c4 +private: + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 +public: + int32_t physical_damage_pct; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: - float enemy_movespeed_bonus_pct; // 0x1138 - float scepter_movespeed_bonus_pct; // 0x113c - int32_t scepter_blind; // 0x1140 + float enemy_movespeed_bonus_pct; // 0x11b8 + float scepter_movespeed_bonus_pct; // 0x11bc + int32_t scepter_blind; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: @@ -50727,41 +50798,41 @@ public: }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t focusfire_damage_reduction; // 0x113c - bool bActive; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t focusfire_damage_reduction; // 0x11bc + bool bActive; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t bonus_attack_speed; // 0x1144 - int32_t focusfire_fire_on_the_move; // 0x1148 - bool m_bPause; // 0x114c + int32_t bonus_attack_speed; // 0x11c4 + int32_t focusfire_fire_on_the_move; // 0x11c8 + bool m_bPause; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - int32_t m_nNumArrowsLanded; // 0x1150 - int32_t m_nDamageDealt; // 0x1154 - int32_t m_nDamageDealtMax; // 0x1158 - int32_t m_nTargetInitialHP; // 0x115c - bool m_bHeroKilled; // 0x1160 - bool m_bRecentFocusFireAttack; // 0x1161 + int32_t m_nNumArrowsLanded; // 0x11d0 + int32_t m_nDamageDealt; // 0x11d4 + int32_t m_nDamageDealtMax; // 0x11d8 + int32_t m_nTargetInitialHP; // 0x11dc + bool m_bHeroKilled; // 0x11e0 + bool m_bRecentFocusFireAttack; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0xa]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0xa]; // 0x11e2 public: - ParticleIndex_t m_nFXFocusFire; // 0x116c - GameTime_t m_flLastFocusFireAttackTime; // 0x1170 + ParticleIndex_t m_nFXFocusFire; // 0x11ec + GameTime_t m_flLastFocusFireAttackTime; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 + bool m_bFrozen; // 0x11b8 }; // Alignment: 4 @@ -50776,26 +50847,26 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: - Vector m_vEndpoint; // 0x1138 - Vector m_vFlowPosition; // 0x1144 - int32_t radius; // 0x1150 + Vector m_vEndpoint; // 0x11b8 + Vector m_vFlowPosition; // 0x11c4 + int32_t radius; // 0x11d0 }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: - Vector m_vEndpoint; // 0x1138 - Vector m_vFlowPosition; // 0x1144 - Vector m_vPull; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x115c - GameTime_t m_flLastThinkTime; // 0x1160 - float wind_strength; // 0x1164 + Vector m_vEndpoint; // 0x11b8 + Vector m_vFlowPosition; // 0x11c4 + Vector m_vPull; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11dc + GameTime_t m_flLastThinkTime; // 0x11e0 + float wind_strength; // 0x11e4 }; // Alignment: 0 @@ -50807,43 +50878,48 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c - int32_t slow_attack_speed_primary; // 0x1140 - bool m_bIsPrimary; // 0x1144 + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc + int32_t slow_attack_speed_primary; // 0x11c0 + bool m_bIsPrimary; // 0x11c4 }; -// Alignment: 1 -// Size: 0x558 +// Alignment: 2 +// Size: 0x570 class CDOTA_Ability_Lich_Sinister_Gaze : public CDOTABaseAbility { public: // MNetworkEnable - CHandle< CBaseEntity > m_hShackleTarget; // 0x550 + float m_flLongestGazeDuration; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0x4]; // 0x554 +public: + CUtlVector< CHandle< CBaseEntity > > m_hAffectedEntities; // 0x558 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t mana_drain; // 0x113c - float m_flIntervalRate; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - bool m_bBlasted; // 0x1148 + int32_t movement_speed; // 0x11b8 + int32_t mana_drain; // 0x11bc + float m_flIntervalRate; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + float creep_damage; // 0x11c8 + bool m_bBlasted; // 0x11cc }; // Alignment: 0 @@ -50855,13 +50931,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: - int32_t mana_drain; // 0x1138 - int32_t attack_count; // 0x113c - int32_t attack_speed; // 0x1140 + int32_t mana_drain; // 0x11b8 + int32_t attack_count; // 0x11bc + int32_t attack_speed; // 0x11c0 }; // Alignment: 0 @@ -50873,36 +50949,36 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 0 @@ -50914,7 +50990,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: @@ -50922,22 +50998,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 - int32_t health_regen; // 0x113c - float slow_duration; // 0x1140 + int32_t armor_bonus; // 0x11b8 + int32_t health_regen; // 0x11bc + float slow_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t slow_attack_speed; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t slow_attack_speed; // 0x11bc }; // Alignment: 0 @@ -50949,22 +51025,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t health_regen; // 0x1144 + int32_t radius; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t health_regen; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 6 @@ -50981,19 +51057,19 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: - int32_t m_nDamageToHeroes; // 0x1138 - int32_t m_nHeroesKilled; // 0x113c - int32_t m_nJumps; // 0x1140 - bool m_bFirstJump; // 0x1144 + int32_t m_nDamageToHeroes; // 0x11b8 + int32_t m_nHeroesKilled; // 0x11bc + int32_t m_nJumps; // 0x11c0 + bool m_bFirstJump; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< CBaseEntity > m_hTarget; // 0x1148 - CHandle< CBaseEntity > m_hAvoidTarget; // 0x114c + CHandle< CBaseEntity > m_hTarget; // 0x11c8 + CHandle< CBaseEntity > m_hAvoidTarget; // 0x11cc }; // Alignment: 2 @@ -51006,21 +51082,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - CountdownTimer m_Timer; // 0x1140 + int32_t aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 0 @@ -51096,12 +51172,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - float negative_armor; // 0x113c + int32_t movement_speed; // 0x11b8 + float negative_armor; // 0x11bc }; // Alignment: 0 @@ -51113,14 +51189,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: - int32_t m_iDamageTaken; // 0x1138 - int32_t damage_reduction; // 0x113c - int32_t damage_cleanse; // 0x1140 - float damage_reset_interval; // 0x1144 + int32_t m_iDamageTaken; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t damage_cleanse; // 0x11c0 + float damage_reset_interval; // 0x11c4 }; // Alignment: 0 @@ -51132,27 +51208,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 + int32_t attack_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 3 @@ -51169,17 +51245,17 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - bool m_bDamageApplied; // 0x1140 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + bool m_bDamageApplied; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float damage; // 0x1144 + float damage; // 0x11c4 }; // Alignment: 5 @@ -51203,7 +51279,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: @@ -51219,11 +51295,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 @@ -51246,21 +51322,21 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float total_damage; // 0x113c - float channel_time; // 0x1140 + float tick_interval; // 0x11b8 + float total_damage; // 0x11bc + float channel_time; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: - int32_t scepter_range; // 0x1138 + int32_t scepter_range; // 0x11b8 }; // Alignment: 4 @@ -51283,24 +51359,26 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t dodge_chance; // 0x113c + int32_t miss_rate; // 0x11b8 + int32_t dodge_chance; // 0x11bc + int32_t block_targeting; // 0x11c0 + int32_t armor_reduction; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -51316,7 +51394,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: @@ -51324,7 +51402,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: @@ -51340,12 +51418,12 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: - int32_t movement_speed; // 0x1148 - float fade_delay; // 0x114c + int32_t movement_speed; // 0x11c8 + float fade_delay; // 0x11cc }; // Alignment: 0 @@ -51356,16 +51434,18 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1160 +// Alignment: 7 +// Size: 0x11e8 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: - float fade_delay; // 0x1148 - int32_t backstab_angle; // 0x114c - int32_t cleave; // 0x1150 - float damage_multiplier; // 0x1154 - bool m_bBackstab; // 0x1158 + float fade_delay; // 0x11c8 + int32_t backstab_angle; // 0x11cc + int32_t cleave; // 0x11d0 + float damage_multiplier; // 0x11d4 + float bonus_xp_kill; // 0x11d8 + float bonus_xp_assist; // 0x11dc + bool m_bBackstab; // 0x11e0 }; // Alignment: 0 @@ -51377,22 +51457,22 @@ public: }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: - ParticleIndex_t m_nFxIndex; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - CountdownTimer m_Timer; // 0x1140 - CHandle< CBaseEntity > m_hPreviousTarget; // 0x1158 - int32_t m_nSucceessiveHits; // 0x115c - bool m_bGrantedGem; // 0x1160 + ParticleIndex_t m_nFxIndex; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + CountdownTimer m_Timer; // 0x11c0 + CHandle< CBaseEntity > m_hPreviousTarget; // 0x11d8 + int32_t m_nSucceessiveHits; // 0x11dc + bool m_bGrantedGem; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - float attack_rate; // 0x1164 - int32_t damage_pct; // 0x1168 - int32_t agility_pct; // 0x116c + float attack_rate; // 0x11e4 + int32_t damage_pct; // 0x11e8 + int32_t agility_pct; // 0x11ec }; // Alignment: 0 @@ -51404,20 +51484,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x1138 - float m_flDamageTaken; // 0x113c + int32_t wake_damage_limit; // 0x11b8 + float m_flDamageTaken; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -51439,31 +51519,31 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - float stun_duration; // 0x113c - int32_t damage; // 0x1140 - float duration; // 0x1144 - int32_t m_nEidolonSpawnNum; // 0x1148 + float tick_rate; // 0x11b8 + float stun_duration; // 0x11bc + int32_t damage; // 0x11c0 + float duration; // 0x11c4 + int32_t m_nEidolonSpawnNum; // 0x11c8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d8 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: - int32_t m_iAttackCount; // 0x1138 - int32_t split_attack_count; // 0x113c - float life_extension; // 0x1140 - int32_t hp_bonus; // 0x1144 - bool m_bAllowSplit; // 0x1148 + int32_t m_iAttackCount; // 0x11c0 + int32_t split_attack_count; // 0x11c4 + float life_extension; // 0x11c8 + int32_t hp_bonus; // 0x11cc + bool m_bAllowSplit; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t m_nSpawnNum; // 0x114c + int32_t m_nSpawnNum; // 0x11d4 }; // Alignment: 0 @@ -51475,22 +51555,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: - float damage_percent; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t n_FXIndex; // 0x1140 - bool m_bHasGrantedKillEater; // 0x1144 + float damage_percent; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t n_FXIndex; // 0x11c0 + bool m_bHasGrantedKillEater; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: - float damage_percent; // 0x1138 + float damage_percent; // 0x11b8 }; // Alignment: 2 @@ -51503,51 +51583,51 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - bool m_bFoundFive; // 0x113c - bool m_bGrantedKillEater; // 0x113d + int32_t radius; // 0x11b8 + bool m_bFoundFive; // 0x11bc + bool m_bGrantedKillEater; // 0x11bd }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff { public: - int32_t pull_speed; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - float tick_rate; // 0x1144 - float pull_rotate_speed; // 0x1148 - float animation_rate; // 0x114c - float scepter_pct_damage; // 0x1150 - GameTime_t m_flDamageTick; // 0x1154 + int32_t pull_speed; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + float tick_rate; // 0x11c4 + float pull_rotate_speed; // 0x11c8 + float animation_rate; // 0x11cc + float scepter_pct_damage; // 0x11d0 + GameTime_t m_flDamageTick; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: - int32_t scepter_radius; // 0x1138 - ParticleIndex_t n_FXIndex; // 0x113c + int32_t scepter_radius; // 0x11b8 + ParticleIndex_t n_FXIndex; // 0x11bc }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff { public: - int32_t scepter_drag_speed; // 0x1138 - float scepter_pull_rotate_speed; // 0x113c - float aura_origin_x; // 0x1140 - float aura_origin_y; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 - Vector m_vCenter; // 0x114c - GameTime_t m_flLastThinkTime; // 0x1158 + int32_t scepter_drag_speed; // 0x11b8 + float scepter_pull_rotate_speed; // 0x11bc + float aura_origin_x; // 0x11c0 + float aura_origin_y; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 + Vector m_vCenter; // 0x11cc + GameTime_t m_flLastThinkTime; // 0x11d8 }; // Alignment: 0 @@ -51631,18 +51711,18 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x1138 - int32_t status_resistance; // 0x113c - int32_t cooldown_reduction; // 0x1140 - bool m_bStartedTimer; // 0x1144 + int32_t damage_absorb; // 0x11b8 + int32_t status_resistance; // 0x11bc + int32_t cooldown_reduction; // 0x11c0 + bool m_bStartedTimer; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t m_flDamageAbsorbed; // 0x1148 + int32_t m_nDamageAbsorbed; // 0x11c8 }; // Alignment: 3 @@ -51659,12 +51739,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - float max_health_removed; // 0x113c + int32_t miss_rate; // 0x11b8 + float max_health_removed; // 0x11bc }; // Alignment: 1 @@ -51686,11 +51766,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: - int32_t range_reduction; // 0x1138 + int32_t range_reduction; // 0x11b8 }; // Alignment: 2 @@ -51703,17 +51783,17 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: - int32_t collision_radius; // 0x1138 - int32_t radius; // 0x113c - int32_t distance; // 0x1140 - int32_t distance_scepter; // 0x1144 - int32_t speed; // 0x1148 - int32_t machines_per_sec; // 0x114c - Vector m_vDir; // 0x1150 + int32_t collision_radius; // 0x11b8 + int32_t radius; // 0x11bc + int32_t distance; // 0x11c0 + int32_t distance_scepter; // 0x11c4 + int32_t speed; // 0x11c8 + int32_t machines_per_sec; // 0x11cc + Vector m_vDir; // 0x11d0 }; // Alignment: 1 @@ -51725,7 +51805,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: @@ -51769,11 +51849,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 0 @@ -51785,7 +51865,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: @@ -51793,15 +51873,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float mana_per_second; // 0x113c - float heal_interval; // 0x1140 - int32_t enemy_damage_pct; // 0x1144 - float m_flTotalHealing; // 0x1148 + int32_t heal; // 0x11b8 + float mana_per_second; // 0x11bc + float heal_interval; // 0x11c0 + int32_t enemy_damage_pct; // 0x11c4 + float m_flTotalHealing; // 0x11c8 }; // Alignment: 0 @@ -51813,7 +51893,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: @@ -51821,15 +51901,15 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: - int32_t m_iStartHealth; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_damage_threshold; // 0x1140 - int32_t ticks; // 0x1144 - int32_t iCurrentTick; // 0x1148 + int32_t m_iStartHealth; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_damage_threshold; // 0x11c0 + int32_t ticks; // 0x11c4 + int32_t iCurrentTick; // 0x11c8 }; // Alignment: 8 @@ -51852,16 +51932,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t attack_speed_reduction; // 0x113c - int32_t m_iBounceRadius; // 0x1140 - int32_t bonus_accuracy; // 0x1144 - bool m_bFirstAttack; // 0x1148 - bool m_bShard; // 0x1149 + int32_t bonus_damage; // 0x11b8 + int32_t attack_speed_reduction; // 0x11bc + int32_t m_iBounceRadius; // 0x11c0 + int32_t bonus_accuracy; // 0x11c4 + bool m_bFirstAttack; // 0x11c8 + bool m_bShard; // 0x11c9 }; // Alignment: 0 @@ -51873,12 +51953,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: - Vector m_vSavedPos; // 0x1138 - CHandle< CBaseEntity > m_hSavedAbility; // 0x1144 + Vector m_vSavedPos; // 0x11b8 + CHandle< CBaseEntity > m_hSavedAbility; // 0x11c4 }; // Alignment: 0 @@ -51938,7 +52018,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -51954,22 +52034,22 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - bool m_bExploded; // 0x113c - bool m_bGrantedGem; // 0x113d + int32_t radius; // 0x11b8 + bool m_bExploded; // 0x11bc + bool m_bGrantedGem; // 0x11bd }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 - int32_t shrapnel_damage; // 0x113c + int32_t slow_movement_speed; // 0x11b8 + int32_t shrapnel_damage; // 0x11bc }; // Alignment: 0 @@ -51981,24 +52061,24 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - float slow_duration; // 0x113c - float knockback_distance; // 0x1140 - int32_t bonus_damage_creeps; // 0x1144 - int32_t bonus_attack_range; // 0x1148 - int32_t damage; // 0x114c + int32_t proc_chance; // 0x11b8 + float slow_duration; // 0x11bc + float knockback_distance; // 0x11c0 + int32_t bonus_damage_creeps; // 0x11c4 + int32_t bonus_attack_range; // 0x11c8 + int32_t damage; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -52010,19 +52090,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 + int32_t bonus_attack_range; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 @@ -52037,17 +52117,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff { public: - int32_t scepter_crit_damage; // 0x1138 - int32_t scatter_damage_pct; // 0x113c - bool is_secondary; // 0x1140 + int32_t scepter_crit_damage; // 0x11b8 + int32_t scatter_damage_pct; // 0x11bc + bool is_secondary; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: @@ -52063,11 +52143,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -52087,21 +52167,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: - int32_t heal_bonus; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t slow_aoe; // 0x1140 + int32_t heal_bonus; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t slow_aoe; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 @@ -52115,11 +52195,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x1138 + int32_t magic_resistance_reduction; // 0x11b8 }; // Alignment: 0 @@ -52131,35 +52211,35 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - bool m_bStackCountChanged; // 0x113c + int32_t aura_radius; // 0x11b8 + bool m_bStackCountChanged; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x1140 + CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - float health_regen; // 0x113c + float mana_regen; // 0x11b8 + float health_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff { public: - float aura_damage; // 0x1138 - int32_t heal_reduction_pct; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + float aura_damage; // 0x11b8 + int32_t heal_reduction_pct; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 0 @@ -52171,24 +52251,24 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned { public: - float stun_duration; // 0x1138 - bool m_bIllusion; // 0x113c - bool m_bArcWardenClone; // 0x113d + float stun_duration; // 0x11b8 + bool m_bIllusion; // 0x11bc + bool m_bArcWardenClone; // 0x11bd }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: - float hp_per_kill; // 0x1138 - float mana_per_kill; // 0x113c - float hp_regen; // 0x1140 - float mp_regen; // 0x1144 + float hp_per_kill; // 0x11b8 + float mana_per_kill; // 0x11bc + float hp_regen; // 0x11c0 + float mp_regen; // 0x11c4 }; // Alignment: 0 @@ -52199,17 +52279,25 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff +{ +public: + // No members available +}; + // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: - int32_t puddle_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t puddle_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: @@ -52217,7 +52305,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: @@ -52225,14 +52313,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: - int32_t river_speed; // 0x1138 - int32_t puddle_regen; // 0x113c - int32_t puddle_armor; // 0x1140 - int32_t puddle_status_resistance; // 0x1144 + int32_t river_speed; // 0x11b8 + int32_t puddle_regen; // 0x11bc + int32_t puddle_armor; // 0x11c0 + int32_t puddle_status_resistance; // 0x11c4 }; // Alignment: 0 @@ -52244,11 +52332,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x1138 + int32_t bonus_speed; // 0x11b8 }; // Alignment: 1 @@ -52260,11 +52348,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: - int32_t crush_extra_slow; // 0x1138 + int32_t crush_extra_slow; // 0x11b8 }; // Alignment: 0 @@ -52276,13 +52364,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float duration; // 0x113c - int32_t attack_count; // 0x1140 + int32_t bonus_damage; // 0x11b8 + float duration; // 0x11bc + int32_t attack_count; // 0x11c0 }; // Alignment: 0 @@ -52294,17 +52382,17 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - float scepter_delay; // 0x113c - int32_t undispellable; // 0x1140 - int32_t puddle_radius; // 0x1144 - float puddle_duration; // 0x1148 - Vector m_vecLastPuddle; // 0x114c - CHandle< CBaseEntity > m_hPuddle; // 0x1158 + int32_t armor_reduction; // 0x11b8 + float scepter_delay; // 0x11bc + int32_t undispellable; // 0x11c0 + int32_t puddle_radius; // 0x11c4 + float puddle_duration; // 0x11c8 + Vector m_vecLastPuddle; // 0x11cc + CHandle< CBaseEntity > m_hPuddle; // 0x11d8 }; // Alignment: 0 @@ -52380,11 +52468,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus_pct; // 0x11b8 }; // Alignment: 0 @@ -52396,19 +52484,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 + int32_t damage_per_stack; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: - int32_t damage_per_stack; // 0x1138 + int32_t damage_per_stack; // 0x11b8 }; // Alignment: 0 @@ -52420,12 +52508,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 1 @@ -52437,26 +52525,26 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: - float hop_duration; // 0x1138 - int32_t hop_height; // 0x113c - int32_t hop_distance; // 0x1140 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - float m_flJumpDuration; // 0x114c - float m_flJumpHeight; // 0x1150 - Vector m_vTargetHorizontalDirection; // 0x1154 + float hop_duration; // 0x11b8 + int32_t hop_height; // 0x11bc + int32_t hop_distance; // 0x11c0 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + float m_flJumpDuration; // 0x11cc + float m_flJumpHeight; // 0x11d0 + Vector m_vTargetHorizontalDirection; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 7 @@ -52474,17 +52562,17 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - bool m_bDamageApplied; // 0x1140 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + bool m_bDamageApplied; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t damage; // 0x1144 + int32_t damage; // 0x11c4 }; // Alignment: 0 @@ -52496,11 +52584,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 1 @@ -52512,31 +52600,31 @@ public: }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 9 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: - int32_t mana_per_second; // 0x1138 - int32_t break_distance; // 0x113c - float tick_interval; // 0x1140 - int32_t movespeed; // 0x1144 - int32_t damage_pct; // 0x1148 - GameTime_t m_fAppliedTime; // 0x114c - int32_t m_nTotalManaDrained; // 0x1150 - int32_t m_nSelfBuffSerialNumber; // 0x1154 - int32_t m_nTargetDebuffSerialNumber; // 0x1158 + int32_t mana_per_second; // 0x11b8 + int32_t break_distance; // 0x11bc + float tick_interval; // 0x11c0 + int32_t movespeed; // 0x11c4 + int32_t damage_pct; // 0x11c8 + GameTime_t m_fAppliedTime; // 0x11cc + int32_t m_nTotalManaDrained; // 0x11d0 + int32_t m_nSelfBuffSerialNumber; // 0x11d4 + int32_t m_nTargetDebuffSerialNumber; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: @@ -52544,7 +52632,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: @@ -52552,7 +52640,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: @@ -52568,15 +52656,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: - bool m_bIgnoreBonus; // 0x1138 + bool m_bIgnoreBonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: @@ -52584,12 +52672,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 0 @@ -52785,20 +52873,20 @@ public: }; // Alignment: 3 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Track_Order_Issuer : public CDOTA_Buff { public: - PlayerID_t m_nIssuerPlayerIndex; // 0x1138 - bool m_bTeamFirstCourier; // 0x113c + PlayerID_t m_nIssuerPlayerIndex; // 0x11b8 + bool m_bTeamFirstCourier; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - GameTime_t m_nPlayerCommandTime[24]; // 0x1140 + GameTime_t m_nPlayerCommandTime[24]; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: @@ -52806,7 +52894,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: @@ -52830,17 +52918,17 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hStashOwner; // 0x1138 - Vector m_vLocation; // 0x113c - bool m_bTransferAfterTake; // 0x1148 + CHandle< CBaseEntity > m_hStashOwner; // 0x11b8 + Vector m_vLocation; // 0x11bc + bool m_bTransferAfterTake; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - int32_t stash_pickup_distance; // 0x114c + int32_t stash_pickup_distance; // 0x11cc }; // Alignment: 0 @@ -52852,11 +52940,11 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: - Vector m_vLocation; // 0x1138 + Vector m_vLocation; // 0x11b8 }; // Alignment: 0 @@ -52908,11 +52996,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 0 @@ -52932,11 +53020,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 0 @@ -52956,7 +53044,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: @@ -52964,11 +53052,11 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x1138 + CUtlVector< CHandle< CBaseEntity > > m_vecTriggers; // 0x11b8 }; // Alignment: 0 @@ -52988,19 +53076,19 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: - int32_t bonus_chance; // 0x1138 + int32_t bonus_chance; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: @@ -53016,13 +53104,33 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: // No members available }; +// Alignment: 3 +// Size: 0x560 +class CDOTA_Ability_Roshan_Teleport : public CDOTABaseAbility +{ +public: + ParticleIndex_t m_nFXIndexStart; // 0x550 + ParticleIndex_t m_nFXIndexEnd; // 0x554 + ParticleIndex_t m_nFXIndexEndTeam; // 0x558 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff +{ +public: + int32_t movement_speed; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + bool m_bFlipped; // 0x11c0 +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Roshan_Bash : public CDOTABaseAbility @@ -53032,13 +53140,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x1138 - int32_t bonus_damage; // 0x113c - float stun_duration; // 0x1140 + int32_t bash_chance; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float stun_duration; // 0x11c0 }; // Alignment: 0 @@ -53050,11 +53158,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 0 @@ -53066,7 +53174,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: @@ -53082,21 +53190,60 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Miniboss_Unyielding_Shield : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Miniboss_Reflect : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff +{ +public: + int32_t passive_reflection_pct; // 0x11b8 + int32_t passive_reflection_bonus_per_death; // 0x11bc + bool m_bIsDire; // 0x11c0 +}; + +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff +{ +public: + float damage_absorb; // 0x11b8 + float regen_per_second; // 0x11bc + float regen_bonus_per_death; // 0x11c0 + int32_t m_nDamageAbsorbed; // 0x11c4 + GameTime_t m_timeLastTick; // 0x11c8 + ParticleIndex_t nFXIndex; // 0x11cc +}; + // Alignment: 2 // Size: 0x558 class CDOTA_Ability_Animation_Attack : public CDOTABaseAbility @@ -53115,17 +53262,17 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flScalar; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flScalar; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1148 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 0 @@ -53137,41 +53284,27 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flScalar; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flScalar; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1148 -}; - -// Alignment: 7 -// Size: 0x1150 -class CDOTA_Modifier_Move_From_Activity : public CDOTA_Buff -{ -public: - float m_flCurrentTime; // 0x1138 - float m_flTotalTime; // 0x113c - float m_flSequenceYaw; // 0x1140 - HSequence m_nSequence; // 0x1144 - int32_t m_nActivity; // 0x1148 - bool m_bCanBeInterrupted; // 0x114c - bool m_bFadeGesture; // 0x114d + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x1138 - bool m_bPhysicalImmune; // 0x113c - bool m_bMagicImmune; // 0x113d + CHandle< CBaseEntity > m_hAttachTarget; // 0x11b8 + bool m_bPhysicalImmune; // 0x11bc + bool m_bMagicImmune; // 0x11bd }; // Alignment: 1 @@ -53183,49 +53316,49 @@ public: }; // Alignment: 33 -// Size: 0x11e8 +// Size: 0x1268 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: - float m_flTotalTimeInAir; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - Vector m_vTargetPosition; // 0x1158 - float m_flCurrentTimeHoriz; // 0x1164 - float m_flCurrentTimeVert; // 0x1168 - bool m_bInterrupted; // 0x116c + float m_flTotalTimeInAir; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + Vector m_vTargetPosition; // 0x11d8 + float m_flCurrentTimeHoriz; // 0x11e4 + float m_flCurrentTimeVert; // 0x11e8 + bool m_bInterrupted; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - float m_flHorizDelayTime; // 0x1170 - float m_flVertDelayTime; // 0x1174 - float m_flLeapSequenceDuration; // 0x1178 - float m_flClawDamageTime; // 0x117c - float m_flPlaybackRate; // 0x1180 - CHandle< CBaseEntity > m_hTarget; // 0x1184 - bool m_bPlayedSwipeSound; // 0x1188 + float m_flHorizDelayTime; // 0x11f0 + float m_flVertDelayTime; // 0x11f4 + float m_flLeapSequenceDuration; // 0x11f8 + float m_flClawDamageTime; // 0x11fc + float m_flPlaybackRate; // 0x1200 + CHandle< CBaseEntity > m_hTarget; // 0x1204 + bool m_bPlayedSwipeSound; // 0x1208 private: - [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: - int32_t pounce_distance; // 0x118c - float pounce_speed; // 0x1190 - float pounce_acceleration; // 0x1194 - int32_t pounce_radius; // 0x1198 - int32_t pounce_damage; // 0x119c - int32_t stun_radius; // 0x11a0 - float stun_duration; // 0x11a4 - float leash_duration; // 0x11a8 - float initial_delay; // 0x11ac - float landing_delay; // 0x11b0 - float vertical_adjust; // 0x11b4 - float vertical_adjust_max_distance; // 0x11b8 - float vertical_adjust_min_distance; // 0x11bc - int32_t claw_damage; // 0x11c0 - int32_t claw_damage_radius; // 0x11c4 - float claw_damage_delay; // 0x11c8 - float claw_damage_duration; // 0x11cc - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11d0 + int32_t pounce_distance; // 0x120c + float pounce_speed; // 0x1210 + float pounce_acceleration; // 0x1214 + int32_t pounce_radius; // 0x1218 + int32_t pounce_damage; // 0x121c + int32_t stun_radius; // 0x1220 + float stun_duration; // 0x1224 + float leash_duration; // 0x1228 + float initial_delay; // 0x122c + float landing_delay; // 0x1230 + float vertical_adjust; // 0x1234 + float vertical_adjust_max_distance; // 0x1238 + float vertical_adjust_min_distance; // 0x123c + int32_t claw_damage; // 0x1240 + int32_t claw_damage_radius; // 0x1244 + float claw_damage_delay; // 0x1248 + float claw_damage_duration; // 0x124c + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1250 }; // Alignment: 11 @@ -53263,21 +53396,21 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - int32_t stun_radius; // 0x1140 - float dive_distance; // 0x1144 - float initial_rise_time; // 0x1148 - float right_swipe_time; // 0x114c - float left_swipe_time; // 0x1150 - float knockdown_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t m_nTickCounter; // 0x115c - CUtlVector< CHandle< CBaseEntity > > m_hEnemies; // 0x1160 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + int32_t stun_radius; // 0x11c0 + float dive_distance; // 0x11c4 + float initial_rise_time; // 0x11c8 + float right_swipe_time; // 0x11cc + float left_swipe_time; // 0x11d0 + float knockdown_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t m_nTickCounter; // 0x11dc + CUtlVector< CHandle< CBaseEntity > > m_hEnemies; // 0x11e0 }; // Alignment: 16 @@ -53307,7 +53440,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: @@ -53315,7 +53448,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: @@ -53323,7 +53456,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: @@ -53331,7 +53464,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: @@ -53339,7 +53472,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: @@ -53347,7 +53480,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Waiting : public CDOTA_Buff { public: @@ -53364,17 +53497,17 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_radius; // 0x113c - float m_flPlaybackRate; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_radius; // 0x11bc + float m_flPlaybackRate; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x1148 + CUtlVector< CHandle< CBaseEntity > > m_vHitEntities; // 0x11c8 }; // Alignment: 7 @@ -53395,28 +53528,28 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 - float damage; // 0x113c - float stun_duration; // 0x1140 + int32_t area_of_effect; // 0x11b8 + float damage; // 0x11bc + float stun_duration; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: - float m_flStandUpDuration; // 0x1138 - float m_flKnockDownDuration; // 0x113c - bool m_bDebuff; // 0x1140 - bool m_bStandingUp; // 0x1141 + float m_flStandUpDuration; // 0x11b8 + float m_flKnockDownDuration; // 0x11bc + bool m_bDebuff; // 0x11c0 + bool m_bStandingUp; // 0x11c1 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: @@ -53424,11 +53557,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -53440,38 +53573,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 - float damage; // 0x113c - float movespeed_duration; // 0x1140 + int32_t chance_pct; // 0x11b8 + float damage; // 0x11bc + float movespeed_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x1138 + int32_t bonus_movespeed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: - float pinned_damage_amount; // 0x1138 - float pinned_damage_interval; // 0x113c + float pinned_damage_amount; // 0x11b8 + float pinned_damage_interval; // 0x11bc }; // Alignment: 0 @@ -53483,52 +53616,52 @@ public: }; // Alignment: 15 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: - Vector m_vWallStartPosition; // 0x1138 - Vector m_vWallDirection; // 0x1144 - Vector m_vWallLeft; // 0x1150 - int32_t m_DamageAmount; // 0x115c - int32_t m_DamageType; // 0x1160 - float speed; // 0x1164 - float starting_width; // 0x1168 - float ending_width; // 0x116c - float stun_duration; // 0x1170 - float fly_duration; // 0x1174 - float fly_distance; // 0x1178 - ParticleIndex_t m_nFXIndex; // 0x117c - GameTime_t m_flWallStartTime; // 0x1180 - float m_flScalar; // 0x1184 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesToExclude; // 0x1188 + Vector m_vWallStartPosition; // 0x11b8 + Vector m_vWallDirection; // 0x11c4 + Vector m_vWallLeft; // 0x11d0 + int32_t m_DamageAmount; // 0x11dc + int32_t m_DamageType; // 0x11e0 + float speed; // 0x11e4 + float starting_width; // 0x11e8 + float ending_width; // 0x11ec + float stun_duration; // 0x11f0 + float fly_duration; // 0x11f4 + float fly_distance; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x11fc + GameTime_t m_flWallStartTime; // 0x1200 + float m_flScalar; // 0x1204 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesToExclude; // 0x1208 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - float m_flOldPitch; // 0x1140 - QAngle m_qRotation; // 0x1144 - int32_t m_nRotations; // 0x1150 - float m_flDistance; // 0x1154 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + float m_flOldPitch; // 0x11c0 + QAngle m_qRotation; // 0x11c4 + int32_t m_nRotations; // 0x11d0 + float m_flDistance; // 0x11d4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: - float pull_switch_interval; // 0x1138 - int32_t pull_speed; // 0x113c - bool m_bForward; // 0x1140 + float pull_switch_interval; // 0x11b8 + int32_t pull_speed; // 0x11bc + bool m_bForward; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - ParticleIndex_t m_nfxIndex; // 0x1144 + ParticleIndex_t m_nfxIndex; // 0x11c4 }; // Alignment: 13 @@ -53555,7 +53688,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: @@ -53580,25 +53713,25 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: - int32_t pull_radius; // 0x1138 + int32_t pull_radius; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: - int32_t pull_radius; // 0x1138 - int32_t pull_speed; // 0x113c - int32_t radius; // 0x1140 - int32_t whirlpool_damage; // 0x1144 - float tick_rate; // 0x1148 - GameTime_t m_flDamageTick; // 0x114c - CHandle< CBaseEntity > m_hThinker; // 0x1150 + int32_t pull_radius; // 0x11b8 + int32_t pull_speed; // 0x11bc + int32_t radius; // 0x11c0 + int32_t whirlpool_damage; // 0x11c4 + float tick_rate; // 0x11c8 + GameTime_t m_flDamageTick; // 0x11cc + CHandle< CBaseEntity > m_hThinker; // 0x11d0 }; // Alignment: 0 @@ -53610,23 +53743,23 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: - int32_t tick_count; // 0x1138 - int32_t beam_radius; // 0x113c - int32_t m_nTickCount; // 0x1140 + int32_t tick_count; // 0x11b8 + int32_t beam_radius; // 0x11bc + int32_t m_nTickCount; // 0x11c0 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: - int32_t explosion_radius; // 0x1138 - float damage_interval; // 0x113c - int32_t damage; // 0x1140 + int32_t explosion_radius; // 0x11b8 + float damage_interval; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 @@ -53638,14 +53771,14 @@ public: }; // Alignment: 4 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: - int32_t trail_damage_per_second; // 0x1138 - int32_t trail_damage_radius; // 0x113c - CUtlVector< int32 > m_vFXIndices; // 0x1140 - CUtlVector< Vector > m_vLocations; // 0x1158 + int32_t trail_damage_per_second; // 0x11b8 + int32_t trail_damage_radius; // 0x11bc + CUtlVector< int32 > m_vFXIndices; // 0x11c0 + CUtlVector< Vector > m_vLocations; // 0x11d8 }; // Alignment: 2 @@ -53658,12 +53791,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: - GameTime_t m_flReflectionStartTime; // 0x1138 - float m_flReflectionAmount; // 0x113c + GameTime_t m_flReflectionStartTime; // 0x11b8 + float m_flReflectionAmount; // 0x11bc }; // Alignment: 0 @@ -53675,20 +53808,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x1138 + int32_t bonus_spell_damage_pct; // 0x11b8 }; // Alignment: 0 @@ -53700,13 +53833,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: - int32_t damage_radius; // 0x1138 - int32_t trigger_radius; // 0x113c - int32_t damage; // 0x1140 + int32_t damage_radius; // 0x11b8 + int32_t trigger_radius; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 @@ -53718,22 +53851,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - int32_t push_length; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + int32_t push_length; // 0x11cc }; // Alignment: 1 @@ -53745,30 +53878,30 @@ public: }; // Alignment: 17 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: - float m_flTotalTimeInAir; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - Vector m_vTargetPosition; // 0x1158 - float m_flCurrentTimeHoriz; // 0x1164 - float m_flCurrentTimeVert; // 0x1168 - bool m_bInterrupted; // 0x116c + float m_flTotalTimeInAir; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + Vector m_vTargetPosition; // 0x11d8 + float m_flCurrentTimeHoriz; // 0x11e4 + float m_flCurrentTimeVert; // 0x11e8 + bool m_bInterrupted; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - float m_flHorizDelayTime; // 0x1170 - float m_flVertDelayTime; // 0x1174 - float m_flLeapSequenceDuration; // 0x1178 - float m_flPlaybackRate; // 0x117c - int32_t pounce_distance; // 0x1180 - float pounce_speed; // 0x1184 - float pounce_acceleration; // 0x1188 - float initial_delay; // 0x118c - float landing_delay; // 0x1190 + float m_flHorizDelayTime; // 0x11f0 + float m_flVertDelayTime; // 0x11f4 + float m_flLeapSequenceDuration; // 0x11f8 + float m_flPlaybackRate; // 0x11fc + int32_t pounce_distance; // 0x1200 + float pounce_speed; // 0x1204 + float pounce_acceleration; // 0x1208 + float initial_delay; // 0x120c + float landing_delay; // 0x1210 }; // Alignment: 0 @@ -53788,32 +53921,32 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float damage_per_health_missing; // 0x113c - float delay; // 0x1140 + int32_t radius; // 0x11b8 + float damage_per_health_missing; // 0x11bc + float delay; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item { public: - int32_t mana_regen_pct; // 0x1138 - int32_t move_speed_bonus; // 0x113c - int32_t bonus_stats; // 0x1140 + int32_t mana_regen_pct; // 0x11b8 + int32_t move_speed_bonus; // 0x11bc + int32_t bonus_stats; // 0x11c0 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x1138 - int32_t damage_share_percentage; // 0x1150 + CUtlVector< CHandle< CBaseEntity > > m_FatalBondsEntities; // 0x11b8 + int32_t damage_share_percentage; // 0x11d0 }; // Alignment: 0 @@ -53833,17 +53966,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t damage; // 0x113c - int32_t shard_movement_speed_pct; // 0x1140 + float tick_interval; // 0x11b8 + int32_t damage; // 0x11bc + int32_t shard_movement_speed_pct; // 0x11c0 }; -// Alignment: 15 -// Size: 0x5b0 +// Alignment: 16 +// Size: 0x5c8 class CDOTA_Ability_Warlock_Upheaval : public CDOTABaseAbility { public: @@ -53856,34 +53989,35 @@ public: int32_t max_damage; // 0x570 float damage_tick_interval; // 0x574 CountdownTimer m_timer; // 0x578 - float duration; // 0x590 - GameTime_t m_flElapsedTime; // 0x594 - float m_flCurrentSlow; // 0x598 - ParticleIndex_t m_nFXIndex; // 0x59c + CountdownTimer m_shardTimer; // 0x590 + float duration; // 0x5a8 + GameTime_t m_flElapsedTime; // 0x5ac + float m_flCurrentSlow; // 0x5b0 + ParticleIndex_t m_nFXIndex; // 0x5b4 private: - [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 + [[maybe_unused]] uint8_t __pad05b8[0x8]; // 0x5b8 public: - bool m_bTargetCast; // 0x5a8 + bool m_bTargetCast; // 0x5c0 private: - [[maybe_unused]] uint8_t __pad05a9[0x3]; // 0x5a9 + [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: - CHandle< CBaseEntity > m_hTarget; // 0x5ac + CHandle< CBaseEntity > m_hTarget; // 0x5c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x1138 + int32_t m_iSlow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: - int32_t m_iAttackSpeed; // 0x1138 + int32_t m_iAttackSpeed; // 0x11b8 }; // Alignment: 1 @@ -53895,7 +54029,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: @@ -53903,26 +54037,26 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: - float stun_duration; // 0x1138 - bool bHasScepter; // 0x113c + float stun_duration; // 0x11b8 + bool bHasScepter; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t aoe; // 0x1140 - int32_t m_iCount; // 0x1144 + int32_t aoe; // 0x11c0 + int32_t m_iCount; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_magic_resistance; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -53934,12 +54068,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t radius; // 0x113c + float damage; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 0 @@ -53951,19 +54085,44 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: - int32_t aura_damage; // 0x1138 + int32_t aura_damage; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Warlock_Imp_Explode : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Warlock_Imp_Explode : public CDOTA_Buff +{ +public: + CHandle< CBaseEntity > m_hBestTarget; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff +{ +public: + float explosion_radius; // 0x11b8 + float explosion_damage; // 0x11bc }; // Alignment: 0 @@ -53983,44 +54142,44 @@ public: }; // Alignment: 19 -// Size: 0x1200 +// Size: 0x1280 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x1138 - Vector m_vRightControl; // 0x1144 - Vector m_vTargetLoc; // 0x1150 - Vector m_vSourceLoc; // 0x115c - float m_flDuration; // 0x1168 - GameTime_t m_flDieTime; // 0x116c - bool m_bReturning; // 0x1170 - bool m_bCatchingAxes; // 0x1171 + Vector m_vLeftControl; // 0x11b8 + Vector m_vRightControl; // 0x11c4 + Vector m_vTargetLoc; // 0x11d0 + Vector m_vSourceLoc; // 0x11dc + float m_flDuration; // 0x11e8 + GameTime_t m_flDieTime; // 0x11ec + bool m_bReturning; // 0x11f0 + bool m_bCatchingAxes; // 0x11f1 private: - [[maybe_unused]] uint8_t __pad1172[0x6]; // 0x1172 + [[maybe_unused]] uint8_t __pad11f2[0x6]; // 0x11f2 public: - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1178 - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1190 - CUtlVector< CHandle< CBaseEntity > > m_hHitList[2]; // 0x1198 - int32_t radius; // 0x11c8 - int32_t spread; // 0x11cc - int32_t axe_damage; // 0x11d0 - float duration; // 0x11d4 - float min_throw_duration; // 0x11d8 - float max_throw_duration; // 0x11dc - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x11e0 - bool m_bHitInvisibleHero; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x11f8 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_hHitList[2]; // 0x1218 + int32_t radius; // 0x1248 + int32_t spread; // 0x124c + int32_t axe_damage; // 0x1250 + float duration; // 0x1254 + float min_throw_duration; // 0x1258 + float max_throw_duration; // 0x125c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1260 + bool m_bHitInvisibleHero; // 0x1278 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: - float damage_amp; // 0x1138 + float damage_amp; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: @@ -54044,13 +54203,13 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: - Vector m_vDestination; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x1144 - int32_t m_iTickCount; // 0x1148 + Vector m_vDestination; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11c4 + int32_t m_iTickCount; // 0x11c8 }; // Alignment: 0 @@ -54062,23 +54221,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: - float boar_bonus_damage; // 0x1138 + float boar_bonus_damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: @@ -54086,12 +54245,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t movement_speed; // 0x113c + int32_t attack_speed; // 0x11b8 + int32_t movement_speed; // 0x11bc }; // Alignment: 0 @@ -54103,15 +54262,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: @@ -54135,28 +54294,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: - Vector m_vVelocity; // 0x1138 + Vector m_vVelocity; // 0x11b8 }; // Alignment: 0 @@ -54168,7 +54327,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: @@ -54176,7 +54335,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: @@ -54192,29 +54351,29 @@ public: }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - float m_flPredictedTotalTime; // 0x113c - Vector m_vStartPosition; // 0x1140 - float m_flCurrentTimeHoriz; // 0x114c - float m_flCurrentTimeVert; // 0x1150 - bool m_bHorizontalMotionInterrupted; // 0x1154 - bool m_bDamageApplied; // 0x1155 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + float m_flPredictedTotalTime; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + float m_flCurrentTimeHoriz; // 0x11cc + float m_flCurrentTimeVert; // 0x11d0 + bool m_bHorizontalMotionInterrupted; // 0x11d4 + bool m_bDamageApplied; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad1156[0x2]; // 0x1156 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - Vector m_vHorizontalVelocity; // 0x1158 - Vector m_vLastKnownTargetPosition; // 0x1164 - float m_flInitialVelocityZ; // 0x1170 - bool m_bDone; // 0x1174 + Vector m_vHorizontalVelocity; // 0x11d8 + Vector m_vLastKnownTargetPosition; // 0x11e4 + float m_flInitialVelocityZ; // 0x11f0 + bool m_bDone; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - int32_t radius; // 0x1178 - int32_t toss_damage; // 0x117c + int32_t radius; // 0x11f8 + int32_t toss_damage; // 0x11fc }; // Alignment: 0 @@ -54225,21 +54384,31 @@ public: // No members available }; -// Alignment: 10 -// Size: 0x1160 +// Alignment: 12 +// Size: 0x11e8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: - int32_t iRadius; // 0x1138 - int32_t base_damage; // 0x113c - int32_t base_heal; // 0x1140 - int32_t heal_pct; // 0x1144 - int32_t creep_heal_pct; // 0x1148 - float min_pulse_interval; // 0x114c - int32_t pulse_divisor; // 0x1150 - int32_t movespeed_slow; // 0x1154 - float attack_damage; // 0x1158 - ParticleIndex_t m_nFXIndexOverhead; // 0x115c + int32_t aura_radius; // 0x11b8 + int32_t radius; // 0x11bc + int32_t max_stacks; // 0x11c0 + float base_damage; // 0x11c4 + int32_t heal_pct; // 0x11c8 + int32_t creep_heal_pct; // 0x11cc + int32_t iCurrentAttacksAtMinInterval; // 0x11d0 + float stack_decay_time; // 0x11d4 + float max_drum_hit_interval; // 0x11d8 + float min_drum_hit_interval; // 0x11dc + GameTime_t m_flLastStackChangeTime; // 0x11e0 + GameTime_t m_flLastDrumHitTime; // 0x11e4 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -54291,7 +54460,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: @@ -54299,11 +54468,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: - int32_t bonus_ms; // 0x1138 + int32_t bonus_ms; // 0x11b8 }; // Alignment: 0 @@ -54315,7 +54484,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: @@ -54323,11 +54492,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: - int32_t bonus_hp; // 0x1138 + int32_t bonus_hp; // 0x11b8 }; // Alignment: 0 @@ -54363,11 +54532,11 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 @@ -54379,20 +54548,20 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: - int32_t duration_damage; // 0x1138 - int32_t duration_heal; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t duration_damage; // 0x11b8 + int32_t duration_heal; // 0x11bc + int32_t movement_slow; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_SlowInterval; // 0x1148 - float m_flSlowStep; // 0x1160 - float m_flSlowStepStep; // 0x1164 - float attack_buff_duration; // 0x1168 + CountdownTimer m_SlowInterval; // 0x11c8 + float m_flSlowStep; // 0x11e0 + float m_flSlowStepStep; // 0x11e4 + float attack_buff_duration; // 0x11e8 }; // Alignment: 0 @@ -54404,16 +54573,16 @@ public: }; // Alignment: 6 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: - CUtlOrderedMap< PlayerID_t, bool > m_vecHitPlayers; // 0x1138 - CUtlOrderedMap< PlayerID_t, bool > m_vecKilledPlayers; // 0x1160 - GameTime_t m_flLastSonicWaveCast; // 0x1188 - bool m_bSpeechComplete; // 0x118c - bool m_bMessageComplete; // 0x118d - bool m_bIsMeleeAttack; // 0x118e + CUtlOrderedMap< PlayerID_t, bool > m_vecHitPlayers; // 0x11b8 + CUtlOrderedMap< PlayerID_t, bool > m_vecKilledPlayers; // 0x11e0 + GameTime_t m_flLastSonicWaveCast; // 0x1208 + bool m_bSpeechComplete; // 0x120c + bool m_bMessageComplete; // 0x120d + bool m_bIsMeleeAttack; // 0x120e }; // Alignment: 5 @@ -54429,7 +54598,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: @@ -54437,7 +54606,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: @@ -54445,13 +54614,21 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Venomancer_PoisonNova : public CDOTABaseAbility +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Venomancer_PlagueWard : public CDOTABaseAbility @@ -54470,14 +54647,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t tick_damage; // 0x113c - float tick_interval; // 0x1140 - float duration; // 0x1144 + int32_t movement_slow; // 0x11b8 + int32_t tick_damage; // 0x11bc + float tick_interval; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 1 @@ -54489,28 +54666,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t damage; // 0x113c + float duration; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t m_nTicksRemaining; // 0x1140 - float m_flAttackDamage; // 0x1144 - int32_t hp_regen_reduction; // 0x1148 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t m_nTicksRemaining; // 0x11c0 + float m_flAttackDamage; // 0x11c4 + int32_t hp_regen_reduction; // 0x11c8 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: @@ -54518,67 +54695,63 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t hp_regen_reduction; // 0x1140 - int32_t m_nTicksRemaining; // 0x1144 - float m_flAttackDamage; // 0x1148 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t hp_regen_reduction; // 0x11c0 + int32_t m_nTicksRemaining; // 0x11c4 + float m_flAttackDamage; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: - int32_t ward_hp; // 0x1138 - int32_t ward_damage; // 0x113c + int32_t ward_hp; // 0x11b8 + int32_t ward_damage; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x550 -class CDOTA_Ability_Venomancer_PoisonNova : public CDOTABaseAbility +// Size: 0x11b8 +class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: // No members available }; -// Alignment: 8 -// Size: 0x1170 +// Alignment: 7 +// Size: 0x11e8 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - int32_t speed; // 0x1158 - int32_t radius; // 0x115c - int32_t start_radius; // 0x1160 - float duration; // 0x1164 - float duration_scepter; // 0x1168 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + int32_t speed; // 0x11d8 + int32_t radius; // 0x11dc + int32_t start_radius; // 0x11e0 + float duration; // 0x11e4 }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: - float damage_scepter; // 0x1138 - float damage; // 0x113c - float base_damage; // 0x1140 - float m_fDamage; // 0x1144 - float aspd_slow; // 0x1148 + float damage; // 0x11b8 + float magic_resist; // 0x11bc }; // Alignment: 0 @@ -54589,6 +54762,43 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Venomancer_NoxiousPlague : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff +{ +public: + float health_damage; // 0x11b8 + float debuff_radius; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff +{ +public: + float attack_slow; // 0x11b8 + float movement_slow_max; // 0x11bc + float debuff_radius; // 0x11c0 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff +{ +public: + float health_damage; // 0x11b8 + float attack_slow; // 0x11bc + float movement_slow_max; // 0x11c0 +}; + // Alignment: 1 // Size: 0x560 class CDOTA_Ability_Venomancer_Latent_Poison : public CDOTABaseAbility @@ -54598,14 +54808,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: - int32_t duration_damage; // 0x1138 - int32_t movement_slow; // 0x113c - int32_t explosion_damage; // 0x1140 - float explosion_stun_duration; // 0x1144 + int32_t duration_damage; // 0x11b8 + int32_t movement_slow; // 0x11bc + int32_t explosion_damage; // 0x11c0 + float explosion_stun_duration; // 0x11c4 }; // Alignment: 0 @@ -54617,11 +54827,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: - int32_t dodge_chance_pct; // 0x1138 + int32_t dodge_chance_pct; // 0x11b8 }; // Alignment: 0 @@ -54633,24 +54843,24 @@ public: }; // Alignment: 10 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_creep; // 0x113c - float delay; // 0x1140 - int32_t chance_pct; // 0x1144 - int32_t bonus_damage; // 0x1148 - GameTime_t last_attack_time; // 0x114c - CUtlVector< int16 > m_ProcAttackRecords; // 0x1150 - GameTime_t apply_activity_modifier_until; // 0x1168 - GameTime_t disable_activity_modifier_until; // 0x116c - CUtlOrderedMap< CHandle< CDOTA_BaseNPC >, int32 > m_mapTargets; // 0x1170 + float duration; // 0x11b8 + float duration_creep; // 0x11bc + float delay; // 0x11c0 + int32_t chance_pct; // 0x11c4 + int32_t bonus_damage; // 0x11c8 + GameTime_t last_attack_time; // 0x11cc + CUtlVector< int16 > m_ProcAttackRecords; // 0x11d0 + GameTime_t apply_activity_modifier_until; // 0x11e8 + GameTime_t disable_activity_modifier_until; // 0x11ec + CUtlOrderedMap< CHandle< CDOTA_BaseNPC >, int32 > m_mapTargets; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: @@ -54658,7 +54868,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: @@ -54666,7 +54876,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: @@ -54682,21 +54892,21 @@ public: }; // Alignment: 7 -// Size: 0x1288 +// Size: 0x1308 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t m_nAffectedAbilities; // 0x113c - GameTime_t m_flLastDamageTime; // 0x1140 - int32_t slow; // 0x1144 - int32_t cooldown_percentage; // 0x1148 - int32_t damage_per_stack; // 0x114c - int32_t base_damage; // 0x1150 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t m_nAffectedAbilities; // 0x11bc + GameTime_t m_flLastDamageTime; // 0x11c0 + int32_t slow; // 0x11c4 + int32_t cooldown_percentage; // 0x11c8 + int32_t damage_per_stack; // 0x11cc + int32_t base_damage; // 0x11d0 }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: @@ -54704,11 +54914,11 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: - Vector m_vStartLocation; // 0x1138 + Vector m_vStartLocation; // 0x11b8 }; // Alignment: 7 @@ -54741,27 +54951,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_creep; // 0x113c - int32_t bonus_damage; // 0x1140 - float delay; // 0x1144 - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x1148 + float duration; // 0x11b8 + float duration_creep; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float delay; // 0x11c4 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: @@ -54777,15 +54987,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: @@ -54793,7 +55003,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: @@ -54801,23 +55011,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: @@ -54825,11 +55035,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 6 @@ -54854,7 +55064,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: @@ -54862,7 +55072,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: @@ -54878,15 +55088,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -54904,47 +55114,47 @@ public: }; // Alignment: 14 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: - float flSmoothness; // 0x1138 - float damage; // 0x113c - float damage_pct; // 0x1140 - int32_t drain_range; // 0x1144 - float haunt_duration; // 0x1148 - int32_t siphon_buffer; // 0x114c - int32_t movement_steal; // 0x1150 - CHandle< CBaseEntity > m_hTarget; // 0x1154 - ParticleIndex_t m_iLinkIndex; // 0x1158 - int32_t m_nSelfBuffSerialNumber; // 0x115c - int32_t m_nTargetDebuffSerialNumber; // 0x1160 - bool m_bAppliedFear; // 0x1164 + float flSmoothness; // 0x11b8 + float damage; // 0x11bc + float damage_pct; // 0x11c0 + int32_t drain_range; // 0x11c4 + float haunt_duration; // 0x11c8 + int32_t siphon_buffer; // 0x11cc + int32_t movement_steal; // 0x11d0 + CHandle< CBaseEntity > m_hTarget; // 0x11d4 + ParticleIndex_t m_iLinkIndex; // 0x11d8 + int32_t m_nSelfBuffSerialNumber; // 0x11dc + int32_t m_nTargetDebuffSerialNumber; // 0x11e0 + bool m_bAppliedFear; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - float shard_fear_duration; // 0x1168 - float shard_consecutive_siphon_duration; // 0x116c + float shard_fear_duration; // 0x11e8 + float shard_consecutive_siphon_duration; // 0x11ec }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: - int32_t movement_steal; // 0x1138 + int32_t movement_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: @@ -54952,7 +55162,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: @@ -54968,65 +55178,65 @@ public: }; // Alignment: 18 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t spirit_speed; // 0x113c - int32_t max_distance; // 0x1140 - int32_t give_up_distance; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_damage; // 0x114c - int32_t heal_percent; // 0x1150 - int32_t spirit_duration; // 0x1154 - float ghost_spawn_rate; // 0x1158 - int32_t movement_bonus; // 0x115c - int32_t m_iSpirits; // 0x1160 - GameTime_t m_fStartTime; // 0x1164 - GameTime_t m_fLastThinkTime; // 0x1168 - GameTime_t m_fSpawnTime; // 0x116c - bool m_bFirstSpawn; // 0x1170 - bool m_bCommentedOnExpired; // 0x1171 - bool m_bForceExpired; // 0x1172 + int32_t radius; // 0x11b8 + int32_t spirit_speed; // 0x11bc + int32_t max_distance; // 0x11c0 + int32_t give_up_distance; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_damage; // 0x11cc + int32_t heal_percent; // 0x11d0 + int32_t spirit_duration; // 0x11d4 + float ghost_spawn_rate; // 0x11d8 + int32_t movement_bonus; // 0x11dc + int32_t m_iSpirits; // 0x11e0 + GameTime_t m_fStartTime; // 0x11e4 + GameTime_t m_fLastThinkTime; // 0x11e8 + GameTime_t m_fSpawnTime; // 0x11ec + bool m_bFirstSpawn; // 0x11f0 + bool m_bCommentedOnExpired; // 0x11f1 + bool m_bForceExpired; // 0x11f2 private: - [[maybe_unused]] uint8_t __pad1173[0x5]; // 0x1173 + [[maybe_unused]] uint8_t __pad11f3[0x5]; // 0x11f3 public: - CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1178 + CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t spirit_speed; // 0x113c - int32_t max_distance; // 0x1140 - int32_t give_up_distance; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_damage; // 0x114c - int32_t heal_percent; // 0x1150 - int32_t spirit_duration; // 0x1154 - GameTime_t m_fStartTime; // 0x1158 - GameTime_t m_fLastThinkTime; // 0x115c - bool m_bExpired; // 0x1160 + int32_t radius; // 0x11b8 + int32_t spirit_speed; // 0x11bc + int32_t max_distance; // 0x11c0 + int32_t give_up_distance; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_damage; // 0x11cc + int32_t heal_percent; // 0x11d0 + int32_t spirit_duration; // 0x11d4 + GameTime_t m_fStartTime; // 0x11d8 + GameTime_t m_fLastThinkTime; // 0x11dc + bool m_bExpired; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - sSpiritInfo* m_SpiritInfo; // 0x1168 + sSpiritInfo* m_SpiritInfo; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: @@ -55034,7 +55244,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: @@ -55050,7 +55260,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: @@ -55066,14 +55276,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: - int32_t bonus_spell_damage_pct; // 0x1138 - int32_t bonus_spell_damage_pct_allies; // 0x113c - int32_t bonus_movement_speed; // 0x1140 - int32_t bonus_movement_speed_allies; // 0x1144 + int32_t bonus_spell_damage_pct; // 0x11b8 + int32_t bonus_heal_amp_pct_allies; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 + int32_t bonus_movement_speed_allies; // 0x11c4 }; // Alignment: 1 @@ -55084,23 +55294,24 @@ public: CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x550 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float mana_multiplier; // 0x113c - float mana_drained_per_attack; // 0x1140 + int32_t radius; // 0x11b8 + float mana_multiplier; // 0x11bc + float mana_drained_per_attack; // 0x11c0 + int32_t attacks_to_destroy; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - float spell_damage_reduction; // 0x113c + float mana_regen; // 0x11b8 + float spell_damage_reduction; // 0x11bc }; // Alignment: 1 @@ -55113,46 +55324,46 @@ public: }; // Alignment: 14 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: - int32_t health_drain; // 0x1138 - float tick_rate; // 0x113c - bool m_bDoRangeCheck; // 0x1140 + int32_t health_drain; // 0x11b8 + float tick_rate; // 0x11bc + bool m_bDoRangeCheck; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - ParticleIndex_t m_nFXIndex; // 0x1144 - GameTime_t m_flElapsedTime; // 0x1148 - bool m_bPrimary; // 0x114c - bool m_bShard; // 0x114d - bool m_bFromWard; // 0x114e + ParticleIndex_t m_nFXIndex; // 0x11c4 + GameTime_t m_flElapsedTime; // 0x11c8 + bool m_bPrimary; // 0x11cc + bool m_bShard; // 0x11cd + bool m_bFromWard; // 0x11ce private: - [[maybe_unused]] uint8_t __pad114f[0x1]; // 0x114f + [[maybe_unused]] uint8_t __pad11cf[0x1]; // 0x11cf public: - CHandle< CBaseEntity > m_hWard; // 0x1150 - float spell_amp_drain_duration; // 0x1154 - int32_t max_spell_amp_drain_pct; // 0x1158 - int32_t spell_amp_drain_rate; // 0x115c - int32_t spell_amp_drain_rate_ward; // 0x1160 - int32_t spell_amp_drain_max; // 0x1164 + CHandle< CBaseEntity > m_hWard; // 0x11d0 + float spell_amp_drain_duration; // 0x11d4 + int32_t max_spell_amp_drain_pct; // 0x11d8 + int32_t spell_amp_drain_rate; // 0x11dc + int32_t spell_amp_drain_rate_ward; // 0x11e0 + int32_t spell_amp_drain_max; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: - bool m_bIsFriendly; // 0x1138 + bool m_bIsFriendly; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: - bool m_bLanded; // 0x1138 + bool m_bLanded; // 0x11b8 }; // Alignment: 0 @@ -55164,20 +55375,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - int32_t attack_factor; // 0x113c + int32_t base_damage; // 0x11b8 + int32_t attack_factor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 @@ -55189,23 +55400,23 @@ public: }; // Alignment: 9 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t projectile_speed; // 0x1170 - int32_t radius; // 0x1174 - float duration; // 0x1178 - float pct_health_damage_initial; // 0x117c - float max_damage_initial; // 0x1180 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t projectile_speed; // 0x11f0 + int32_t radius; // 0x11f4 + float duration; // 0x11f8 + float pct_health_damage_initial; // 0x11fc + float max_damage_initial; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: @@ -55221,12 +55432,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t lifesteal_pct; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t lifesteal_pct; // 0x11bc }; // Alignment: 0 @@ -55238,22 +55449,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float fade_duration; // 0x114c - float scepter_fade_duration; // 0x1150 - bool m_bDestroyNext; // 0x1154 + int32_t radius; // 0x11c8 + float fade_duration; // 0x11cc + float scepter_fade_duration; // 0x11d0 + bool m_bDestroyNext; // 0x11d4 }; // Alignment: 0 @@ -55265,38 +55476,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: - int32_t crit_bonus; // 0x1138 - int32_t crit_chance; // 0x113c - bool crit_active; // 0x1140 + int32_t crit_bonus; // 0x11b8 + int32_t crit_chance; // 0x11bc + bool crit_active; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff { public: - int32_t m_nEpitaph; // 0x1138 - PlayerID_t m_nVictimPlayerID; // 0x113c - int32_t m_nVictimHeroID; // 0x1140 - int32_t m_nCritDmg; // 0x1144 - int32_t m_nContractComplete; // 0x1148 + int32_t m_nEpitaph; // 0x11b8 + PlayerID_t m_nVictimPlayerID; // 0x11bc + int32_t m_nVictimHeroID; // 0x11c0 + int32_t m_nCritDmg; // 0x11c4 + int32_t m_nContractComplete; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x1138 - bool m_bContractGravestoneComplete; // 0x113c + int32_t m_nFXIndex; // 0x11b8 + bool m_bContractGravestoneComplete; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: @@ -55384,20 +55595,20 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t bonus_damage; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t bonus_damage; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: - int32_t damage_threshold; // 0x1138 + int32_t damage_threshold; // 0x11b8 }; // Alignment: 0 @@ -55409,33 +55620,33 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: - bool launched_attack; // 0x1138 + bool launched_attack; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - bool launched_attack; // 0x113c + int32_t bonus_damage; // 0x11b8 + bool launched_attack; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - CHandle< CBaseEntity > m_hTarget; // 0x1140 - int32_t m_nAttackRecord; // 0x1144 + CHandle< CBaseEntity > m_hTarget; // 0x11c0 + int32_t m_nAttackRecord; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -55447,27 +55658,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - float attack_spill_range; // 0x113c - int32_t attack_spill_width; // 0x1140 - int32_t attack_spill_pct; // 0x1144 - int32_t attack_spill_penalty; // 0x1148 + int32_t bonus_attack_range; // 0x11b8 + float attack_spill_range; // 0x11bc + int32_t attack_spill_width; // 0x11c0 + int32_t attack_spill_pct; // 0x11c4 + int32_t attack_spill_penalty; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: @@ -55483,11 +55694,11 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: - int32_t shard_bonus_vision; // 0x1148 + int32_t shard_bonus_vision; // 0x11c8 }; // Alignment: 0 @@ -55507,17 +55718,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: - int32_t movement_speed_min; // 0x1138 - int32_t movement_speed_max; // 0x113c - int32_t trap_bonus_damage; // 0x1140 - float trap_max_charge_duration; // 0x1144 - float shard_min_silence_duration; // 0x1148 - float shard_max_silence_duration; // 0x114c - float stage; // 0x1150 + int32_t movement_speed_min; // 0x11b8 + int32_t movement_speed_max; // 0x11bc + int32_t trap_bonus_damage; // 0x11c0 + float trap_max_charge_duration; // 0x11c4 + float shard_min_silence_duration; // 0x11c8 + float shard_max_silence_duration; // 0x11cc + float stage; // 0x11d0 }; // Alignment: 0 @@ -55537,13 +55748,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t damage_absorb; // 0x113c - float m_flDamageAbsorbed; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t damage_absorb; // 0x11bc + float m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 0 @@ -55555,27 +55766,27 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t shard_armor_reduction; // 0x113c - int32_t shard_building_dmg_pct; // 0x1140 - int32_t movement_speed; // 0x1144 - int32_t magic_resistance; // 0x1148 + float damage; // 0x11b8 + int32_t shard_armor_reduction; // 0x11bc + int32_t shard_building_dmg_pct; // 0x11c0 + int32_t movement_speed; // 0x11c4 + int32_t magic_resistance; // 0x11c8 }; // Alignment: 0 @@ -55587,28 +55798,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: - int32_t min_damage; // 0x1138 - int32_t max_damage; // 0x113c - float max_duration; // 0x1140 - float m_flDamageInterval; // 0x1144 - float m_flTimeIncrement; // 0x1148 + int32_t min_damage; // 0x11b8 + int32_t max_damage; // 0x11bc + float max_duration; // 0x11c0 + float m_flDamageInterval; // 0x11c4 + float m_flTimeIncrement; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: @@ -55624,23 +55835,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: - int32_t bonus_magic_resistance; // 0x1138 + int32_t bonus_magic_resistance; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t damage; // 0x113c - int32_t effect_multiplier_distance; // 0x1140 - int32_t effect_multiplier; // 0x1144 - bool m_bEffectMultiplied; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t damage; // 0x11bc + int32_t effect_multiplier_distance; // 0x11c0 + int32_t effect_multiplier; // 0x11c4 + bool m_bEffectMultiplied; // 0x11c8 }; // Alignment: 1 @@ -55652,13 +55863,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t damage; // 0x1140 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 @@ -55670,26 +55881,26 @@ public: }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - Vector m_vStart; // 0x1144 - float m_flZDelta; // 0x1150 - int32_t radius; // 0x1154 - int32_t corrosive_radius; // 0x1158 - float effect_duration; // 0x115c - int32_t dive_speed; // 0x1160 - float start_height; // 0x1164 + Vector m_vTargetPos; // 0x11b8 + Vector m_vStart; // 0x11c4 + float m_flZDelta; // 0x11d0 + int32_t radius; // 0x11d4 + int32_t corrosive_radius; // 0x11d8 + float effect_duration; // 0x11dc + int32_t dive_speed; // 0x11e0 + float start_height; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 0 @@ -55701,7 +55912,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: @@ -55709,11 +55920,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: - int32_t damage_buff_per_beam; // 0x1138 + int32_t damage_buff_per_beam; // 0x11b8 }; // Alignment: 2 @@ -55729,14 +55940,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t bounces; // 0x113c - int32_t damage_reduction_percent; // 0x1140 - ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x1144 + int32_t range; // 0x11b8 + int32_t bounces; // 0x11bc + int32_t damage_reduction_percent; // 0x11c0 + ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11c4 }; // Alignment: 0 @@ -55748,41 +55959,42 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: - int32_t bonus_speed_day; // 0x1148 - int32_t bonus_speed_night; // 0x114c - int32_t break_distance_day; // 0x1150 - int32_t break_distance_night; // 0x1154 - int32_t visibility_radius; // 0x1158 - int32_t bonus_movement_speed; // 0x115c + int32_t bonus_speed_day; // 0x11c8 + int32_t bonus_speed_night; // 0x11cc + int32_t break_distance_day; // 0x11d0 + int32_t break_distance_night; // 0x11d4 + int32_t visibility_radius; // 0x11d8 + int32_t bonus_movement_speed; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t bonus_night_vision; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_night_vision; // 0x11bc }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_self; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 0 @@ -55794,12 +56006,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - float night_multiplier; // 0x113c + int32_t attack_speed; // 0x11b8 + float night_multiplier; // 0x11bc }; // Alignment: 1 @@ -55811,29 +56023,29 @@ public: }; // Alignment: 13 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float beam_interval; // 0x114c - float stun_duration; // 0x1150 - Vector vPosition; // 0x1154 - bool bAreaTarget; // 0x1160 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float beam_interval; // 0x11cc + float stun_duration; // 0x11d0 + Vector vPosition; // 0x11d4 + bool bAreaTarget; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_iTickCount; // 0x1164 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1168 + int32_t m_iTickCount; // 0x11e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1170 - float m_flBeamStun; // 0x1188 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x11f0 + float m_flBeamStun; // 0x1208 }; // Alignment: 6 @@ -55850,11 +56062,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: - int32_t reduction; // 0x1138 + int32_t reduction; // 0x11b8 }; // Alignment: 0 @@ -55874,20 +56086,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_health_regen; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -55899,67 +56111,67 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_damage; // 0x113c - int32_t bonus_attack_range; // 0x1140 - int32_t attack_projectile_speed_bonus; // 0x1144 - int32_t magic_resistance; // 0x1148 - int32_t model_scale; // 0x114c - int32_t iLevel; // 0x1150 - int32_t m_iOriginalAttackCapabilities; // 0x1154 - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1158 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_damage; // 0x11bc + int32_t bonus_attack_range; // 0x11c0 + int32_t attack_projectile_speed_bonus; // 0x11c4 + int32_t magic_resistance; // 0x11c8 + int32_t model_scale; // 0x11cc + int32_t iLevel; // 0x11d0 + int32_t m_iOriginalAttackCapabilities; // 0x11d4 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: - float corrosive_breath_duration; // 0x1138 + float corrosive_breath_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: - int32_t corrosive_breath_damage; // 0x1138 + int32_t corrosive_breath_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: - int32_t splash_radius; // 0x1138 - int32_t splash_damage_percent; // 0x113c - float corrosive_breath_duration; // 0x1140 + int32_t splash_radius; // 0x11b8 + int32_t splash_damage_percent; // 0x11bc + float corrosive_breath_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: - float frost_duration; // 0x1138 - float frost_aoe; // 0x113c + float frost_duration; // 0x11b8 + float frost_aoe; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: - int32_t frost_bonus_movement_speed; // 0x1138 - int32_t frost_bonus_attack_speed; // 0x113c + int32_t frost_bonus_movement_speed; // 0x11b8 + int32_t frost_bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: @@ -55975,21 +56187,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float linger_duration; // 0x113c + int32_t radius; // 0x11b8 + float linger_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t damage; // 0x113c + float burn_interval; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 0 @@ -56001,14 +56213,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: - float cooldown_reduction; // 0x1138 - float item_cooldown_reduction; // 0x113c - float duration; // 0x1140 - int32_t radius; // 0x1144 + float cooldown_reduction; // 0x11b8 + float item_cooldown_reduction; // 0x11bc + float duration; // 0x11c0 + int32_t radius; // 0x11c4 }; // Alignment: 0 @@ -56019,22 +56231,30 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float armor_reduction; // 0x113c + // No members available }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + float armor_reduction; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: - float armor_reduction; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + float armor_reduction; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -56046,15 +56266,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c - float hex_chance; // 0x1140 - float hex_duration; // 0x1144 - int32_t damage; // 0x1148 + int32_t radius; // 0x11b8 + float interval; // 0x11bc + float hex_chance; // 0x11c0 + float hex_duration; // 0x11c4 + int32_t damage; // 0x11c8 }; // Alignment: 0 @@ -56066,24 +56286,24 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float bonus_slow; // 0x113c - int32_t bonus_damage; // 0x1140 - float flAccummulatedBonusSlow; // 0x1144 - int32_t iAccummulatedBonusDamage; // 0x1148 - int32_t attack_range_bonus; // 0x114c + int32_t slow; // 0x11b8 + float bonus_slow; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float flAccummulatedBonusSlow; // 0x11c4 + int32_t iAccummulatedBonusDamage; // 0x11c8 + int32_t attack_range_bonus; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: - int32_t attack_range_bonus; // 0x1138 + int32_t attack_range_bonus; // 0x11b8 }; // Alignment: 0 @@ -56095,31 +56315,30 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: - bool m_bHasPostedEvent; // 0x1138 + bool m_bHasPostedEvent; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c - float fx_halo_height; // 0x1140 - int32_t heal_amplify; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11bc + float fx_halo_height; // 0x11c0 + int32_t heal_amplify; // 0x11c4 }; -// Alignment: 7 -// Size: 0x588 +// Alignment: 6 +// Size: 0x580 class CDOTA_Ability_Dazzle_ShadowWave : public CDOTABaseAbility { public: - int32_t m_iCurJumpCount; // 0x550 - Vector m_vCurTargetLoc; // 0x554 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x560 - int32_t bounce_radius; // 0x578 - int32_t damage_radius; // 0x57c - int32_t damage; // 0x580 - int32_t max_targets; // 0x584 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x550 + int32_t bounce_radius; // 0x568 + int32_t damage_radius; // 0x56c + int32_t damage; // 0x570 + int32_t max_targets; // 0x574 + float scepter_heal_pct; // 0x578 }; // Alignment: 0 @@ -56131,12 +56350,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: - float armor_per_second; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + float armor_per_second; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -56148,12 +56367,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t m_iCount; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -56165,15 +56384,15 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: - int32_t num_explosions; // 0x1138 - int32_t radius; // 0x113c - float m_fExplosions; // 0x1140 - float tower_bonus; // 0x1144 - bool m_bTalentActive; // 0x1148 + int32_t num_explosions; // 0x11b8 + int32_t radius; // 0x11bc + float m_fExplosions; // 0x11c0 + float tower_bonus; // 0x11c4 + bool m_bTalentActive; // 0x11c8 }; // Alignment: 0 @@ -56185,45 +56404,45 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: - float interval_scepter; // 0x1138 + float interval_scepter; // 0x11b8 }; // Alignment: 13 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t radius; // 0x113c - int32_t jump_count; // 0x1140 - float slow_duration; // 0x1144 - float jump_delay; // 0x1148 - CHandle< CBaseEntity > hInitialTarget; // 0x114c - float m_flDamage; // 0x1150 - int32_t m_iCurJumpCount; // 0x1154 - Vector m_vCurTargetLoc; // 0x1158 + int32_t damage; // 0x11b8 + int32_t radius; // 0x11bc + int32_t jump_count; // 0x11c0 + float slow_duration; // 0x11c4 + float jump_delay; // 0x11c8 + CHandle< CBaseEntity > hInitialTarget; // 0x11cc + float m_flDamage; // 0x11d0 + int32_t m_iCurJumpCount; // 0x11d4 + Vector m_vCurTargetLoc; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1168 - bool m_bGrantedGem; // 0x1180 - bool m_bBounceTwice; // 0x1181 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11e8 + bool m_bGrantedGem; // 0x1200 + bool m_bBounceTwice; // 0x1201 private: - [[maybe_unused]] uint8_t __pad1182[0x2]; // 0x1182 + [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 public: - CHandle< CBaseEntity > m_eLastTarget; // 0x1184 + CHandle< CBaseEntity > m_eLastTarget; // 0x1204 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 + int32_t slow_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -56235,30 +56454,30 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: - int32_t magic_amp; // 0x1138 - int32_t slow; // 0x113c + int32_t magic_amp; // 0x11b8 + int32_t slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: - int32_t magic_amp; // 0x1138 - int32_t slow; // 0x113c + int32_t magic_amp; // 0x11b8 + int32_t slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float interval; // 0x113c + int32_t radius; // 0x11b8 + float interval; // 0x11bc }; // Alignment: 0 @@ -56269,12 +56488,17 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1148 +// Alignment: 3 +// Size: 0x11d0 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: - bool m_bFirst; // 0x1138 + bool m_bFirst; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11b9[0xb]; // 0x11b9 +public: + int32_t damage_resistance; // 0x11c4 + int32_t bonus_movespeed; // 0x11c8 }; // Alignment: 0 @@ -56334,13 +56558,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: - ParticleIndex_t m_nOverclockFX; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t bonus_attack_speed; // 0x1140 + ParticleIndex_t m_nOverclockFX; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 }; // Alignment: 0 @@ -56352,7 +56576,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: @@ -56368,16 +56592,25 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c0 +class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff +{ +public: + int32_t magic_barrier; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: @@ -56385,87 +56618,86 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: - int32_t leash; // 0x1138 + int32_t leash; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: - int32_t cogs_radius; // 0x1138 - int32_t extra_pull_buffer; // 0x113c + int32_t cogs_radius; // 0x11b8 + int32_t extra_pull_buffer; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: // No members available }; -// Alignment: 10 -// Size: 0x1168 +// Alignment: 9 +// Size: 0x11e8 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: - bool m_bEnabled; // 0x1138 + bool m_bEnabled; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t trigger_distance; // 0x113c - int32_t push_length; // 0x1140 - float push_duration; // 0x1144 - int32_t cogs_radius; // 0x1148 - int32_t attacks_to_destroy; // 0x114c - int32_t m_iAttackCount; // 0x1150 - int32_t m_iCogIndex; // 0x1154 - ParticleIndex_t m_nFXIndex; // 0x1158 - Vector vCenter; // 0x115c + int32_t trigger_distance; // 0x11bc + int32_t push_length; // 0x11c0 + float push_duration; // 0x11c4 + int32_t cogs_radius; // 0x11c8 + int32_t attacks_to_destroy; // 0x11cc + int32_t m_iCogIndex; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + Vector vCenter; // 0x11d8 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - Vector m_vDirection; // 0x113c - float m_flEndTime; // 0x1148 - float m_flCurTime; // 0x114c - int32_t push_length; // 0x1150 - float push_duration; // 0x1154 + GameTime_t m_flStartTime; // 0x11b8 + Vector m_vDirection; // 0x11bc + float m_flEndTime; // 0x11c8 + float m_flCurTime; // 0x11cc + int32_t push_length; // 0x11d0 + float push_duration; // 0x11d4 }; // Alignment: 1 @@ -56476,17 +56708,25 @@ public: CUtlVector< CHandle< CBaseEntity > > m_vecEnemyHeroesInFog; // 0x550 }; +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff +{ +public: + float slow_pct; // 0x11b8 +}; + // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float duration; // 0x113c + float radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff { public: @@ -56494,16 +56734,16 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff { public: - float rocket_flare_interval; // 0x1138 - int32_t rocket_flare_offset_pct; // 0x113c - int32_t rocket_flare_rockets; // 0x1140 - int32_t m_nRocketsFired; // 0x1144 - int32_t radius; // 0x1148 - Vector m_vOriginalTarget; // 0x114c + float rocket_flare_interval; // 0x11b8 + int32_t rocket_flare_offset_pct; // 0x11bc + int32_t rocket_flare_rockets; // 0x11c0 + int32_t m_nRocketsFired; // 0x11c4 + int32_t radius; // 0x11c8 + Vector m_vOriginalTarget; // 0x11cc }; // Alignment: 0 @@ -56515,20 +56755,20 @@ public: }; // Alignment: 10 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff { public: - int32_t bonus_speed; // 0x1138 - float turn_rate; // 0x113c - GameTime_t m_flStartTime; // 0x1140 - float tick_interval; // 0x1144 - float m_flFacingTarget; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - CUtlVector< float32 > m_flTurnHistory; // 0x1150 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1168 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1180 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1198 + int32_t bonus_speed; // 0x11b8 + float turn_rate; // 0x11bc + GameTime_t m_flStartTime; // 0x11c0 + float tick_interval; // 0x11c4 + float m_flFacingTarget; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + CUtlVector< float32 > m_flTurnHistory; // 0x11d0 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x11e8 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1218 }; // Alignment: 4 @@ -56546,20 +56786,20 @@ public: }; // Alignment: 7 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x1150 - Vector m_vStartPosition; // 0x1154 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + Vector m_vStartPosition; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1160[0x8]; // 0x1160 + [[maybe_unused]] uint8_t __pad11e0[0x8]; // 0x11e0 public: - int32_t speed; // 0x1168 - float stun_radius; // 0x116c - float damage; // 0x1170 - float duration; // 0x1174 + int32_t speed; // 0x11e8 + float stun_radius; // 0x11ec + float damage; // 0x11f0 + float duration; // 0x11f4 }; // Alignment: 0 @@ -56644,7 +56884,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: @@ -56652,15 +56892,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: @@ -56668,23 +56908,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: // No members available }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Furion_Sprout_Shard : public CDOTA_Buff -{ -public: - CHandle< CBaseEntity > m_hTree; // 0x1138 -}; - // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: @@ -56692,7 +56924,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: @@ -56709,6 +56941,24 @@ public: ParticleIndex_t m_nFXIndexEndTeam; // 0x558 }; +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff +{ +public: + float damage_per_stack; // 0x11b8 + int32_t iMaxStacks; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff +{ +public: + float armor_per_stack; // 0x11b8 +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Furion_ForceOfNature : public CDOTABaseAbility @@ -56726,28 +56976,28 @@ public: }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t max_targets; // 0x113c - int32_t damage_percent_add; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iFixedDamage; // 0x1148 - GameTime_t m_flLastTickTime; // 0x114c - float m_flTimeAccumulator; // 0x1150 + int32_t damage; // 0x11b8 + int32_t max_targets; // 0x11bc + int32_t damage_percent_add; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t m_iFixedDamage; // 0x11c8 + GameTime_t m_flLastTickTime; // 0x11cc + float m_flTimeAccumulator; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x1158 - int32_t m_nBaseDamage; // 0x1170 - int32_t m_nMaxTargets; // 0x1174 - float m_flJumpDelay; // 0x1178 + CUtlVector< CHandle< CBaseEntity > > m_hHitTargets; // 0x11d8 + int32_t m_nBaseDamage; // 0x11f0 + int32_t m_nMaxTargets; // 0x11f4 + float m_flJumpDelay; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: @@ -56755,7 +57005,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: @@ -56763,7 +57013,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: @@ -56779,32 +57029,32 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_per_tree; // 0x113c - int32_t slow_per_tree; // 0x1140 - int32_t m_nSlow; // 0x1144 + int32_t radius; // 0x11b8 + int32_t damage_per_tree; // 0x11bc + int32_t slow_per_tree; // 0x11c0 + int32_t m_nSlow; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: - int32_t treant_hp_bonus; // 0x1138 - int32_t treant_damage_bonus; // 0x113c + int32_t treant_hp_bonus; // 0x11b8 + int32_t treant_damage_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: - int32_t treant_large_hp_bonus; // 0x1138 - int32_t treant_large_damage_bonus; // 0x113c + int32_t treant_large_hp_bonus; // 0x11b8 + int32_t treant_large_damage_bonus; // 0x11bc }; // Alignment: 0 @@ -56856,12 +57106,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: - float hp_leech_percent; // 0x1138 - float hp_damage_percent; // 0x113c + float hp_leech_percent; // 0x11b8 + float hp_damage_percent; // 0x11bc }; // Alignment: 0 @@ -56873,20 +57123,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: - int32_t miss_pct; // 0x1138 - int32_t movement_slow; // 0x113c + int32_t miss_pct; // 0x11b8 + int32_t movement_slow; // 0x11bc }; // Alignment: 0 @@ -56898,16 +57148,16 @@ public: }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: - int32_t slow_steps[8]; // 0x1138 - int32_t heal_percent; // 0x1158 - int32_t m_nDamageTracker; // 0x115c - int32_t damage_threshold; // 0x1160 - int32_t spread_radius; // 0x1164 - int32_t max_health_as_damage_pct; // 0x1168 + int32_t slow_steps[8]; // 0x11b8 + int32_t heal_percent; // 0x11d8 + int32_t m_nDamageTracker; // 0x11dc + int32_t damage_threshold; // 0x11e0 + int32_t spread_radius; // 0x11e4 + int32_t max_health_as_damage_pct; // 0x11e8 }; // Alignment: 0 @@ -56943,31 +57193,31 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nFXIndex; // 0x113c - float self_regen; // 0x1140 - int32_t m_nStartingHealth; // 0x1144 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc + float self_regen; // 0x11c0 + int32_t m_nStartingHealth; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: - float attack_rate_enemy; // 0x1138 + float attack_rate_enemy; // 0x11b8 }; // Alignment: 0 @@ -56987,11 +57237,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: - bool m_bChangedTeams; // 0x1138 + bool m_bChangedTeams; // 0x11b8 }; // Alignment: 1 @@ -57003,17 +57253,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: - float order_lock_duration; // 0x1138 - GameTime_t m_fOrderLockDone; // 0x113c - int32_t m_nFXIndex; // 0x1140 + float order_lock_duration; // 0x11b8 + GameTime_t m_fOrderLockDone; // 0x11bc + int32_t m_nFXIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: @@ -57037,12 +57287,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: - int32_t movement_speed_bonus; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t movement_speed_bonus; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -57054,25 +57304,25 @@ public: }; // Alignment: 4 -// Size: 0x12b0 +// Size: 0x1330 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: - Vector m_PositionIndex[30]; // 0x1138 - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x12a0 - float m_flDistanceTraveled; // 0x12a4 - bool m_bIsValidTarget; // 0x12a8 + Vector m_PositionIndex[30]; // 0x11b8 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1320 + float m_flDistanceTraveled; // 0x1324 + bool m_bIsValidTarget; // 0x1328 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: - Vector m_vecIllusionSpawnPosition; // 0x1138 - int32_t speed; // 0x1144 - CHandle< CBaseEntity > m_hTarget; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + Vector m_vecIllusionSpawnPosition; // 0x11b8 + int32_t speed; // 0x11c4 + CHandle< CBaseEntity > m_hTarget; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 @@ -57084,11 +57334,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: - float pull_speed; // 0x1138 + float pull_speed; // 0x11b8 }; // Alignment: 0 @@ -57100,18 +57350,18 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_per_second; // 0x113c - float tick_interval; // 0x1140 - int32_t bonus_health; // 0x1144 + int32_t radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float tick_interval; // 0x11c0 + int32_t bonus_health; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: @@ -57127,34 +57377,34 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: - int32_t speed_boost; // 0x1138 - int32_t trail_radius; // 0x113c - float trail_duration; // 0x1140 - Vector m_vLastTrailThinkerLocation; // 0x1144 - bool m_bTrailStarted; // 0x1150 + int32_t speed_boost; // 0x11b8 + int32_t trail_radius; // 0x11bc + float trail_duration; // 0x11c0 + Vector m_vLastTrailThinkerLocation; // 0x11c4 + bool m_bTrailStarted; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: - int32_t trail_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t trail_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: - int32_t trail_move_slow; // 0x1138 - int32_t trail_damage; // 0x113c - float trail_damage_interval; // 0x1140 + int32_t trail_move_slow; // 0x11b8 + int32_t trail_damage; // 0x11bc + float trail_damage_interval; // 0x11c0 }; // Alignment: 5 @@ -57170,52 +57420,52 @@ public: }; // Alignment: 7 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: - Vector m_vWallDirection; // 0x1138 - Vector m_vWallRight; // 0x1144 + Vector m_vWallDirection; // 0x11b8 + Vector m_vWallRight; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1150[0x18]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x18]; // 0x11d0 public: - CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1168 - int32_t width; // 0x1188 - float slow_duration; // 0x118c - int32_t replica_damage_incoming; // 0x1190 - int32_t replica_damage_outgoing; // 0x1194 + CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x11e8 + int32_t width; // 0x1208 + float slow_duration; // 0x120c + int32_t replica_damage_incoming; // 0x1210 + int32_t replica_damage_outgoing; // 0x1214 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x1138 + int32_t replica_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: - int32_t replica_scale; // 0x1138 + int32_t replica_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 @@ -57331,21 +57581,41 @@ public: }; // Alignment: 3 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x1138 + int32_t damage_bonus; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - bool m_bBonusAttack; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + bool m_bBonusAttack; // 0x11d8 +}; + +// Alignment: 2 +// Size: 0x570 +class CDOTA_Ability_Clinkz_DeathPact : public CDOTABaseAbility +{ +public: + int32_t m_nDevourFirstSlot; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0x4]; // 0x554 +public: + CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x558 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff +{ +public: + int32_t health_gain; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter +// Size: 0x11b8 +class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: // No members available @@ -57363,98 +57633,44 @@ public: Vector m_vDashProjectileLocation; // 0x570 }; -// Alignment: 1 -// Size: 0x558 -class CDOTA_Ability_Clinkz_DeathPact : public CDOTABaseAbility -{ -public: - int32_t m_nDevourFirstSlot; // 0x550 -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_Passive : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_Debuff : public CDOTA_Buff -{ -public: - // No members available -}; - // Alignment: 4 -// Size: 0x1148 -class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff -{ -public: - int32_t health_gain_pct; // 0x1138 - int32_t damage_gain_pct; // 0x113c - float m_flHealthGained; // 0x1140 - float m_flDamageGained; // 0x1144 -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x550 -class CDOTA_Ability_Clinkz_Scepter : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_Scepter : public CDOTA_Buff -{ -public: - // No members available -}; - -// Alignment: 2 -// Size: 0x1148 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + int32_t count; // 0x11bc + int32_t range; // 0x11c0 + Vector m_vFacePosition; // 0x11c4 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - int32_t damage_percent; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 -}; - -// Alignment: 0 -// Size: 0x550 -class CDOTA_Ability_Clinkz_WindWalk : public CDOTABaseAbility -{ -public: - // No members available + float attack_rate; // 0x11b8 + int32_t damage_percent; // 0x11bc + int32_t skeleton_health; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + int32_t skeleton_building_damage_reduction; // 0x11c8 + int32_t m_nDamageCounter; // 0x11cc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x568 +class CDOTA_Ability_Clinkz_WindWalk : public CDOTABaseAbility +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_hSkeletonSummons; // 0x550 +}; + +// Alignment: 1 +// Size: 0x11d0 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t move_speed_bonus_pct; // 0x1148 + int32_t move_speed_bonus_pct; // 0x11c8 }; // Alignment: 0 @@ -57465,17 +57681,19 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t archer_attack_speed_pct; // 0x11c0 }; // Alignment: 4 // Size: 0x568 -class CDOTA_Ability_Clinkz_PiercingArrow : public CDOTABaseAbility +class CDOTA_Ability_Clinkz_BurningBarrage : public CDOTABaseAbility { public: Vector m_vStartPos; // 0x550 @@ -57485,31 +57703,31 @@ public: }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Clinkz_PiercingArrow_DamageReduction : public CDOTA_Buff +// Size: 0x11b8 +class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: // No members available }; // Alignment: 13 -// Size: 0x1178 -class CDOTA_Modifier_Clinkz_PiercingArrow : public CDOTA_Buff +// Size: 0x11f8 +class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: - int32_t m_iArrowCount; // 0x1138 - Vector m_vOriginalTarget; // 0x113c - int32_t arrow_width; // 0x1148 - float arrow_speed; // 0x114c - float arrow_range_multiplier; // 0x1150 - int32_t wave_count; // 0x1154 - int32_t arrow_count_per_wave; // 0x1158 - int32_t arrow_angle; // 0x115c - int32_t m_iLoopCount; // 0x1160 - float m_flInterval; // 0x1164 - float m_flCycleDelay; // 0x1168 - float m_flTimeWaste; // 0x116c - GameTime_t m_flExpectedTime; // 0x1170 + int32_t m_iArrowCount; // 0x11b8 + Vector m_vOriginalTarget; // 0x11bc + int32_t arrow_width; // 0x11c8 + float arrow_speed; // 0x11cc + float arrow_range_multiplier; // 0x11d0 + int32_t wave_count; // 0x11d4 + int32_t arrow_count_per_wave; // 0x11d8 + int32_t arrow_angle; // 0x11dc + int32_t m_iLoopCount; // 0x11e0 + float m_flInterval; // 0x11e4 + float m_flCycleDelay; // 0x11e8 + float m_flTimeWaste; // 0x11ec + GameTime_t m_flExpectedTime; // 0x11f0 }; // Alignment: 0 @@ -57616,22 +57834,68 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x560 -class CDOTA_Ability_Omniknight_Hammer_Of_Purity : public CDOTABaseAbility +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Clinkz_Tar_Bomb : public CDOTABaseAbility { public: - int32_t base_damage; // 0x550 - float duration; // 0x554 - int32_t bonus_damage; // 0x558 + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + float slow_duration; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff +{ +public: + int32_t slow_movement_speed; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11e0 +class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff +{ +public: + int32_t damage_bonus; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + bool m_bBonusAttack; // 0x11d8 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Omniknight_Hammer_Of_Purity : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff +{ +public: + GameTime_t m_flNextAttackTime; // 0x11b8 + float attack_cooldown; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -57643,12 +57907,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t movement_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 0 @@ -57668,11 +57932,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: - int32_t spell_resistance_reduction; // 0x1138 + int32_t spell_resistance_reduction; // 0x11b8 }; // Alignment: 0 @@ -57684,13 +57948,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 - float hp_regen; // 0x113c - int32_t bonus_str; // 0x1140 + int32_t status_resistance; // 0x11b8 + float hp_regen; // 0x11bc + int32_t bonus_str; // 0x11c0 }; // Alignment: 0 @@ -57702,19 +57966,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 0 @@ -57726,14 +57990,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: - int32_t base_strength; // 0x1138 - int32_t base_hpregen; // 0x113c - int32_t strength_bonus; // 0x1140 - int32_t nDebuffAmount; // 0x1144 + int32_t base_strength; // 0x11b8 + int32_t base_hpregen; // 0x11bc + int32_t strength_bonus; // 0x11c0 + int32_t nDebuffAmount; // 0x11c4 }; // Alignment: 0 @@ -57745,11 +58009,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: - int32_t scepter_status_resist; // 0x1138 + int32_t scepter_status_resist; // 0x11b8 }; // Alignment: 2 @@ -57762,40 +58026,40 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c - GameTime_t m_flLastSeen; // 0x1150 + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc + GameTime_t m_flLastSeen; // 0x11d0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t bonus_move_speed; // 0x1148 + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t bonus_move_speed; // 0x11c8 }; // Alignment: 0 @@ -57807,20 +58071,20 @@ public: }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: - float hop_duration; // 0x1138 - int32_t hop_height; // 0x113c - int32_t hop_distance; // 0x1140 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - float m_flJumpDuration; // 0x114c - float m_flJumpHeight; // 0x1150 - Vector m_vTargetHorizontalDirection; // 0x1154 - CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x1160 - bool m_bLaunched; // 0x1178 + float hop_duration; // 0x11b8 + int32_t hop_height; // 0x11bc + int32_t hop_distance; // 0x11c0 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + float m_flJumpDuration; // 0x11cc + float m_flJumpHeight; // 0x11d0 + Vector m_vTargetHorizontalDirection; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > hUnitsToHit; // 0x11e0 + bool m_bLaunched; // 0x11f8 }; // Alignment: 0 @@ -57832,7 +58096,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: @@ -57840,24 +58104,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: - int32_t slow_attack_speed; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + int32_t slow_attack_speed; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; -// Alignment: 0 -// Size: 0x550 +// Alignment: 1 +// Size: 0x568 class CDOTA_Ability_Enchantress_Enchant : public CDOTABaseAbility { public: - // No members available + CUtlVector< CHandle< CBaseEntity > > m_hUnits; // 0x550 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: @@ -57865,22 +58129,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t enchant_health; // 0x113c - int32_t enchant_armor; // 0x1140 - int32_t enchant_damage; // 0x1144 + int32_t bonus_movement_speed; // 0x11b8 + int32_t enchant_health; // 0x11bc + int32_t enchant_armor; // 0x11c0 + int32_t enchant_damage; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 + int32_t slow_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -57892,32 +58156,32 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: - float heal_interval; // 0x1138 - float heal; // 0x113c - int32_t radius; // 0x1140 - int32_t shard_permanent_wisp_count; // 0x1144 - bool m_bActive; // 0x1148 + float heal_interval; // 0x11b8 + float heal; // 0x11bc + int32_t radius; // 0x11c0 + int32_t shard_permanent_wisp_count; // 0x11c4 + bool m_bActive; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nWispFXIndex; // 0x114c + ParticleIndex_t m_nWispFXIndex; // 0x11cc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: - float heal_interval; // 0x1138 - float heal; // 0x113c - int32_t radius; // 0x1140 - int32_t wisp_count; // 0x1144 - int32_t movespeed; // 0x1148 - ParticleIndex_t m_nWispFXIndex; // 0x114c + float heal_interval; // 0x11b8 + float heal; // 0x11bc + int32_t radius; // 0x11c0 + int32_t wisp_count; // 0x11c4 + int32_t movespeed; // 0x11c8 + ParticleIndex_t m_nWispFXIndex; // 0x11cc }; // Alignment: 0 @@ -57929,17 +58193,17 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: - float distance_damage_pct; // 0x1138 - int32_t distance_cap; // 0x113c - float creep_multiplier; // 0x1140 + float distance_damage_pct; // 0x11b8 + int32_t distance_cap; // 0x11bc + float creep_multiplier; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 0 @@ -57951,24 +58215,24 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float knockback_distance; // 0x114c - float knockback_duration; // 0x1150 - float effective_distance; // 0x1154 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float knockback_distance; // 0x11cc + float knockback_duration; // 0x11d0 + float effective_distance; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -57980,27 +58244,23 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float attrib_bonus; // 0x113c - float hurt_attrib_bonus; // 0x1140 - float hurt_percent; // 0x1144 + int32_t heal; // 0x11b8 + float attrib_bonus; // 0x11bc + float hurt_attrib_bonus; // 0x11c0 + float hurt_percent; // 0x11c4 }; -// Alignment: 3 -// Size: 0x1160 +// Alignment: 2 +// Size: 0x11d8 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x1138 -private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c -public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - float duration; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + float duration; // 0x11d0 }; // Alignment: 0 @@ -58012,19 +58272,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 + int32_t burn_damage; // 0x11b8 }; // Alignment: 0 @@ -58036,14 +58296,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: - int32_t maximum_health_regen; // 0x1138 - int32_t maximum_attack_speed; // 0x113c - int32_t maximum_magic_resist; // 0x1140 - int32_t hp_threshold_max; // 0x1144 + int32_t maximum_health_regen; // 0x11b8 + int32_t maximum_attack_speed; // 0x11bc + int32_t maximum_magic_resist; // 0x11c0 + int32_t hp_threshold_max; // 0x11c4 }; // Alignment: 3 @@ -58059,24 +58319,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: @@ -58092,12 +58352,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff +{ +public: + int32_t radius_scepter; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -58109,16 +58385,16 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { public: @@ -58134,15 +58410,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct_night; // 0x1138 - int32_t bonus_attack_speed_night; // 0x113c - int32_t bonus_status_resist_night; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - bool m_bIsDay; // 0x1148 + int32_t bonus_movement_speed_pct_night; // 0x11b8 + int32_t bonus_attack_speed_night; // 0x11bc + int32_t bonus_status_resist_night; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + bool m_bIsDay; // 0x11c8 }; // Alignment: 0 @@ -58154,15 +58430,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t status_resistance; // 0x113c - int32_t hp_regen; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - bool m_bIsDay; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t status_resistance; // 0x11bc + int32_t hp_regen; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + bool m_bIsDay; // 0x11c8 }; // Alignment: 0 @@ -58230,29 +58506,29 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: - float spiderling_duration; // 0x1138 - int32_t count; // 0x113c + float spiderling_duration; // 0x11b8 + int32_t count; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: - float shard_spiderling_duration; // 0x1138 + float shard_spiderling_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x1138 - int32_t damage_bonus; // 0x113c + int32_t hp_bonus; // 0x11b8 + int32_t damage_bonus; // 0x11bc }; // Alignment: 0 @@ -58264,19 +58540,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: - float buff_duration; // 0x1138 + float buff_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hParentSpider; // 0x1138 + CHandle< CBaseEntity > m_hParentSpider; // 0x11b8 }; // Alignment: 0 @@ -58288,25 +58564,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_hero; // 0x113c + float duration; // 0x11b8 + float duration_hero; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t movement_speed; // 0x113c + int32_t damage_per_second; // 0x11b8 + int32_t movement_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -58322,16 +58598,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: @@ -58339,27 +58615,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: - int32_t heath_regen; // 0x1138 - int32_t bonus_movespeed; // 0x113c - int32_t bonus_movespeed_scepter; // 0x1140 - float bonus_turn_rate; // 0x1144 - float flLastDamageTime; // 0x1148 + int32_t heath_regen; // 0x11b8 + int32_t bonus_movespeed; // 0x11bc + int32_t bonus_movespeed_scepter; // 0x11c0 + float bonus_turn_rate; // 0x11c4 + float flLastDamageTime; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: @@ -58383,20 +58659,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: - int32_t miss_chance; // 0x1138 - int32_t bonus_movespeed; // 0x113c + int32_t miss_chance; // 0x11b8 + int32_t bonus_movespeed; // 0x11bc }; // Alignment: 0 @@ -58408,17 +58684,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t lifesteal_pct; // 0x113c - float slow_duration; // 0x1140 - float bat_bonus; // 0x1144 - float shard_damage_tick_interval; // 0x1148 - int32_t damage_tick_count; // 0x114c - int32_t shard_damage_per_tick; // 0x1150 + int32_t bonus_damage; // 0x11b8 + int32_t lifesteal_pct; // 0x11bc + float slow_duration; // 0x11c0 + float bat_bonus; // 0x11c4 + float shard_damage_tick_interval; // 0x11c8 + int32_t damage_tick_count; // 0x11cc + int32_t shard_damage_per_tick; // 0x11d0 }; // Alignment: 0 @@ -58430,14 +58706,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t miss_chance; // 0x1140 - int32_t shard_miss_chance; // 0x1144 + int32_t attack_damage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t miss_chance; // 0x11c0 + int32_t shard_miss_chance; // 0x11c4 }; // Alignment: 5 @@ -58456,43 +58732,43 @@ public: }; // Alignment: 14 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: - Vector m_vOrigin; // 0x1138 - Vector m_vWallDirection; // 0x1144 - Vector m_vWallRight; // 0x1150 - int32_t width; // 0x115c - float root_duration; // 0x1160 - float formation_delay; // 0x1164 - bool m_bTouching; // 0x1168 + Vector m_vOrigin; // 0x11b8 + Vector m_vWallDirection; // 0x11c4 + Vector m_vWallRight; // 0x11d0 + int32_t width; // 0x11dc + float root_duration; // 0x11e0 + float formation_delay; // 0x11e4 + bool m_bTouching; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - CHandle< CBaseEntity > m_hRight; // 0x116c - bool m_bParticle; // 0x1170 + CHandle< CBaseEntity > m_hRight; // 0x11ec + bool m_bParticle; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - GameTime_t m_flStartingTime; // 0x1174 - int32_t m_nFoWID; // 0x1178 - int32_t m_nTeamID; // 0x117c - CUtlVector< CHandle< CBaseEntity > > m_vecAffectedHeroes; // 0x1180 - ParticleIndex_t m_nWarmupFXIndex; // 0x1198 + GameTime_t m_flStartingTime; // 0x11f4 + int32_t m_nFoWID; // 0x11f8 + int32_t m_nTeamID; // 0x11fc + CUtlVector< CHandle< CBaseEntity > > m_vecAffectedHeroes; // 0x1200 + ParticleIndex_t m_nWarmupFXIndex; // 0x1218 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - bool m_bFirstSecond; // 0x113c + float damage_per_second; // 0x11b8 + bool m_bFirstSecond; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: @@ -58500,13 +58776,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - int32_t m_nParentGold; // 0x113c - int32_t target_crit_multiplier; // 0x1140 + int32_t aura_radius; // 0x11b8 + int32_t m_nParentGold; // 0x11bc + int32_t target_crit_multiplier; // 0x11c0 }; // Alignment: 2 @@ -58527,15 +58803,15 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t gold_steal; // 0x113c - ParticleIndex_t m_nFXIndexA; // 0x1140 - ParticleIndex_t m_nFXIndexB; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t gold_steal; // 0x11bc + ParticleIndex_t m_nFXIndexA; // 0x11c0 + ParticleIndex_t m_nFXIndexB; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 0 @@ -58547,22 +58823,22 @@ public: }; // Alignment: 3 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t shard_damage_reduction_pct; // 0x1148 - float shard_stun_duration; // 0x114c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + int32_t damage_reduction_pct; // 0x11c8 + float shard_stun_duration; // 0x11cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 1 @@ -58574,19 +58850,19 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: - bool m_bActivated; // 0x1148 + bool m_bActivated; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: - int32_t bonus_move_speed_pct; // 0x1138 + int32_t bonus_move_speed_pct; // 0x11b8 }; // Alignment: 0 @@ -58598,11 +58874,11 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 + int32_t radius; // 0x11c8 }; // Alignment: 0 @@ -58614,26 +58890,26 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: - int32_t m_iMaxDist; // 0x1138 - int32_t m_iAttackCount; // 0x113c - int32_t destroy_attacks; // 0x1140 - Vector m_vDirection; // 0x1144 - Vector m_vStartLoc; // 0x1150 - CHandle< CBaseEntity > m_hAttachTarget; // 0x115c + int32_t m_iMaxDist; // 0x11b8 + int32_t m_iAttackCount; // 0x11bc + int32_t destroy_attacks; // 0x11c0 + Vector m_vDirection; // 0x11c4 + Vector m_vStartLoc; // 0x11d0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11dc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: - float armor_reduction; // 0x1138 - int32_t damage; // 0x113c - float m_flCurrentArmorReduction; // 0x1140 + float armor_reduction; // 0x11b8 + int32_t damage; // 0x11bc + float m_flCurrentArmorReduction; // 0x11c0 }; // Alignment: 4 @@ -58648,19 +58924,19 @@ public: }; // Alignment: 5 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t speed; // 0x1150 - float geminate_attack_mark_duration; // 0x1154 - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1158 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t speed; // 0x11d0 + float geminate_attack_mark_duration; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: @@ -58676,20 +58952,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 1 @@ -58703,14 +58979,14 @@ public: }; // Alignment: 4 -// Size: 0x1218 +// Size: 0x1298 class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff { public: - Vector m_PositionIndex[11]; // 0x1138 - float m_flLife[11]; // 0x11bc - float m_flMana[11]; // 0x11e8 - bool m_bHasValidHistory; // 0x1214 + Vector m_PositionIndex[11]; // 0x11b8 + float m_flLife[11]; // 0x123c + float m_flMana[11]; // 0x1268 + bool m_bHasValidHistory; // 0x1294 }; // Alignment: 2 @@ -58723,36 +58999,36 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: - int32_t start_radius; // 0x1138 - int32_t end_radius; // 0x113c - GameTime_t m_fStartTime; // 0x1140 - float m_fTotalTime; // 0x1144 - Vector m_vCastPosition; // 0x1148 + int32_t start_radius; // 0x11b8 + int32_t end_radius; // 0x11bc + GameTime_t m_fStartTime; // 0x11c0 + float m_fTotalTime; // 0x11c4 + Vector m_vCastPosition; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t slow_attack_speed_pct; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t slow_attack_speed_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: - bool m_bFirst; // 0x1138 + bool m_bFirst; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t burn_damage; // 0x113c + int32_t burn_damage; // 0x11bc }; // Alignment: 0 @@ -58764,7 +59040,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: @@ -58772,22 +59048,22 @@ public: }; // Alignment: 9 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: - float path_delay; // 0x1138 - int32_t path_radius; // 0x113c - int32_t m_nDamage; // 0x1140 - float m_flRadius; // 0x1144 - float stun_duration; // 0x1148 + float path_delay; // 0x11b8 + int32_t path_radius; // 0x11bc + int32_t m_nDamage; // 0x11c0 + float m_flRadius; // 0x11c4 + float stun_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x1150 - Vector m_vPathStart; // 0x1168 - Vector m_vPathEnd; // 0x1174 - GameTime_t m_fStartTime; // 0x1180 + CUtlVector< CHandle< CBaseEntity > > m_hUnitsHit; // 0x11d0 + Vector m_vPathStart; // 0x11e8 + Vector m_vPathEnd; // 0x11f4 + GameTime_t m_fStartTime; // 0x1200 }; // Alignment: 0 @@ -58798,27 +59074,29 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1168 +// Alignment: 5 +// Size: 0x11e8 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: - float duration; // 0x1138 - float stun_duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t radius; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bForceProc; // 0x1160 + float duration; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t radius; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bForceProc; // 0x11e0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: - int32_t base_damage; // 0x1138 - float pct_health_damage; // 0x113c - int32_t movement_slow; // 0x1140 + int32_t base_damage; // 0x11b8 + float pct_health_damage; // 0x11bc + int32_t movement_slow; // 0x11c0 }; // Alignment: 0 @@ -58830,27 +59108,27 @@ public: }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t radius; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bForceProc; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t radius; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bForceProc; // 0x11e0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: - int32_t slow_attack_speed_pct; // 0x1138 - int32_t damage; // 0x113c + int32_t slow_attack_speed_pct; // 0x11b8 + float damage; // 0x11bc }; // Alignment: 0 @@ -58862,26 +59140,26 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - float burn_interval; // 0x1144 - int32_t path_radius; // 0x1148 - int32_t cast_range; // 0x114c - float linger_duration; // 0x1150 - bool m_bTestedGem; // 0x1154 + Vector m_vPathDir; // 0x11b8 + float burn_interval; // 0x11c4 + int32_t path_radius; // 0x11c8 + int32_t cast_range; // 0x11cc + float linger_duration; // 0x11d0 + bool m_bTestedGem; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_scepter; // 0x113c - float burn_interval; // 0x1140 + int32_t damage; // 0x11b8 + int32_t damage_scepter; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 0 @@ -58965,24 +59243,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: - bool m_bShouldApply; // 0x1138 + bool m_bShouldApply; // 0x11b8 }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: - int32_t movement_speed_pct; // 0x1158 - int32_t turn_rate_pct; // 0x115c - int32_t damage; // 0x1160 - int32_t application_damage; // 0x1164 - ParticleIndex_t m_nFXIndex; // 0x1168 - ParticleIndex_t m_nFXStackIndex; // 0x116c + float movement_speed_pct; // 0x11d8 + int32_t turn_rate_pct; // 0x11dc + int32_t damage; // 0x11e0 + int32_t application_damage; // 0x11e4 + ParticleIndex_t m_nFXIndex; // 0x11e8 + ParticleIndex_t m_nFXStackIndex; // 0x11ec }; // Alignment: 0 @@ -58994,20 +59272,21 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: - int32_t damage_impact; // 0x1138 - int32_t damage_per_second; // 0x113c + int32_t damage_impact; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow; // 0x11c0 }; // Alignment: 0 @@ -59019,25 +59298,25 @@ public: }; // Alignment: 12 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: - bool m_bActive; // 0x1138 + bool m_bActive; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t radius; // 0x113c - int32_t m_ifirefly_Active; // 0x1140 - int32_t tree_radius; // 0x1144 - int32_t damage_per_second; // 0x1148 - int32_t movement_speed; // 0x114c - float tick_interval; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - ParticleIndex_t m_nFXIndexB; // 0x1158 - GameTime_t m_fNextDamageTick; // 0x115c - Vector m_vLastFirePoolLoc; // 0x1160 - int32_t bonus_vision; // 0x116c + int32_t radius; // 0x11bc + int32_t m_ifirefly_Active; // 0x11c0 + int32_t tree_radius; // 0x11c4 + int32_t damage_per_second; // 0x11c8 + int32_t movement_speed; // 0x11cc + float tick_interval; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + ParticleIndex_t m_nFXIndexB; // 0x11d8 + GameTime_t m_fNextDamageTick; // 0x11dc + Vector m_vLastFirePoolLoc; // 0x11e0 + int32_t bonus_vision; // 0x11ec }; // Alignment: 0 @@ -59048,34 +59327,36 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1158 +// Alignment: 6 +// Size: 0x11d8 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: - int32_t drag_distance; // 0x1138 - int32_t break_distance; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 - Vector vPreviousLocation; // 0x1144 - CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x1150 + float tick_rate; // 0x11b8 + int32_t drag_distance; // 0x11bc + int32_t break_distance; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + Vector vPreviousLocation; // 0x11c8 + CHandle< CDOTA_BaseNPC > m_hAnchor; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - float damage; // 0x113c - float duration; // 0x1140 + int32_t max_ticks; // 0x11b8 + float damage; // 0x11bc + float duration; // 0x11c0 + float tick_rate; // 0x11c4 }; // Alignment: 0 @@ -59143,20 +59424,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_damage_taken; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_taken; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -59176,31 +59457,31 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - float teleport_delay; // 0x1140 + float teleport_delay; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - float heal_rate; // 0x113c - int32_t creep_bonus; // 0x1140 + int32_t armor; // 0x11b8 + float heal_rate; // 0x11bc + int32_t creep_bonus; // 0x11c0 }; // Alignment: 0 @@ -59220,23 +59501,23 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: - int32_t health_min; // 0x1138 - int32_t new_max; // 0x113c - int32_t health_bonus; // 0x1140 - int32_t damage_bonus; // 0x1144 - int32_t movement_speed_bonus; // 0x1148 + int32_t health_min; // 0x11b8 + int32_t new_max; // 0x11bc + int32_t health_bonus; // 0x11c0 + int32_t damage_bonus; // 0x11c4 + int32_t movement_speed_bonus; // 0x11c8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: - bool bToChen; // 0x1138 + bool bToChen; // 0x11b8 }; // Alignment: 0 @@ -59248,11 +59529,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x1138 + int32_t heal_per_second; // 0x11b8 }; // Alignment: 0 @@ -59352,7 +59633,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: @@ -59368,28 +59649,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t radius; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 7 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x18]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x18]; // 0x11b8 public: - CUtlVector< CHandle< CBaseEntity > > m_hUnitsInPath; // 0x1150 - int32_t path_radius; // 0x1168 - int32_t vision_radius; // 0x116c - int32_t dagger_radius; // 0x1170 - float buff_persistence; // 0x1174 - float dagger_grace_period; // 0x1178 - float dagger_path_duration; // 0x117c + CUtlVector< CHandle< CBaseEntity > > m_hUnitsInPath; // 0x11d0 + int32_t path_radius; // 0x11e8 + int32_t vision_radius; // 0x11ec + int32_t dagger_radius; // 0x11f0 + float buff_persistence; // 0x11f4 + float dagger_grace_period; // 0x11f8 + float dagger_path_duration; // 0x11fc }; // Alignment: 9 @@ -59412,26 +59693,26 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: - int32_t path_radius; // 0x1138 - float hero_path_duration; // 0x113c - Vector m_vLastPosition; // 0x1140 + int32_t path_radius; // 0x11b8 + float hero_path_duration; // 0x11bc + Vector m_vLastPosition; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 - CHandle< CBaseEntity > m_hTrackingTarget; // 0x113c + int32_t bonus_movespeed; // 0x11b8 + CHandle< CBaseEntity > m_hTrackingTarget; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: @@ -59439,7 +59720,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: @@ -59447,11 +59728,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 @@ -59462,29 +59743,36 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 - int32_t min_radius; // 0x113c - int32_t max_radius; // 0x1140 - int32_t shard_dagger_damage; // 0x1144 - float shard_dagger_cooldown; // 0x1148 - GameTime_t m_flLastDispersionPulseEffectTime; // 0x114c - float m_fDamageCounter; // 0x1150 - float m_fLastTime; // 0x1154 + int32_t damage_reflection_pct; // 0x11b8 + int32_t min_radius; // 0x11bc + int32_t max_radius; // 0x11c0 + int32_t activation_bonus_pct; // 0x11c4 + GameTime_t m_flLastDispersionPulseEffectTime; // 0x11c8 + float m_fDamageCounter; // 0x11cc + float m_fLastTime; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Spectre_Haunt : public CDOTABaseAbility @@ -59502,12 +59790,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: - GameTime_t m_fStartAttackTime; // 0x1138 - CHandle< CBaseEntity > hTarget; // 0x113c + GameTime_t m_fStartAttackTime; // 0x11b8 + CHandle< CBaseEntity > hTarget; // 0x11bc }; // Alignment: 0 @@ -59519,7 +59807,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: @@ -59527,11 +59815,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 }; // Alignment: 1 @@ -59543,7 +59831,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: @@ -59551,16 +59839,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - int32_t magic_resist; // 0x113c + int32_t armor; // 0x11b8 + int32_t magic_resist; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: @@ -59576,7 +59864,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: @@ -59584,22 +59872,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: - int32_t bonus_movement_speed_pct; // 0x1138 + int32_t bonus_movement_speed_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c - int32_t radius; // 0x1140 - int32_t damage_per_hero; // 0x1144 + int32_t damage_per_second; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc + int32_t radius; // 0x11c0 + int32_t damage_per_hero; // 0x11c4 }; // Alignment: 0 @@ -59611,26 +59899,26 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: - bool m_bInfernalBladeAttack; // 0x1138 + bool m_bInfernalBladeAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c - float burn_duration; // 0x1140 - float ministun_duration; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11bc + float burn_duration; // 0x11c0 + float ministun_duration; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - float burn_damage_pct; // 0x113c + int32_t burn_damage; // 0x11b8 + float burn_damage_pct; // 0x11bc }; // Alignment: 0 @@ -59642,38 +59930,38 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x1138 - int32_t damage; // 0x113c + int32_t scepter_aura_radius; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: - int32_t scepter_aura_radius; // 0x1138 - int32_t damage; // 0x113c + int32_t scepter_aura_radius; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float duration; // 0x113c - int32_t deniable_pct; // 0x1140 - float flElapsedTime; // 0x1144 - int32_t damage_amp; // 0x1148 - bool m_bDoesBreak; // 0x114c + int32_t damage; // 0x11b8 + float duration; // 0x11bc + int32_t deniable_pct; // 0x11c0 + float flElapsedTime; // 0x11c4 + int32_t damage_amp; // 0x11c8 + bool m_bDoesBreak; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: @@ -59727,17 +60015,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 - float damage; // 0x113c - float movespeed_duration; // 0x1140 + int32_t chance_pct; // 0x11b8 + float damage; // 0x11bc + float movespeed_duration; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: @@ -59745,45 +60033,45 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct; // 0x1138 + int32_t bonus_movespeed_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c + int32_t movement_speed; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - CEntityIndex m_iChargeTargetEntityIndex; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + CEntityIndex m_iChargeTargetEntityIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: - int32_t m_nFXIndex; // 0x1138 + int32_t m_nFXIndex; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 0 @@ -59794,13 +60082,14 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t movement_speed; // 0x11b8 + int32_t status_resistance; // 0x11bc + float damage_barrier; // 0x11c0 }; // Alignment: 0 @@ -59812,22 +60101,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: - int32_t bonus_movespeed_pct_self; // 0x1138 - int32_t bonus_movespeed_pct_allies; // 0x113c - int32_t bonus_movespeed_pct_extra; // 0x1140 - int32_t duration; // 0x1144 + int32_t bonus_movespeed_pct_self; // 0x11b8 + int32_t bonus_movespeed_pct_allies; // 0x11bc + int32_t bonus_movespeed_pct_extra; // 0x11c0 + int32_t duration; // 0x11c4 }; // Alignment: 0 @@ -59839,25 +60128,25 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: - int32_t invis_threshold_pct; // 0x1138 + int32_t invis_threshold_pct; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - bool m_bStrikeLanded; // 0x113c + int32_t damage; // 0x11b8 + bool m_bStrikeLanded; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - Vector m_vCastLocation; // 0x1140 - CHandle< CBaseEntity > m_hTarget; // 0x114c + Vector m_vCastLocation; // 0x11c0 + CHandle< CBaseEntity > m_hTarget; // 0x11cc }; // Alignment: 0 @@ -59869,25 +60158,25 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: - bool m_bHasActivated; // 0x1138 + bool m_bHasActivated; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t radius; // 0x113c - int32_t magic_resistance; // 0x1140 + int32_t radius; // 0x11bc + int32_t magic_resistance; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRedirectAbility; // 0x1138 - GameTick_t nRedirectTick; // 0x113c + CHandle< CBaseEntity > m_hRedirectAbility; // 0x11b8 + GameTick_t nRedirectTick; // 0x11bc }; // Alignment: 0 @@ -59899,16 +60188,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t bonus_movement_speed; // 0x113c + int32_t rocket_damage; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -59924,43 +60213,43 @@ public: }; // Alignment: 17 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndex2; // 0x113c - int32_t hero_damage; // 0x1140 - int32_t acceleration; // 0x1144 - int32_t min_damage; // 0x1148 - int32_t max_distance; // 0x114c - int32_t shard_radius; // 0x1150 - float shard_delay; // 0x1154 - float pre_flight_time; // 0x1158 - float stun_duration; // 0x115c - int32_t m_nMissileDamage; // 0x1160 - int32_t m_nTeamNumber; // 0x1164 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndex2; // 0x11bc + int32_t hero_damage; // 0x11c0 + int32_t acceleration; // 0x11c4 + int32_t min_damage; // 0x11c8 + int32_t max_distance; // 0x11cc + int32_t shard_radius; // 0x11d0 + float shard_delay; // 0x11d4 + float pre_flight_time; // 0x11d8 + float stun_duration; // 0x11dc + int32_t m_nMissileDamage; // 0x11e0 + int32_t m_nTeamNumber; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1168[0x8]; // 0x1168 + [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: - float speed; // 0x1170 - CHandle< CBaseEntity > m_hAttachTarget; // 0x1174 - Vector m_vStartPosition; // 0x1178 + float speed; // 0x11f0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11f4 + Vector m_vStartPosition; // 0x11f8 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CountdownTimer m_EnemyVision; // 0x1188 - CountdownTimer m_MoveTime; // 0x11a0 + CountdownTimer m_EnemyVision; // 0x1208 + CountdownTimer m_MoveTime; // 0x1220 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: - int32_t rocket_damage; // 0x1138 - int32_t shard_radius; // 0x113c - CHandle< CBaseEntity > m_hTarget; // 0x1140 + int32_t rocket_damage; // 0x11b8 + int32_t shard_radius; // 0x11bc + CHandle< CBaseEntity > m_hTarget; // 0x11c0 }; // Alignment: 0 @@ -59972,25 +60261,25 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: - int32_t max_attacks; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - int32_t projectile_speed; // 0x1144 - int32_t radius; // 0x1148 + int32_t max_attacks; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + int32_t radius; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: - float fire_rate; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t m_iAttackRecord; // 0x1140 + float fire_rate; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t m_iAttackRecord; // 0x11c0 }; // Alignment: 2 @@ -60003,34 +60292,34 @@ public: }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff { public: - int32_t slow_duration_first; // 0x1138 - int32_t slow_duration_second; // 0x113c - int32_t damage_first; // 0x1140 - int32_t damage_second; // 0x1144 - int32_t damage_second_scepter; // 0x1148 - int32_t radius; // 0x114c - float slow_first; // 0x1150 - float slow_second; // 0x1154 - bool m_bFirstStrike; // 0x1158 - bool m_bDelayed; // 0x1159 - bool m_bHalfDamage; // 0x115a + int32_t slow_duration_first; // 0x11b8 + int32_t slow_duration_second; // 0x11bc + int32_t damage_first; // 0x11c0 + int32_t damage_second; // 0x11c4 + int32_t damage_second_scepter; // 0x11c8 + int32_t radius; // 0x11cc + float slow_first; // 0x11d0 + float slow_second; // 0x11d4 + bool m_bFirstStrike; // 0x11d8 + bool m_bDelayed; // 0x11d9 + bool m_bHalfDamage; // 0x11da private: - [[maybe_unused]] uint8_t __pad115b[0x5]; // 0x115b + [[maybe_unused]] uint8_t __pad11db[0x5]; // 0x11db public: - CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x1160 - bool m_bHitInvisibleHeroes; // 0x1178 + CUtlVector< CHandle< CBaseEntity > > m_vecHitHeroes; // 0x11e0 + bool m_bHitInvisibleHeroes; // 0x11f8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 @@ -60042,22 +60331,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t armor_allies; // 0x113c - int32_t radius; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t damage; // 0x11b8 + int32_t armor_allies; // 0x11bc + int32_t radius; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -60078,21 +60367,21 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff { public: - float brew_time; // 0x1138 - float brew_explosion; // 0x113c - GameTime_t m_fStartTime; // 0x1140 - GameTime_t m_fLastAlertTime; // 0x1144 - ParticleIndex_t m_nConcoctionFXIndex; // 0x1148 - bool m_bHasStunned; // 0x114c + float brew_time; // 0x11b8 + float brew_explosion; // 0x11bc + GameTime_t m_fStartTime; // 0x11c0 + GameTime_t m_fLastAlertTime; // 0x11c4 + ParticleIndex_t m_nConcoctionFXIndex; // 0x11c8 + bool m_bHasStunned; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - int32_t damage_resistance; // 0x1150 - int32_t move_speed; // 0x1154 + int32_t damage_resistance; // 0x11d0 + int32_t move_speed; // 0x11d4 }; // Alignment: 0 @@ -60104,16 +60393,16 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: - CUtlVector< GameTime_t > m_DeathList; // 0x1138 - float damage; // 0x1150 - float duration; // 0x1154 - int32_t bonus_gold; // 0x1158 - int32_t bonus_bonus_gold; // 0x115c - int32_t bonus_gold_cap; // 0x1160 + CUtlVector< GameTime_t > m_DeathList; // 0x11b8 + float damage; // 0x11d0 + float duration; // 0x11d4 + int32_t bonus_gold; // 0x11d8 + int32_t bonus_bonus_gold; // 0x11dc + int32_t bonus_gold_cap; // 0x11e0 }; // Alignment: 0 @@ -60125,7 +60414,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: @@ -60133,25 +60422,25 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: - float base_attack_time; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_health_regen; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_movespeed; // 0x1148 - ParticleIndex_t m_nFXAlchemistCRIndex; // 0x114c + float base_attack_time; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_health_regen; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_movespeed; // 0x11c8 + ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x1138 - int32_t scepter_spell_amp; // 0x113c + int32_t scepter_bonus_damage; // 0x11b8 + int32_t scepter_spell_amp; // 0x11bc }; // Alignment: 0 @@ -60163,13 +60452,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t hp_regen; // 0x113c - int32_t move_speed; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc + int32_t move_speed; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Alchemist_Corrosive_Weaponry : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff +{ +public: + int32_t slow_per_stack; // 0x11b8 + float status_resist_per_stack; // 0x11bc }; // Alignment: 0 @@ -60202,19 +60516,19 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: - float freeze_damage; // 0x1138 - float freeze_duration; // 0x113c - float freeze_cooldown; // 0x1140 - float damage_trigger; // 0x1144 - CountdownTimer m_freezeCooldownTimer; // 0x1148 + float freeze_damage; // 0x11b8 + float freeze_duration; // 0x11bc + float freeze_cooldown; // 0x11c0 + float damage_trigger; // 0x11c4 + CountdownTimer m_freezeCooldownTimer; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: @@ -60230,21 +60544,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: - int32_t self_slow; // 0x1148 - int32_t area_of_effect; // 0x114c - float aura_fade_time; // 0x1150 + int32_t self_slow; // 0x11c8 + int32_t area_of_effect; // 0x11cc + float aura_fade_time; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: - int32_t enemy_slow; // 0x1138 + int32_t enemy_slow; // 0x11b8 }; // Alignment: 6 @@ -60261,11 +60575,11 @@ public: }; // Alignment: 1 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: - float m_flLandDamage; // 0x1150 + float m_flLandDamage; // 0x11d0 }; // Alignment: 0 @@ -60276,14 +60590,36 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 - int32_t mana_burned; // 0x113c - float damage_per_mana; // 0x1140 + int32_t area_of_effect; // 0x11b8 + int32_t mana_burned; // 0x11bc + float damage_per_mana; // 0x11c0 + CHandle< CBaseEntity > m_hPullThinker; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff +{ +public: + int32_t area_of_effect; // 0x11b8 +}; + +// Alignment: 6 +// Size: 0x11d8 +class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff +{ +public: + int32_t shard_drag_speed; // 0x11b8 + float aura_origin_x; // 0x11bc + float aura_origin_y; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + Vector m_vCenter; // 0x11c8 + GameTime_t m_flLastThinkTime; // 0x11d4 }; // Alignment: 0 @@ -60295,12 +60631,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 7 @@ -60318,22 +60654,22 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: - Vector m_vDir; // 0x1138 - int32_t travel_speed; // 0x1144 - int32_t travel_distance; // 0x1148 - int32_t vision_distance; // 0x114c + Vector m_vDir; // 0x11b8 + int32_t travel_speed; // 0x11c4 + int32_t travel_distance; // 0x11c8 + int32_t vision_distance; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: - float m_flDamagePerSecond; // 0x1138 + float m_flDamagePerSecond; // 0x11b8 }; // Alignment: 0 @@ -60345,35 +60681,35 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: - float damage; // 0x1138 + float damage; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 - float damage; // 0x113c - int32_t vision_distance; // 0x1140 - float vision_duration; // 0x1144 + int32_t area_of_effect; // 0x11b8 + float damage; // 0x11bc + int32_t vision_distance; // 0x11c0 + float vision_duration; // 0x11c4 }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff { public: - int32_t area_of_effect; // 0x1138 - float damage; // 0x113c - int32_t vision_distance; // 0x1140 - float vision_duration; // 0x1144 - Vector m_vSoundPos; // 0x1148 - bool m_bPlaySound; // 0x1154 + int32_t area_of_effect; // 0x11b8 + float damage; // 0x11bc + int32_t vision_distance; // 0x11c0 + float vision_duration; // 0x11c4 + Vector m_vSoundPos; // 0x11c8 + bool m_bPlaySound; // 0x11d4 }; // Alignment: 1 @@ -60385,15 +60721,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff { public: - int32_t level; // 0x1138 - int32_t armor; // 0x113c - int32_t mana; // 0x1140 - float attack_range; // 0x1144 - float armor_per_attack; // 0x1148 + int32_t level; // 0x11b8 + int32_t armor; // 0x11bc + int32_t mana; // 0x11c0 + float attack_range; // 0x11c4 + float armor_per_attack; // 0x11c8 }; // Alignment: 0 @@ -60405,20 +60741,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: - float armor_removed; // 0x1138 - int32_t m_nMaxStacks; // 0x113c + float armor_removed; // 0x11b8 + int32_t m_nMaxStacks; // 0x11bc }; // Alignment: 2 @@ -60431,34 +60767,34 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff { public: - float damage_per_second; // 0x1138 - int32_t num_wall_elements; // 0x113c - int32_t wall_element_spacing; // 0x1140 - int32_t wall_element_radius; // 0x1144 - Vector m_vWallDir; // 0x1148 - bool m_bGrantedGem; // 0x1154 + float damage_per_second; // 0x11b8 + int32_t num_wall_elements; // 0x11bc + int32_t wall_element_spacing; // 0x11c0 + int32_t wall_element_radius; // 0x11c4 + Vector m_vWallDir; // 0x11c8 + bool m_bGrantedGem; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t slow; // 0x113c - float slow_duration; // 0x1140 + int32_t radius; // 0x11b8 + int32_t slow; // 0x11bc + float slow_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 6 @@ -60475,17 +60811,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x1138 - Vector m_vPushDir; // 0x113c - GameTime_t m_flStartTime; // 0x1148 + float disarm_duration; // 0x11b8 + Vector m_vPushDir; // 0x11bc + GameTime_t m_flStartTime; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -60493,7 +60829,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: @@ -60520,27 +60856,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x1138 + char* m_pSlotName; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x1138 + char* m_pSlotName; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: - char* m_pSlotName; // 0x1138 + char* m_pSlotName; // 0x11b8 }; // Alignment: 0 @@ -60584,7 +60920,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: @@ -60680,16 +61016,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - ParticleIndex_t nFxIndex; // 0x113c - int32_t penalty_duration; // 0x1140 - float penalty_multiplier; // 0x1144 - int32_t movespeed; // 0x1148 - int32_t undispellable; // 0x114c + int32_t damage; // 0x11b8 + ParticleIndex_t nFxIndex; // 0x11bc + int32_t penalty_duration; // 0x11c0 + float penalty_multiplier; // 0x11c4 + int32_t movespeed; // 0x11c8 + int32_t undispellable; // 0x11cc }; // Alignment: 2 @@ -60705,21 +61041,21 @@ public: }; // Alignment: 4 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: - float intellect_damage_pct; // 0x1138 + float intellect_damage_pct; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x1158 - CDOTA_Buff* m_pAttackCounterBuff; // 0x1170 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x11d8 + CDOTA_Buff* m_pAttackCounterBuff; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: @@ -60727,15 +61063,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: - int32_t int_steal; // 0x1138 + int32_t int_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: @@ -60743,15 +61079,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: - int32_t int_steal; // 0x1138 + int32_t int_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: @@ -60767,23 +61103,23 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: - int32_t duration; // 0x1138 - bool spellcast; // 0x113c + int32_t duration; // 0x11b8 + bool spellcast; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t damage; // 0x1140 - float debuff_duration; // 0x1144 - float int_multiplier; // 0x1148 - int32_t scepter_bonus_damage; // 0x114c + int32_t damage; // 0x11c0 + float debuff_duration; // 0x11c4 + float int_multiplier; // 0x11c8 + int32_t scepter_bonus_damage; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: @@ -60799,7 +61135,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: @@ -60815,15 +61151,15 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: - float mana_pool_damage_pct; // 0x1138 + float mana_pool_damage_pct; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 @@ -60834,13 +61170,17 @@ public: CHandle< CBaseEntity > m_hImprisonedUnit; // 0x550 }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: - int32_t allied_movement_speed_pct; // 0x1138 - bool m_bAllowMovement; // 0x113c + int32_t allied_movement_speed_pct; // 0x11b8 + bool m_bAllowMovement; // 0x11bc +private: + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd +public: + ParticleIndex_t m_nDebuffImmuneEffect; // 0x11c0 }; // Alignment: 0 @@ -60852,22 +61192,22 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: - int32_t bonus_mana; // 0x1138 - int32_t radius; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t restore_chance; // 0x113c - float restore_amount; // 0x1140 + int32_t radius; // 0x11b8 + int32_t restore_chance; // 0x11bc + float restore_amount; // 0x11c0 }; // Alignment: 0 @@ -60879,7 +61219,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: @@ -60894,46 +61234,59 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 9 +// Size: 0x11e0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: - int32_t proc_chance; // 0x1138 - int32_t mana_restore; // 0x113c - float mana_capacity_steal; // 0x1140 - float mana_capacity_duration; // 0x1144 - float shard_mana_duration; // 0x1148 + int32_t proc_chance; // 0x11b8 + int32_t mana_restore; // 0x11bc + float mana_capacity_steal; // 0x11c0 + float mana_capacity_duration; // 0x11c4 + float shard_mana_duration; // 0x11c8 + float scepter_barrier_threshold; // 0x11cc + float scepter_barrier_duration; // 0x11d0 + float scepter_barrier_cooldown; // 0x11d4 + float scepter_max_mana_barrier_pct; // 0x11d8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff +{ +public: + float barrier_amt; // 0x11b8 + int32_t m_nDamageAbsorbed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: - int32_t shard_bonus_mana; // 0x1138 + int32_t shard_bonus_mana; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x1138 - float m_flCurrentMana; // 0x113c + int32_t mana_steal; // 0x11b8 + float m_flCurrentMana; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: - int32_t mana_steal; // 0x1138 - float m_flCurrentMana; // 0x113c + int32_t mana_steal; // 0x11b8 + float m_flCurrentMana; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: @@ -60941,7 +61294,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: @@ -60997,12 +61350,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_speed_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_speed_slow; // 0x11bc }; // Alignment: 0 @@ -61014,12 +61367,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t miss_chance; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t miss_chance; // 0x11bc }; // Alignment: 0 @@ -61031,7 +61384,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: @@ -61039,16 +61392,16 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - bool m_bIgniteActive; // 0x113c + int32_t movement_slow; // 0x11b8 + bool m_bIgniteActive; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_flDamagePerTick; // 0x1140 + float m_flDamagePerTick; // 0x11c0 }; // Alignment: 3 @@ -61067,57 +61420,57 @@ public: }; // Alignment: 13 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff { public: - int32_t dodge_chance; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 - int32_t active_multiplier; // 0x1144 - int32_t stun_chance; // 0x1148 - float bash_cooldown; // 0x114c - float stun_duration; // 0x1150 - float slow_duration; // 0x1154 - int32_t bonus_move_speed; // 0x1158 - int32_t bonus_status_resist; // 0x115c - int32_t armor; // 0x1160 - int32_t magic_resist; // 0x1164 - float m_flLastBash; // 0x1168 + int32_t dodge_chance; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 + int32_t active_multiplier; // 0x11c4 + int32_t stun_chance; // 0x11c8 + float bash_cooldown; // 0x11cc + float stun_duration; // 0x11d0 + float slow_duration; // 0x11d4 + int32_t bonus_move_speed; // 0x11d8 + int32_t bonus_status_resist; // 0x11dc + int32_t armor; // 0x11e0 + int32_t magic_resist; // 0x11e4 + float m_flLastBash; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - int32_t active_multiplier; // 0x113c + int32_t movespeed; // 0x11b8 + int32_t active_multiplier; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nFXIndexB; // 0x113c - int32_t min_movement; // 0x1140 - int32_t max_movement; // 0x1144 - int32_t m_iMovementBonus; // 0x1148 - GameTime_t m_flNextUpdateTime; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nFXIndexB; // 0x11bc + int32_t min_movement; // 0x11c0 + int32_t max_movement; // 0x11c4 + int32_t m_iMovementBonus; // 0x11c8 + GameTime_t m_flNextUpdateTime; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: @@ -61125,11 +61478,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 @@ -61141,32 +61494,33 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t bonus_brewling_hp; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x113c - CHandle< CBaseEntity > m_hTertiaryTarget; // 0x1140 - CHandle< CBaseEntity > m_hFourthTarget; // 0x1144 - CHandle< CBaseEntity > m_hReturnBrewling; // 0x1148 - int32_t m_nFXIndex; // 0x114c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11bc + CHandle< CBaseEntity > m_hTertiaryTarget; // 0x11c0 + CHandle< CBaseEntity > m_hFourthTarget; // 0x11c4 + CHandle< CBaseEntity > m_hReturnBrewling; // 0x11c8 + int32_t m_nFXIndex; // 0x11cc }; // Alignment: 2 @@ -61190,15 +61544,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: @@ -61214,8 +61568,8 @@ public: }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available @@ -61230,11 +61584,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 + int32_t bonus_building_damage; // 0x11b8 }; // Alignment: 0 @@ -61254,7 +61608,7 @@ public: }; // Alignment: 0 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: @@ -61270,12 +61624,12 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speeed; // 0x1148 - int32_t bonus_damage; // 0x114c + int32_t bonus_movement_speeed; // 0x11c8 + int32_t bonus_damage; // 0x11cc }; // Alignment: 0 @@ -61287,19 +61641,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 0 @@ -61311,7 +61665,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: @@ -61327,21 +61681,45 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: - float cooldown_on_death; // 0x1138 - float cooldown_on_take_damage; // 0x113c - int32_t disable_distance; // 0x1140 - int32_t movement_slow_when_out_of_range; // 0x1144 - bool m_bCanAttack; // 0x1148 + float cooldown_on_death; // 0x11b8 + float cooldown_on_take_damage; // 0x11bc + int32_t disable_distance; // 0x11c0 + int32_t movement_slow_when_out_of_range; // 0x11c4 + bool m_bCanAttack; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nFxIndex; // 0x114c - int32_t cooldown_penalty_pct; // 0x1150 - int32_t value; // 0x1154 + ParticleIndex_t m_nFxIndex; // 0x11cc + int32_t cooldown_penalty_pct; // 0x11d0 + int32_t bonus_brewling_hp; // 0x11d4 +}; + +// Alignment: 4 +// Size: 0x570 +class CDOTA_Ability_Brewmaster_Void_Astral_Pull : public CDOTABaseAbility +{ +public: + int32_t pull_speed; // 0x550 + int32_t pull_distance; // 0x554 + Vector m_vTargetPos; // 0x558 + Vector m_vEndpoint; // 0x564 +}; + +// Alignment: 6 +// Size: 0x11d8 +class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff +{ +public: + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + int32_t pull_distance; // 0x11cc + int32_t damage; // 0x11d0 + float pull_duration; // 0x11d4 }; // Alignment: 1 @@ -61353,21 +61731,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: - int32_t lifesteal_percent; // 0x1138 - int32_t lifesteal_range; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x1140 + int32_t lifesteal_percent; // 0x11b8 + int32_t lifesteal_range; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_vecTargets; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: - int32_t attack_range; // 0x1138 + int32_t attack_range; // 0x11b8 }; // Alignment: 4 @@ -61385,15 +61763,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: - float m_flNextSpawn; // 0x1138 + float m_flNextSpawn; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: @@ -61401,28 +61779,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: - int32_t bash_chance; // 0x1138 - float bash_duration; // 0x113c + int32_t bash_chance; // 0x11b8 + float bash_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 @@ -61434,23 +61812,23 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: - CountdownTimer m_CooldownTimer; // 0x1138 - int32_t maim_chance; // 0x1150 - float maim_duration; // 0x1154 + CountdownTimer m_CooldownTimer; // 0x11b8 + int32_t maim_chance; // 0x11d0 + float maim_duration; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: - int32_t maim_movement_speed; // 0x1138 - int32_t maim_attack_speed; // 0x113c - int32_t maim_damage; // 0x1140 + int32_t maim_movement_speed; // 0x11b8 + int32_t maim_attack_speed; // 0x11bc + int32_t maim_damage; // 0x11c0 }; // Alignment: 0 @@ -61462,7 +61840,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: @@ -61478,13 +61856,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x1138 - int32_t total_attack_damage_reduction; // 0x113c - int32_t armor; // 0x1140 + int32_t attack_damage_reduction; // 0x11b8 + int32_t total_attack_damage_reduction; // 0x11bc + int32_t armor; // 0x11c0 }; // Alignment: 0 @@ -61496,20 +61874,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: - int32_t bonus_hp_regen; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t bonus_hp_regen; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 @@ -61521,7 +61899,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: @@ -61529,7 +61907,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: @@ -61537,28 +61915,28 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: - int32_t bonus_night_vision; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - int32_t m_iOriginalAttackCapability; // 0x1140 + int32_t bonus_night_vision; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + int32_t m_iOriginalAttackCapability; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 - int32_t health_bonus; // 0x1144 + int32_t speed; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 + int32_t health_bonus; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: @@ -61566,7 +61944,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -61581,14 +61959,15 @@ public: CHandle< CBaseEntity > m_hDisruptedUnit; // 0x550 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: - float m_flHealth; // 0x1138 - float m_flDisseminate_Duration; // 0x113c - CHandle< CBaseEntity > m_hDisseminateAbility; // 0x1140 + float m_flHealth; // 0x11b8 + float m_flDisseminate_Duration; // 0x11bc + CHandle< CBaseEntity > m_hDisseminateAbility; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 0 @@ -61600,28 +61979,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: - int32_t actual_health_lost; // 0x1138 + int32_t actual_health_lost; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: - int32_t num_heroes; // 0x1138 - int32_t bonus_spell_amp; // 0x113c + int32_t num_heroes; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > hTarget; // 0x1138 + CHandle< CBaseEntity > hTarget; // 0x11b8 }; // Alignment: 0 @@ -61647,18 +62026,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x1138 - float bonus_stack_damage; // 0x113c - int32_t max_multiply_stacks; // 0x1140 - ParticleIndex_t m_nFXStackIndex; // 0x1144 + float stack_damage; // 0x11b8 + float bonus_stack_damage; // 0x11bc + int32_t max_multiply_stacks; // 0x11c0 + ParticleIndex_t m_nFXStackIndex; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -61682,7 +62061,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: @@ -61698,31 +62077,31 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 - int32_t radius; // 0x113c - GameTime_t m_flLastDispersionPulseEffectTime; // 0x1140 + int32_t damage_reflection_pct; // 0x11b8 + int32_t radius; // 0x11bc + GameTime_t m_flLastDispersionPulseEffectTime; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: - bool m_bCanBeResummoned; // 0x1138 - bool m_bCanAttack; // 0x1139 + bool m_bCanBeResummoned; // 0x11b8 + bool m_bCanAttack; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - ParticleIndex_t m_nFxIndex; // 0x113c - ParticleIndex_t m_nStatusFxIndex; // 0x1140 + ParticleIndex_t m_nFxIndex; // 0x11bc + ParticleIndex_t m_nStatusFxIndex; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff { public: @@ -61744,7 +62123,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: @@ -61768,7 +62147,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: @@ -61776,11 +62155,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: - int32_t damage_share; // 0x1138 + int32_t damage_share; // 0x11b8 }; // Alignment: 0 @@ -61792,11 +62171,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: - int32_t attack_amp; // 0x1138 + int32_t attack_amp; // 0x11b8 }; // Alignment: 0 @@ -61808,23 +62187,23 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: - int32_t entangle_chance; // 0x1138 - int32_t hero_entangle_chance; // 0x113c - float hero_duration; // 0x1140 + int32_t entangle_chance; // 0x11b8 + int32_t hero_entangle_chance; // 0x11bc + float hero_duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: - int32_t m_iEntangleDamage; // 0x1138 - float interval_rate; // 0x113c - int32_t damage; // 0x1140 + int32_t m_iEntangleDamage; // 0x11b8 + float interval_rate; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 0 @@ -61836,13 +62215,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 - int32_t true_form_bonus_building_damage; // 0x113c - int32_t spell_resistance; // 0x1140 + int32_t bonus_building_damage; // 0x11b8 + int32_t true_form_bonus_building_damage; // 0x11bc + int32_t spell_resistance; // 0x11c0 }; // Alignment: 1 @@ -61854,12 +62233,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: - int32_t shard_movement_speed_pct; // 0x1138 - int32_t shard_attack_speed; // 0x113c + int32_t shard_movement_speed_pct; // 0x11b8 + int32_t shard_attack_speed; // 0x11bc }; // Alignment: 0 @@ -61871,15 +62250,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t lifesteal_percent; // 0x113c - int32_t armor; // 0x1140 - int32_t armor_sharing; // 0x1144 - CHandle< CBaseEntity > m_hTarget; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t lifesteal_percent; // 0x11bc + int32_t armor; // 0x11c0 + int32_t armor_sharing; // 0x11c4 + CHandle< CBaseEntity > m_hTarget; // 0x11c8 }; // Alignment: 0 @@ -61891,7 +62270,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: @@ -61899,13 +62278,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_hp; // 0x113c - float base_attack_time; // 0x1140 + int32_t bonus_armor; // 0x11b8 + int32_t bonus_hp; // 0x11bc + float base_attack_time; // 0x11c0 }; // Alignment: 0 @@ -61917,7 +62296,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: @@ -61933,12 +62312,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -61974,15 +62353,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: - int32_t bonus_speed; // 0x1138 + int32_t bonus_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: @@ -62011,11 +62390,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -62026,26 +62405,30 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x1168 +// Alignment: 8 +// Size: 0x11f0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff { public: - float creep_multiplier; // 0x1138 - int32_t crit_min; // 0x113c - int32_t crit_max; // 0x1140 - int32_t lifesteal; // 0x1144 - float chance; // 0x1148 - int32_t m_nNextCrit; // 0x114c - CUtlVector< int16 > m_vCritRecords; // 0x1150 + float creep_multiplier; // 0x11b8 + float creep_lifesteal_reduction_pct; // 0x11bc + int32_t crit_min; // 0x11c0 + int32_t crit_max; // 0x11c4 + int32_t lifesteal; // 0x11c8 + float chance; // 0x11cc + int32_t m_nNextCrit; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 +public: + CUtlVector< int16 > m_vCritRecords; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: - int32_t maim_slow; // 0x1138 + int32_t maim_slow; // 0x11b8 }; // Alignment: 0 @@ -62057,7 +62440,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: @@ -62065,7 +62448,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: @@ -62073,7 +62456,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: @@ -62146,31 +62529,14 @@ public: // Alignment: 0 // Size: 0x550 -class CDOTA_Ability_Meepo_Petrify : public CDOTABaseAbility +class CDOTA_Ability_Meepo_Earthbind : public CDOTABaseAbility { public: // No members available }; -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff -{ -public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t hp_restore; // 0x113c -}; - -// Alignment: 1 -// Size: 0x558 -class CDOTA_Ability_Meepo_Earthbind : public CDOTABaseAbility -{ -public: - ParticleIndex_t m_nFXIndex; // 0x550 -}; - // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: @@ -62178,7 +62544,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: @@ -62194,7 +62560,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: @@ -62202,12 +62568,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 5 @@ -62227,44 +62593,58 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: - int32_t m_nHandle; // 0x1138 + int32_t m_nHandle; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: - float respawn; // 0x1138 - float magic_resist; // 0x113c + float respawn; // 0x11b8 + float magic_resist; // 0x11bc }; -// Alignment: 1 +// Alignment: 2 // Size: 0x560 class CDOTA_Ability_Meepo_Poof : public CDOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0x8]; // 0x554 +public: + int32_t radius; // 0x55c +}; + +// Alignment: 3 +// Size: 0x11d8 +class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff +{ +public: + int32_t damage_share_percentage; // 0x11b8 + int32_t damage_share_radius; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_BondedEntities; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -62276,12 +62656,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: - int32_t health_steal_heroes; // 0x1138 - int32_t health_steal_creeps; // 0x113c + int32_t health_steal_heroes; // 0x11b8 + int32_t health_steal_creeps; // 0x11bc }; // Alignment: 0 @@ -62325,13 +62705,29 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Meepo_FairShare : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Special_Bonus_Unique_Meepo_6 : public CDOTABaseAbility @@ -62340,6 +62736,77 @@ public: // No members available }; +// Alignment: 4 +// Size: 0x578 +class CDOTA_Ability_Meepo_MegaMeepo : public CDOTABaseAbility +{ +public: + CHandle< CBaseEntity > hPreviousMeepo; // 0x550 + CHandle< CBaseEntity > hMegameepoFrame; // 0x554 + CUtlVector< CHandle< CBaseEntity > > hListOfMeepos; // 0x558 + bool m_bHasSwappedAbilities; // 0x570 +}; + +// Alignment: 8 +// Size: 0x11e0 +class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + Vector m_vStartLocation; // 0x11cc + float animation_rate; // 0x11d8 + bool m_bInterrupted; // 0x11dc + bool m_bHasBeenDestroyed; // 0x11dd + bool m_bIsHighestMeepo; // 0x11de +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff +{ +public: + int32_t base_strength; // 0x11b8 + int32_t base_int; // 0x11bc + int32_t base_agi; // 0x11c0 + int32_t stats_pct; // 0x11c4 + CHandle< CBaseEntity > m_hMegameepoFrame; // 0x11c8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x558 +class CDOTA_Ability_Meepo_Megameepo_Fling : public CDOTABaseAbility +{ +public: + int32_t vision_radius; // 0x550 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Meepo_Petrify : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t hp_restore; // 0x11bc +}; + // Alignment: 1 // Size: 0x568 class CDOTA_Ability_Treant_EyesInTheForest : public CDOTABaseAbility @@ -62349,18 +62816,18 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: - float vision_aoe; // 0x1138 + float vision_aoe; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CDOTA_Tree* m_Tree; // 0x1140 - CHandle< CBaseEntity > m_hTree; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - bool m_bUpgradedVision; // 0x1150 + CDOTA_Tree* m_Tree; // 0x11c0 + CHandle< CBaseEntity > m_hTree; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + bool m_bUpgradedVision; // 0x11d0 }; // Alignment: 0 @@ -62372,46 +62839,46 @@ public: }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: - float creation_interval; // 0x1138 - float vines_duration; // 0x113c - int32_t vine_spawn_interval; // 0x1140 - Vector m_vInitialLoc; // 0x1144 - Vector m_vFinalLoc; // 0x1150 - int32_t m_iVineCount; // 0x115c - int32_t m_iVinesIndex; // 0x1160 - bool m_bFoundTree; // 0x1164 + float creation_interval; // 0x11b8 + float vines_duration; // 0x11bc + int32_t vine_spawn_interval; // 0x11c0 + Vector m_vInitialLoc; // 0x11c4 + Vector m_vFinalLoc; // 0x11d0 + int32_t m_iVineCount; // 0x11dc + int32_t m_iVinesIndex; // 0x11e0 + bool m_bFoundTree; // 0x11e4 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 - int32_t latch_vision; // 0x113c - float initial_latch_delay; // 0x1140 + int32_t latch_range; // 0x11b8 + int32_t latch_vision; // 0x11bc + float initial_latch_delay; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x8]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x8]; // 0x11c4 public: - bool m_bBonus; // 0x114c + bool m_bBonus; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t damage_per_second; // 0x113c - float tick_interval; // 0x1140 + int32_t movement_slow; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float tick_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: @@ -62436,11 +62903,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: - GameTime_t flStartTime; // 0x1138 + GameTime_t flStartTime; // 0x11b8 }; // Alignment: 0 @@ -62452,26 +62919,26 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x1138 - CountdownTimer m_InvisAttackTimer; // 0x1150 - CountdownTimer m_CooldownTimer; // 0x1168 + CountdownTimer m_RevealTimer; // 0x11b8 + CountdownTimer m_InvisAttackTimer; // 0x11d0 + CountdownTimer m_CooldownTimer; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x1138 - int32_t regen_amp; // 0x113c + int32_t movement_bonus; // 0x11b8 + int32_t regen_amp; // 0x11bc }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -62479,7 +62946,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -62487,11 +62954,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: - float m_flEntangleDamage; // 0x1138 + float m_flEntangleDamage; // 0x11b8 }; // Alignment: 0 @@ -62503,23 +62970,23 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: - float damage_interval; // 0x1138 - int32_t leech_damage; // 0x113c - int32_t movement_slow; // 0x1140 - int32_t radius; // 0x1144 - int32_t projectile_speed; // 0x1148 + float damage_interval; // 0x11b8 + int32_t leech_damage; // 0x11bc + int32_t movement_slow; // 0x11c0 + int32_t radius; // 0x11c4 + int32_t projectile_speed; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -62531,12 +62998,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: - int32_t heal_per_second; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t heal_per_second; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -62548,22 +63015,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t mute; // 0x113c - bool bPurgable; // 0x1140 + float damage; // 0x11b8 + int32_t mute; // 0x11bc + bool bPurgable; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: - int32_t m_nLastMulticastCount; // 0x1138 - int32_t m_nMulticastStreakCount; // 0x113c + int32_t m_nLastMulticastCount; // 0x11b8 + int32_t m_nMulticastStreakCount; // 0x11bc }; // Alignment: 0 @@ -62591,7 +63058,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: @@ -62599,13 +63066,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x1138 - float multicast_delay; // 0x113c - int32_t m_nMultiCastCount; // 0x1140 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11b8 + float multicast_delay; // 0x11bc + int32_t m_nMultiCastCount; // 0x11c0 }; // Alignment: 2 @@ -62618,23 +63085,23 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: - int32_t slow_movement_speed_pct; // 0x1138 - int32_t burn_damage; // 0x113c + int32_t slow_movement_speed_pct; // 0x11b8 + int32_t burn_damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x1138 - float multicast_delay; // 0x113c - int32_t m_nMultiCastCount; // 0x1140 - int32_t ignite_multicast_aoe; // 0x1144 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11b8 + float multicast_delay; // 0x11bc + int32_t m_nMultiCastCount; // 0x11c0 + int32_t ignite_multicast_aoe; // 0x11c4 }; // Alignment: 0 @@ -62646,7 +63113,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: @@ -62654,18 +63121,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t self_bonus; // 0x1140 - float modelscale; // 0x1144 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t self_bonus; // 0x11c0 + float modelscale; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: @@ -62681,28 +63148,45 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t attacks; // 0x113c - int32_t damage; // 0x1140 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t attacks; // 0x11bc + int32_t damage; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Ogre_Magi_DumbLuck : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff +{ +public: + float mana_per_str; // 0x11b8 + float mana_regen_per_str; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float health_threshold_pct; // 0x113c - float duration; // 0x1140 - CHandle< CBaseEntity > m_hTombstoneSourceAbility; // 0x1144 - CHandle< CBaseEntity > m_hChaseUnit; // 0x1148 + int32_t radius; // 0x11b8 + float health_threshold_pct; // 0x11bc + float duration; // 0x11c0 + CHandle< CBaseEntity > m_hTombstoneSourceAbility; // 0x11c4 + CHandle< CBaseEntity > m_hChaseUnit; // 0x11c8 }; -// Alignment: 6 +// Alignment: 5 // Size: 0x568 class CDOTA_Ability_Undying_Decay : public CDOTABaseAbility { @@ -62711,21 +63195,31 @@ public: int32_t radius; // 0x554 float decay_duration; // 0x558 int32_t str_steal; // 0x55c - int32_t str_steal_scepter; // 0x560 - float creep_damage_multiplier; // 0x564 + float creep_damage_multiplier; // 0x560 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11d8 +class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff +{ +public: + float shard_buff_duration; // 0x11b8 +private: + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc +public: + CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11c0 +}; + +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: - int32_t str_steal; // 0x1138 - int32_t str_steal_scepter; // 0x113c + int32_t str_steal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: @@ -62733,21 +63227,20 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: - int32_t str_steal; // 0x1138 - int32_t str_steal_scepter; // 0x113c - int32_t str_scale_up; // 0x1140 + int32_t str_steal; // 0x11b8 + int32_t str_scale_up; // 0x11bc }; // Alignment: 4 @@ -62762,20 +63255,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float m_flDecrementTime; // 0x113c + int32_t slow; // 0x11b8 + float m_flDecrementTime; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -62787,22 +63280,33 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: // No members available }; +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff +{ +public: + float bunker_heal_pct; // 0x11b8 + float tombstone_grab_radius; // 0x11bc + CHandle< CBaseEntity > m_hLoadedUnit; // 0x11c0 + ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11c4 +}; + // Alignment: 4 // Size: 0x578 class CDOTA_Ability_Undying_Tombstone : public CDOTABaseAbility @@ -62814,22 +63318,55 @@ public: float duration; // 0x570 }; -// Alignment: 2 -// Size: 0x1140 -class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff +// Alignment: 1 +// Size: 0x558 +class CDOTA_Ability_Undying_TombstoneUnitGrab : public CDOTABaseAbility { public: - int32_t tombstone_health; // 0x1138 - int32_t bonus_health; // 0x113c + CHandle< CBaseEntity > m_hOwner; // 0x550 +}; + +// Alignment: 1 +// Size: 0x568 +class CDOTA_Ability_Undying_TombstoneGrab : public CDOTABaseAbility +{ +public: + CUtlVector< CHandle< CBaseEntity > > m_hTombstones; // 0x550 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float zombie_interval; // 0x113c + int32_t radius; // 0x11b8 + float zombie_interval; // 0x11bc +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff +{ +public: + int32_t tombstone_health; // 0x11b8 + int32_t zombie_damage_interval; // 0x11bc + int32_t m_nDamageCounter; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 1 @@ -62841,35 +63378,35 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: - int32_t str_percentage; // 0x1138 - int32_t movement_bonus; // 0x113c + int32_t str_percentage; // 0x11b8 + int32_t movement_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: - int32_t damage_amp; // 0x1138 - int32_t slow; // 0x113c + int32_t damage_amp; // 0x11b8 + int32_t slow; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t damage; // 0x113c - float tick_rate; // 0x1140 + int32_t slow; // 0x11b8 + int32_t damage; // 0x11bc + float tick_rate; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: @@ -62956,23 +63493,23 @@ public: }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x1138 - GameTime_t m_fEndTime; // 0x113c - float m_fTargetHeight; // 0x1140 - float m_fCurHeight; // 0x1144 - Vector m_vStartLoc; // 0x1148 - Vector m_vCurLoc; // 0x1154 - int32_t max_land_distance; // 0x1160 - float fall_duration; // 0x1164 - bool m_bOverrideDuration; // 0x1168 + GameTime_t m_fStartTime; // 0x11b8 + GameTime_t m_fEndTime; // 0x11bc + float m_fTargetHeight; // 0x11c0 + float m_fCurHeight; // 0x11c4 + Vector m_vStartLoc; // 0x11c8 + Vector m_vCurLoc; // 0x11d4 + int32_t max_land_distance; // 0x11e0 + float fall_duration; // 0x11e4 + bool m_bOverrideDuration; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - float m_flOverrideDuration; // 0x116c + float m_flOverrideDuration; // 0x11ec }; // Alignment: 1 @@ -63000,21 +63537,21 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - int32_t jump_damage_reduction_pct; // 0x1140 - float jump_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + int32_t jump_damage_reduction_pct; // 0x11c0 + float jump_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: @@ -63022,15 +63559,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: - int32_t attack_damage_reduction; // 0x1138 + int32_t attack_damage_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: @@ -63038,12 +63575,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: - int32_t attack_damage_bonus; // 0x1138 - int32_t attack_damage_reduction; // 0x113c + int32_t attack_damage_bonus; // 0x11b8 + int32_t attack_damage_reduction; // 0x11bc }; // Alignment: 0 @@ -63055,20 +63592,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: - int32_t magic_damage_reduction_pct; // 0x1138 - bool m_bWasHidden; // 0x113c + int32_t magic_damage_reduction_pct; // 0x11b8 + bool m_bWasHidden; // 0x11bc }; // Alignment: 6 @@ -63087,17 +63624,17 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: - CUtlString m_strActivityModifier; // 0x1138 - CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x1140 - bool m_bUsesTwoSlots; // 0x1158 + CUtlString m_strActivityModifier; // 0x11b8 + CUtlVector< CHandle< CBaseEntity > > m_vecAbilities; // 0x11c0 + bool m_bUsesTwoSlots; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - int32_t stolen_debuff_amp; // 0x115c + int32_t stolen_debuff_amp; // 0x11dc }; // Alignment: 0 @@ -63149,12 +63686,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: - int32_t cast_range; // 0x1138 - int32_t spell_amp; // 0x113c + int32_t cast_range; // 0x11b8 + int32_t spell_amp; // 0x11bc }; // Alignment: 0 @@ -63229,31 +63766,38 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 7 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff { public: - float strike_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t strike_damage; // 0x1140 + float strike_interval; // 0x11b8 + int32_t radius; // 0x11bc + float strike_damage; // 0x11c0 + GameTime_t m_flGroundDelayEndTime; // 0x11c4 + bool is_thinker; // 0x11c8 + bool m_bTransferred; // 0x11c9 +private: + [[maybe_unused]] uint8_t __pad11ca[0x2]; // 0x11ca +public: + int32_t m_nThinkerViewer; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff { public: - int32_t shard_movement_speed_bonus; // 0x1138 - int32_t shard_attack_speed_bonus; // 0x113c + int32_t shard_movement_speed_bonus; // 0x11b8 + int32_t shard_attack_speed_bonus; // 0x11bc }; // Alignment: 1 @@ -63267,21 +63811,21 @@ public: }; // Alignment: 1 -// Size: 0x1210 +// Size: 0x1290 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: - Vector m_PositionIndex[18]; // 0x1138 + Vector m_PositionIndex[18]; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: - Vector m_vStartLoc; // 0x1138 - CHandle< CBaseEntity > m_hEntity; // 0x1144 - float m_flDistance; // 0x1148 + Vector m_vStartLoc; // 0x11b8 + CHandle< CBaseEntity > m_hEntity; // 0x11c4 + float m_flDistance; // 0x11c8 }; // Alignment: 0 @@ -63293,27 +63837,27 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float formation_time; // 0x113c - bool m_bActive; // 0x1140 + int32_t radius; // 0x11b8 + float formation_time; // 0x11bc + bool m_bActive; // 0x11c0 }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vOriginLoc; // 0x113c - bool m_bTruesight; // 0x1148 + int32_t radius; // 0x11b8 + Vector m_vOriginLoc; // 0x11bc + bool m_bTruesight; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float damage_per_second; // 0x114c + float damage_per_second; // 0x11cc }; // Alignment: 0 @@ -63325,31 +63869,31 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: - int32_t m_nCurrentPulse; // 0x1138 - int32_t radius; // 0x113c - int32_t damage_max; // 0x1140 - int32_t pulses; // 0x1144 - float duration; // 0x1148 - bool m_bHasGrantedThreeHeroKillEater; // 0x114c + int32_t m_nCurrentPulse; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_max; // 0x11c0 + int32_t pulses; // 0x11c4 + float duration; // 0x11c8 + bool m_bHasGrantedThreeHeroKillEater; // 0x11cc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 - int32_t movement_speed_reduction; // 0x113c - int32_t attack_speed_reduction; // 0x1140 - bool m_bHasScepter; // 0x1144 + int32_t miss_rate; // 0x11b8 + int32_t movement_speed_reduction; // 0x11bc + int32_t attack_speed_reduction; // 0x11c0 + bool m_bHasScepter; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: @@ -63442,14 +63986,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: - int32_t impale_damage; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - bool m_bDamageApplied; // 0x1144 + int32_t impale_damage; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + bool m_bDamageApplied; // 0x11c4 }; // Alignment: 1 @@ -63470,14 +64014,14 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: - float health_regen_rate; // 0x1148 - float mana_regen_rate; // 0x114c - int32_t damage_reduction; // 0x1150 - Vector m_vecInitialPos; // 0x1154 + float health_regen_rate; // 0x11c8 + float mana_regen_rate; // 0x11cc + int32_t damage_reduction; // 0x11d0 + Vector m_vecInitialPos; // 0x11d4 }; // Alignment: 0 @@ -63497,15 +64041,15 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x1138 + float stun_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x1140 + CUtlVector< CHandle< CBaseEntity > > m_hProcessedEnemies; // 0x11c0 }; // Alignment: 0 @@ -63516,33 +64060,62 @@ public: // No members available }; -// Alignment: 4 -// Size: 0x1158 +// Alignment: 5 +// Size: 0x11e0 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: - int32_t bonus_damage; // 0x1148 - int32_t movement_speed; // 0x114c - int32_t shard_movement_speed_bonus; // 0x1150 - bool m_bFreePathing; // 0x1154 + int32_t bonus_damage; // 0x11c8 + int32_t movement_speed; // 0x11cc + int32_t shard_movement_speed_bonus; // 0x11d0 + int32_t mana_removal_pct; // 0x11d4 + bool m_bFreePathing; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: - int32_t shard_magic_resist_reduction; // 0x1138 + int32_t shard_magic_resist_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: // No members available }; +// Alignment: 0 +// Size: 0x11d0 +class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x570 +class CDOTA_Ability_Nyx_Assassin_Jolt : public CDOTABaseAbility +{ +private: + [[maybe_unused]] uint8_t __pad0550[0x10]; // 0x550 +public: + int32_t aoe; // 0x560 + int32_t damage; // 0x564 + int32_t m_nNPCSpawnedID; // 0x568 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff +{ +public: + int32_t resist_debuff; // 0x11b8 +}; + // Alignment: 1 // Size: 0x568 class CDOTA_Ability_NagaSiren_MirrorImage : public CDOTABaseAbility @@ -63552,7 +64125,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: @@ -63568,7 +64141,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -63584,7 +64157,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: @@ -63592,7 +64165,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: @@ -63600,15 +64173,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: @@ -63624,12 +64197,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: - int32_t chance; // 0x1138 - int32_t crit; // 0x113c + int32_t chance; // 0x11b8 + int32_t crit; // 0x11bc }; // Alignment: 0 @@ -63649,25 +64222,25 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nAffectedEnemies; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x1140 + int32_t radius; // 0x11b8 + int32_t m_nAffectedEnemies; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: - float animation_rate; // 0x1138 + float animation_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: @@ -63675,21 +64248,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t m_nAffectedAllies; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x1140 + int32_t radius; // 0x11b8 + int32_t m_nAffectedAllies; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_vhAffectedHeroes; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: - int32_t heal_pct; // 0x1138 + int32_t heal_pct; // 0x11b8 }; // Alignment: 1 @@ -63701,13 +64274,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: - float pull_strength; // 0x1138 - int32_t min_pull_distance; // 0x113c - GameTime_t m_flLastThinkTime; // 0x1140 + float pull_strength; // 0x11b8 + int32_t min_pull_distance; // 0x11bc + GameTime_t m_flLastThinkTime; // 0x11c0 }; // Alignment: 8 @@ -63726,20 +64299,20 @@ public: }; // Alignment: 10 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t total_damage; // 0x113c - int32_t radius; // 0x1140 - int32_t channel_vision_radius; // 0x1144 - float channel_vision_interval; // 0x1148 - float channel_vision_duration; // 0x114c - int32_t channel_vision_step; // 0x1150 - GameTime_t m_flLastChantTime; // 0x1154 - Vector m_vNextVisionLocation; // 0x1158 - Vector m_vCastDirection; // 0x1164 + int32_t range; // 0x11b8 + int32_t total_damage; // 0x11bc + int32_t radius; // 0x11c0 + int32_t channel_vision_radius; // 0x11c4 + float channel_vision_interval; // 0x11c8 + float channel_vision_duration; // 0x11cc + int32_t channel_vision_step; // 0x11d0 + GameTime_t m_flLastChantTime; // 0x11d4 + Vector m_vNextVisionLocation; // 0x11d8 + Vector m_vCastDirection; // 0x11e4 }; // Alignment: 0 @@ -63764,31 +64337,31 @@ public: }; // Alignment: 21 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: - int32_t range; // 0x1138 - int32_t vision_radius; // 0x113c - int32_t radius; // 0x1140 - int32_t total_damage; // 0x1144 - float max_channel_time; // 0x1148 - float speed; // 0x114c - float vision_duration; // 0x1150 - int32_t channel_vision_radius; // 0x1154 - float channel_vision_interval; // 0x1158 - float channel_vision_duration; // 0x115c - int32_t channel_vision_step; // 0x1160 - Vector m_vCastLoc; // 0x1164 - Vector m_vTargetLoc; // 0x1170 - GameTime_t m_fStartTime; // 0x117c - float m_fPower; // 0x1180 - QAngle m_qCastAngle; // 0x1184 - int32_t m_iProjectile; // 0x1190 - ParticleIndex_t m_nFXIndex; // 0x1194 - ParticleIndex_t m_nFXIndexB; // 0x1198 - Vector m_vNextVisionLocation; // 0x119c - Vector m_vCastDirection; // 0x11a8 + int32_t range; // 0x11b8 + int32_t vision_radius; // 0x11bc + int32_t radius; // 0x11c0 + int32_t total_damage; // 0x11c4 + float max_channel_time; // 0x11c8 + float speed; // 0x11cc + float vision_duration; // 0x11d0 + int32_t channel_vision_radius; // 0x11d4 + float channel_vision_interval; // 0x11d8 + float channel_vision_duration; // 0x11dc + int32_t channel_vision_step; // 0x11e0 + Vector m_vCastLoc; // 0x11e4 + Vector m_vTargetLoc; // 0x11f0 + GameTime_t m_fStartTime; // 0x11fc + float m_fPower; // 0x1200 + QAngle m_qCastAngle; // 0x1204 + int32_t m_iProjectile; // 0x1210 + ParticleIndex_t m_nFXIndex; // 0x1214 + ParticleIndex_t m_nFXIndexB; // 0x1218 + Vector m_vNextVisionLocation; // 0x121c + Vector m_vCastDirection; // 0x1228 }; // Alignment: 0 @@ -63808,17 +64381,17 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: - float mana_leak_pct; // 0x1138 - Vector vLastPos; // 0x113c - bool bResetPosition; // 0x1148 + float mana_leak_pct; // 0x11b8 + Vector vLastPos; // 0x11bc + bool bResetPosition; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - float m_fAccumulatedManaLeak; // 0x114c + float m_fAccumulatedManaLeak; // 0x11cc }; // Alignment: 0 @@ -63830,42 +64403,42 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: - float slow; // 0x1138 - int32_t magic_resistance; // 0x113c - Vector vLastPos; // 0x1140 - bool bResetPosition; // 0x114c + float slow; // 0x11b8 + int32_t magic_resistance; // 0x11bc + Vector vLastPos; // 0x11c0 + bool bResetPosition; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fAccumulatedDistance; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1154 - ParticleIndex_t m_nStatusFXIndex; // 0x1158 + float m_fAccumulatedDistance; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 + ParticleIndex_t m_nStatusFXIndex; // 0x11d8 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float off_duration; // 0x113c - float off_duration_initial; // 0x1140 - float on_duration; // 0x1144 - int32_t hit_count; // 0x1148 - int32_t m_iAttackCount; // 0x114c - GameTime_t m_flNextTimeOn; // 0x1150 - bool m_bActive; // 0x1154 + int32_t radius; // 0x11b8 + float off_duration; // 0x11bc + float off_duration_initial; // 0x11c0 + float on_duration; // 0x11c4 + int32_t hit_count; // 0x11c8 + int32_t m_iAttackCount; // 0x11cc + GameTime_t m_flNextTimeOn; // 0x11d0 + bool m_bActive; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - ParticleIndex_t m_nFXIndex; // 0x1158 - ParticleIndex_t m_nFXIndexB; // 0x115c - GameTime_t m_flNextTime; // 0x1160 - float m_flCorrectionTime; // 0x1164 + ParticleIndex_t m_nFXIndex; // 0x11d8 + ParticleIndex_t m_nFXIndexB; // 0x11dc + GameTime_t m_flNextTime; // 0x11e0 + float m_flCorrectionTime; // 0x11e4 }; // Alignment: 0 @@ -63877,12 +64450,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: - int32_t fixed_movement_speed; // 0x1138 - Vector m_vSource; // 0x113c + int32_t fixed_movement_speed; // 0x11b8 + Vector m_vSource; // 0x11bc }; // Alignment: 0 @@ -63894,14 +64467,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndexA; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t cast_range; // 0x1140 - bool m_bDidSwapSpiritForm; // 0x1144 + ParticleIndex_t m_nFXIndexA; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t cast_range; // 0x11c0 + bool m_bDidSwapSpiritForm; // 0x11c4 }; // Alignment: 0 @@ -63921,11 +64494,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: - bool m_bWasAttacked; // 0x1138 + bool m_bWasAttacked; // 0x11b8 }; // Alignment: 0 @@ -63936,16 +64509,25 @@ public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff +{ +public: + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: @@ -64065,12 +64647,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - CHandle< CBaseEntity > hCurrentEntity; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + CHandle< CBaseEntity > hCurrentEntity; // 0x11bc }; // Alignment: 5 @@ -64092,11 +64674,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: - float shard_bonus_spell_lifesteal; // 0x1138 + float shard_bonus_spell_lifesteal; // 0x11b8 }; // Alignment: 0 @@ -64108,34 +64690,34 @@ public: }; // Alignment: 14 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x1138 + bool m_bInManaGained; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - CHandle< CBaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x1140 - float stun_duration; // 0x1158 - int32_t movespeed; // 0x115c - int32_t self_bonus; // 0x1160 - bool m_bIsInRange; // 0x1164 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x11c0 + float stun_duration; // 0x11d8 + int32_t movespeed; // 0x11dc + int32_t self_bonus; // 0x11e0 + bool m_bIsInRange; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - int32_t radius; // 0x1168 - int32_t latch_distance; // 0x116c - float m_flHealthHealed; // 0x1170 - float m_flManaHealed; // 0x1174 - float tether_heal_amp; // 0x1178 - GameTime_t m_flHealMessageTime; // 0x117c - GameTime_t m_flManaMessageTime; // 0x1180 + int32_t radius; // 0x11e8 + int32_t latch_distance; // 0x11ec + float m_flHealthHealed; // 0x11f0 + float m_flManaHealed; // 0x11f4 + float tether_heal_amp; // 0x11f8 + GameTime_t m_flHealMessageTime; // 0x11fc + GameTime_t m_flManaMessageTime; // 0x1200 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: @@ -64143,24 +64725,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: - float movespeed; // 0x1138 - float shard_bonus_spell_lifesteal; // 0x113c + float movespeed; // 0x11b8 + float shard_bonus_spell_lifesteal; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: @@ -64176,7 +64758,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: @@ -64192,36 +64774,36 @@ public: }; // Alignment: 15 -// Size: 0x1208 +// Size: 0x1288 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x1138 + bool m_bSpiritsExplode; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t creep_damage; // 0x113c - int32_t hero_damage; // 0x1140 - int32_t hit_radius; // 0x1144 - int32_t hero_hit_radius; // 0x1148 - int32_t explode_radius; // 0x114c - int32_t min_range; // 0x1150 - int32_t max_range; // 0x1154 - int32_t default_radius; // 0x1158 - int32_t spirit_amount; // 0x115c - float m_flRotation; // 0x1160 - float m_flSpiritRadius; // 0x1164 - int32_t spirit_movement_rate; // 0x1168 - GameTime_t m_flNextSpawn; // 0x116c - CUtlString m_strSpiritsOutSwapAbility; // 0x1170 + int32_t creep_damage; // 0x11bc + int32_t hero_damage; // 0x11c0 + int32_t hit_radius; // 0x11c4 + int32_t hero_hit_radius; // 0x11c8 + int32_t explode_radius; // 0x11cc + int32_t min_range; // 0x11d0 + int32_t max_range; // 0x11d4 + int32_t default_radius; // 0x11d8 + int32_t spirit_amount; // 0x11dc + float m_flRotation; // 0x11e0 + float m_flSpiritRadius; // 0x11e4 + int32_t spirit_movement_rate; // 0x11e8 + GameTime_t m_flNextSpawn; // 0x11ec + CUtlString m_strSpiritsOutSwapAbility; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x1138 + int32_t scepter_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -64233,14 +64815,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_spell_amp; // 0x113c - int32_t shard_bonus_spell_amp; // 0x1140 - float hp_regen; // 0x1144 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc + int32_t shard_bonus_spell_amp; // 0x11c0 + float hp_regen; // 0x11c4 }; // Alignment: 4 @@ -64255,24 +64837,24 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: - float cast_delay; // 0x1138 - ParticleIndex_t m_nFXIndexEndTeam; // 0x113c - ParticleIndex_t m_nFXIndexChannel; // 0x1140 + float cast_delay; // 0x11b8 + ParticleIndex_t m_nFXIndexEndTeam; // 0x11bc + ParticleIndex_t m_nFXIndexChannel; // 0x11c0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - Vector m_vecReturnPosition; // 0x113c - float return_time; // 0x1148 - ParticleIndex_t m_nFXTimeRemaining; // 0x114c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + Vector m_vecReturnPosition; // 0x11bc + float return_time; // 0x11c8 + ParticleIndex_t m_nFXTimeRemaining; // 0x11cc }; // Alignment: 0 @@ -64284,21 +64866,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 - int32_t attackspeed_bonus; // 0x113c + int32_t movespeed_bonus; // 0x11b8 + int32_t attackspeed_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: - int32_t movespeed_bonus; // 0x1138 - int32_t attackspeed_bonus; // 0x113c + int32_t movespeed_bonus; // 0x11b8 + int32_t attackspeed_bonus; // 0x11bc }; // Alignment: 3 @@ -64312,23 +64894,23 @@ public: }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t stack_limit; // 0x113c - int32_t damage_limit; // 0x1140 - float stack_duration; // 0x1144 - float damage_min; // 0x1148 - float damage_max; // 0x114c - ParticleIndex_t m_nFxIndexA; // 0x1150 - ParticleIndex_t m_nFxIndexB; // 0x1154 - int32_t iCur_stack; // 0x1158 + int32_t radius; // 0x11b8 + int32_t stack_limit; // 0x11bc + int32_t damage_limit; // 0x11c0 + float stack_duration; // 0x11c4 + float damage_min; // 0x11c8 + float damage_max; // 0x11cc + ParticleIndex_t m_nFxIndexA; // 0x11d0 + ParticleIndex_t m_nFxIndexB; // 0x11d4 + int32_t iCur_stack; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x1c]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x1c]; // 0x11dc public: - float m_fTotalDamage; // 0x1178 + float m_fTotalDamage; // 0x11f8 }; // Alignment: 1 @@ -64340,42 +64922,42 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: - bool m_bIsRecovering; // 0x1138 + bool m_bIsRecovering; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nFXIndex[4]; // 0x113c + int32_t m_nFXIndex[4]; // 0x11bc }; // Alignment: 9 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t max_layers; // 0x113c - float minimum_damage; // 0x1140 - int32_t recovery_time; // 0x1144 - int32_t radius; // 0x1148 - int32_t max_damage_reduction; // 0x114c - ParticleIndex_t m_nFXIndex[4]; // 0x1150 - ParticleIndex_t m_nFXIndexB; // 0x1160 + int32_t damage_reduction; // 0x11b8 + int32_t max_layers; // 0x11bc + float minimum_damage; // 0x11c0 + int32_t recovery_time; // 0x11c4 + int32_t radius; // 0x11c8 + int32_t max_damage_reduction; // 0x11cc + ParticleIndex_t m_nFXIndex[4]; // 0x11d0 + ParticleIndex_t m_nFXIndexB; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1168 + CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 2 @@ -64391,7 +64973,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: @@ -64399,7 +64981,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: @@ -64407,17 +64989,17 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: - int32_t familiar_speed; // 0x1138 - int32_t m_nFXIndex; // 0x113c - int32_t m_nFXIndexB; // 0x1140 + int32_t familiar_speed; // 0x11b8 + int32_t m_nFXIndex; // 0x11bc + int32_t m_nFXIndexB; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_ctTimer; // 0x1148 + CountdownTimer m_ctTimer; // 0x11c8 }; // Alignment: 0 @@ -64437,7 +65019,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: @@ -64445,42 +65027,42 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: - int32_t stun_radius; // 0x1138 - int32_t stun_damage; // 0x113c - float stun_delay; // 0x1140 - float stun_duration; // 0x1144 - float stone_duration; // 0x1148 - int32_t m_iIntervalCount; // 0x114c + int32_t stun_radius; // 0x11b8 + int32_t stun_damage; // 0x11bc + float stun_delay; // 0x11c0 + float stun_duration; // 0x11c4 + float stone_duration; // 0x11c8 + int32_t m_iIntervalCount; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: - float hp_regen; // 0x1138 - int32_t stun_radius; // 0x113c + float hp_regen; // 0x11b8 + int32_t stun_radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: - GameTime_t m_flReadyTime; // 0x1138 + GameTime_t m_flReadyTime; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: - float stone_duration; // 0x1138 - GameTime_t m_fStartTime; // 0x113c + float stone_duration; // 0x11b8 + GameTime_t m_fStartTime; // 0x11bc }; // Alignment: 1 @@ -64492,28 +65074,28 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: - bool m_bHasMadeAttack; // 0x1148 + bool m_bHasMadeAttack; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: - int32_t agi_gain; // 0x1158 - float duration; // 0x115c + int32_t agi_gain; // 0x11d8 + float duration; // 0x11dc }; // Alignment: 0 @@ -64525,7 +65107,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: @@ -64533,20 +65115,20 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: - int32_t m_iPulseCount; // 0x1138 - int32_t radius; // 0x113c - int32_t total_damage; // 0x1140 - int32_t total_pulses; // 0x1144 - int32_t self_damage_pct; // 0x1148 - float pulse_interval; // 0x114c + int32_t m_iPulseCount; // 0x11b8 + int32_t radius; // 0x11bc + int32_t total_damage; // 0x11c0 + int32_t total_pulses; // 0x11c4 + int32_t self_damage_pct; // 0x11c8 + float pulse_interval; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -64562,39 +65144,39 @@ public: }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 - bool m_bFoundUnit; // 0x1161 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 + bool m_bFoundUnit; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0x2]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2 public: - int32_t pounce_distance; // 0x1164 - int32_t pounce_distance_scepter; // 0x1168 - float pounce_speed; // 0x116c - float pounce_acceleration; // 0x1170 - int32_t pounce_radius; // 0x1174 - int32_t pounce_damage; // 0x1178 - float leash_duration; // 0x117c + int32_t pounce_distance; // 0x11e4 + int32_t pounce_distance_scepter; // 0x11e8 + float pounce_speed; // 0x11ec + float pounce_acceleration; // 0x11f0 + int32_t pounce_radius; // 0x11f4 + int32_t pounce_damage; // 0x11f8 + float leash_duration; // 0x11fc }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: - int32_t leash_radius; // 0x1138 - Vector vLeashLocation; // 0x113c - bool m_bEscaped; // 0x1148 - bool m_bFishBait; // 0x1149 + int32_t leash_radius; // 0x11b8 + Vector vLeashLocation; // 0x11bc + bool m_bEscaped; // 0x11c8 + bool m_bFishBait; // 0x11c9 }; // Alignment: 0 @@ -64606,7 +65188,7 @@ public: }; // Alignment: 0 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: @@ -64614,15 +65196,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: - int32_t stat_loss; // 0x1140 + int32_t stat_loss; // 0x11c0 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: @@ -64630,7 +65212,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: @@ -64638,7 +65220,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: @@ -64654,52 +65236,52 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: - int32_t scepter_aoe; // 0x1138 + int32_t scepter_aoe; // 0x11b8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: - float activation_delay; // 0x1138 - float neutral_disable; // 0x113c - bool m_bPendingRefresh; // 0x1140 + float activation_delay; // 0x11b8 + float neutral_disable; // 0x11bc + bool m_bPendingRefresh; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - GameTime_t m_fPendingStateChangeTime; // 0x1144 - CountdownTimer m_NeutralHitTimer; // 0x1148 + GameTime_t m_fPendingStateChangeTime; // 0x11c4 + CountdownTimer m_NeutralHitTimer; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 - float bonus_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + float bonus_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: - CHandle< CBaseEntity > m_hVisibleEntity; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + CHandle< CBaseEntity > m_hVisibleEntity; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: - bool m_bScepter; // 0x1138 + bool m_bScepter; // 0x11b8 }; // Alignment: 1 @@ -64711,22 +65293,22 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - CHandle< CBaseEntity > m_hVisibleEntity; // 0x113c + int32_t radius; // 0x11b8 + CHandle< CBaseEntity > m_hVisibleEntity; // 0x11bc }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: - ParticleIndex_t m_nFXIndex; // 0x1148 - int32_t bonus_movement_speed; // 0x114c - float bonus_regen; // 0x1150 + ParticleIndex_t m_nFXIndex; // 0x11c8 + int32_t bonus_movement_speed; // 0x11cc + float bonus_regen; // 0x11d0 }; // Alignment: 0 @@ -64738,19 +65320,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 0 @@ -64762,15 +65344,15 @@ public: }; // Alignment: 5 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 - int32_t range; // 0x113c - int32_t arrow_count; // 0x1140 - int32_t projectile_speed; // 0x1144 - ParticleIndex_t m_nSplitShotBowFXIndex; // 0x1148 + int32_t damage_modifier; // 0x11b8 + int32_t range; // 0x11bc + int32_t arrow_count; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11c8 }; // Alignment: 11 @@ -64792,38 +65374,30 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t turn_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t turn_slow; // 0x11bc }; -// Alignment: 2 -// Size: 0x558 +// Alignment: 0 +// Size: 0x550 class CDOTA_Ability_Medusa_ManaShield : public CDOTABaseAbility { public: - GameTime_t m_flLastShieldOnTime; // 0x550 - GameTime_t m_flLastShieldOffTime; // 0x554 + // No members available }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Medusa_ManaShield_Bonus_Mana : public CDOTA_Buff -{ -public: - int32_t bonus_mana; // 0x1138 -}; - -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: - float absorption_pct; // 0x1138 - float damage_per_mana; // 0x113c + int32_t bonus_mana; // 0x11b8 + float absorption_pct; // 0x11bc + float damage_per_mana; // 0x11c0 }; // Alignment: 0 @@ -64835,61 +65409,61 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: - int32_t m_nNumStoned; // 0x1138 - bool m_bAnyInvisible; // 0x113c + int32_t m_nNumStoned; // 0x11b8 + bool m_bAnyInvisible; // 0x11bc }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float vision_cone; // 0x113c - float duration; // 0x1140 - int32_t speed_boost; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1148 + int32_t radius; // 0x11b8 + float vision_cone; // 0x11bc + float duration; // 0x11c0 + int32_t speed_boost; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: - float face_duration; // 0x1138 - float stone_duration; // 0x113c - float duration; // 0x1140 - float vision_cone; // 0x1144 - float m_flAccumulatedTime; // 0x1148 + float face_duration; // 0x11b8 + float stone_duration; // 0x11bc + float duration; // 0x11c0 + float vision_cone; // 0x11c4 + float m_flAccumulatedTime; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CountdownTimer ctFacing; // 0x1150 - bool m_bAlreadyStoned; // 0x1168 + CountdownTimer ctFacing; // 0x11d0 + bool m_bAlreadyStoned; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - ParticleIndex_t m_nFXIndex; // 0x116c + ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: - int32_t bonus_physical_damage; // 0x1138 + int32_t bonus_physical_damage; // 0x11b8 }; // Alignment: 0 @@ -64901,7 +65475,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: @@ -64917,12 +65491,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t status_resistance; // 0x113c + int32_t attack_speed; // 0x11b8 + int32_t status_resistance; // 0x11bc }; // Alignment: 1 @@ -64934,21 +65508,21 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t bonus_hp; // 0x1140 - int32_t bonus_armor; // 0x1144 - int32_t ensnare_chance; // 0x1148 - float ensnare_duration; // 0x114c - float base_attack_time; // 0x1150 + int32_t bonus_move_speed; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t bonus_hp; // 0x11c0 + int32_t bonus_armor; // 0x11c4 + int32_t ensnare_chance; // 0x11c8 + float ensnare_duration; // 0x11cc + float base_attack_time; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -64956,11 +65530,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: - int32_t maim_slow; // 0x1138 + int32_t maim_slow; // 0x11b8 }; // Alignment: 8 @@ -64982,11 +65556,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 2 @@ -64999,36 +65573,36 @@ public: }; // Alignment: 16 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t hit_radius; // 0x113c - int32_t axe_movement_speed; // 0x1140 - float whirl_duration; // 0x1144 - float max_range; // 0x1148 - float blind_duration; // 0x114c - float m_flRotation; // 0x1150 - float m_flAxeRadius; // 0x1154 - GameTime_t m_flDieTime; // 0x1158 - float m_bPiercesMagicImmunity; // 0x115c - int32_t m_nSwapIndex; // 0x1160 - bool m_bReturning; // 0x1164 + int32_t damage; // 0x11b8 + int32_t hit_radius; // 0x11bc + int32_t axe_movement_speed; // 0x11c0 + float whirl_duration; // 0x11c4 + float max_range; // 0x11c8 + float blind_duration; // 0x11cc + float m_flRotation; // 0x11d0 + float m_flAxeRadius; // 0x11d4 + GameTime_t m_flDieTime; // 0x11d8 + float m_bPiercesMagicImmunity; // 0x11dc + int32_t m_nSwapIndex; // 0x11e0 + bool m_bReturning; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - ParticleIndex_t m_nAxeFXIndex[2]; // 0x1168 - int32_t m_nHeroesHitForRelic; // 0x1170 + ParticleIndex_t m_nAxeFXIndex[2]; // 0x11e8 + int32_t m_nHeroesHitForRelic; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x1178 - CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1190 + CUtlVector< CHandle< CBaseEntity > > hitEntities; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_hAxes; // 0x1210 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: @@ -65036,11 +65610,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 @@ -65052,13 +65626,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t max_stacks; // 0x113c - CHandle< CBaseEntity > m_hUnit; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t max_stacks; // 0x11bc + CHandle< CBaseEntity > m_hUnit; // 0x11c0 }; // Alignment: 1 @@ -65070,18 +65644,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t lifesteal; // 0x1140 - CHandle< CBaseEntity > m_hTarget; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t lifesteal; // 0x11c0 + CHandle< CBaseEntity > m_hTarget; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: @@ -65089,7 +65663,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: @@ -65113,20 +65687,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: - int32_t shard_movement_slow; // 0x1138 + int32_t shard_movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: - int32_t shard_str_pct; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t shard_str_pct; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -65138,24 +65712,24 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x1138 - int32_t return_damage_str; // 0x113c + int32_t return_damage; // 0x11b8 + int32_t return_damage_str; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: @@ -65163,11 +65737,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: - float damage_gain_pct; // 0x1138 + float damage_gain_pct; // 0x11b8 }; // Alignment: 8 @@ -65189,26 +65763,26 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t cast_time_increase; // 0x1138 - int32_t slow_movement_speed; // 0x113c + int32_t cast_time_increase; // 0x11b8 + int32_t slow_movement_speed; // 0x11bc }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_reduction; // 0x113c - int32_t has_flying_movement; // 0x1140 + int32_t radius; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t has_flying_movement; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1148 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11c8 }; // Alignment: 0 @@ -65220,23 +65794,23 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hUnit; // 0x1138 - bool m_bWasMoving; // 0x113c - bool m_bSpawnDone; // 0x113d + CHandle< CBaseEntity > m_hUnit; // 0x11b8 + bool m_bWasMoving; // 0x11bc + bool m_bSpawnDone; // 0x11bd private: - [[maybe_unused]] uint8_t __pad113e[0x2]; // 0x113e + [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be public: - Vector m_vecOldForward; // 0x1140 - int32_t break_distance; // 0x114c - Vector m_vecPreviousLocation; // 0x1150 + Vector m_vecOldForward; // 0x11c0 + int32_t break_distance; // 0x11cc + Vector m_vecPreviousLocation; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: @@ -65244,37 +65818,37 @@ public: }; // Alignment: 15 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: - float air_duration; // 0x1138 - int32_t air_height; // 0x113c - int32_t travel_distance; // 0x1140 - CHandle< CBaseEntity > m_hTarget; // 0x1144 - float m_flPredictedTotalTime; // 0x1148 - Vector m_vStartPosition; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bHorizontalMotionInterrupted; // 0x1160 - bool m_bDamageApplied; // 0x1161 - bool m_bTargetTeleported; // 0x1162 + float air_duration; // 0x11b8 + int32_t air_height; // 0x11bc + int32_t travel_distance; // 0x11c0 + CHandle< CBaseEntity > m_hTarget; // 0x11c4 + float m_flPredictedTotalTime; // 0x11c8 + Vector m_vStartPosition; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bHorizontalMotionInterrupted; // 0x11e0 + bool m_bDamageApplied; // 0x11e1 + bool m_bTargetTeleported; // 0x11e2 private: - [[maybe_unused]] uint8_t __pad1163[0x1]; // 0x1163 + [[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3 public: - Vector m_vHorizontalVelocity; // 0x1164 - Vector m_vLastKnownTargetPosition; // 0x1170 - float m_flInitialVelocityZ; // 0x117c - bool m_bDone; // 0x1180 + Vector m_vHorizontalVelocity; // 0x11e4 + Vector m_vLastKnownTargetPosition; // 0x11f0 + float m_flInitialVelocityZ; // 0x11fc + bool m_bDone; // 0x1200 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: - int32_t melee_attack_range; // 0x1138 - CHandle< CBaseEntity > m_hCart; // 0x113c + int32_t melee_attack_range; // 0x11b8 + CHandle< CBaseEntity > m_hCart; // 0x11bc }; // Alignment: 0 @@ -65342,27 +65916,27 @@ public: }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: - float air_duration; // 0x1138 - int32_t air_height; // 0x113c - int32_t travel_distance; // 0x1140 - Vector m_vDestination; // 0x1144 - float m_flStartZ; // 0x1150 - float m_flCurTime; // 0x1154 - float m_flJumpDuration; // 0x1158 - float m_flJumpHeight; // 0x115c - Vector m_vTargetHorizontalDirection; // 0x1160 + float air_duration; // 0x11b8 + int32_t air_height; // 0x11bc + int32_t travel_distance; // 0x11c0 + Vector m_vDestination; // 0x11c4 + float m_flStartZ; // 0x11d0 + float m_flCurTime; // 0x11d4 + float m_flJumpDuration; // 0x11d8 + float m_flJumpHeight; // 0x11dc + Vector m_vTargetHorizontalDirection; // 0x11e0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: - int32_t horn_toss_slow_pct; // 0x1138 + int32_t horn_toss_slow_pct; // 0x11b8 }; // Alignment: 3 @@ -65375,51 +65949,51 @@ private: [[maybe_unused]] uint8_t __pad0554[0xc]; // 0x554 public: CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x560 - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitListScepter; // 0x578 + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitListReturning; // 0x578 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: - int32_t scepter_width; // 0x1138 - float scepter_duration; // 0x113c - bool play_particle; // 0x1140 + int32_t scepter_width; // 0x11b8 + float scepter_duration; // 0x11bc + bool play_particle; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - Vector m_vStart; // 0x1144 - Vector m_vEnd; // 0x1150 + Vector m_vStart; // 0x11c4 + Vector m_vEnd; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: - int32_t scepter_slow_pct; // 0x1138 - int32_t scepter_armor_pct; // 0x113c + int32_t scepter_slow_pct; // 0x11b8 + int32_t scepter_armor_pct; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float pull_duration; // 0x114c - float effective_distance; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float pull_duration; // 0x11cc + float effective_distance; // 0x11d0 }; // Alignment: 0 @@ -65430,17 +66004,18 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 7 +// Size: 0x11d8 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 - float cleave_damage_pct; // 0x113c - int32_t cleave_starting_width; // 0x1140 - int32_t cleave_ending_width; // 0x1144 - int32_t cleave_distance; // 0x1148 - float self_multiplier; // 0x114c + int32_t bonus_damage_pct; // 0x11b8 + float cleave_damage_pct; // 0x11bc + int32_t cleave_starting_width; // 0x11c0 + int32_t cleave_ending_width; // 0x11c4 + int32_t cleave_distance; // 0x11c8 + float self_multiplier; // 0x11cc + int32_t secondary_cleave_distance; // 0x11d0 }; // Alignment: 7 @@ -65458,31 +66033,31 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - int32_t skewer_damage; // 0x113c - Vector m_vDirection; // 0x1140 - float m_flEndTime; // 0x114c - float m_flCurTime; // 0x1150 + float slow_duration; // 0x11b8 + int32_t skewer_damage; // 0x11bc + Vector m_vDirection; // 0x11c0 + float m_flEndTime; // 0x11cc + float m_flCurTime; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 2 @@ -65495,7 +66070,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: @@ -65503,11 +66078,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Magnataur_ReversePolarity_Strength : public CDOTA_Buff +// Size: 0x11c0 +class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: - int32_t strength_per_stack; // 0x1138 + int32_t stats_per_stack; // 0x11b8 }; // Alignment: 0 @@ -65518,6 +66093,24 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Magnus_Strength_Of_Joelrak : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff +{ +public: + int32_t strength_per_stack; // 0x11b8 + int32_t max_stacks; // 0x11bc + float stack_duration; // 0x11c0 +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Special_Bonus_Unique_Magnus_2 : public CDOTABaseAbility @@ -65578,14 +66171,17 @@ public: int32_t tree_damage_scale; // 0x560 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: - int32_t stat_loss_pct; // 0x1138 - int32_t iPrimaryAttribute; // 0x113c - float flStatLoss; // 0x1140 + int32_t stat_loss_pct; // 0x11b8 + int32_t stat_loss_univ; // 0x11bc + int32_t iPrimaryAttribute; // 0x11c0 + float flStatLossStr; // 0x11c4 + float flStatLossAgi; // 0x11c8 + float flStatLossInt; // 0x11cc }; // Alignment: 4 @@ -65600,16 +66196,16 @@ public: }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x1150 - Vector m_vStartPosition; // 0x1154 - int32_t speed; // 0x1160 - int32_t radius; // 0x1164 - int32_t damage; // 0x1168 + CUtlVector< CHandle< CBaseEntity > > m_hDamaged; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + Vector m_vStartPosition; // 0x11d4 + int32_t speed; // 0x11e0 + int32_t radius; // 0x11e4 + int32_t damage; // 0x11e8 }; // Alignment: 0 @@ -65620,24 +66216,43 @@ public: // No members available }; +// Alignment: 12 +// Size: 0x11e8 +class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff +{ +public: + float initial_shield; // 0x11b8 + float max_shield; // 0x11bc + float shield_per_sec; // 0x11c0 + float shield_per_sec_per_enemy; // 0x11c4 + float duration; // 0x11c8 + float base_explosion; // 0x11cc + int32_t radius; // 0x11d0 + int32_t explosion_radius; // 0x11d4 + int32_t m_nDamageAbsorbed; // 0x11d8 + GameTime_t m_timeLastTick; // 0x11dc + GameTime_t m_StartTime; // 0x11e0 + int32_t m_nLastParticleTime; // 0x11e4 +}; + // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: - int32_t stack_limit; // 0x1138 - float stack_duration; // 0x113c - GameTime_t m_flStackDieTime; // 0x1140 - ParticleIndex_t m_pFXIndex[4]; // 0x1144 + int32_t stack_limit; // 0x11b8 + float stack_duration; // 0x11bc + GameTime_t m_flStackDieTime; // 0x11c0 + ParticleIndex_t m_pFXIndex[4]; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: - float bonus_armor; // 0x1138 - float bonus_hp_regen; // 0x113c + float bonus_armor; // 0x11b8 + float bonus_hp_regen; // 0x11bc }; // Alignment: 13 @@ -65671,30 +66286,29 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float mana_per_second; // 0x113c - float radius; // 0x1140 - float break_distance; // 0x1144 - float damage_interval; // 0x1148 - int32_t scepter_bonus_damage; // 0x114c + int32_t damage_per_second; // 0x11b8 + float mana_per_second; // 0x11bc + float radius; // 0x11c0 + float break_distance; // 0x11c4 + float damage_interval; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t slow_health_percentage; // 0x113c + int32_t slow; // 0x11b8 + int32_t slow_health_percentage; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: @@ -65718,7 +66332,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -65734,40 +66348,70 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: - CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x1138 - bool m_bCleanupWhenEmpty; // 0x1150 + CUtlVector< CUtlPair< CHandle< CBaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11b8 + bool m_bCleanupWhenEmpty; // 0x11d0 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: - int32_t length; // 0x1138 - int32_t width; // 0x113c - int32_t damage_per_second; // 0x1140 - ParticleIndex_t m_nBeamFXIndex; // 0x1144 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1148 - GameTime_t m_flLastHit; // 0x114c - CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x1150 - CHandle< CBaseEntity > m_hTreeFireThinker; // 0x1168 + int32_t length; // 0x11b8 + int32_t width; // 0x11bc + int32_t damage_per_second; // 0x11c0 + ParticleIndex_t m_nBeamFXIndex; // 0x11c4 + CHandle< CBaseEntity > m_hBeamEnd; // 0x11c8 + GameTime_t m_flLastHit; // 0x11cc + CUtlVector< CBaseEntity* > m_vecBurningTrees; // 0x11d0 + CHandle< CBaseEntity > m_hTreeFireThinker; // 0x11e8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nActiveFXIndex; // 0x113c - ParticleIndex_t m_nActiveStatusFXIndex; // 0x1140 - float damage_per_second; // 0x1144 - int32_t building_dmg_pct; // 0x1148 - int32_t move_slow_pct; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nActiveFXIndex; // 0x11bc + ParticleIndex_t m_nActiveStatusFXIndex; // 0x11c0 + float damage_per_second; // 0x11c4 + int32_t building_dmg_pct; // 0x11c8 + int32_t move_slow_pct; // 0x11cc +}; + +// Alignment: 0 +// Size: 0x550 +class CDOTA_Ability_Bristleback_Warpath : public CDOTABaseAbility +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff +{ +public: + int32_t damage_per_stack; // 0x11b8 + int32_t move_speed_per_stack; // 0x11bc + int32_t max_stacks; // 0x11c0 + float stack_duration; // 0x11c4 + float m_flDuration; // 0x11c8 + GameTime_t m_flMaxStackStartTime; // 0x11cc + bool m_bSuppressKillEater; // 0x11d0 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -65779,16 +66423,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: - float base_armor; // 0x1138 - float armor_per_stack; // 0x113c - int32_t base_move_slow; // 0x1140 - int32_t move_slow_per_stack; // 0x1144 - int32_t stack_limit; // 0x1148 - ParticleIndex_t m_nFXStackIndex; // 0x114c + float base_armor; // 0x11b8 + float armor_per_stack; // 0x11bc + int32_t base_move_slow; // 0x11c0 + int32_t move_slow_per_stack; // 0x11c4 + int32_t stack_limit; // 0x11c8 + ParticleIndex_t m_nFXStackIndex; // 0x11cc }; // Alignment: 0 @@ -65800,7 +66444,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: @@ -65808,30 +66452,30 @@ public: }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t projectile_speed; // 0x1170 - int32_t radius; // 0x1174 - bool m_bTriggeredByBristleback; // 0x1178 - bool m_bDelayed; // 0x1179 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t projectile_speed; // 0x11f0 + int32_t radius; // 0x11f4 + bool m_bTriggeredByBristleback; // 0x11f8 + bool m_bDelayed; // 0x11f9 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: @@ -65846,52 +66490,24 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 10 +// Size: 0x11e0 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: - int32_t side_damage_reduction; // 0x1138 - int32_t back_damage_reduction; // 0x113c - int32_t side_angle; // 0x1140 - int32_t back_angle; // 0x1144 - float quill_release_threshold; // 0x1148 - bool m_bRearHit; // 0x114c - bool m_bSideHit; // 0x114d + int32_t side_damage_reduction; // 0x11b8 + int32_t back_damage_reduction; // 0x11bc + int32_t side_angle; // 0x11c0 + int32_t back_angle; // 0x11c4 + float quill_release_threshold; // 0x11c8 + float quill_release_interval; // 0x11cc + bool m_bRearHit; // 0x11d0 + bool m_bSideHit; // 0x11d1 private: - [[maybe_unused]] uint8_t __pad114e[0x2]; // 0x114e + [[maybe_unused]] uint8_t __pad11d2[0x2]; // 0x11d2 public: - float m_flDamageAccumulated; // 0x1150 -}; - -// Alignment: 0 -// Size: 0x550 -class CDOTA_Ability_Bristleback_Warpath : public CDOTABaseAbility -{ -public: - // No members available -}; - -// Alignment: 7 -// Size: 0x1158 -class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff -{ -public: - int32_t damage_per_stack; // 0x1138 - int32_t move_speed_per_stack; // 0x113c - int32_t max_stacks; // 0x1140 - float stack_duration; // 0x1144 - float m_flDuration; // 0x1148 - GameTime_t m_flMaxStackStartTime; // 0x114c - bool m_bSuppressKillEater; // 0x1150 -}; - -// Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff -{ -public: - // No members available + float m_flDamageAccumulated; // 0x11d4 + int32_t m_nAccumulatedHits; // 0x11d8 }; // Alignment: 0 @@ -65937,7 +66553,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: @@ -65945,7 +66561,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: @@ -65989,7 +66605,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: @@ -66005,7 +66621,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: @@ -66013,7 +66629,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: @@ -66021,7 +66637,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: @@ -66037,23 +66653,23 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: - int32_t sigil_radius; // 0x1138 - ParticleIndex_t m_iIndex; // 0x113c + int32_t sigil_radius; // 0x11b8 + ParticleIndex_t m_iIndex; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: - int32_t aghs_shard_move_slow; // 0x1138 - int32_t aghs_shard_damage; // 0x113c - int32_t attack_slow; // 0x1140 - int32_t turn_rate_slow; // 0x1144 + int32_t aghs_shard_move_slow; // 0x11b8 + int32_t aghs_shard_damage; // 0x11bc + int32_t attack_slow; // 0x11c0 + int32_t turn_rate_slow; // 0x11c4 }; // Alignment: 0 @@ -66065,49 +66681,49 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: - int32_t crit_multiplier; // 0x1138 - float air_time; // 0x113c - float slow_duration; // 0x1140 + int32_t crit_multiplier; // 0x11b8 + float air_time; // 0x11bc + float slow_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1148 - CHandle< CBaseEntity > m_hTarget; // 0x1150 - bool m_bWalrusPunch; // 0x1154 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c8 + CHandle< CBaseEntity > m_hTarget; // 0x11d0 + bool m_bWalrusPunch; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - ParticleIndex_t m_nFXIndex; // 0x1170 - int32_t m_nAttackRecord; // 0x1174 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + ParticleIndex_t m_nFXIndex; // 0x11f0 + int32_t m_nAttackRecord; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float m_flEndTime; // 0x1164 - float air_time; // 0x1168 + int32_t hp_threshold; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float m_flEndTime; // 0x11e4 + float air_time; // 0x11e8 }; // Alignment: 4 @@ -66122,27 +66738,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float m_flEndTime; // 0x1164 - int32_t push_length; // 0x1168 + int32_t hp_threshold; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float m_flEndTime; // 0x11e4 + int32_t push_length; // 0x11e8 }; // Alignment: 0 @@ -66154,29 +66770,29 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: - ParticleIndex_t m_iIndex; // 0x1138 - int32_t radius; // 0x113c + ParticleIndex_t m_iIndex; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 - float slow_duration; // 0x113c + int32_t bonus_damage; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 0 @@ -66188,29 +66804,29 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: - float stack_duration; // 0x1138 + float stack_duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_intelligence; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: - int32_t bonus_intelligence; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_intelligence; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 4 @@ -66224,6 +66840,14 @@ public: int32_t m_nFXIndex; // 0x55c }; +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff +{ +public: + float lifesteal_amt; // 0x11b8 +}; + // Alignment: 6 // Size: 0x568 class CDOTA_Ability_Skywrath_Mage_Concussive_Shot : public CDOTABaseAbility @@ -66238,11 +66862,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 + int32_t movement_speed_pct; // 0x11b8 }; // Alignment: 0 @@ -66254,11 +66878,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: - int32_t resist_debuff; // 0x1138 + int32_t resist_debuff; // 0x11b8 }; // Alignment: 0 @@ -66270,18 +66894,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage; // 0x113c - float duration; // 0x1140 - float damage_interval; // 0x1144 + int32_t radius; // 0x11b8 + int32_t damage; // 0x11bc + float duration; // 0x11c0 + float damage_interval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: @@ -66361,13 +66985,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float damage_absorb; // 0x113c - int32_t m_flDamageAbsorbed; // 0x1140 + int32_t radius; // 0x11b8 + float damage_absorb; // 0x11bc + int32_t m_nDamageAbsorbed; // 0x11c0 }; // Alignment: 0 @@ -66379,39 +67003,39 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: - float slow_duration; // 0x1138 - float curse_duration; // 0x113c - int32_t hit_count; // 0x1140 + float slow_duration; // 0x11b8 + float curse_duration; // 0x11bc + int32_t hit_count; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - ParticleIndex_t m_nFXStackIndex; // 0x113c + int32_t movement_speed; // 0x11b8 + ParticleIndex_t m_nFXStackIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: - int32_t curse_slow; // 0x1138 + int32_t curse_slow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: - int32_t curse_attack_speed; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c + int32_t curse_attack_speed; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc }; // Alignment: 0 @@ -66423,29 +67047,45 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: - int32_t m_iTotalDamageAbsorbed; // 0x1138 - int32_t redirect_range_scepter; // 0x113c + int32_t m_iTotalDamageAbsorbed; // 0x11b8 + int32_t redirect_range_scepter; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 + int32_t hp_threshold; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: - float m_fDamageTaken; // 0x1138 - int32_t ally_threshold_scepter; // 0x113c + float m_fDamageTaken; // 0x11b8 + int32_t ally_threshold_scepter; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff +{ +public: + int32_t immolate_aoe; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff +{ +public: + float immolate_damage; // 0x11b8 }; // Alignment: 10 @@ -66472,20 +67112,20 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: - int32_t pass_damage; // 0x1138 - int32_t radius; // 0x113c - int32_t m_nCreepsHit; // 0x1140 - int32_t m_nHeroesHit; // 0x1144 - float m_flSpeed; // 0x1148 + int32_t pass_damage; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_nCreepsHit; // 0x11c0 + int32_t m_nHeroesHit; // 0x11c4 + float m_flSpeed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x1150 - int32_t m_nBonusMoveSpeed; // 0x1168 + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x11d0 + int32_t m_nBonusMoveSpeed; // 0x11e8 }; // Alignment: 0 @@ -66505,27 +67145,27 @@ public: }; // Alignment: 13 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: - float move_pct_creeps; // 0x1138 - int32_t move_pct_heroes; // 0x113c - int32_t damage_creeps; // 0x1140 - int32_t damage_heroes; // 0x1144 - float armor_creeps; // 0x1148 - float armor_heroes; // 0x114c - float move_pct_cap; // 0x1150 - int32_t m_nCreepsHit; // 0x1154 - int32_t m_nHeroesHit; // 0x1158 - float m_fSpeedPercentage; // 0x115c - int32_t m_nDamage; // 0x1160 - int32_t m_nArmor; // 0x1164 - bool m_bSpellImmunity; // 0x1168 + float move_pct_creeps; // 0x11b8 + int32_t move_pct_heroes; // 0x11bc + int32_t damage_creeps; // 0x11c0 + int32_t damage_heroes; // 0x11c4 + float armor_creeps; // 0x11c8 + float armor_heroes; // 0x11cc + float move_pct_cap; // 0x11d0 + int32_t m_nCreepsHit; // 0x11d4 + int32_t m_nHeroesHit; // 0x11d8 + float m_fSpeedPercentage; // 0x11dc + int32_t m_nDamage; // 0x11e0 + int32_t m_nArmor; // 0x11e4 + bool m_bSpellImmunity; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: @@ -66533,7 +67173,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: @@ -66567,7 +67207,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: @@ -66575,26 +67215,26 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: - int32_t wake_damage_limit; // 0x1138 - float animation_rate; // 0x113c - float initial_stun_duration; // 0x1140 + int32_t wake_damage_limit; // 0x11b8 + float animation_rate; // 0x11bc + float initial_stun_duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer ctStunTimer; // 0x1148 - float m_flDamageTaken; // 0x1160 + CountdownTimer ctStunTimer; // 0x11c8 + float m_flDamageTaken; // 0x11e0 }; // Alignment: 0 @@ -66614,80 +67254,80 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x1138 - float m_flArmorReduction; // 0x113c + int32_t armor_reduction_pct; // 0x11b8 + float m_flArmorReduction; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: - int32_t magic_resistance_pct; // 0x1138 + int32_t magic_resistance_pct; // 0x11b8 }; // Alignment: 13 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x1138 - int32_t vision_width; // 0x1150 - float vision_interval; // 0x1154 - float vision_duration; // 0x1158 - int32_t vision_step; // 0x115c - int32_t total_steps; // 0x1160 - int32_t m_nCompletedSteps; // 0x1164 - Vector m_vStart; // 0x1168 - Vector m_vEnd; // 0x1174 - Vector m_vNextVisionLocation; // 0x1180 - Vector m_vCastDirection; // 0x118c - int32_t m_nHumHeroesHit; // 0x1198 - bool m_bHitInvisibleHero; // 0x119c + CUtlVector< CHandle< CBaseEntity > > m_hHitUnits; // 0x11b8 + int32_t vision_width; // 0x11d0 + float vision_interval; // 0x11d4 + float vision_duration; // 0x11d8 + int32_t vision_step; // 0x11dc + int32_t total_steps; // 0x11e0 + int32_t m_nCompletedSteps; // 0x11e4 + Vector m_vStart; // 0x11e8 + Vector m_vEnd; // 0x11f4 + Vector m_vNextVisionLocation; // 0x1200 + Vector m_vCastDirection; // 0x120c + int32_t m_nHumHeroesHit; // 0x1218 + bool m_bHitInvisibleHero; // 0x121c }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: - int32_t crack_width; // 0x1138 - int32_t damage_pct; // 0x113c - float slow_duration; // 0x1140 - float slow_duration_scepter; // 0x1144 - CDOTA_Buff* m_pParentModifier; // 0x1148 + int32_t crack_width; // 0x11b8 + int32_t damage_pct; // 0x11bc + float slow_duration; // 0x11c0 + float slow_duration_scepter; // 0x11c4 + CDOTA_Buff* m_pParentModifier; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: @@ -66715,7 +67355,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: @@ -66723,16 +67363,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: - int32_t bonus_speed_creeps; // 0x1138 - int32_t bonus_speed_heroes; // 0x113c - float armor_per_creep; // 0x1140 - float armor_per_hero; // 0x1144 - int32_t m_nTotalBonus; // 0x1148 - float m_flBonusArmor; // 0x114c + int32_t bonus_attack_speed_creeps; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + float armor_per_creep; // 0x11c0 + float armor_per_hero; // 0x11c4 + int32_t m_nTotalBonus; // 0x11c8 + float m_flBonusArmor; // 0x11cc }; // Alignment: 0 @@ -66744,20 +67384,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t move_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 0 @@ -66769,20 +67409,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: - int32_t trigger_chance; // 0x1138 - float buff_duration; // 0x113c + int32_t trigger_chance; // 0x11b8 + float buff_duration; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: - int32_t hp_leech_percent; // 0x1138 + int32_t hp_leech_percent; // 0x11b8 }; // Alignment: 0 @@ -66794,7 +67434,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: @@ -66810,35 +67450,35 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: - int32_t bonus_armor_per_hero; // 0x1138 - int32_t bonus_damage_per_hero; // 0x113c - int32_t lifesteal_per_hero; // 0x1140 - int32_t scepter_damage_reduction_pct; // 0x1144 + int32_t bonus_armor_per_hero; // 0x11b8 + int32_t bonus_damage_per_hero; // 0x11bc + int32_t lifesteal_per_hero; // 0x11c0 + int32_t scepter_damage_reduction_pct; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: - int32_t m_nSuicideKillCount; // 0x1138 + int32_t m_nSuicideKillCount; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -66854,21 +67494,21 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t bonus_ms; // 0x1140 - int32_t stun_radius; // 0x1144 - float stun_duration; // 0x1148 - int32_t damage_percent; // 0x114c - int32_t m_nDamageRemaining; // 0x1150 + int32_t bonus_ms; // 0x11c0 + int32_t stun_radius; // 0x11c4 + float stun_duration; // 0x11c8 + int32_t damage_percent; // 0x11cc + int32_t m_nDamageRemaining; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -66884,68 +67524,68 @@ public: }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - float m_flPredictedTotalTime; // 0x113c - Vector m_vStartPosition; // 0x1140 - float m_flCurrentTimeHoriz; // 0x114c - float m_flCurrentTimeVert; // 0x1150 - bool m_bHorizontalMotionInterrupted; // 0x1154 - bool m_bDamageApplied; // 0x1155 - bool m_bTargetTeleported; // 0x1156 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + float m_flPredictedTotalTime; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + float m_flCurrentTimeHoriz; // 0x11cc + float m_flCurrentTimeVert; // 0x11d0 + bool m_bHorizontalMotionInterrupted; // 0x11d4 + bool m_bDamageApplied; // 0x11d5 + bool m_bTargetTeleported; // 0x11d6 private: - [[maybe_unused]] uint8_t __pad1157[0x1]; // 0x1157 + [[maybe_unused]] uint8_t __pad11d7[0x1]; // 0x11d7 public: - Vector m_vHorizontalVelocity; // 0x1158 - Vector m_vLastKnownTargetPosition; // 0x1164 - float m_flInitialVelocityZ; // 0x1170 - bool m_bDone; // 0x1174 + Vector m_vHorizontalVelocity; // 0x11d8 + Vector m_vLastKnownTargetPosition; // 0x11e4 + float m_flInitialVelocityZ; // 0x11f0 + bool m_bDone; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - int32_t radius; // 0x1178 + int32_t radius; // 0x11f8 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: - int32_t acceleration; // 0x1138 - int32_t m_nTeamNumber; // 0x113c - float speed; // 0x1140 - float pre_chase_time; // 0x1144 - CHandle< CBaseEntity > m_hAttachTarget; // 0x1148 - Vector m_vStartPosition; // 0x114c - CountdownTimer m_MoveTime; // 0x1158 + int32_t acceleration; // 0x11b8 + int32_t m_nTeamNumber; // 0x11bc + float speed; // 0x11c0 + float pre_chase_time; // 0x11c4 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11c8 + Vector m_vStartPosition; // 0x11cc + CountdownTimer m_MoveTime; // 0x11d8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: - Vector m_vLastLoc; // 0x1138 - CHandle< CBaseEntity > m_hAttachTarget; // 0x1144 + Vector m_vLastLoc; // 0x11b8 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: - int32_t secondary_slow; // 0x1138 + int32_t secondary_slow; // 0x11b8 }; // Alignment: 0 @@ -66957,29 +67597,29 @@ public: }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - float proximity_threshold; // 0x114c - float damage; // 0x1150 - float activation_delay; // 0x1154 - float outer_damage; // 0x1158 - int32_t min_distance; // 0x115c - bool bActivated; // 0x1160 + int32_t radius; // 0x11c8 + float proximity_threshold; // 0x11cc + float damage; // 0x11d0 + float activation_delay; // 0x11d4 + float outer_damage; // 0x11d8 + int32_t min_distance; // 0x11dc + bool bActivated; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - CountdownTimer m_Timer; // 0x1168 + CountdownTimer m_Timer; // 0x11e8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: - int32_t mres_reduction; // 0x1138 + int32_t mres_reduction; // 0x11b8 }; // Alignment: 2 @@ -66992,21 +67632,21 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: - int32_t activation_radius; // 0x1148 - int32_t stun_radius; // 0x114c - float stun_duration; // 0x1150 - float explode_delay; // 0x1154 - float activation_time; // 0x1158 - bool m_bActivated; // 0x115c - bool m_bTriggered; // 0x115d + int32_t activation_radius; // 0x11c8 + int32_t stun_radius; // 0x11cc + float stun_duration; // 0x11d0 + float explode_delay; // 0x11d4 + float activation_time; // 0x11d8 + bool m_bActivated; // 0x11dc + bool m_bTriggered; // 0x11dd }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: @@ -67022,7 +67662,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: @@ -67030,24 +67670,24 @@ public: }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bDamageApplied; // 0x115d - bool m_bTargetTeleported; // 0x115e + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bDamageApplied; // 0x11dd + bool m_bTargetTeleported; // 0x11de private: - [[maybe_unused]] uint8_t __pad115f[0x1]; // 0x115f + [[maybe_unused]] uint8_t __pad11df[0x1]; // 0x11df public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 2 @@ -67060,7 +67700,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: @@ -67068,18 +67708,18 @@ public: }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: - int32_t radius; // 0x1148 - int32_t damage; // 0x114c - int32_t radius_scepter; // 0x1150 - int32_t damage_scepter; // 0x1154 - int32_t vision_radius; // 0x1158 - float vision_duration; // 0x115c - int32_t model_scale; // 0x1160 - bool bExploding; // 0x1164 + int32_t radius; // 0x11c8 + int32_t damage; // 0x11cc + int32_t radius_scepter; // 0x11d0 + int32_t damage_scepter; // 0x11d4 + int32_t vision_radius; // 0x11d8 + float vision_duration; // 0x11dc + int32_t model_scale; // 0x11e0 + bool bExploding; // 0x11e4 }; // Alignment: 0 @@ -67098,33 +67738,60 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x558 +// Alignment: 4 +// Size: 0x560 class CDOTA_Ability_Techies_Minefield_Sign : public CDOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x550 - int32_t aura_radius; // 0x554 + ParticleIndex_t m_nFXHammerIndex; // 0x554 + int32_t aura_radius; // 0x558 + CHandle< CBaseEntity > m_hSign; // 0x55c }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 + float trigger_radius; // 0x11bc + float minefield_duration; // 0x11c0 + bool m_bTriggered; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: // No members available }; +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff +{ +public: + int32_t aura_radius; // 0x11b8 + float minefield_duration; // 0x11bc +}; + +// Alignment: 6 +// Size: 0x11d8 +class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff +{ +public: + float aura_radius; // 0x11b8 + float scepter_move_damage; // 0x11bc + float scepter_move_amt; // 0x11c0 + float minefield_duration; // 0x11c4 + float m_flMoveAmount; // 0x11c8 + Vector m_vLastPosition; // 0x11cc +}; + // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: @@ -67140,18 +67807,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float tick_interval; // 0x113c - float tick_damage; // 0x1140 - float duration; // 0x1144 + int32_t damage_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float tick_damage; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -67170,7 +67837,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: @@ -67178,7 +67845,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: @@ -67186,18 +67853,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: - int32_t bonus_hero_damage; // 0x1138 - int32_t creep_damage_penalty; // 0x113c - int32_t radius; // 0x1140 - float attack_interval; // 0x1144 + int32_t bonus_hero_damage; // 0x11b8 + int32_t creep_damage_penalty; // 0x11bc + int32_t radius; // 0x11c0 + float attack_interval; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: @@ -67212,30 +67879,31 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x1160 +// Alignment: 8 +// Size: 0x11e0 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: - int32_t absorb_amount; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t radius; // 0x1140 - float tick_interval; // 0x1144 - int32_t shield_pct_absorb; // 0x1148 - int32_t m_nAbsorbRemaining; // 0x114c - float m_flShowParticleInterval; // 0x1150 + int32_t absorb_amount; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t radius; // 0x11c0 + float tick_interval; // 0x11c4 + int32_t shield_pct_absorb; // 0x11c8 + int32_t m_nAbsorbRemaining; // 0x11cc + float m_flShowParticleInterval; // 0x11d0 + bool m_bDestroy; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: - int32_t blind_pct; // 0x1138 + int32_t blind_pct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -67251,38 +67919,38 @@ public: }; // Alignment: 3 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x1138 - CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x1150 - int32_t shard_charge_radius; // 0x1168 + CUtlVector< CHandle< CBaseEntity > > m_vActiveRemnants; // 0x11b8 + CUtlVector< CHandle< CBaseEntity > > m_vTrackingDelayedRemnants; // 0x11d0 + int32_t shard_charge_radius; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x1138 - bool m_bIsShardRemnant; // 0x113c + int32_t m_nProjectileHandle; // 0x11b8 + bool m_bIsShardRemnant; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: - int32_t shard_radius; // 0x1138 + int32_t shard_radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: - int32_t shard_damage_per_second; // 0x1138 + int32_t shard_damage_per_second; // 0x11b8 }; // Alignment: 7 @@ -67305,7 +67973,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: @@ -67313,7 +67981,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: @@ -67321,7 +67989,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -67362,11 +68030,11 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: - Vector m_vDir; // 0x1138 + Vector m_vDir; // 0x11b8 }; // Alignment: 0 @@ -67378,61 +68046,62 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: - int32_t vision_radius; // 0x1138 - bool m_bHasBeenMagnetized; // 0x113c + int32_t vision_radius; // 0x11b8 + bool m_bHasBeenMagnetized; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - ParticleIndex_t m_nFXIndex; // 0x1140 + ParticleIndex_t m_nFXIndex; // 0x11c0 }; -// Alignment: 11 +// Alignment: 12 // Size: 0x580 class CDOTA_Ability_EarthSpirit_BoulderSmash : public CDOTABaseAbility { public: int32_t speed; // 0x550 int32_t rock_damage; // 0x554 - int32_t radius; // 0x558 - int32_t rock_search_aoe; // 0x55c - float unit_distance; // 0x560 - float rock_distance; // 0x564 - int32_t m_nProjectileID; // 0x568 - CHandle< CBaseEntity > m_hCursorTarget; // 0x56c - bool m_bUsedStone; // 0x570 + float creep_multiplier; // 0x558 + int32_t radius; // 0x55c + int32_t rock_search_aoe; // 0x560 + float unit_distance; // 0x564 + float rock_distance; // 0x568 + int32_t m_nProjectileID; // 0x56c + CHandle< CBaseEntity > m_hCursorTarget; // 0x570 + bool m_bUsedStone; // 0x574 private: - [[maybe_unused]] uint8_t __pad0571[0x3]; // 0x571 + [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: - CHandle< CBaseEntity > m_hTarget; // 0x574 - bool m_bTargetStone; // 0x578 + CHandle< CBaseEntity > m_hTarget; // 0x578 + bool m_bTargetStone; // 0x57c }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: - bool m_bInterrupted; // 0x1138 + bool m_bInterrupted; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t m_nProjectileID; // 0x113c + int32_t m_nProjectileID; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: @@ -67448,35 +68117,35 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t rock_damage; // 0x113c - float pull_units_per_second; // 0x1140 - float pull_units_per_second_heroes; // 0x1144 - float total_pull_distance; // 0x1148 - float duration; // 0x114c - bool m_bUsedStone; // 0x1150 + int32_t radius; // 0x11b8 + int32_t rock_damage; // 0x11bc + float pull_units_per_second; // 0x11c0 + float pull_units_per_second_heroes; // 0x11c4 + float total_pull_distance; // 0x11c8 + float duration; // 0x11cc + bool m_bUsedStone; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - Vector m_vDestination; // 0x1154 - Vector m_vLocation; // 0x1160 + Vector m_vDestination; // 0x11d4 + Vector m_vLocation; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1170 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11f0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - bool m_bHasBeenMagnetized; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + bool m_bHasBeenMagnetized; // 0x11bc }; // Alignment: 3 @@ -67490,23 +68159,23 @@ public: }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: - int32_t rock_search_radius; // 0x1138 - int32_t damage_per_second; // 0x113c - float damage_interval; // 0x1140 - float rock_explosion_delay; // 0x1144 - float damage_duration; // 0x1148 - int32_t cast_radius; // 0x114c - int32_t rock_explosion_radius; // 0x1150 + int32_t rock_search_radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc + float damage_interval; // 0x11c0 + float rock_explosion_delay; // 0x11c4 + float damage_duration; // 0x11c8 + int32_t cast_radius; // 0x11cc + int32_t rock_explosion_radius; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x1158 - float duration; // 0x1170 - bool m_bShowOverhead; // 0x1174 + CUtlVector< CHandle< CBaseEntity > > m_hExplodedRocks; // 0x11d8 + float duration; // 0x11f0 + bool m_bShowOverhead; // 0x11f4 }; // Alignment: 1 @@ -67518,19 +68187,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float damage_interval; // 0x113c - float damage_duration; // 0x1140 - int32_t rock_search_radius; // 0x1144 - CHandle< CBaseEntity > m_hMagnetizeAbility; // 0x1148 + int32_t damage_per_second; // 0x11b8 + float damage_interval; // 0x11bc + float damage_duration; // 0x11c0 + int32_t rock_search_radius; // 0x11c4 + CHandle< CBaseEntity > m_hMagnetizeAbility; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: @@ -67546,29 +68215,29 @@ public: }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x1138 - int32_t wave_count; // 0x113c - int32_t radius; // 0x1140 - float wave_interval; // 0x1144 - float burn_duration; // 0x1148 - float burn_interval; // 0x114c - float first_wave_delay; // 0x1150 - float building_damage; // 0x1154 - CHandle< CBaseEntity > m_hTarget; // 0x1158 + int32_t wave_damage; // 0x11b8 + int32_t wave_count; // 0x11bc + int32_t radius; // 0x11c0 + float wave_interval; // 0x11c4 + float burn_duration; // 0x11c8 + float burn_interval; // 0x11cc + float first_wave_delay; // 0x11d0 + float building_damage; // 0x11d4 + CHandle< CBaseEntity > m_hTarget; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - float burn_interval; // 0x113c - float building_damage; // 0x1140 + float burn_damage; // 0x11b8 + float burn_interval; // 0x11bc + float building_damage; // 0x11c0 }; // Alignment: 1 @@ -67580,18 +68249,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: - int32_t pit_damage; // 0x1138 - int32_t radius; // 0x113c - float pit_interval; // 0x1140 - float ensnare_duration; // 0x1144 + int32_t pit_damage; // 0x11b8 + int32_t radius; // 0x11bc + float pit_interval; // 0x11c0 + float ensnare_duration; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -67599,15 +68268,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: @@ -67623,38 +68292,38 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: - int32_t damage_reduction_pct; // 0x1138 - float bonus_damage_duration; // 0x113c - int32_t bonus_damage_from_creep; // 0x1140 - int32_t bonus_damage_from_hero; // 0x1144 - bool m_bWasHidden; // 0x1148 + int32_t damage_reduction_pct; // 0x11b8 + float bonus_damage_duration; // 0x11bc + int32_t bonus_damage_from_creep; // 0x11c0 + int32_t bonus_damage_from_hero; // 0x11c4 + bool m_bWasHidden; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_hero; // 0x1138 - float bonus_shared_by_allies_pct; // 0x113c - float m_flModifier; // 0x1140 + int32_t bonus_damage_from_hero; // 0x11b8 + float bonus_shared_by_allies_pct; // 0x11bc + float m_flModifier; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: @@ -67662,17 +68331,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x1138 - float bonus_shared_by_allies_pct; // 0x113c - float m_flModifier; // 0x1140 + int32_t bonus_damage_from_creep; // 0x11b8 + float bonus_shared_by_allies_pct; // 0x11bc + float m_flModifier; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: @@ -67680,11 +68349,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: - int32_t bonus_damage_from_creep; // 0x1138 + int32_t bonus_damage_from_creep; // 0x11b8 }; // Alignment: 2 @@ -67697,27 +68366,27 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - int32_t radius; // 0x113c - int32_t duration; // 0x1140 - ParticleIndex_t m_nfxAmbientFx; // 0x1144 - bool bPointTarget; // 0x1148 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + int32_t radius; // 0x11bc + int32_t duration; // 0x11c0 + ParticleIndex_t m_nfxAmbientFx; // 0x11c4 + bool bPointTarget; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - Vector vDestination; // 0x114c + Vector vDestination; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: - int32_t scepter_health_bonus; // 0x1138 + int32_t scepter_health_bonus; // 0x11b8 }; // Alignment: 0 @@ -67729,11 +68398,11 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 1 @@ -67745,46 +68414,46 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x1138 - float m_fPortalRadius; // 0x113c - ParticleIndex_t m_nChannelFX; // 0x1140 - int32_t m_nChannelCount; // 0x1144 - ParticleIndex_t m_nCountdownFX; // 0x1148 + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 + float m_fPortalRadius; // 0x11bc + ParticleIndex_t m_nChannelFX; // 0x11c0 + int32_t m_nChannelCount; // 0x11c4 + ParticleIndex_t m_nCountdownFX; // 0x11c8 }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - ParticleIndex_t m_nfxTargetTp2; // 0x113c - ParticleIndex_t m_nfxAmbientFx; // 0x1140 - ParticleIndex_t m_nfxPortal1; // 0x1144 - ParticleIndex_t m_nfxPortal2; // 0x1148 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - CHandle< CBaseEntity > m_hPortal; // 0x1154 - CHandle< CBaseEntity > m_hOtherPortal; // 0x1158 - Vector m_vStartPosition; // 0x115c - float m_flTotalTime; // 0x1168 - float m_flElapsedTimePortion; // 0x116c - float animation_rate; // 0x1170 - int32_t stop_distance; // 0x1174 + CHandle< CBaseEntity > m_hPortal; // 0x11d4 + CHandle< CBaseEntity > m_hOtherPortal; // 0x11d8 + Vector m_vStartPosition; // 0x11dc + float m_flTotalTime; // 0x11e8 + float m_flElapsedTimePortion; // 0x11ec + float animation_rate; // 0x11f0 + int32_t stop_distance; // 0x11f4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 - int32_t bonus_ms; // 0x113c + int32_t damage_reduction; // 0x11b8 + int32_t bonus_ms; // 0x11bc }; // Alignment: 1 @@ -67876,19 +68545,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - CHandle< CBaseEntity > hTarget; // 0x1138 + CHandle< CBaseEntity > hTarget; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 0 @@ -67900,7 +68570,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: @@ -67924,13 +68594,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c - int32_t melee_bonus; // 0x1140 + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc + int32_t melee_bonus; // 0x11c0 }; // Alignment: 1 @@ -67942,15 +68612,15 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: - Vector m_vOriginal; // 0x1138 + Vector m_vOriginal; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: @@ -67958,7 +68628,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: @@ -67966,7 +68636,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: @@ -67974,33 +68644,33 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: - float base_attack_time; // 0x1138 - int32_t bonus_range; // 0x113c - int32_t m_iOriginalAttackCapabilities; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t speed_loss; // 0x1148 - int32_t attack_projectile_speed_bonus; // 0x114c - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1150 - CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x1158 + float base_attack_time; // 0x11b8 + int32_t bonus_range; // 0x11bc + int32_t m_iOriginalAttackCapabilities; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t speed_loss; // 0x11c8 + int32_t attack_projectile_speed_bonus; // 0x11cc + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d0 + CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x11d8 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1148 - int32_t scepter_speed; // 0x1160 - int32_t scepter_radius; // 0x1164 - bool m_bFirstThink; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t scepter_speed; // 0x11e0 + int32_t scepter_radius; // 0x11e4 + bool m_bFirstThink; // 0x11e8 }; // Alignment: 0 @@ -68012,12 +68682,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: - bool m_bFrozen; // 0x1138 - bool m_bFlail; // 0x1139 + bool m_bFrozen; // 0x11b8 + bool m_bFlail; // 0x11b9 }; // Alignment: 0 @@ -68037,7 +68707,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: @@ -68045,45 +68715,45 @@ public: }; // Alignment: 21 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - float m_flCurrentTime; // 0x115c - float m_flAccumulatedSelfDamage; // 0x1160 - bool m_bMovingForward; // 0x1164 - bool m_bTurningFast; // 0x1165 + int32_t hp_cost_perc_per_second; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + float m_flCurrentTime; // 0x11dc + float m_flAccumulatedSelfDamage; // 0x11e0 + bool m_bMovingForward; // 0x11e4 + bool m_bTurningFast; // 0x11e5 private: - [[maybe_unused]] uint8_t __pad1166[0x2]; // 0x1166 + [[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6 public: - float m_flFacingTarget; // 0x1168 - float hp_perc_damage; // 0x116c - float hp_perc_heal; // 0x1170 - ParticleIndex_t m_nBeamFXIndex; // 0x1174 - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1178 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1198 - bool m_bCreatedVisionThinkers; // 0x119c + float m_flFacingTarget; // 0x11e8 + float hp_perc_damage; // 0x11ec + float hp_perc_heal; // 0x11f0 + ParticleIndex_t m_nBeamFXIndex; // 0x11f4 + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x11f8 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1218 + bool m_bCreatedVisionThinkers; // 0x121c private: - [[maybe_unused]] uint8_t __pad119d[0x3]; // 0x119d + [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x11a0 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1220 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff { public: - int32_t shard_move_slow_pct; // 0x1138 + int32_t shard_move_slow_pct; // 0x11b8 }; // Alignment: 0 @@ -68111,69 +68781,68 @@ public: }; // Alignment: 11 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff { public: - Vector m_vSource; // 0x1138 - Vector m_vTarget; // 0x1144 - Vector m_vDirection; // 0x1150 - QAngle m_angDirection; // 0x115c - float m_flCurrentTime; // 0x1168 - int32_t dash_length; // 0x116c - int32_t dash_width; // 0x1170 - int32_t hit_radius; // 0x1174 - float burn_duration; // 0x1178 - float dive_duration; // 0x117c - CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1180 + Vector m_vSource; // 0x11b8 + Vector m_vTarget; // 0x11c4 + Vector m_vDirection; // 0x11d0 + QAngle m_angDirection; // 0x11dc + float m_flCurrentTime; // 0x11e8 + int32_t dash_length; // 0x11ec + int32_t dash_width; // 0x11f0 + int32_t hit_radius; // 0x11f4 + float burn_duration; // 0x11f8 + float dive_duration; // 0x11fc + CUtlVector< CHandle< CBaseEntity > > m_vecHitEntities; // 0x1200 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: - float burn_tick_interval; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t slow_movement_speed_pct; // 0x1140 + float burn_tick_interval; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t slow_movement_speed_pct; // 0x11c0 }; -// Alignment: 1 -// Size: 0x558 +// Alignment: 0 +// Size: 0x550 class CDOTA_Ability_Phoenix_FireSpirits : public CDOTABaseAbility { public: - int32_t hp_cost_perc; // 0x550 + // No members available }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; -// Alignment: 5 -// Size: 0x568 +// Alignment: 4 +// Size: 0x560 class CDOTA_Ability_Phoenix_LaunchFireSpirit : public CDOTABaseAbility { public: int32_t spirit_speed; // 0x550 float duration; // 0x554 int32_t radius; // 0x558 - int32_t hp_cost_perc; // 0x55c - ParticleIndex_t m_nFXIndex; // 0x560 + ParticleIndex_t m_nFXIndex; // 0x55c }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - int32_t attackspeed_slow; // 0x113c - int32_t damage_per_second; // 0x1140 + float tick_interval; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc + int32_t damage_per_second; // 0x11c0 }; // Alignment: 0 @@ -68185,7 +68854,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: @@ -68193,26 +68862,26 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t max_hero_attacks; // 0x1140 - int32_t max_hero_attacks_scepter; // 0x1144 - int32_t max_hero_attacks_required; // 0x1148 - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x114c - int32_t m_iAttackCount; // 0x1150 - int32_t creep_attacks_count; // 0x1154 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t max_hero_attacks; // 0x11c0 + int32_t max_hero_attacks_scepter; // 0x11c4 + int32_t max_hero_attacks_required; // 0x11c8 + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11cc + int32_t m_iAttackCount; // 0x11d0 + int32_t creep_attacks_count; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 + int32_t damage_per_sec; // 0x11b8 }; // Alignment: 11 @@ -68237,7 +68906,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: @@ -68245,7 +68914,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: @@ -68261,7 +68930,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: @@ -68281,12 +68950,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: - float heal_per_second; // 0x1138 - float tick_rate; // 0x113c + float heal_per_second; // 0x11b8 + float tick_rate; // 0x11bc }; // Alignment: 0 @@ -68298,39 +68967,40 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: // No members available }; -// Alignment: 0 -// Size: 0x1148 +// Alignment: 2 +// Size: 0x11d0 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: - // No members available + float shard_spell_amp_bonus; // 0x11c8 + float shard_bat_bonus; // 0x11cc }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x30]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x30]; // 0x11b8 public: - bool m_bWaitingForInvulnerability; // 0x1168 - bool m_bDisableHealing; // 0x1169 + bool m_bWaitingForInvulnerability; // 0x11e8 + bool m_bDisableHealing; // 0x11e9 private: - [[maybe_unused]] uint8_t __pad116a[0x2]; // 0x116a + [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea public: - float m_flHealthOnCreated; // 0x116c - ParticleIndex_t m_nFXIndex; // 0x1170 - ParticleIndex_t m_nFXIndexB; // 0x1174 - float m_flRunningDmg; // 0x1178 - float m_flRunningHealth; // 0x117c - int32_t bonus_armor; // 0x1180 + float m_flHealthOnCreated; // 0x11ec + ParticleIndex_t m_nFXIndex; // 0x11f0 + ParticleIndex_t m_nFXIndexB; // 0x11f4 + float m_flRunningDmg; // 0x11f8 + float m_flRunningHealth; // 0x11fc + int32_t bonus_armor; // 0x1200 }; // Alignment: 0 @@ -68414,21 +69084,21 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: - float damage; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + float damage; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: - int32_t heal_amp; // 0x1138 + int32_t heal_amp; // 0x11b8 }; // Alignment: 1 @@ -68440,38 +69110,38 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: - float attack_point; // 0x1138 - int32_t attack_range_bonus; // 0x113c - int32_t projectile_speed_bonus; // 0x1140 - int32_t night_vision_bonus; // 0x1144 - int32_t movement_scepter; // 0x1148 + float attack_point; // 0x11b8 + int32_t attack_range_bonus; // 0x11bc + int32_t projectile_speed_bonus; // 0x11c0 + int32_t night_vision_bonus; // 0x11c4 + int32_t movement_scepter; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1150 - int32_t max_attacks; // 0x1158 - int32_t m_iNumAttacks; // 0x115c + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11d0 + int32_t max_attacks; // 0x11d8 + int32_t m_iNumAttacks; // 0x11dc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: - float percent_damage; // 0x1138 - int32_t move_slow; // 0x113c + float percent_damage; // 0x11b8 + int32_t move_slow; // 0x11bc }; // Alignment: 0 @@ -68483,11 +69153,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: - int32_t bonus_movespeed; // 0x1138 + int32_t bonus_movespeed; // 0x11b8 }; // Alignment: 0 @@ -68499,14 +69169,14 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t heal_additive; // 0x1140 - float heal_percentage; // 0x1144 + int32_t heal_additive; // 0x11c0 + float heal_percentage; // 0x11c4 }; // Alignment: 0 @@ -68518,39 +69188,39 @@ public: }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nAlliesTaunted; // 0x113c - bool m_bRelicTriggered; // 0x1140 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nAlliesTaunted; // 0x11bc + bool m_bRelicTriggered; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t radius; // 0x1144 - int32_t damage_amplification; // 0x1148 - int32_t damage_reduction; // 0x114c - GameTime_t m_flLastSeen; // 0x1150 + int32_t radius; // 0x11c4 + int32_t damage_amplification; // 0x11c8 + int32_t damage_reduction; // 0x11cc + GameTime_t m_flLastSeen; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - CHandle< CBaseEntity > m_hDesiredTarget; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + CHandle< CBaseEntity > m_hDesiredTarget; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; // Alignment: 0 @@ -68561,22 +69231,27 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 13 +// Size: 0x11f0 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: - int32_t m_nCasterTeam; // 0x1138 - int32_t damage_per_second; // 0x113c - int32_t search_radius; // 0x1140 - int32_t move_speed_slow_pct; // 0x1144 - float think_interval; // 0x1148 - int32_t m_nCurrentSlow; // 0x114c - bool m_bAlone; // 0x1150 + int32_t m_nCasterTeam; // 0x11b8 + int32_t damage_per_second; // 0x11bc + int32_t tempest_damage_per_second; // 0x11c0 + int32_t search_radius; // 0x11c4 + int32_t move_speed_slow_pct; // 0x11c8 + int32_t tempest_move_speed_slow_pct; // 0x11cc + int32_t status_resist; // 0x11d0 + float think_interval; // 0x11d4 + int32_t m_nCurrentMovementSlow; // 0x11d8 + int32_t m_nCurrentStatusResistance; // 0x11dc + bool m_bAlone; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - ParticleIndex_t m_nFXIndex; // 0x1154 + ParticleIndex_t m_nFXIndex; // 0x11e4 + bool m_bIsTempestVersion; // 0x11e8 }; // Alignment: 0 @@ -68588,43 +69263,72 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 - Vector m_vPos; // 0x1144 + int32_t radius; // 0x11c0 + Vector m_vPos; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c - int32_t shard_magic_resist; // 0x1140 - int32_t shard_slow_pct; // 0x1144 - float aura_origin_x; // 0x1148 - float aura_origin_y; // 0x114c + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc + int32_t shard_magic_resist; // 0x11c0 + int32_t shard_slow_pct; // 0x11c4 + float aura_origin_x; // 0x11c8 + float aura_origin_y; // 0x11cc +}; + +// Alignment: 2 +// Size: 0x11d0 +class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff +{ +private: + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 +public: + int32_t radius; // 0x11c0 + Vector m_vPos; // 0x11c4 +}; + +// Alignment: 8 +// Size: 0x11f0 +class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff +{ +public: + int32_t attack_range_bonus; // 0x11b8 + int32_t attack_magic_damage; // 0x11bc + int32_t radius; // 0x11c0 + int32_t shard_magic_resist; // 0x11c4 + int32_t shard_slow_pct; // 0x11c8 + float aura_origin_x; // 0x11cc + float aura_origin_y; // 0x11d0 +private: + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: - int32_t attack_speed_bonus; // 0x1138 + int32_t attack_speed_bonus; // 0x11b8 }; // Alignment: 5 @@ -68640,32 +69344,32 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: - int32_t move_speed_slow_pct; // 0x1138 + int32_t move_speed_slow_pct; // 0x11b8 }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t scepter_radius; // 0x113c - int32_t wraith_vision_radius; // 0x1140 - int32_t wraith_speed; // 0x1144 + int32_t radius; // 0x11b8 + int32_t scepter_radius; // 0x11bc + int32_t wraith_vision_radius; // 0x11c0 + int32_t wraith_speed; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - float activation_delay; // 0x1150 - float scepter_activation_delay; // 0x1154 - float think_interval; // 0x1158 - int32_t m_nSparkDamage; // 0x115c - int32_t m_nViewerID; // 0x1160 - bool m_bActive; // 0x1164 - bool m_bOriginal; // 0x1165 + float activation_delay; // 0x11d0 + float scepter_activation_delay; // 0x11d4 + float think_interval; // 0x11d8 + int32_t m_nSparkDamage; // 0x11dc + int32_t m_nViewerID; // 0x11e0 + bool m_bActive; // 0x11e4 + bool m_bOriginal; // 0x11e5 }; // Alignment: 1 @@ -68678,20 +69382,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: - int32_t penalty_distance; // 0x1138 - int32_t attack_damage_penalty; // 0x113c + int32_t penalty_distance; // 0x11b8 + int32_t attack_damage_penalty; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: - int32_t attack_damage_penalty; // 0x1138 + int32_t attack_damage_penalty; // 0x11b8 }; // Alignment: 0 @@ -68703,42 +69407,42 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hRune; // 0x1138 + CHandle< CBaseEntity > m_hRune; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Banana : public CDOTA_Buff { public: - int32_t slide_distance; // 0x1138 - int32_t radius; // 0x113c - float slide_duration; // 0x1140 + int32_t slide_distance; // 0x11b8 + int32_t radius; // 0x11bc + float slide_duration; // 0x11c0 }; // Alignment: 11 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff { public: - Vector m_vCenter; // 0x1138 - int32_t knockback_distance; // 0x1144 - int32_t knockback_height; // 0x1148 - float knockback_duration; // 0x114c - Vector m_vHorizOffset; // 0x1150 - Vector m_vStartPosition; // 0x115c - Vector m_vDir; // 0x1168 - float m_fCurrentTimeHoriz; // 0x1174 - float m_fCurrentTimeVert; // 0x1178 - bool m_bShouldStun; // 0x117c + Vector m_vCenter; // 0x11b8 + int32_t knockback_distance; // 0x11c4 + int32_t knockback_height; // 0x11c8 + float knockback_duration; // 0x11cc + Vector m_vHorizOffset; // 0x11d0 + Vector m_vStartPosition; // 0x11dc + Vector m_vDir; // 0x11e8 + float m_fCurrentTimeHoriz; // 0x11f4 + float m_fCurrentTimeVert; // 0x11f8 + bool m_bShouldStun; // 0x11fc private: - [[maybe_unused]] uint8_t __pad117d[0x3]; // 0x117d + [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: - float flTimeSinceChange; // 0x1180 + float flTimeSinceChange; // 0x1200 }; // Alignment: 2 @@ -68773,7 +69477,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: @@ -68781,47 +69485,47 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: - int32_t strike_crit_mult; // 0x1138 + int32_t strike_crit_mult; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: - float jump_damage_cooldown; // 0x1138 + float jump_damage_cooldown; // 0x11b8 }; // Alignment: 18 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: - float give_up_distance; // 0x1138 - float ground_jump_distance; // 0x113c - float m_flZDelta; // 0x1140 - float perched_day_vision; // 0x1144 - float perched_night_vision; // 0x1148 - Vector m_vStart; // 0x114c - CHandle< CBaseEntity > m_hTarget; // 0x1158 - Vector m_vTargetPos; // 0x115c - float m_flSpeed; // 0x1168 - bool m_bTargetingEntity; // 0x116c - bool m_bGroundToTree; // 0x116d - bool m_bTreeToGround; // 0x116e - bool m_bTreeToTree; // 0x116f - bool m_bIsSpringJump; // 0x1170 + float give_up_distance; // 0x11b8 + float ground_jump_distance; // 0x11bc + float m_flZDelta; // 0x11c0 + float perched_day_vision; // 0x11c4 + float perched_night_vision; // 0x11c8 + Vector m_vStart; // 0x11cc + CHandle< CBaseEntity > m_hTarget; // 0x11d8 + Vector m_vTargetPos; // 0x11dc + float m_flSpeed; // 0x11e8 + bool m_bTargetingEntity; // 0x11ec + bool m_bGroundToTree; // 0x11ed + bool m_bTreeToGround; // 0x11ee + bool m_bTreeToTree; // 0x11ef + bool m_bIsSpringJump; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - float m_fSpringChanneledPercent; // 0x1174 - int32_t m_nLeapSpeed; // 0x1178 - ParticleIndex_t m_nFXIndex; // 0x117c - ParticleIndex_t m_nFXIndex2; // 0x1180 + float m_fSpringChanneledPercent; // 0x11f4 + int32_t m_nLeapSpeed; // 0x11f8 + ParticleIndex_t m_nFXIndex; // 0x11fc + ParticleIndex_t m_nFXIndex2; // 0x1200 }; // Alignment: 0 @@ -68833,16 +69537,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: - float m_fAbilityRangePct; // 0x1138 - float m_bIsSpring; // 0x113c + float m_fAbilityRangePct; // 0x11b8 + float m_bIsSpring; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: @@ -68850,16 +69554,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: - int32_t impact_movement_slow; // 0x1138 - int32_t m_nSlowPct; // 0x113c + int32_t impact_movement_slow; // 0x11b8 + int32_t m_nSlowPct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: @@ -68867,7 +69571,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: @@ -68875,7 +69579,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: @@ -68883,26 +69587,26 @@ public: }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: - float leap_speed; // 0x1138 - float give_up_distance; // 0x113c - float attackspeed_duration; // 0x1140 - float m_flOriginalZDelta; // 0x1144 - float m_flZDelta; // 0x1148 - Vector m_vStart; // 0x114c - Vector m_vTargetPos; // 0x1158 - float m_flSpeed; // 0x1164 - bool m_bDroppedFromTree; // 0x1168 + float leap_speed; // 0x11b8 + float give_up_distance; // 0x11bc + float attackspeed_duration; // 0x11c0 + float m_flOriginalZDelta; // 0x11c4 + float m_flZDelta; // 0x11c8 + Vector m_vStart; // 0x11cc + Vector m_vTargetPos; // 0x11d8 + float m_flSpeed; // 0x11e4 + bool m_bDroppedFromTree; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - ParticleIndex_t m_nFXIndex; // 0x116c - ParticleIndex_t m_nFXIndex2; // 0x1170 - float m_flOriginalHeight; // 0x1174 - bool m_bRightClickHop; // 0x1178 + ParticleIndex_t m_nFXIndex; // 0x11ec + ParticleIndex_t m_nFXIndex2; // 0x11f0 + float m_flOriginalHeight; // 0x11f4 + bool m_bRightClickHop; // 0x11f8 }; // Alignment: 0 @@ -68914,25 +69618,25 @@ public: }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: - CUtlString m_strDisguise; // 0x1138 - int32_t movespeed; // 0x1140 - int32_t m_nDisguisedSpeed; // 0x1144 - int32_t reveal_radius; // 0x1148 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x114c - CHandle< CBaseEntity > m_hCourierToClone; // 0x1150 - CHandle< CBaseEntity > m_hCreepToClone; // 0x1154 - CUtlVector< CHandle< CBaseEntity > > m_aryBountyRuneSpawners; // 0x1158 - bool m_bIsFlyingCourier; // 0x1170 - bool m_bIsRune; // 0x1171 - bool m_bIsBanana; // 0x1172 - bool m_bIsFakeAlly; // 0x1173 - uint32_t m_nMischiefUnitType; // 0x1174 - int32_t m_nMischiefHealthbarOffset; // 0x1178 - float invul_duration; // 0x117c + CUtlString m_strDisguise; // 0x11b8 + int32_t movespeed; // 0x11c0 + int32_t m_nDisguisedSpeed; // 0x11c4 + int32_t reveal_radius; // 0x11c8 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x11cc + CHandle< CBaseEntity > m_hCourierToClone; // 0x11d0 + CHandle< CBaseEntity > m_hCreepToClone; // 0x11d4 + CUtlVector< CHandle< CBaseEntity > > m_aryBountyRuneSpawners; // 0x11d8 + bool m_bIsFlyingCourier; // 0x11f0 + bool m_bIsRune; // 0x11f1 + bool m_bIsBanana; // 0x11f2 + bool m_bIsFakeAlly; // 0x11f3 + uint32_t m_nMischiefUnitType; // 0x11f4 + int32_t m_nMischiefHealthbarOffset; // 0x11f8 + float invul_duration; // 0x11fc }; // Alignment: 0 @@ -68944,61 +69648,61 @@ public: }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: - float m_fDuration; // 0x1138 - GameTime_t m_fTimeThinkerCreated; // 0x113c - CUtlVector< Vector > m_vTargetPositions; // 0x1140 - Vector m_vInitialPos; // 0x1158 - int32_t first_radius; // 0x1164 - int32_t num_first_soldiers; // 0x1168 - int32_t second_radius; // 0x116c - int32_t num_second_soldiers; // 0x1170 - ParticleIndex_t m_nRingFXIndex; // 0x1174 - int32_t final_radius; // 0x1178 + float m_fDuration; // 0x11b8 + GameTime_t m_fTimeThinkerCreated; // 0x11bc + CUtlVector< Vector > m_vTargetPositions; // 0x11c0 + Vector m_vInitialPos; // 0x11d8 + int32_t first_radius; // 0x11e4 + int32_t num_first_soldiers; // 0x11e8 + int32_t second_radius; // 0x11ec + int32_t num_second_soldiers; // 0x11f0 + ParticleIndex_t m_nRingFXIndex; // 0x11f4 + int32_t final_radius; // 0x11f8 }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - Vector m_vDirection; // 0x1144 - int32_t move_speed; // 0x1150 - CHandle< CBaseEntity > m_hThinker; // 0x1154 - bool m_bIsInPosition; // 0x1158 + Vector m_vTargetPos; // 0x11b8 + Vector m_vDirection; // 0x11c4 + int32_t move_speed; // 0x11d0 + CHandle< CBaseEntity > m_hThinker; // 0x11d4 + bool m_bIsInPosition; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bAutoSpawn; // 0x1160 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bAutoSpawn; // 0x11e0 }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: - Vector m_vTargetPos; // 0x1138 - CHandle< CBaseEntity > m_hAttackTarget; // 0x1144 - float attack_speed; // 0x1148 - int32_t second_radius; // 0x114c - int32_t outer_attack_buffer; // 0x1150 - CHandle< CBaseEntity > m_hThinker; // 0x1154 - bool m_bDisarmed; // 0x1158 + Vector m_vTargetPos; // 0x11b8 + CHandle< CBaseEntity > m_hAttackTarget; // 0x11c4 + float attack_speed; // 0x11c8 + int32_t second_radius; // 0x11cc + int32_t outer_attack_buffer; // 0x11d0 + CHandle< CBaseEntity > m_hThinker; // 0x11d4 + bool m_bDisarmed; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - GameTime_t m_flNextAttackTime; // 0x115c - ParticleIndex_t m_nFXIndex; // 0x1160 - bool m_bAutoSpawn; // 0x1164 + GameTime_t m_flNextAttackTime; // 0x11dc + ParticleIndex_t m_nFXIndex; // 0x11e0 + bool m_bAutoSpawn; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: @@ -69006,7 +69710,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: @@ -69014,7 +69718,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: @@ -69022,11 +69726,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -69038,38 +69742,38 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: - int32_t counter_duration; // 0x1138 - int32_t required_hits; // 0x113c - int32_t max_duration; // 0x1140 + int32_t counter_duration; // 0x11b8 + int32_t required_hits; // 0x11bc + int32_t max_duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: - int32_t charges; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t lifesteal; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - int32_t m_nIgnoreStrikeIndex; // 0x1148 - bool m_bIsAttackAnim; // 0x114c + int32_t charges; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t lifesteal; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + int32_t m_nIgnoreStrikeIndex; // 0x11c8 + bool m_bIsAttackAnim; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: @@ -69077,7 +69781,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: @@ -69085,25 +69789,25 @@ public: }; // Alignment: 12 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x1138 - Vector m_vStartPosition; // 0x113c - float m_flCurrentTimeHoriz; // 0x1148 - float m_flCurrentTimeVert; // 0x114c - bool m_bHorizontalMotionInterrupted; // 0x1150 + float m_flPredictedTotalTime; // 0x11b8 + Vector m_vStartPosition; // 0x11bc + float m_flCurrentTimeHoriz; // 0x11c8 + float m_flCurrentTimeVert; // 0x11cc + bool m_bHorizontalMotionInterrupted; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - Vector m_vHorizontalVelocity; // 0x1154 - Vector m_vLastKnownTargetPosition; // 0x1160 - float m_flInitialVelocityZ; // 0x116c - int32_t acceleration_z; // 0x1170 - int32_t min_height_above_lowest; // 0x1174 - int32_t min_height_above_highest; // 0x1178 - int32_t max_horizontal_acceleration; // 0x117c + Vector m_vHorizontalVelocity; // 0x11d4 + Vector m_vLastKnownTargetPosition; // 0x11e0 + float m_flInitialVelocityZ; // 0x11ec + int32_t acceleration_z; // 0x11f0 + int32_t min_height_above_lowest; // 0x11f4 + int32_t min_height_above_highest; // 0x11f8 + int32_t max_horizontal_acceleration; // 0x11fc }; // Alignment: 0 @@ -69115,29 +69819,29 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: - float debuff_delay; // 0x1138 - int32_t chance_pct; // 0x113c + float debuff_delay; // 0x11b8 + int32_t chance_pct; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: - float duration; // 0x1138 - float debuff_delay; // 0x113c + float duration; // 0x11b8 + float debuff_delay; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 0 @@ -69149,28 +69853,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: - int32_t chance_pct; // 0x1138 + int32_t chance_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - int32_t armor; // 0x113c + int32_t slow; // 0x11b8 + int32_t armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -69182,40 +69886,40 @@ public: }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - float jump_duration_gyroshell; // 0x113c - int32_t jump_height; // 0x1140 - int32_t jump_height_gyroshell; // 0x1144 - float m_flStartZ; // 0x1148 - float m_flCurTime; // 0x114c - float m_flJumpDuration; // 0x1150 - float m_flJumpHeight; // 0x1154 - int32_t jump_horizontal_distance; // 0x1158 - Vector m_vTargetHorizontalDirection; // 0x115c + float jump_duration; // 0x11b8 + float jump_duration_gyroshell; // 0x11bc + int32_t jump_height; // 0x11c0 + int32_t jump_height_gyroshell; // 0x11c4 + float m_flStartZ; // 0x11c8 + float m_flCurTime; // 0x11cc + float m_flJumpDuration; // 0x11d0 + float m_flJumpHeight; // 0x11d4 + int32_t jump_horizontal_distance; // 0x11d8 + Vector m_vTargetHorizontalDirection; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -69243,27 +69947,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: - int32_t m_nStrikesLeft; // 0x1138 - float attack_interval; // 0x113c - Vector m_vSpawnPos; // 0x1140 - Vector m_vStrikeDir; // 0x114c - Vector m_vDashDir; // 0x1158 + int32_t m_nStrikesLeft; // 0x11b8 + float attack_interval; // 0x11bc + Vector m_vSpawnPos; // 0x11c0 + Vector m_vStrikeDir; // 0x11cc + Vector m_vDashDir; // 0x11d8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: @@ -69279,45 +69983,45 @@ public: }; // Alignment: 20 -// Size: 0x11d8 -class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_MagicImmune +// Size: 0x1258 +class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x1138 - float tick_interval; // 0x113c - float forward_move_speed; // 0x1140 - float turn_rate_boosted; // 0x1144 - float turn_rate; // 0x1148 - int32_t hit_radius; // 0x114c - int32_t knockback_radius; // 0x1150 - bool m_bHitFirstUpdate; // 0x1154 + int32_t mp_cost_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float forward_move_speed; // 0x11c0 + float turn_rate_boosted; // 0x11c4 + float turn_rate; // 0x11c8 + int32_t hit_radius; // 0x11cc + int32_t knockback_radius; // 0x11d0 + bool m_bHitFirstUpdate; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - GameTime_t m_flHitEndTime; // 0x1158 - float hit_recover_time; // 0x115c - GameTime_t m_flJumpEndTime; // 0x1160 - float jump_recover_time; // 0x1164 - float m_flTurnBoostProgress; // 0x1168 - float m_flFacingTarget; // 0x116c - bool m_bIsJumping; // 0x1170 + GameTime_t m_flHitEndTime; // 0x11d8 + float hit_recover_time; // 0x11dc + GameTime_t m_flJumpEndTime; // 0x11e0 + float jump_recover_time; // 0x11e4 + float m_flTurnBoostProgress; // 0x11e8 + float m_flFacingTarget; // 0x11ec + bool m_bIsJumping; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1171[0x3]; // 0x1171 + [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: - ParticleIndex_t m_nFXIndex; // 0x1174 - CUtlVector< float32 > m_flTurnHistory; // 0x1178 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1190 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x11a8 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11f4 + CUtlVector< float32 > m_flTurnHistory; // 0x11f8 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1210 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1228 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1240 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc }; // Alignment: 0 @@ -69329,7 +70033,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: @@ -69337,27 +70041,27 @@ public: }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bTargetTeleported; // 0x115d + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bTargetTeleported; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: @@ -69381,38 +70085,38 @@ public: }; // Alignment: 22 -// Size: 0x11e0 -class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_MagicImmune +// Size: 0x1260 +class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: - int32_t mp_cost_per_second; // 0x1138 - float tick_interval; // 0x113c - float forward_move_speed; // 0x1140 - float turn_rate_boosted; // 0x1144 - float turn_rate; // 0x1148 - int32_t hit_radius; // 0x114c - int32_t knockback_radius; // 0x1150 - bool m_bHitFirstUpdate; // 0x1154 + int32_t mp_cost_per_second; // 0x11b8 + float tick_interval; // 0x11bc + float forward_move_speed; // 0x11c0 + float turn_rate_boosted; // 0x11c4 + float turn_rate; // 0x11c8 + int32_t hit_radius; // 0x11cc + int32_t knockback_radius; // 0x11d0 + bool m_bHitFirstUpdate; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - GameTime_t m_flHitEndTime; // 0x1158 - float hit_recover_time; // 0x115c - GameTime_t m_flJumpEndTime; // 0x1160 - float jump_recover_time; // 0x1164 - float m_flTurnBoostProgress; // 0x1168 - float m_flFacingTarget; // 0x116c - GameTime_t m_flLastHeroAttackTime; // 0x1170 - bool m_bIsJumping; // 0x1174 + GameTime_t m_flHitEndTime; // 0x11d8 + float hit_recover_time; // 0x11dc + GameTime_t m_flJumpEndTime; // 0x11e0 + float jump_recover_time; // 0x11e4 + float m_flTurnBoostProgress; // 0x11e8 + float m_flFacingTarget; // 0x11ec + GameTime_t m_flLastHeroAttackTime; // 0x11f0 + bool m_bIsJumping; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - ParticleIndex_t m_nFXIndex; // 0x1178 - float m_flGyroshellDurationRemaining; // 0x117c - CUtlVector< float32 > m_flTurnHistory; // 0x1180 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1198 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x11b0 - CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11f8 + float m_flGyroshellDurationRemaining; // 0x11fc + CUtlVector< float32 > m_flTurnHistory; // 0x1200 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitLastRicochet; // 0x1218 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesCredited; // 0x1230 + CUtlVector< CHandle< CBaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1248 }; // Alignment: 0 @@ -69424,34 +70128,34 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x1138 - float initial_creation_delay; // 0x113c - int32_t placement_count; // 0x1140 - float placement_duration; // 0x1144 - int32_t m_iBramblesIndex; // 0x1148 + float latch_creation_interval; // 0x11b8 + float initial_creation_delay; // 0x11bc + int32_t placement_count; // 0x11c0 + float placement_duration; // 0x11c4 + int32_t m_iBramblesIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_range; // 0x1138 - int32_t latch_vision; // 0x113c - float latch_creation_delay; // 0x1140 - float latch_duration; // 0x1144 + int32_t latch_range; // 0x11b8 + int32_t latch_vision; // 0x11bc + float latch_creation_delay; // 0x11c0 + float latch_duration; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - bool m_bActive; // 0x1150 + bool m_bActive; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: @@ -69467,7 +70171,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: @@ -69475,35 +70179,35 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float max_damage_duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float max_damage_duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - bool bAttackRange; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + bool bAttackRange; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - GameTime_t m_flStartTime; // 0x1164 - GameTime_t m_flFadeTime; // 0x1168 - float m_flDamageScale; // 0x116c - float duration; // 0x1170 + GameTime_t m_flStartTime; // 0x11e4 + GameTime_t m_flFadeTime; // 0x11e8 + float m_flDamageScale; // 0x11ec + float duration; // 0x11f0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t m_iRecord; // 0x113c - float m_flDamageScale; // 0x1140 + int32_t damage; // 0x11b8 + int32_t m_iRecord; // 0x11bc + float m_flDamageScale; // 0x11c0 }; // Alignment: 1 @@ -69515,14 +70219,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: - float delay; // 0x1138 - float stun_duration; // 0x113c - int32_t stun_radius; // 0x1140 - GameTime_t m_fStartTime; // 0x1144 + float delay; // 0x11b8 + float stun_duration; // 0x11bc + int32_t stun_radius; // 0x11c0 + GameTime_t m_fStartTime; // 0x11c4 }; // Alignment: 0 @@ -69533,18 +70237,19 @@ public: // No members available }; -// Alignment: 7 -// Size: 0x1158 +// Alignment: 8 +// Size: 0x11d8 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< CBaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - int32_t roaming_radius; // 0x1144 - int32_t attack_radius; // 0x1148 - float roaming_seconds_per_rotation; // 0x114c - float attack_interval; // 0x1150 + float m_flRotation; // 0x11b8 + CHandle< CBaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + int32_t roaming_radius; // 0x11c4 + int32_t attack_radius; // 0x11c8 + float roaming_seconds_per_rotation; // 0x11cc + float attack_interval; // 0x11d0 + int32_t target_count; // 0x11d4 }; // Alignment: 1 @@ -69556,43 +70261,43 @@ public: }; // Alignment: 14 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hWisp; // 0x1138 - int32_t destination_travel_speed; // 0x113c - int32_t return_travel_speed; // 0x1140 - int32_t destination_radius; // 0x1144 - float destination_status_duration; // 0x1148 - float initial_delay; // 0x114c - float starting_height; // 0x1150 - Vector m_vAttackLocation; // 0x1154 - bool m_bAttacking; // 0x1160 - bool m_bReturning; // 0x1161 + CHandle< CBaseEntity > m_hWisp; // 0x11b8 + int32_t destination_travel_speed; // 0x11bc + int32_t return_travel_speed; // 0x11c0 + int32_t destination_radius; // 0x11c4 + float destination_status_duration; // 0x11c8 + float initial_delay; // 0x11cc + float starting_height; // 0x11d0 + Vector m_vAttackLocation; // 0x11d4 + bool m_bAttacking; // 0x11e0 + bool m_bReturning; // 0x11e1 private: - [[maybe_unused]] uint8_t __pad1162[0x2]; // 0x1162 + [[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2 public: - float m_fCurHeight; // 0x1164 - float m_fEstimatedTravelTime; // 0x1168 - float think_interval; // 0x116c - bool m_bInFlight; // 0x1170 + float m_fCurHeight; // 0x11e4 + float m_fEstimatedTravelTime; // 0x11e8 + float think_interval; // 0x11ec + bool m_bInFlight; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: - bool m_bDidGiveOrder; // 0x1138 + bool m_bDidGiveOrder; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: - int32_t m_nOverrideAnim; // 0x1138 + int32_t m_nOverrideAnim; // 0x11b8 }; // Alignment: 0 @@ -69660,62 +70365,62 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x1138 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11b8 }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - ParticleIndex_t m_nAmbientFXIndex; // 0x113c - int32_t m_nAttackCount; // 0x1140 - bool m_bIsLatched; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + ParticleIndex_t m_nAmbientFXIndex; // 0x11bc + int32_t m_nAttackCount; // 0x11c0 + bool m_bIsLatched; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x1148 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CountdownTimer m_EnemyVision; // 0x1150 - float latch_duration; // 0x1168 - float speed; // 0x116c - int32_t destroy_attacks; // 0x1170 - int32_t hero_attack_multiplier; // 0x1174 + CountdownTimer m_EnemyVision; // 0x11d0 + float latch_duration; // 0x11e8 + float speed; // 0x11ec + int32_t destroy_attacks; // 0x11f0 + int32_t hero_attack_multiplier; // 0x11f4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: - float m_flCurrentArmorReduction; // 0x1138 - CHandle< CBaseEntity > m_hLatchedCreature; // 0x113c - float tick_interval; // 0x1140 - int32_t damage_per_second; // 0x1144 + float m_flCurrentArmorReduction; // 0x11b8 + CHandle< CBaseEntity > m_hLatchedCreature; // 0x11bc + float tick_interval; // 0x11c0 + int32_t damage_per_second; // 0x11c4 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAttachTarget; // 0x1138 - float m_fZOffset; // 0x113c - bool m_bRemovedByEnemy; // 0x1140 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11b8 + float m_fZOffset; // 0x11bc + bool m_bRemovedByEnemy; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float latch_duration; // 0x1144 - int32_t pop_damage; // 0x1148 - int32_t latched_unit_offset; // 0x114c - int32_t latched_unit_offset_short; // 0x1150 + float latch_duration; // 0x11c4 + int32_t pop_damage; // 0x11c8 + int32_t latched_unit_offset; // 0x11cc + int32_t latched_unit_offset_short; // 0x11d0 }; // Alignment: 0 @@ -69735,24 +70440,24 @@ public: }; // Alignment: 14 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: - GameTime_t m_fStartTime; // 0x1138 - int32_t m_nHeroTickDamageApplied; // 0x113c - GameTime_t m_fLastEffectsTime; // 0x1140 - int32_t radius; // 0x1144 - float buff_duration; // 0x1148 - float debuff_duration; // 0x114c - int32_t max_damage; // 0x1150 - float max_stun; // 0x1154 - int32_t movespeed_bonus_pct; // 0x1158 - int32_t damage_per_tick; // 0x115c - float tick_rate; // 0x1160 - float max_threshold_duration; // 0x1164 - int32_t shard_bonus_damage_pct; // 0x1168 - int32_t shard_heal_pct; // 0x116c + GameTime_t m_fStartTime; // 0x11b8 + int32_t m_nHeroTickDamageApplied; // 0x11bc + GameTime_t m_fLastEffectsTime; // 0x11c0 + int32_t radius; // 0x11c4 + float buff_duration; // 0x11c8 + float debuff_duration; // 0x11cc + int32_t max_damage; // 0x11d0 + float max_stun; // 0x11d4 + int32_t movespeed_bonus_pct; // 0x11d8 + int32_t damage_per_tick; // 0x11dc + float tick_rate; // 0x11e0 + float max_threshold_duration; // 0x11e4 + int32_t shard_bonus_damage_pct; // 0x11e8 + int32_t shard_heal_pct; // 0x11ec }; // Alignment: 17 @@ -69783,11 +70488,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 3 @@ -69801,47 +70506,47 @@ public: }; // Alignment: 17 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hPartner; // 0x1138 - bool m_bIsPrimary; // 0x113c - bool m_bEscaped; // 0x113d - bool m_bTethered; // 0x113e + CHandle< CBaseEntity > m_hPartner; // 0x11b8 + bool m_bIsPrimary; // 0x11bc + bool m_bEscaped; // 0x11bd + bool m_bTethered; // 0x11be private: - [[maybe_unused]] uint8_t __pad113f[0x1]; // 0x113f + [[maybe_unused]] uint8_t __pad11bf[0x1]; // 0x11bf public: - ParticleIndex_t m_nFXIndex; // 0x1140 - ParticleIndex_t m_nFXIndexA; // 0x1144 - ParticleIndex_t m_nFXIndexB; // 0x1148 - bool m_bStartedLeashSound; // 0x114c + ParticleIndex_t m_nFXIndex; // 0x11c0 + ParticleIndex_t m_nFXIndexA; // 0x11c4 + ParticleIndex_t m_nFXIndexB; // 0x11c8 + bool m_bStartedLeashSound; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_fLeashDistance; // 0x1150 - GameTime_t m_fOriginalStartTime; // 0x1154 - ParticleIndex_t m_nOverheadFXIndex; // 0x1158 - int32_t chain_latch_radius; // 0x115c - int32_t chain_break_distance; // 0x1160 - float leash_limit_multiplier; // 0x1164 - float chain_duration; // 0x1168 - float creep_duration_pct; // 0x116c - int32_t bonus_reflected_spell_damage; // 0x1170 + float m_fLeashDistance; // 0x11d0 + GameTime_t m_fOriginalStartTime; // 0x11d4 + ParticleIndex_t m_nOverheadFXIndex; // 0x11d8 + int32_t chain_latch_radius; // 0x11dc + int32_t chain_break_distance; // 0x11e0 + float leash_limit_multiplier; // 0x11e4 + float chain_duration; // 0x11e8 + float creep_duration_pct; // 0x11ec + int32_t bonus_reflected_spell_damage; // 0x11f0 }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAbility; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_hAbilities; // 0x1140 - Vector m_vLocation; // 0x1158 - GameTime_t m_fChannelEnd; // 0x1164 - bool m_bInterrupt; // 0x1168 - bool m_bExpired; // 0x1169 + CHandle< CBaseEntity > m_hAbility; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_hAbilities; // 0x11c0 + Vector m_vLocation; // 0x11d8 + GameTime_t m_fChannelEnd; // 0x11e4 + bool m_bInterrupt; // 0x11e8 + bool m_bExpired; // 0x11e9 }; // Alignment: 0 @@ -69853,11 +70558,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_MagicImmune +// Size: 0x11c0 +class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: - int32_t images_movespeed_bonus; // 0x1138 + int32_t images_movespeed_bonus; // 0x11b8 }; // Alignment: 0 @@ -69869,14 +70574,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: - int32_t total_damage; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t move_speed; // 0x1140 - float m_flInterval; // 0x1144 + int32_t total_damage; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t move_speed; // 0x11c0 + float m_flInterval; // 0x11c4 }; // Alignment: 0 @@ -69964,38 +70669,38 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: - int32_t m_nProjectileHandle; // 0x1138 - bool m_bLatched; // 0x113c - bool m_bHitArenaOfBlood; // 0x113d + int32_t m_nProjectileHandle; // 0x11b8 + bool m_bLatched; // 0x11bc + bool m_bHitArenaOfBlood; // 0x11bd }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: - Vector m_vPathDir; // 0x1138 - int32_t shard_trail_radius; // 0x1144 - float shard_debuff_linger_duration; // 0x1148 - float shard_interval; // 0x114c + Vector m_vPathDir; // 0x11b8 + int32_t shard_trail_radius; // 0x11c4 + float shard_debuff_linger_duration; // 0x11c8 + float shard_interval; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: - int32_t shard_dps; // 0x1138 - int32_t shard_move_slow_pct; // 0x113c - float shard_interval; // 0x1140 + int32_t shard_dps; // 0x11b8 + int32_t shard_move_slow_pct; // 0x11bc + float shard_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: @@ -70011,31 +70716,31 @@ public: }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: - float radius; // 0x1138 - float formation_time; // 0x113c - float m_flInitialZ; // 0x1140 - float m_flFinalZ; // 0x1144 + float radius; // 0x11b8 + float formation_time; // 0x11bc + float m_flInitialZ; // 0x11c0 + float m_flFinalZ; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x10]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x10]; // 0x11c8 public: - bool m_bCaughtOne; // 0x1158 - bool m_bKilledOne; // 0x1159 + bool m_bCaughtOne; // 0x11d8 + bool m_bKilledOne; // 0x11d9 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: @@ -70043,43 +70748,43 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 + int32_t health_regen; // 0x11b8 }; // Alignment: 7 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t width; // 0x113c - int32_t spear_damage; // 0x1140 - int32_t spear_distance_from_wall; // 0x1144 - float spear_attack_interval; // 0x1148 + int32_t radius; // 0x11b8 + int32_t width; // 0x11bc + int32_t spear_damage; // 0x11c0 + int32_t spear_distance_from_wall; // 0x11c4 + float spear_attack_interval; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x34]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x34]; // 0x11cc public: - int32_t m_hObstruction; // 0x1180 + int32_t m_hObstruction; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< Vector > m_vecAvoidLocations; // 0x1188 + CUtlVector< Vector > m_vecAvoidLocations; // 0x1208 }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: @@ -70087,17 +70792,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float width; // 0x113c - Vector m_vOriginLoc; // 0x1140 + int32_t radius; // 0x11b8 + float width; // 0x11bc + Vector m_vOriginLoc; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: @@ -70114,35 +70819,35 @@ public: }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1148[0x18]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x18]; // 0x11c8 public: - float m_flRecentDamage; // 0x1160 + float m_flRecentDamage; // 0x11e0 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff { public: - int32_t redirect_chance; // 0x1138 - int32_t redirect_range; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 - int32_t redirect_speed_penatly; // 0x1148 - int32_t redirect_close_range; // 0x114c + int32_t redirect_chance; // 0x11b8 + int32_t redirect_range; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 + int32_t redirect_speed_penatly; // 0x11c8 + int32_t redirect_close_range; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: @@ -70150,20 +70855,20 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: - GameTime_t m_NextAttack; // 0x1138 - CHandle< CBaseEntity > m_hSoldier1; // 0x113c - CHandle< CBaseEntity > m_hSoldier2; // 0x1140 - CHandle< CBaseEntity > m_hSoldier3; // 0x1144 - CHandle< CBaseEntity > m_hSoldier4; // 0x1148 - CHandle< CBaseEntity > m_hSoldier5; // 0x114c + GameTime_t m_NextAttack; // 0x11b8 + CHandle< CBaseEntity > m_hSoldier1; // 0x11bc + CHandle< CBaseEntity > m_hSoldier2; // 0x11c0 + CHandle< CBaseEntity > m_hSoldier3; // 0x11c4 + CHandle< CBaseEntity > m_hSoldier4; // 0x11c8 + CHandle< CBaseEntity > m_hSoldier5; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: @@ -70171,19 +70876,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: - int32_t scepter_movement_slow_pct; // 0x1138 + int32_t scepter_movement_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: - int32_t scepter_bonus_damage; // 0x1138 + int32_t scepter_bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -70195,19 +70900,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 0 @@ -70294,41 +70999,41 @@ public: }; // Alignment: 21 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: - float m_fIntervalPerRocket; // 0x1138 - float m_flFacingTarget; // 0x113c - ParticleIndex_t m_nBeamFXIndex; // 0x1140 - CHandle< CBaseEntity > m_hBeamEnd; // 0x1144 - float m_flCurDistance; // 0x1148 - Vector m_vAimTarget; // 0x114c - float m_fLastTurnAmount; // 0x1158 - int32_t m_nProjectilesLaunched; // 0x115c - bool m_bDestroyOnNextThink; // 0x1160 + float m_fIntervalPerRocket; // 0x11b8 + float m_flFacingTarget; // 0x11bc + ParticleIndex_t m_nBeamFXIndex; // 0x11c0 + CHandle< CBaseEntity > m_hBeamEnd; // 0x11c4 + float m_flCurDistance; // 0x11c8 + Vector m_vAimTarget; // 0x11cc + float m_fLastTurnAmount; // 0x11d8 + int32_t m_nProjectilesLaunched; // 0x11dc + bool m_bDestroyOnNextThink; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nProjectilesToLaunch; // 0x1164 - bool m_bHasProjectileTalent; // 0x1168 + int32_t m_nProjectilesToLaunch; // 0x11e4 + bool m_bHasProjectileTalent; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0xb]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0xb]; // 0x11e9 public: - int32_t projectile_count; // 0x1174 - int32_t projectile_speed; // 0x1178 - int32_t projectile_width; // 0x117c - int32_t projectile_vision; // 0x1180 - float turn_rate; // 0x1184 - int32_t min_range; // 0x1188 - int32_t impact_radius; // 0x118c - float min_lob_travel_time; // 0x1190 - float max_lob_travel_time; // 0x1194 - float delay_after_last_projectile; // 0x1198 + int32_t projectile_count; // 0x11f4 + int32_t projectile_speed; // 0x11f8 + int32_t projectile_width; // 0x11fc + int32_t projectile_vision; // 0x1200 + float turn_rate; // 0x1204 + int32_t min_range; // 0x1208 + int32_t impact_radius; // 0x120c + float min_lob_travel_time; // 0x1210 + float max_lob_travel_time; // 0x1214 + float delay_after_last_projectile; // 0x1218 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: @@ -70336,27 +71041,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t impact_radius; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_linger_duration; // 0x1144 - ParticleIndex_t m_nPathEffectIndex; // 0x1148 + float burn_interval; // 0x11b8 + int32_t impact_radius; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_linger_duration; // 0x11c4 + ParticleIndex_t m_nPathEffectIndex; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: - int32_t m_nMoveSlowPct; // 0x1138 - float m_fBurnDamagePerTick; // 0x113c - int32_t move_slow_pct; // 0x1140 - float burn_interval; // 0x1144 - int32_t burn_damage; // 0x1148 + int32_t m_nMoveSlowPct; // 0x11b8 + float m_fBurnDamagePerTick; // 0x11bc + int32_t move_slow_pct; // 0x11c0 + float burn_interval; // 0x11c4 + int32_t burn_damage; // 0x11c8 }; // Alignment: 5 @@ -70372,20 +71077,20 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: - bool m_bIsPointBlank; // 0x1138 + bool m_bIsPointBlank; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t movement_slow_pct; // 0x113c - int32_t attack_slow_pct; // 0x1140 + int32_t movement_slow_pct; // 0x11bc + int32_t attack_slow_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: @@ -70407,35 +71112,35 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 + float jump_duration; // 0x11b8 }; // Alignment: 13 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - int32_t jump_height; // 0x113c - int32_t jump_horizontal_distance; // 0x1140 - float pre_land_anim_time; // 0x1144 - float landing_gesture_duration; // 0x1148 - int32_t impact_radius; // 0x114c - int32_t impact_damage; // 0x1150 - float impact_stun_duration; // 0x1154 - float m_flStartZ; // 0x1158 - float m_flCurTime; // 0x115c - float m_flJumpDuration; // 0x1160 - float m_flJumpHeight; // 0x1164 - Vector m_vTargetHorizontalDirection; // 0x1168 + float jump_duration; // 0x11b8 + int32_t jump_height; // 0x11bc + int32_t jump_horizontal_distance; // 0x11c0 + float pre_land_anim_time; // 0x11c4 + float landing_gesture_duration; // 0x11c8 + int32_t impact_radius; // 0x11cc + int32_t impact_damage; // 0x11d0 + float impact_stun_duration; // 0x11d4 + float m_flStartZ; // 0x11d8 + float m_flCurTime; // 0x11dc + float m_flJumpDuration; // 0x11e0 + float m_flJumpHeight; // 0x11e4 + Vector m_vTargetHorizontalDirection; // 0x11e8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: @@ -70443,7 +71148,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: @@ -70459,40 +71164,40 @@ public: }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 - int32_t m_nIsActive; // 0x1158 - bool m_bHasAttackTalent; // 0x115c - bool m_bBonusAttack; // 0x115d + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 + int32_t m_nIsActive; // 0x11d8 + bool m_bHasAttackTalent; // 0x11dc + bool m_bBonusAttack; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - int32_t attack_range_bonus; // 0x1160 - int32_t buffed_attacks; // 0x1164 - float base_attack_time; // 0x1168 - int32_t attack_speed_bonus; // 0x116c - float armor_duration; // 0x1170 + int32_t attack_range_bonus; // 0x11e0 + int32_t buffed_attacks; // 0x11e4 + float base_attack_time; // 0x11e8 + int32_t attack_speed_bonus; // 0x11ec + float armor_duration; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: - float armor_reduction_per_attack; // 0x1138 + float armor_reduction_per_attack; // 0x11b8 }; // Alignment: 2 @@ -70505,7 +71210,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: @@ -70513,17 +71218,17 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hGobbledUnit; // 0x1138 - PlayerID_t m_nOriginalControllingUnit; // 0x113c - bool m_bUnitWasLaunched; // 0x1140 + CHandle< CBaseEntity > m_hGobbledUnit; // 0x11b8 + PlayerID_t m_nOriginalControllingUnit; // 0x11bc + bool m_bUnitWasLaunched; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - float max_time_in_belly; // 0x1144 + float max_time_in_belly; // 0x11c4 }; // Alignment: 3 @@ -70537,36 +71242,36 @@ public: }; // Alignment: 23 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x1138 - Vector m_vStartPosition; // 0x113c - float m_flCurrentTimeHoriz; // 0x1148 - float m_flCurrentTimeVert; // 0x114c - bool m_bHorizontalMotionInterrupted; // 0x1150 - bool m_bDamageApplied; // 0x1151 - bool m_bTargetTeleported; // 0x1152 + float m_flPredictedTotalTime; // 0x11b8 + Vector m_vStartPosition; // 0x11bc + float m_flCurrentTimeHoriz; // 0x11c8 + float m_flCurrentTimeVert; // 0x11cc + bool m_bHorizontalMotionInterrupted; // 0x11d0 + bool m_bDamageApplied; // 0x11d1 + bool m_bTargetTeleported; // 0x11d2 private: - [[maybe_unused]] uint8_t __pad1153[0x1]; // 0x1153 + [[maybe_unused]] uint8_t __pad11d3[0x1]; // 0x11d3 public: - Vector m_vHorizontalVelocity; // 0x1154 - Vector m_vLastKnownTargetPosition; // 0x1160 - float m_flInitialVelocityZ; // 0x116c - float m_fClampedProjectileSpeed; // 0x1170 - ParticleIndex_t m_nFXIndex; // 0x1174 - float m_fAcceleration; // 0x1178 - int32_t min_range; // 0x117c - float min_lob_travel_time; // 0x1180 - float max_lob_travel_time; // 0x1184 - int32_t impact_radius; // 0x1188 - int32_t projectile_vision; // 0x118c - float stun_duration; // 0x1190 - float min_height_above_lowest; // 0x1194 - float min_height_above_highest; // 0x1198 - float min_acceleration; // 0x119c - float max_acceleration; // 0x11a0 + Vector m_vHorizontalVelocity; // 0x11d4 + Vector m_vLastKnownTargetPosition; // 0x11e0 + float m_flInitialVelocityZ; // 0x11ec + float m_fClampedProjectileSpeed; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x11f4 + float m_fAcceleration; // 0x11f8 + int32_t min_range; // 0x11fc + float min_lob_travel_time; // 0x1200 + float max_lob_travel_time; // 0x1204 + int32_t impact_radius; // 0x1208 + int32_t projectile_vision; // 0x120c + float stun_duration; // 0x1210 + float min_height_above_lowest; // 0x1214 + float min_height_above_highest; // 0x1218 + float min_acceleration; // 0x121c + float max_acceleration; // 0x1220 }; // Alignment: 0 @@ -70651,79 +71356,79 @@ public: }; // Alignment: 13 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: - Vector m_vFacingDir; // 0x1138 + Vector m_vFacingDir; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x1148 - ParticleIndex_t m_nBeamFXIndex; // 0x1160 + CUtlVector< CHandle< CBaseEntity > > m_hWatchPathThinkers; // 0x11c8 + ParticleIndex_t m_nBeamFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< int32 > m_nViewerIDs; // 0x1168 - int32_t remnant_watch_distance; // 0x1180 - int32_t remnant_watch_radius; // 0x1184 - float duration; // 0x1188 - int32_t watch_path_vision_radius; // 0x118c - int32_t impact_damage; // 0x1190 - float pull_duration; // 0x1194 - float activation_delay; // 0x1198 - bool m_bPiercesCreeps; // 0x119c + CUtlVector< int32 > m_nViewerIDs; // 0x11e8 + int32_t remnant_watch_distance; // 0x1200 + int32_t remnant_watch_radius; // 0x1204 + float duration; // 0x1208 + int32_t watch_path_vision_radius; // 0x120c + int32_t impact_damage; // 0x1210 + float pull_duration; // 0x1214 + float activation_delay; // 0x1218 + bool m_bPiercesCreeps; // 0x121c private: - [[maybe_unused]] uint8_t __pad119d[0x3]; // 0x119d + [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: - CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x11a0 + CUtlVector< CHandle< CBaseEntity > > m_hAlreadyHit; // 0x1220 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff { public: - int32_t remnant_watch_radius; // 0x1138 + int32_t remnant_watch_radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - PlayerID_t m_nPlayerID; // 0x113c - float m_fMovementSpeed; // 0x1140 - CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x1144 - float think_interval; // 0x1148 + ParticleIndex_t m_nFXIndex; // 0x11b8 + PlayerID_t m_nPlayerID; // 0x11bc + float m_fMovementSpeed; // 0x11c0 + CHandle< CDOTA_BaseNPC > m_hPullTarget; // 0x11c4 + float think_interval; // 0x11c8 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - Vector m_vFacingDir; // 0x113c - CHandle< CBaseEntity > m_hRemnant; // 0x1148 - bool m_bTriggered; // 0x114c + int32_t radius; // 0x11b8 + Vector m_vFacingDir; // 0x11bc + CHandle< CBaseEntity > m_hRemnant; // 0x11c8 + bool m_bTriggered; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float m_flCurThink; // 0x1150 + float m_flCurThink; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: - int32_t m_nRadius; // 0x1138 + int32_t m_nRadius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: @@ -70746,31 +71451,31 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: - ParticleIndex_t m_nFXStackIndex; // 0x1138 - int32_t movement_slow_pct; // 0x113c - int32_t pop_damage; // 0x1140 + ParticleIndex_t m_nFXStackIndex; // 0x11b8 + int32_t movement_slow_pct; // 0x11bc + int32_t pop_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: - int32_t ability_chance_pct; // 0x1138 - int32_t attack_chance_pct; // 0x113c - float pop_damage_delay; // 0x1140 + int32_t ability_chance_pct; // 0x11b8 + int32_t attack_chance_pct; // 0x11bc + float pop_damage_delay; // 0x11c0 }; // Alignment: 1 @@ -70782,39 +71487,39 @@ public: }; // Alignment: 19 -// Size: 0x11d8 +// Size: 0x1258 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: - Vector m_vFirstPortalPos; // 0x1138 + Vector m_vFirstPortalPos; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< Vector > m_vecDestinations; // 0x1148 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1160 - CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1178 - int32_t m_nCurrentDestinationIndex; // 0x1190 - int32_t m_nClosestIndexPosToClick; // 0x1194 - int32_t m_nPortalHeightOffset; // 0x1198 + CUtlVector< Vector > m_vecDestinations; // 0x11c8 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x11e0 + CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x11f8 + int32_t m_nCurrentDestinationIndex; // 0x1210 + int32_t m_nClosestIndexPosToClick; // 0x1214 + int32_t m_nPortalHeightOffset; // 0x1218 private: - [[maybe_unused]] uint8_t __pad119c[0x4]; // 0x119c + [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: - char* m_szAlliesPortalFX; // 0x11a0 - char* m_szEnemiesPortalFX; // 0x11a8 - int32_t m_nPortalRadius; // 0x11b0 - int32_t m_nPortalPadding; // 0x11b4 - int32_t m_nFinalImpactDamageRadius; // 0x11b8 - int32_t m_nFinalImpactFXRadius; // 0x11bc - int32_t destination_fx_radius; // 0x11c0 - int32_t damage_radius; // 0x11c4 - int32_t portals_per_ring; // 0x11c8 - int32_t angle_per_ring_portal; // 0x11cc - int32_t first_ring_distance_offset; // 0x11d0 - float debuff_duration; // 0x11d4 + char* m_szAlliesPortalFX; // 0x1220 + char* m_szEnemiesPortalFX; // 0x1228 + int32_t m_nPortalRadius; // 0x1230 + int32_t m_nPortalPadding; // 0x1234 + int32_t m_nFinalImpactDamageRadius; // 0x1238 + int32_t m_nFinalImpactFXRadius; // 0x123c + int32_t destination_fx_radius; // 0x1240 + int32_t damage_radius; // 0x1244 + int32_t portals_per_ring; // 0x1248 + int32_t angle_per_ring_portal; // 0x124c + int32_t first_ring_distance_offset; // 0x1250 + float debuff_duration; // 0x1254 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: @@ -70822,12 +71527,12 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: - int32_t base_absorb_amount; // 0x1138 - int32_t m_nAbsorbRemaining; // 0x113c + int32_t base_absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 4 @@ -70845,18 +71550,18 @@ public: }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1148 - int32_t speed; // 0x1160 - int32_t radius; // 0x1164 - int32_t damage; // 0x1168 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11c8 + int32_t speed; // 0x11e0 + int32_t radius; // 0x11e4 + int32_t damage; // 0x11e8 }; // Alignment: 0 @@ -70947,38 +71652,38 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nSourceProjectileHandle; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nSourceProjectileHandle; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x1138 - int32_t fow_viewer; // 0x113c + CHandle< CDOTA_TempTree > m_hTree; // 0x11b8 + int32_t fow_viewer; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x1138 - int32_t base_damage_pct; // 0x113c + int32_t acorn_shot_damage; // 0x11b8 + int32_t base_damage_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 3 @@ -70992,28 +71697,28 @@ public: }; // Alignment: 12 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: - int32_t visual_height; // 0x1138 - float animation_rate; // 0x113c - ParticleIndex_t m_iIndex; // 0x1140 - bool m_bPullComplete; // 0x1144 + int32_t visual_height; // 0x11b8 + float animation_rate; // 0x11bc + ParticleIndex_t m_iIndex; // 0x11c0 + bool m_bPullComplete; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - uint32_t m_TreeId; // 0x1148 - float m_flDamagePerTick; // 0x114c - int32_t m_nDamageTicks; // 0x1150 - GameTime_t m_flLastTick; // 0x1154 - CHandle< CDOTA_TempTree > m_hTree; // 0x1158 + uint32_t m_TreeId; // 0x11c8 + float m_flDamagePerTick; // 0x11cc + int32_t m_nDamageTicks; // 0x11d0 + GameTime_t m_flLastTick; // 0x11d4 + CHandle< CDOTA_TempTree > m_hTree; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CDOTA_Tree* m_pTree; // 0x1160 - Vector m_vPullPosition; // 0x1168 - Vector m_vDir; // 0x1174 + CDOTA_Tree* m_pTree; // 0x11e0 + Vector m_vPullPosition; // 0x11e8 + Vector m_vDir; // 0x11f4 }; // Alignment: 0 @@ -71025,46 +71730,46 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: - int32_t evasion; // 0x1138 - int32_t radius; // 0x113c - int32_t bonus_active_evasion; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t evasion; // 0x11b8 + int32_t radius; // 0x11bc + int32_t bonus_active_evasion; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - float m_flTreeDuration; // 0x113c + int32_t movement_speed_pct; // 0x11b8 + float m_flTreeDuration; // 0x11bc }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x1138 + bool m_bReachedMax; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float m_flLastOverheadTime; // 0x113c - float m_flFacingTarget; // 0x1140 - Vector m_vAimTarget; // 0x1144 - ParticleIndex_t m_nCrosshairFX; // 0x1150 + float m_flLastOverheadTime; // 0x11bc + float m_flFacingTarget; // 0x11c0 + Vector m_vAimTarget; // 0x11c4 + ParticleIndex_t m_nCrosshairFX; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x1158 - int32_t arrow_vision; // 0x1170 - float max_charge_time; // 0x1174 - float turn_rate; // 0x1178 - float base_power; // 0x117c + CUtlVector< CHandle< CBaseEntity > > m_vecVisionThinkers; // 0x11d8 + int32_t arrow_vision; // 0x11f0 + float max_charge_time; // 0x11f4 + float turn_rate; // 0x11f8 + float base_power; // 0x11fc }; // Alignment: 3 @@ -71078,11 +71783,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: - int32_t arrow_width; // 0x1138 + int32_t arrow_width; // 0x11b8 }; // Alignment: 0 @@ -71094,22 +71799,22 @@ public: }; // Alignment: 8 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: - float recoil_duration; // 0x1138 - int32_t recoil_height; // 0x113c - int32_t recoil_distance; // 0x1140 - float m_flStartZ; // 0x1144 - float m_flCurTime; // 0x1148 - float m_flJumpDuration; // 0x114c - float m_flJumpHeight; // 0x1150 - Vector m_vTargetHorizontalDirection; // 0x1154 + float recoil_duration; // 0x11b8 + int32_t recoil_height; // 0x11bc + int32_t recoil_distance; // 0x11c0 + float m_flStartZ; // 0x11c4 + float m_flCurTime; // 0x11c8 + float m_flJumpDuration; // 0x11cc + float m_flJumpHeight; // 0x11d0 + Vector m_vTargetHorizontalDirection; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: @@ -71117,11 +71822,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: - int32_t slow_move_pct; // 0x1138 + int32_t slow_move_pct; // 0x11b8 }; // Alignment: 0 @@ -71197,13 +71902,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: - float fade_time; // 0x1138 - GameTime_t m_flFadeTime; // 0x113c - bool m_bInvisLastThink; // 0x1140 + float fade_time; // 0x11b8 + GameTime_t m_flFadeTime; // 0x11bc + bool m_bInvisLastThink; // 0x11c0 }; // Alignment: 0 @@ -71231,11 +71936,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 0 @@ -71247,25 +71952,25 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: - int32_t effect_radius; // 0x1138 - int32_t caltrops_damage; // 0x113c - int32_t activation_radius; // 0x1140 - float debuff_duration; // 0x1144 - float activation_delay; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c + int32_t effect_radius; // 0x11b8 + int32_t caltrops_damage; // 0x11bc + int32_t activation_radius; // 0x11c0 + float debuff_duration; // 0x11c4 + float activation_delay; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: - int32_t movespeed_pct; // 0x1138 - int32_t tick_damage; // 0x113c + int32_t movespeed_pct; // 0x11b8 + int32_t tick_damage; // 0x11bc }; // Alignment: 5 @@ -71281,23 +71986,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 2 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: - int32_t movement_speed; // 0x1148 + int32_t movement_speed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1150 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11d0 }; // Alignment: 0 @@ -71309,15 +72014,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: - int32_t bonus_projectile_speed_pct; // 0x1138 - int32_t bonus_attack_range; // 0x113c - int32_t deadly_blow_multiplier; // 0x1140 - float maim_duration; // 0x1144 - int32_t m_nAttackRecord; // 0x1148 + int32_t bonus_projectile_speed_pct; // 0x11b8 + int32_t bonus_attack_range; // 0x11bc + int32_t deadly_blow_multiplier; // 0x11c0 + float maim_duration; // 0x11c4 + int32_t m_nAttackRecord; // 0x11c8 }; // Alignment: 6 @@ -71337,13 +72042,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t slow_pct; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 0 @@ -71355,27 +72060,27 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: - int32_t bonus_attack_range; // 0x1138 - int32_t max_stacks; // 0x113c - float debuff_duration; // 0x1140 + int32_t bonus_attack_range; // 0x11b8 + int32_t max_stacks; // 0x11bc + float debuff_duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: - int32_t stack_crit_chance_pct; // 0x1138 - int32_t critical_damage_pct; // 0x113c - int32_t stack_slow_pct; // 0x1140 + int32_t stack_crit_chance_pct; // 0x11b8 + int32_t critical_damage_pct; // 0x11bc + int32_t stack_slow_pct; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: @@ -71383,39 +72088,39 @@ public: }; // Alignment: 23 -// Size: 0x11d0 +// Size: 0x1250 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x1138 - Vector m_vRightControl; // 0x1144 - Vector m_vTargetLoc; // 0x1150 - Vector m_vOriginalTargetLoc; // 0x115c - Vector m_vSourceLoc; // 0x1168 - bool m_bGroundTargeted; // 0x1174 + Vector m_vLeftControl; // 0x11b8 + Vector m_vRightControl; // 0x11c4 + Vector m_vTargetLoc; // 0x11d0 + Vector m_vOriginalTargetLoc; // 0x11dc + Vector m_vSourceLoc; // 0x11e8 + bool m_bGroundTargeted; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - float m_flDuration; // 0x1178 - GameTime_t m_flDieTime; // 0x117c - bool m_bReturning; // 0x1180 - bool m_bCatchingBoomerang; // 0x1181 - bool m_bDisjointed; // 0x1182 + float m_flDuration; // 0x11f8 + GameTime_t m_flDieTime; // 0x11fc + bool m_bReturning; // 0x1200 + bool m_bCatchingBoomerang; // 0x1201 + bool m_bDisjointed; // 0x1202 private: - [[maybe_unused]] uint8_t __pad1183[0x1]; // 0x1183 + [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 public: - int32_t m_nFramesToWait; // 0x1184 - CHandle< CBaseEntity > m_hBoomerang; // 0x1188 - CHandle< CBaseEntity > m_hTarget; // 0x118c - ParticleIndex_t m_nBoomerangFXIndex; // 0x1190 - ParticleIndex_t m_nOldBoomerangFXindex; // 0x1194 - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1198 - int32_t radius; // 0x11b0 - int32_t spread; // 0x11b4 - int32_t damage; // 0x11b8 - float mark_duration; // 0x11bc - float min_throw_duration; // 0x11c0 - float max_throw_duration; // 0x11c4 + int32_t m_nFramesToWait; // 0x1204 + CHandle< CBaseEntity > m_hBoomerang; // 0x1208 + CHandle< CBaseEntity > m_hTarget; // 0x120c + ParticleIndex_t m_nBoomerangFXIndex; // 0x1210 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x1214 + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1218 + int32_t radius; // 0x1230 + int32_t spread; // 0x1234 + int32_t damage; // 0x1238 + float mark_duration; // 0x123c + float min_throw_duration; // 0x1240 + float max_throw_duration; // 0x1244 }; // Alignment: 2 @@ -71428,52 +72133,52 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: - float pulse_interval; // 0x1138 - int32_t iEffectRadius; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - ParticleIndex_t m_nThinkerFXIndex; // 0x1148 + float pulse_interval; // 0x11b8 + int32_t iEffectRadius; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + ParticleIndex_t m_nThinkerFXIndex; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 9 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - Vector m_vDirection; // 0x1140 - float m_flEndTime; // 0x114c - CHandle< CBaseEntity > m_hThinker; // 0x1150 - Vector m_vCurrentTargetPosition; // 0x1154 - Vector m_vDesiredTargetPosition; // 0x1160 - Vector m_vStartPosition; // 0x116c - int32_t airtime_scepter_movement_speed; // 0x1178 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + Vector m_vDirection; // 0x11c0 + float m_flEndTime; // 0x11cc + CHandle< CBaseEntity > m_hThinker; // 0x11d0 + Vector m_vCurrentTargetPosition; // 0x11d4 + Vector m_vDesiredTargetPosition; // 0x11e0 + Vector m_vStartPosition; // 0x11ec + int32_t airtime_scepter_movement_speed; // 0x11f8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: - ParticleIndex_t m_nCasterFXIndex; // 0x1138 - ParticleIndex_t m_nStatusFXIndex; // 0x113c + ParticleIndex_t m_nCasterFXIndex; // 0x11b8 + ParticleIndex_t m_nStatusFXIndex; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: @@ -71489,34 +72194,34 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t attack_count; // 0x113c - bool m_bShouldIncrement; // 0x1140 + int32_t attack_count; // 0x11bc + bool m_bShouldIncrement; // 0x11c0 }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: - bool m_bIsBuffedAttack; // 0x1138 + bool m_bIsBuffedAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t heal_pct; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t heal_radius; // 0x1144 - int32_t heal_from_creeps; // 0x1148 - int32_t allied_healing_pct; // 0x114c - CUtlVector< CHandle< CBaseEntity > > hTargets; // 0x1150 - float m_flTotalToHeal; // 0x1168 + int32_t heal_pct; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t heal_radius; // 0x11c4 + int32_t heal_from_creeps; // 0x11c8 + int32_t allied_healing_pct; // 0x11cc + CUtlVector< CHandle< CBaseEntity > > hTargets; // 0x11d0 + float m_flTotalToHeal; // 0x11e8 }; // Alignment: 25 @@ -71558,45 +72263,45 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: - int32_t flare_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t flare_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t travel_speed_pct; // 0x1140 - int32_t m_nMaxRange; // 0x1144 - Vector m_vStartPoint; // 0x1148 - Vector m_vLastTrailThinkerLocation; // 0x1154 - Vector m_vEndPointShard; // 0x1160 - ParticleIndex_t m_nStatusFXIndex; // 0x116c - int32_t flare_radius; // 0x1170 - bool bHasStartedBurning; // 0x1174 + int32_t m_nProjectileID; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t travel_speed_pct; // 0x11c0 + int32_t m_nMaxRange; // 0x11c4 + Vector m_vStartPoint; // 0x11c8 + Vector m_vLastTrailThinkerLocation; // 0x11d4 + Vector m_vEndPointShard; // 0x11e0 + ParticleIndex_t m_nStatusFXIndex; // 0x11ec + int32_t flare_radius; // 0x11f0 + bool bHasStartedBurning; // 0x11f4 private: - [[maybe_unused]] uint8_t __pad1175[0x3]; // 0x1175 + [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: - float flare_debuff_duration; // 0x1178 + float flare_debuff_duration; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: @@ -71612,7 +72317,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: @@ -71620,60 +72325,60 @@ public: }; // Alignment: 20 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t shard_movement_penalty; // 0x113c - int32_t swipe_radius; // 0x1140 - int32_t swipe_damage; // 0x1144 - int32_t smash_radius; // 0x1148 - int32_t smash_damage; // 0x114c - int32_t m_nCurrentSpeed; // 0x1150 - float flSwipeInterval; // 0x1154 - GameTime_t m_flNextHit; // 0x1158 - int32_t iCurrentAttack; // 0x115c - int32_t total_attacks; // 0x1160 - float smash_stun_duration; // 0x1164 - float sweep_stun_duration; // 0x1168 - bool m_bHasCompletedMove; // 0x116c + int32_t movement_speed; // 0x11b8 + int32_t shard_movement_penalty; // 0x11bc + int32_t swipe_radius; // 0x11c0 + int32_t swipe_damage; // 0x11c4 + int32_t smash_radius; // 0x11c8 + int32_t smash_damage; // 0x11cc + int32_t m_nCurrentSpeed; // 0x11d0 + float flSwipeInterval; // 0x11d4 + GameTime_t m_flNextHit; // 0x11d8 + int32_t iCurrentAttack; // 0x11dc + int32_t total_attacks; // 0x11e0 + float smash_stun_duration; // 0x11e4 + float sweep_stun_duration; // 0x11e8 + bool m_bHasCompletedMove; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - float duration; // 0x1170 - Vector m_vTargetHorizontalDirection; // 0x1174 - int32_t smash_distance_from_hero; // 0x1180 - float animation_rate; // 0x1184 - float turn_rate; // 0x1188 - float m_flFacingTarget; // 0x118c + float duration; // 0x11f0 + Vector m_vTargetHorizontalDirection; // 0x11f4 + int32_t smash_distance_from_hero; // 0x1200 + float animation_rate; // 0x1204 + float turn_rate; // 0x1208 + float m_flFacingTarget; // 0x120c }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: - int32_t attack_damage; // 0x1138 - int32_t creep_damage_penalty; // 0x113c + int32_t attack_damage; // 0x11b8 + int32_t creep_damage_penalty; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: - int32_t swipe_slow; // 0x1138 + int32_t swipe_slow; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 + int32_t damage; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 }; // Alignment: 0 @@ -71685,13 +72390,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 - int32_t burn_damage; // 0x113c - float burn_interval; // 0x1140 + int32_t move_slow; // 0x11b8 + int32_t burn_damage; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 0 @@ -71815,30 +72520,30 @@ public: }; // Alignment: 12 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: - int32_t impact_damage; // 0x1138 - float debuff_duration; // 0x113c - int32_t landing_radius; // 0x1140 - float air_duration; // 0x1144 - int32_t air_height; // 0x1148 - int32_t travel_distance; // 0x114c - Vector m_vDestination; // 0x1150 - float m_flStartZ; // 0x115c - float m_flCurTime; // 0x1160 - float m_flJumpDuration; // 0x1164 - float m_flJumpHeight; // 0x1168 - Vector m_vTargetHorizontalDirection; // 0x116c + int32_t impact_damage; // 0x11b8 + float debuff_duration; // 0x11bc + int32_t landing_radius; // 0x11c0 + float air_duration; // 0x11c4 + int32_t air_height; // 0x11c8 + int32_t travel_distance; // 0x11cc + Vector m_vDestination; // 0x11d0 + float m_flStartZ; // 0x11dc + float m_flCurTime; // 0x11e0 + float m_flJumpDuration; // 0x11e4 + float m_flJumpHeight; // 0x11e8 + Vector m_vTargetHorizontalDirection; // 0x11ec }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 17 @@ -71866,66 +72571,66 @@ public: }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 - int32_t m_nMaxJumpDistance; // 0x113c - int32_t landing_radius; // 0x1140 - int32_t max_jump_distance; // 0x1144 - int32_t min_jump_distance; // 0x1148 - int32_t target_abort_distance; // 0x114c - int32_t impact_position_offset; // 0x1150 - float m_flCastDistance; // 0x1154 - ParticleIndex_t m_nAoEFXIndex; // 0x1158 - Vector m_vDestination; // 0x115c - CHandle< CBaseEntity > m_hBounceEntity; // 0x1168 - CHandle< CBaseEntity > m_hBounceEntityClient; // 0x116c + int32_t m_nProjectileID; // 0x11b8 + int32_t m_nMaxJumpDistance; // 0x11bc + int32_t landing_radius; // 0x11c0 + int32_t max_jump_distance; // 0x11c4 + int32_t min_jump_distance; // 0x11c8 + int32_t target_abort_distance; // 0x11cc + int32_t impact_position_offset; // 0x11d0 + float m_flCastDistance; // 0x11d4 + ParticleIndex_t m_nAoEFXIndex; // 0x11d8 + Vector m_vDestination; // 0x11dc + CHandle< CBaseEntity > m_hBounceEntity; // 0x11e8 + CHandle< CBaseEntity > m_hBounceEntityClient; // 0x11ec }; // Alignment: 27 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: - float m_flPredictedTotalTime; // 0x1138 - Vector m_vStartPosition; // 0x113c - float m_flCurrentTimeHoriz; // 0x1148 - float m_flCurrentTimeVert; // 0x114c - bool m_bDamageApplied; // 0x1150 - bool m_bTargetTeleported; // 0x1151 + float m_flPredictedTotalTime; // 0x11b8 + Vector m_vStartPosition; // 0x11bc + float m_flCurrentTimeHoriz; // 0x11c8 + float m_flCurrentTimeVert; // 0x11cc + bool m_bDamageApplied; // 0x11d0 + bool m_bTargetTeleported; // 0x11d1 private: - [[maybe_unused]] uint8_t __pad1152[0x2]; // 0x1152 + [[maybe_unused]] uint8_t __pad11d2[0x2]; // 0x11d2 public: - Vector m_vHorizontalVelocity; // 0x1154 - Vector m_vLastKnownTargetPosition; // 0x1160 - float m_flInitialVelocityZ; // 0x116c - float m_fClampedProjectileSpeed; // 0x1170 - ParticleIndex_t m_nFXIndex; // 0x1174 - float m_fAcceleration; // 0x1178 - bool m_bTriggeredLandingAnim; // 0x117c + Vector m_vHorizontalVelocity; // 0x11d4 + Vector m_vLastKnownTargetPosition; // 0x11e0 + float m_flInitialVelocityZ; // 0x11ec + float m_fClampedProjectileSpeed; // 0x11f0 + ParticleIndex_t m_nFXIndex; // 0x11f4 + float m_fAcceleration; // 0x11f8 + bool m_bTriggeredLandingAnim; // 0x11fc private: - [[maybe_unused]] uint8_t __pad117d[0x3]; // 0x117d + [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: - int32_t m_nMaxJumpDistance; // 0x1180 - int32_t min_jump_distance; // 0x1184 - int32_t max_jump_distance; // 0x1188 - float min_lob_travel_time; // 0x118c - float max_lob_travel_time; // 0x1190 - int32_t landing_radius; // 0x1194 - float debuff_duration; // 0x1198 - float min_height_above_lowest; // 0x119c - float min_height_above_highest; // 0x11a0 - float min_acceleration; // 0x11a4 - float max_acceleration; // 0x11a8 - float impact_damage; // 0x11ac - int32_t impact_position_offset; // 0x11b0 - float ally_buff_duration; // 0x11b4 + int32_t m_nMaxJumpDistance; // 0x1200 + int32_t min_jump_distance; // 0x1204 + int32_t max_jump_distance; // 0x1208 + float min_lob_travel_time; // 0x120c + float max_lob_travel_time; // 0x1210 + int32_t landing_radius; // 0x1214 + float debuff_duration; // 0x1218 + float min_height_above_lowest; // 0x121c + float min_height_above_highest; // 0x1220 + float min_acceleration; // 0x1224 + float max_acceleration; // 0x1228 + float impact_damage; // 0x122c + int32_t impact_position_offset; // 0x1230 + float ally_buff_duration; // 0x1234 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: @@ -71933,27 +72638,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: - float ally_movespeed_pct; // 0x1138 + float ally_movespeed_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: - int32_t movement_slow_pct; // 0x1138 + int32_t movement_slow_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: - int32_t scepter_armor; // 0x1138 + int32_t scepter_armor; // 0x11b8 }; // Alignment: 2 @@ -71966,19 +72671,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff { public: - float lifesteal_pct; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t bonus_attack_range; // 0x1140 - float m_fLifestealPct; // 0x1144 - float m_fDamageAbsorbed; // 0x1148 + float lifesteal_pct; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_attack_range; // 0x11c0 + float m_fLifestealPct; // 0x11c4 + float m_fDamageAbsorbed; // 0x11c8 }; -// Alignment: 4 -// Size: 0x560 +// Alignment: 5 +// Size: 0x568 class CDOTA_Ability_Marci_Unleash : public CDOTABaseAbility { public: @@ -71986,70 +72691,71 @@ public: int32_t pulse_radius; // 0x554 float pulse_debuff_duration; // 0x558 int32_t pulse_damage; // 0x55c + float pulse_silence_duration; // 0x560 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - int32_t shard_push_length; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + int32_t shard_push_length; // 0x11cc }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff { public: - float time_between_flurries; // 0x1138 - int32_t charges_per_flurry; // 0x113c - int32_t flurry_charge_increment; // 0x1140 - int32_t bonus_movespeed; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + float time_between_flurries; // 0x11b8 + int32_t charges_per_flurry; // 0x11bc + int32_t flurry_charge_increment; // 0x11c0 + int32_t bonus_movespeed; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 9 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff { public: - int32_t flurry_bonus_attack_speed; // 0x1138 - float time_between_flurries; // 0x113c - float debuff_duration; // 0x1140 - float max_time_window_per_hit; // 0x1144 - bool m_bBonusSpeed; // 0x1148 + int32_t flurry_bonus_attack_speed; // 0x11b8 + float time_between_flurries; // 0x11bc + float debuff_duration; // 0x11c0 + float max_time_window_per_hit; // 0x11c4 + bool m_bBonusSpeed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - ParticleIndex_t m_nFXStackIndex; // 0x114c - bool m_bIsDoingFlurryAttack; // 0x1150 - bool m_bIsDoingFlurryPulseAttack; // 0x1151 + ParticleIndex_t m_nFXStackIndex; // 0x11cc + bool m_bIsDoingFlurryAttack; // 0x11d0 + bool m_bIsDoingFlurryPulseAttack; // 0x11d1 private: - [[maybe_unused]] uint8_t __pad1152[0x2]; // 0x1152 + [[maybe_unused]] uint8_t __pad11d2[0x2]; // 0x11d2 public: - GameTime_t m_fLastAttackTime; // 0x1154 + GameTime_t m_fLastAttackTime; // 0x11d4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: - int32_t charges_per_flurry; // 0x1138 - float time_between_flurries; // 0x113c - float recovery_fixed_attack_rate; // 0x1140 + int32_t charges_per_flurry; // 0x11b8 + float time_between_flurries; // 0x11bc + float recovery_fixed_attack_rate; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: - float pulse_move_slow_pct; // 0x1138 - float pulse_attack_slow_pct; // 0x113c + float pulse_move_slow_pct; // 0x11b8 + float pulse_attack_slow_pct; // 0x11bc }; // Alignment: 0 @@ -72093,8 +72799,8 @@ public: }; // Alignment: 0 -// Size: 0x1138 -class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_MagicImmune +// Size: 0x11b8 +class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available @@ -72117,7 +72823,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: @@ -72140,16 +72846,17 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1158 +// Alignment: 6 +// Size: 0x11d8 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: - int32_t effect_radius; // 0x1138 - Vector vLastPos; // 0x113c - float flCurrentDistance; // 0x1148 - int32_t step_distance; // 0x114c - int32_t bonus_magic_resistance; // 0x1150 + int32_t effect_radius; // 0x11b8 + Vector vLastPos; // 0x11bc + float flCurrentDistance; // 0x11c8 + int32_t step_distance; // 0x11cc + int32_t bonus_magic_resistance; // 0x11d0 + bool m_bIsUnslowable; // 0x11d4 }; // Alignment: 1 @@ -72161,31 +72868,31 @@ public: }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - float m_flOffset; // 0x113c - QAngle m_vStartAngles; // 0x1140 - Vector m_vStartLocation; // 0x114c - float animation_rate; // 0x1158 - bool m_bInterrupted; // 0x115c - bool m_bHasBeenDestroyed; // 0x115d + ParticleIndex_t m_nFXIndex; // 0x11b8 + float m_flOffset; // 0x11bc + QAngle m_vStartAngles; // 0x11c0 + Vector m_vStartLocation; // 0x11cc + float animation_rate; // 0x11d8 + bool m_bInterrupted; // 0x11dc + bool m_bHasBeenDestroyed; // 0x11dd }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: - CHandle< CDOTA_BaseNPC > m_hTarget; // 0x1138 - Vector m_vPulverizeCenter; // 0x113c - Vector m_vCasterStartPos; // 0x1148 - int32_t splash_radius; // 0x1154 - float interval; // 0x1158 - float ministun; // 0x115c - int32_t damage; // 0x1160 + CHandle< CDOTA_BaseNPC > m_hTarget; // 0x11b8 + Vector m_vPulverizeCenter; // 0x11bc + Vector m_vCasterStartPos; // 0x11c8 + int32_t splash_radius; // 0x11d4 + float interval; // 0x11d8 + float ministun; // 0x11dc + int32_t damage; // 0x11e0 }; // Alignment: 8 @@ -72204,25 +72911,25 @@ public: }; // Alignment: 12 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: - bool m_bReachedMax; // 0x1138 - bool m_bShouldCharge; // 0x1139 + bool m_bReachedMax; // 0x11b8 + bool m_bShouldCharge; // 0x11b9 private: - [[maybe_unused]] uint8_t __pad113a[0x2]; // 0x113a + [[maybe_unused]] uint8_t __pad11ba[0x2]; // 0x11ba public: - float m_flLastOverheadTime; // 0x113c - float m_flFacingTarget; // 0x1140 - Vector m_vAimTarget; // 0x1144 - ParticleIndex_t m_nCrosshairFX; // 0x1150 - float m_flChargeDuration; // 0x1154 - int32_t max_distance; // 0x1158 - float max_charge_time; // 0x115c - float turn_rate; // 0x1160 - float base_power; // 0x1164 - int32_t charge_speed; // 0x1168 + float m_flLastOverheadTime; // 0x11bc + float m_flFacingTarget; // 0x11c0 + Vector m_vAimTarget; // 0x11c4 + ParticleIndex_t m_nCrosshairFX; // 0x11d0 + float m_flChargeDuration; // 0x11d4 + int32_t max_distance; // 0x11d8 + float max_charge_time; // 0x11dc + float turn_rate; // 0x11e0 + float base_power; // 0x11e4 + int32_t charge_speed; // 0x11e8 }; // Alignment: 0 @@ -72234,43 +72941,43 @@ public: }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float charge_speed; // 0x113c - float movement_turn_rate; // 0x1140 - int32_t knockback_radius; // 0x1144 - float knockback_distance; // 0x1148 - int32_t knockback_damage; // 0x114c - int32_t m_nEnemyHeroesHit; // 0x1150 - float m_flFacingTarget; // 0x1154 - ParticleIndex_t m_nFXIndex; // 0x1158 + float tick_interval; // 0x11b8 + float charge_speed; // 0x11bc + float movement_turn_rate; // 0x11c0 + int32_t knockback_radius; // 0x11c4 + float knockback_distance; // 0x11c8 + int32_t knockback_damage; // 0x11cc + int32_t m_nEnemyHeroesHit; // 0x11d0 + float m_flFacingTarget; // 0x11d4 + ParticleIndex_t m_nFXIndex; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1160 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 10 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bTargetTeleported; // 0x115d + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bTargetTeleported; // 0x11dd private: - [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e + [[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 2 @@ -72285,64 +72992,64 @@ public: }; // Alignment: 12 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: - int32_t stack_limit; // 0x1158 - int32_t damage_limit; // 0x115c - float stack_duration; // 0x1160 - float damage_min; // 0x1164 - float damage_max; // 0x1168 - int32_t bonus_damage_per_stack; // 0x116c - ParticleIndex_t m_nFxIndexA; // 0x1170 - int32_t iCur_stack; // 0x1174 - int32_t bonus_damage; // 0x1178 - float slow_duration; // 0x117c + int32_t stack_limit; // 0x11d8 + int32_t damage_limit; // 0x11dc + float stack_duration; // 0x11e0 + float damage_min; // 0x11e4 + float damage_max; // 0x11e8 + int32_t bonus_damage_per_stack; // 0x11ec + ParticleIndex_t m_nFxIndexA; // 0x11f0 + int32_t iCur_stack; // 0x11f4 + int32_t bonus_damage; // 0x11f8 + float slow_duration; // 0x11fc private: - [[maybe_unused]] uint8_t __pad1180[0x18]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x18]; // 0x1200 public: - float m_fTotalDamage; // 0x1198 - GameTime_t m_flLastStackTime; // 0x119c + float m_fTotalDamage; // 0x1218 + GameTime_t m_flLastStackTime; // 0x121c }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: - int32_t move_slow_per_stack; // 0x1138 + int32_t move_slow_per_stack; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: - int32_t roared_bonus_attack_speed; // 0x1138 - int32_t roared_bonus_armor; // 0x113c - int32_t m_nBuffStackCount; // 0x1140 + int32_t roared_bonus_attack_speed; // 0x11b8 + int32_t roared_bonus_armor; // 0x11bc + int32_t m_nBuffStackCount; // 0x11c0 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: - int32_t projectiles_per_stack; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t projectile_distance; // 0x1140 - int32_t projectile_width; // 0x1144 - int32_t splinter_angle; // 0x1148 - float split_delay; // 0x114c - int32_t projectile_waves; // 0x1150 - int32_t m_nCurrentWaveCount; // 0x1154 - int32_t tectonic_shift_projectiles; // 0x1158 + int32_t projectiles_per_stack; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t projectile_distance; // 0x11c0 + int32_t projectile_width; // 0x11c4 + int32_t splinter_angle; // 0x11c8 + float split_delay; // 0x11cc + int32_t projectile_waves; // 0x11d0 + int32_t m_nCurrentWaveCount; // 0x11d4 + int32_t tectonic_shift_projectiles; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x1160 - CUtlVector< int32 > m_vecProjectileHandles; // 0x1178 + CUtlVector< CHandle< CBaseEntity > > m_vecEnemiesHit; // 0x11e0 + CUtlVector< int32 > m_vecProjectileHandles; // 0x11f8 }; // Alignment: 7 @@ -72360,25 +73067,25 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: - float double_shot_chance; // 0x1138 - float target_search_bonus_range; // 0x113c - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x1140 + float double_shot_chance; // 0x11b8 + float target_search_bonus_range; // 0x11bc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11c0 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 9 @@ -72401,19 +73108,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x1138 + int32_t impact_slow_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x1138 + Vector m_vFearDir; // 0x11b8 }; // Alignment: 0 @@ -72425,27 +73132,28 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: - int32_t modelscale; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t attack_projectile_speed_bonus; // 0x1140 - int32_t attack_range_bonus; // 0x1144 - int32_t m_iOriginalAttackCapabilities; // 0x1148 + int32_t modelscale; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t spell_lifesteal; // 0x11c0 + int32_t attack_projectile_speed_bonus; // 0x11c4 + int32_t attack_range_bonus; // 0x11c8 + int32_t m_iOriginalAttackCapabilities; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: @@ -72453,7 +73161,15 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: @@ -72469,47 +73185,47 @@ public: }; // Alignment: 15 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: - bool m_bSpiritsExplode; // 0x1138 + bool m_bSpiritsExplode; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t damage; // 0x113c - int32_t hit_radius; // 0x1140 - int32_t dead_zone_distance; // 0x1144 - float speed_initial; // 0x1148 - float speed_max; // 0x114c - float acceleration; // 0x1150 - int32_t num_revenants; // 0x1154 - int32_t rotation_direction; // 0x1158 - int32_t radius; // 0x115c - float rotation_initial; // 0x1160 - int32_t show_warning; // 0x1164 - ParticleIndex_t m_nWarningFX; // 0x1168 + int32_t damage; // 0x11bc + int32_t hit_radius; // 0x11c0 + int32_t dead_zone_distance; // 0x11c4 + float speed_initial; // 0x11c8 + float speed_max; // 0x11cc + float acceleration; // 0x11d0 + int32_t num_revenants; // 0x11d4 + int32_t rotation_direction; // 0x11d8 + int32_t radius; // 0x11dc + float rotation_initial; // 0x11e0 + int32_t show_warning; // 0x11e4 + ParticleIndex_t m_nWarningFX; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1170 + CUtlVector< sRevenantDef > m_SpiritDefs; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1188[0x18]; // 0x1188 + [[maybe_unused]] uint8_t __pad1208[0x18]; // 0x1208 public: - int32_t m_nRevenantImpacts; // 0x11a0 + int32_t m_nRevenantImpacts; // 0x1220 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: - int32_t aura_movespeed_slow; // 0x1138 - int32_t aura_attackspeed_slow; // 0x113c + int32_t aura_movespeed_slow; // 0x11b8 + int32_t aura_attackspeed_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: @@ -72524,6 +73240,53 @@ public: // No members available }; +// Alignment: 3 +// Size: 0x570 +class CDOTA_Ability_Muerta_PartingShot : public CDOTABaseAbility +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hAbilitySoulEntity; // 0x550 + CHandle< CBaseEntity > m_hTarget; // 0x554 + CUtlVector< sPartingShotTemporarySoulDef > m_vecTemporarySouls; // 0x558 +}; + +// Alignment: 0 +// Size: 0x11e8 +class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff +{ +public: + int32_t ethereal_damage_bonus; // 0x11b8 + int32_t movement_slow; // 0x11bc + CHandle< CBaseEntity > m_hPhysicalBody; // 0x11c0 + ParticleIndex_t m_nTetherFXIndex; // 0x11c4 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff +{ +public: + int32_t m_nProjectileHandle; // 0x11b8 + CHandle< CBaseEntity > m_hPhysicalBody; // 0x11bc +}; + // Alignment: 0 // Size: 0x550 class CDOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges : public CDOTABaseAbility @@ -72549,16 +73312,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t clock_time; // 0x1144 - float bonus_health_regen; // 0x1148 - int32_t bonus_damage; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t clock_time; // 0x11c4 + float bonus_health_regen; // 0x11c8 + int32_t bonus_damage; // 0x11cc }; // Alignment: 0 @@ -72570,11 +73333,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 0 @@ -72586,11 +73349,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 0 @@ -72602,11 +73365,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 0 @@ -72626,16 +73389,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t clock_time; // 0x1148 - float bonus_armor; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t clock_time; // 0x11c8 + float bonus_armor; // 0x11cc }; // Alignment: 0 @@ -72647,11 +73410,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 0 @@ -72671,16 +73434,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_max_mana_percentage; // 0x1148 - int32_t clock_time; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_max_mana_percentage; // 0x11c8 + int32_t clock_time; // 0x11cc }; // Alignment: 0 @@ -72701,20 +73464,20 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: - float health_regen; // 0x1138 - bool superheal; // 0x113c + float health_regen; // 0x11b8 + bool superheal; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - float m_fHealingDone; // 0x1140 + float m_fHealingDone; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlString m_sAbilityClassname; // 0x1148 + CUtlString m_sAbilityClassname; // 0x11c8 }; // Alignment: 0 @@ -72726,11 +73489,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: - float mana_regen; // 0x1138 + float mana_regen; // 0x11b8 }; // Alignment: 0 @@ -72742,17 +73505,17 @@ public: }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - int32_t break_on_hero_damage; // 0x113c - float m_fHealingDone; // 0x1140 + int32_t health_regen; // 0x11b8 + int32_t break_on_hero_damage; // 0x11bc + float m_fHealingDone; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlString m_sAbilityClassname; // 0x1148 + CUtlString m_sAbilityClassname; // 0x11c8 }; // Alignment: 0 @@ -72764,11 +73527,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -72798,15 +73561,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: @@ -72814,7 +73577,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: @@ -72837,15 +73600,16 @@ public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_stat; // 0x1140 - int32_t bonus_damage; // 0x1144 + int32_t bonus_movement_speed_ranged; // 0x11b8 + int32_t bonus_movement_speed_melee; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_stat; // 0x11c4 + int32_t bonus_damage; // 0x11c8 }; // Alignment: 1 @@ -72875,27 +73639,27 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_damage_melee; // 0x113c - int32_t bonus_damage_range; // 0x1140 - int32_t damage_block_melee; // 0x1144 - int32_t damage_block_ranged; // 0x1148 - int32_t block_chance; // 0x114c - int32_t bonus_attack_speed; // 0x1150 - int32_t bonus_armor; // 0x1154 + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_melee; // 0x11bc + int32_t bonus_damage_range; // 0x11c0 + int32_t damage_block_melee; // 0x11c4 + int32_t damage_block_ranged; // 0x11c8 + int32_t block_chance; // 0x11cc + int32_t bonus_attack_speed; // 0x11d0 + int32_t bonus_armor; // 0x11d4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: - int32_t phase_movement_speed; // 0x1138 - int32_t phase_movement_speed_range; // 0x113c + int32_t phase_movement_speed; // 0x11b8 + int32_t phase_movement_speed_range; // 0x11bc }; // Alignment: 0 @@ -72919,18 +73683,18 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t broken_movement_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 - int32_t break_threshold; // 0x1148 - int32_t break_time; // 0x114c - int32_t break_count; // 0x1150 - float m_flResetTime; // 0x1154 + int32_t bonus_movement_speed; // 0x11b8 + int32_t broken_movement_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 + int32_t break_threshold; // 0x11c8 + int32_t break_time; // 0x11cc + int32_t break_count; // 0x11d0 + float m_flResetTime; // 0x11d4 }; // Alignment: 0 @@ -72954,17 +73718,135 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t broken_movement_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 - int32_t break_threshold; // 0x1148 - int32_t break_time; // 0x114c - int32_t break_count; // 0x1150 + int32_t bonus_movement_speed; // 0x11b8 + int32_t broken_movement_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 + int32_t break_threshold; // 0x11c8 + int32_t break_time; // 0x11cc + int32_t break_count; // 0x11d0 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Hermes_Sandals : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Hermes_Sandals : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_damage_melee; // 0x11bc + int32_t bonus_damage_range; // 0x11c0 + int32_t bonus_armor; // 0x11c4 + int32_t bonus_agility; // 0x11c8 +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff +{ +public: + int32_t phase_movement_speed; // 0x11b8 + int32_t phase_movement_speed_range; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 + bool m_bWasRooted; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Samurai_Tabi : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item +{ +public: + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 + int32_t bonus_damage; // 0x11c4 +}; + +// Alignment: 1 +// Size: 0x600 +class CDOTA_Item_Samurai_Tabi : public CDOTA_Item +{ +public: + // MNetworkEnable + // MNetworkChangeCallback "OnSamurai_TabiStatChanged" + int32_t m_iStat; // 0x5f8 +}; + +// Alignment: 11 +// Size: 0x11f8 +class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + float base_interval; // 0x11c0 + int32_t max_tick_count; // 0x11c4 + float str_root_duration; // 0x11c8 + float str_root_cooldown; // 0x11cc + int32_t str_root_chance; // 0x11d0 + float str_bonus_damage; // 0x11d4 + int32_t iCurrentTickCount; // 0x11d8 + GameTime_t m_flLastRootTime; // 0x11dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 +}; + +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + float base_interval; // 0x11bc + int32_t max_tick_count; // 0x11c0 + int32_t bonus_all_stats; // 0x11c4 + int32_t agi_counter_chance; // 0x11c8 + float agi_counter_cooldown; // 0x11cc + GameTime_t m_flLastCounterTime; // 0x11d0 + int32_t iCurrentTickCount; // 0x11d4 +}; + +// Alignment: 10 +// Size: 0x11e0 +class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item +{ +public: + int32_t stat_per_tick; // 0x11b8 + float base_interval; // 0x11bc + int32_t max_tick_count; // 0x11c0 + float int_damage_interval; // 0x11c4 + float int_damage_range; // 0x11c8 + float int_damage; // 0x11cc + int32_t iCurrentTickCount; // 0x11d0 + int32_t int_max_targets; // 0x11d4 + GameTime_t m_flNextHit; // 0x11d8 + int32_t bonus_all_stats; // 0x11dc }; // Alignment: 0 @@ -72976,11 +73858,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -72992,11 +73874,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 0 @@ -73008,11 +73890,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 0 @@ -73024,11 +73906,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 0 @@ -73040,11 +73922,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 3 @@ -73060,7 +73942,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: @@ -73068,16 +73950,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: - int32_t health_restore; // 0x1138 - int32_t mana_restore; // 0x113c - int32_t health_restore_pct; // 0x1140 - int32_t mana_restore_pct; // 0x1144 - int32_t break_on_hero_damage; // 0x1148 - float m_fHealingDone; // 0x114c + int32_t health_restore; // 0x11b8 + int32_t mana_restore; // 0x11bc + int32_t health_restore_pct; // 0x11c0 + int32_t mana_restore_pct; // 0x11c4 + int32_t break_on_hero_damage; // 0x11c8 + float m_fHealingDone; // 0x11cc }; // Alignment: 0 @@ -73089,11 +73971,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73105,11 +73987,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 0 @@ -73121,11 +74003,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 0 @@ -73137,11 +74019,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73153,11 +74035,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -73169,11 +74051,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 + float bonus_health_regen; // 0x11b8 }; // Alignment: 0 @@ -73185,11 +74067,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 + float bonus_mana_regen; // 0x11b8 }; // Alignment: 0 @@ -73201,11 +74083,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 0 @@ -73217,11 +74099,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 + int32_t bonus_mana; // 0x11b8 }; // Alignment: 0 @@ -73233,12 +74115,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_health; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_health; // 0x11bc }; // Alignment: 0 @@ -73250,11 +74132,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 @@ -73266,11 +74148,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73282,12 +74164,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_speed; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_speed; // 0x11bc }; // Alignment: 0 @@ -73299,11 +74181,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73315,11 +74197,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: - float bonus_armor; // 0x1138 + float bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -73331,13 +74213,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x1138 - int32_t damage_block_ranged; // 0x113c - int32_t block_chance; // 0x1140 + int32_t damage_block_melee; // 0x11b8 + int32_t damage_block_ranged; // 0x11bc + int32_t block_chance; // 0x11c0 }; // Alignment: 0 @@ -73349,13 +74231,13 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: - int32_t bonus_chance; // 0x1138 - int32_t bonus_chance_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_chance; // 0x11b8 + int32_t bonus_chance_damage; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 0 @@ -73367,11 +74249,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73383,11 +74265,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -73399,12 +74281,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float bonus_regen; // 0x113c + int32_t bonus_armor; // 0x11b8 + float bonus_regen; // 0x11bc }; // Alignment: 0 @@ -73416,11 +74298,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -73432,12 +74314,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: - int32_t damage_bonus; // 0x1138 - int32_t damage_bonus_ranged; // 0x113c + int32_t damage_bonus; // 0x11b8 + int32_t damage_bonus_ranged; // 0x11bc }; // Alignment: 0 @@ -73449,11 +74331,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 0 @@ -73465,11 +74347,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 0 @@ -73481,11 +74363,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 + int32_t bonus_agility; // 0x11b8 }; // Alignment: 0 @@ -73497,11 +74379,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 + int32_t bonus_intellect; // 0x11b8 }; // Alignment: 0 @@ -73513,11 +74395,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 0 @@ -73529,12 +74411,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x1138 - int32_t creep_lifesteal_reduction_pct; // 0x113c + int32_t lifesteal_percent; // 0x11b8 + int32_t creep_lifesteal_reduction_pct; // 0x11bc }; // Alignment: 0 @@ -73546,11 +74428,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 + float bonus_health_regen; // 0x11b8 }; // Alignment: 0 @@ -73570,15 +74452,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 + float blink_damage_cooldown; // 0x11b8 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: @@ -73594,11 +74476,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 + float bonus_mana_regen; // 0x11b8 }; // Alignment: 4 @@ -73613,20 +74495,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: - int32_t active_radius; // 0x1138 - float duration; // 0x113c + int32_t active_radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 @@ -73638,11 +74520,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; // Alignment: 0 @@ -73654,12 +74536,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x1138 - int32_t max_charges; // 0x113c + int32_t charge_radius; // 0x11b8 + int32_t max_charges; // 0x11bc }; // Alignment: 0 @@ -73679,13 +74561,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: - int32_t charge_radius; // 0x1138 - int32_t max_charges; // 0x113c - int32_t bonus_all_stats; // 0x1140 + int32_t charge_radius; // 0x11b8 + int32_t max_charges; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 }; // Alignment: 0 @@ -73697,11 +74579,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: - int32_t bonus_evasion; // 0x1138 + int32_t bonus_evasion; // 0x11b8 }; // Alignment: 0 @@ -73713,19 +74595,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: - int32_t extra_spell_damage_percent; // 0x1138 + int32_t extra_spell_damage_percent; // 0x11b8 }; // Alignment: 0 @@ -73745,11 +74627,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -73769,14 +74651,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float bonus_mana_regen; // 0x1144 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float bonus_mana_regen; // 0x11c4 }; // Alignment: 0 @@ -73796,12 +74678,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 0 @@ -73821,14 +74703,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: - int32_t damage_block_melee; // 0x1138 - int32_t damage_block_ranged; // 0x113c - int32_t block_chance; // 0x1140 - int32_t bonus_agility; // 0x1144 + int32_t damage_block_melee; // 0x11b8 + int32_t damage_block_ranged; // 0x11bc + int32_t block_chance; // 0x11c0 + int32_t bonus_agility; // 0x11c4 }; // Alignment: 0 @@ -73839,13 +74721,23 @@ public: // No members available }; +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff +{ +public: + float radius; // 0x11b8 + float duration; // 0x11bc + float linger_duration; // 0x11c0 +}; + // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - bool m_bCastOnInvisibleHero; // 0x113c + int32_t movespeed; // 0x11b8 + bool m_bCastOnInvisibleHero; // 0x11bc }; // Alignment: 0 @@ -73857,7 +74749,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: @@ -73873,7 +74765,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: @@ -73889,7 +74781,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: @@ -73897,11 +74789,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: - int32_t true_sight_range; // 0x1138 + int32_t true_sight_range; // 0x11b8 }; // Alignment: 7 @@ -73935,11 +74827,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -73959,15 +74851,15 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_chance; // 0x113c - int32_t bonus_chance_damage; // 0x1140 - int32_t bonus_damage; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_chance; // 0x11bc + int32_t bonus_chance_damage; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 0 @@ -73987,28 +74879,28 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t evasion; // 0x113c - int32_t upgrade_day_vision; // 0x1140 - int32_t aura_radius; // 0x1144 - bool m_bLastToggleState; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t evasion; // 0x11bc + int32_t upgrade_day_vision; // 0x11c0 + int32_t aura_radius; // 0x11c4 + bool m_bLastToggleState; // 0x11c8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t aura_damage; // 0x1140 - int32_t aura_damage_upgrade_bonus; // 0x1144 - int32_t aura_damage_illusions; // 0x1148 - int32_t blind_pct; // 0x114c + int32_t aura_damage; // 0x11c0 + int32_t aura_damage_upgrade_bonus; // 0x11c4 + int32_t aura_damage_illusions; // 0x11c8 + int32_t blind_pct; // 0x11cc }; // Alignment: 0 @@ -74028,22 +74920,22 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: - int32_t bonus_move_speed; // 0x1138 + int32_t bonus_move_speed; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_evasion; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_evasion; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 }; // Alignment: 0 @@ -74063,13 +74955,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 }; // Alignment: 0 @@ -74089,21 +74981,21 @@ public: }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bash_chance_melee; // 0x113c - int32_t bash_chance_ranged; // 0x1140 - float bash_duration; // 0x1144 - float bash_cooldown; // 0x1148 - int32_t bonus_chance_damage; // 0x114c - int32_t bonus_damage; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t bash_chance_melee; // 0x11bc + int32_t bash_chance_ranged; // 0x11c0 + float bash_duration; // 0x11c4 + float bash_cooldown; // 0x11c8 + int32_t bonus_chance_damage; // 0x11cc + int32_t bonus_damage; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 0 @@ -74123,26 +75015,26 @@ public: }; // Alignment: 13 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bash_chance_melee; // 0x113c - int32_t bash_chance_ranged; // 0x1140 - float bash_duration; // 0x1144 - float bash_cooldown; // 0x1148 - int32_t bonus_chance_damage; // 0x114c - int32_t bonus_damage; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t bash_chance_melee; // 0x11bc + int32_t bash_chance_ranged; // 0x11c0 + float bash_duration; // 0x11c4 + float bash_cooldown; // 0x11c8 + int32_t bonus_chance_damage; // 0x11cc + int32_t bonus_damage; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - int32_t bonus_health; // 0x1170 - float bonus_health_regen; // 0x1174 - int32_t block_damage_ranged; // 0x1178 - int32_t block_damage_melee; // 0x117c - int32_t block_chance; // 0x1180 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + int32_t bonus_health; // 0x11f0 + float bonus_health_regen; // 0x11f4 + int32_t block_damage_ranged; // 0x11f8 + int32_t block_damage_melee; // 0x11fc + int32_t block_chance; // 0x1200 }; // Alignment: 0 @@ -74162,22 +75054,22 @@ public: }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 - int32_t cleave_damage_percent; // 0x1144 - int32_t cleave_damage_percent_creep; // 0x1148 - int32_t cleave_starting_width; // 0x114c - int32_t cleave_ending_width; // 0x1150 - int32_t cleave_distance; // 0x1154 - int32_t upgraded_cleave_bonus; // 0x1158 - int32_t upgraded_damage_bonus; // 0x115c - int32_t quelling_bonus; // 0x1160 - int32_t quelling_bonus_ranged; // 0x1164 + int32_t bonus_damage; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t cleave_damage_percent; // 0x11c4 + int32_t cleave_damage_percent_creep; // 0x11c8 + int32_t cleave_starting_width; // 0x11cc + int32_t cleave_ending_width; // 0x11d0 + int32_t cleave_distance; // 0x11d4 + int32_t upgraded_cleave_bonus; // 0x11d8 + int32_t upgraded_damage_bonus; // 0x11dc + int32_t quelling_bonus; // 0x11e0 + int32_t quelling_bonus_ranged; // 0x11e4 }; // Alignment: 0 @@ -74197,19 +75089,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t bonus_movement_speed; // 0x1148 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t bonus_movement_speed; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: @@ -74217,7 +75109,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: @@ -74241,13 +75133,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t crit_chance; // 0x113c - int32_t crit_multiplier; // 0x1140 + int32_t bonus_damage; // 0x11b8 + int32_t crit_chance; // 0x11bc + int32_t crit_multiplier; // 0x11c0 }; // Alignment: 0 @@ -74269,29 +75161,29 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_health_regen; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_health_regen; // 0x11c4 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: - int32_t unholy_bonus_damage; // 0x1138 - int32_t unholy_bonus_attack_speed; // 0x113c - int32_t unholy_bonus_strength; // 0x1140 - int32_t unholy_bonus_armor; // 0x1144 - int32_t unholy_health_drain_per_second; // 0x1148 - int32_t str_tick_count; // 0x114c - float tick_interval; // 0x1150 - float m_flDamageRemainder; // 0x1154 + int32_t unholy_bonus_damage; // 0x11b8 + int32_t unholy_bonus_attack_speed; // 0x11bc + int32_t unholy_bonus_strength; // 0x11c0 + int32_t unholy_bonus_armor; // 0x11c4 + int32_t unholy_health_drain_per_second; // 0x11c8 + int32_t str_tick_count; // 0x11cc + float tick_interval; // 0x11d0 + float m_flDamageRemainder; // 0x11d4 }; // Alignment: 0 @@ -74311,22 +75203,22 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x1148 - int32_t windwalk_movement_speed; // 0x114c + int32_t windwalk_bonus_damage; // 0x11c8 + int32_t windwalk_movement_speed; // 0x11cc }; // Alignment: 0 @@ -74345,23 +75237,25 @@ public: int32_t upgrade_radius; // 0x5f8 }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - float bonus_mana_regen; // 0x1144 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_mana; // 0x11c8 + int32_t cast_range_bonus; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: - float sheep_movement_speed; // 0x1138 + float sheep_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -74380,26 +75274,25 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + float bonus_health_regen; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: - float silence_damage_percent; // 0x1138 - float m_flDamageTaken; // 0x113c + float silence_damage_percent; // 0x11b8 + float m_flDamageTaken; // 0x11bc }; // Alignment: 0 @@ -74419,17 +75312,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: @@ -74453,25 +75346,25 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_movement_speed; // 0x1140 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 }; // Alignment: 1 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: - CHandle< CBaseEntity > m_hBlocker; // 0x1150 + CHandle< CBaseEntity > m_hBlocker; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: @@ -74495,23 +75388,31 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_intellect; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float push_length; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float push_length; // 0x11cc +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Item_ForceStaff_Dizzy : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -74563,7 +75464,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: @@ -74610,14 +75511,16 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 - int32_t bonus_str; // 0x113c - int32_t bonus_agi; // 0x1140 + int32_t bonus_int; // 0x11b8 + int32_t bonus_str; // 0x11bc + int32_t bonus_agi; // 0x11c0 + float passive_spell_lifesteal; // 0x11c4 + float dagon_spell_lifesteal; // 0x11c8 }; // Alignment: 0 @@ -74636,13 +75539,14 @@ public: // No members available }; -// Alignment: 2 -// Size: 0x1140 +// Alignment: 3 +// Size: 0x11c8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: - int32_t bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + int32_t bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 0 @@ -74694,18 +75598,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_all_stats; // 0x113c - int32_t bonus_health; // 0x1140 - int32_t bonus_mana; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + int32_t bonus_health; // 0x11c0 + int32_t bonus_mana; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: @@ -74713,14 +75617,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_all_stats; // 0x113c - int32_t bonus_health; // 0x1140 - int32_t bonus_mana; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + int32_t bonus_health; // 0x11c0 + int32_t bonus_mana; // 0x11c4 }; // Alignment: 0 @@ -74740,7 +75644,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: @@ -74748,16 +75652,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x1138 - int32_t aura_positive_armor; // 0x113c + int32_t aura_attack_speed; // 0x11b8 + int32_t aura_positive_armor; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: @@ -74765,20 +75669,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: - int32_t aura_negative_armor; // 0x1138 + int32_t aura_negative_armor; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -74798,13 +75702,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_health; // 0x113c - float health_regen_pct; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_health; // 0x11bc + float health_regen_pct; // 0x11c0 }; // Alignment: 0 @@ -74823,34 +75727,35 @@ public: bool m_bActive; // 0x5f8 }; -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_MagicImmune +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 + int32_t magic_resist; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_damage; // 0x113c - float duration; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: - float reincarnate_time; // 0x1138 + float reincarnate_time; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: @@ -74866,6 +75771,15 @@ public: GameTime_t m_fEquipTime; // 0x5fc }; +// Alignment: 1 +// Size: 0x610 +class CDOTA_Item_TierToken : public CDOTA_Item +{ +public: + // MNetworkEnable + AbilityID_t m_vecChoices[5]; // 0x5f8 +}; + // Alignment: 0 // Size: 0x5f8 class CDOTA_Item_Recipe_Shivas_Guard : public CDOTA_Item @@ -74883,45 +75797,45 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t aura_radius; // 0x1140 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: - int32_t aura_attack_speed; // 0x1138 - int32_t hp_regen_degen_aura; // 0x113c + int32_t aura_attack_speed; // 0x11b8 + int32_t hp_regen_degen_aura; // 0x11bc }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t blast_speed; // 0x1170 - int32_t blast_radius; // 0x1174 - int32_t blast_damage; // 0x1178 - float blast_debuff_duration; // 0x117c + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t blast_speed; // 0x11f0 + int32_t blast_radius; // 0x11f4 + int32_t blast_damage; // 0x11f8 + float blast_debuff_duration; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: - int32_t blast_movement_speed; // 0x1138 + int32_t blast_movement_speed; // 0x11b8 }; // Alignment: 0 @@ -74941,7 +75855,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: @@ -74949,18 +75863,18 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - float spell_lifesteal; // 0x1140 - float lifesteal_multiplier; // 0x1144 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float spell_lifesteal; // 0x11c0 + float lifesteal_multiplier; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: @@ -74984,13 +75898,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 0 @@ -75010,13 +75924,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 }; // Alignment: 0 @@ -75036,16 +75950,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t hp_regen_amp; // 0x1148 - int32_t status_resistance; // 0x114c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t hp_regen_amp; // 0x11c8 + int32_t status_resistance; // 0x11cc }; // Alignment: 0 @@ -75065,24 +75979,24 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: - int32_t lifesteal_percent; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t creep_lifesteal_reduction_pct; // 0x1144 + int32_t lifesteal_percent; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t creep_lifesteal_reduction_pct; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c - int32_t berserk_armor_reduction; // 0x1140 + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc + int32_t berserk_armor_reduction; // 0x11c0 }; // Alignment: 0 @@ -75101,37 +76015,38 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1150 +// Alignment: 6 +// Size: 0x11d0 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 - float block_cooldown; // 0x1144 - float upgrade_absorb_duration; // 0x1148 + int32_t bonus_all_stats; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + float block_cooldown; // 0x11c8 + float upgrade_absorb_duration; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: - float upgrade_absorb_duration; // 0x1138 + float upgrade_absorb_duration; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: - int32_t damage_absorb; // 0x1138 - bool m_bStartedTimer; // 0x113c + int32_t damage_absorb; // 0x11b8 + bool m_bStartedTimer; // 0x11bc private: - [[maybe_unused]] uint8_t __pad113d[0x3]; // 0x113d + [[maybe_unused]] uint8_t __pad11bd[0x3]; // 0x11bd public: - int32_t m_flDamageAbsorbed; // 0x1140 + int32_t m_flDamageAbsorbed; // 0x11c0 }; // Alignment: 0 @@ -75151,15 +76066,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_health_regen; // 0x113c - int32_t block_damage_ranged; // 0x1140 - int32_t block_damage_melee; // 0x1144 - int32_t block_chance; // 0x1148 + int32_t bonus_health; // 0x11b8 + float bonus_health_regen; // 0x11bc + int32_t block_damage_ranged; // 0x11c0 + int32_t block_damage_melee; // 0x11c4 + int32_t block_chance; // 0x11c8 }; // Alignment: 0 @@ -75179,31 +76094,31 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: - int32_t block_chance_active; // 0x1138 - int32_t block_damage_ranged_active; // 0x113c - int32_t block_damage_melee_active; // 0x1140 + int32_t block_chance_active; // 0x11b8 + int32_t block_damage_active; // 0x11bc + int32_t strength_pct; // 0x11c0 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_armor; // 0x1140 - int32_t block_damage_ranged; // 0x1144 - int32_t block_damage_melee; // 0x1148 - int32_t block_chance; // 0x114c - int32_t bonus_aoe_radius; // 0x1150 + int32_t bonus_health; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_armor; // 0x11c0 + int32_t block_damage_ranged; // 0x11c4 + int32_t block_damage_melee; // 0x11c8 + int32_t block_chance; // 0x11cc + int32_t bonus_aoe_radius; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: @@ -75227,7 +76142,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: @@ -75235,16 +76150,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t passive_reflection_constant; // 0x1144 - int32_t passive_reflection_pct; // 0x1148 - int32_t active_reflection_pct; // 0x114c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t passive_reflection_constant; // 0x11c4 + int32_t passive_reflection_pct; // 0x11c8 + int32_t active_reflection_pct; // 0x11cc }; // Alignment: 0 @@ -75264,13 +76179,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_magical_armor; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_magical_armor; // 0x11c0 }; // Alignment: 0 @@ -75289,21 +76204,22 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x1138 - float bonus_health_regen; // 0x113c + int32_t bonus_spell_resist; // 0x11b8 + float bonus_health_regen; // 0x11bc }; // Alignment: 0 @@ -75323,24 +76239,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t aura_radius; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: @@ -75364,23 +76280,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: - int32_t lifesteal_aura; // 0x1138 - int32_t damage_aura; // 0x113c - float armor_aura; // 0x1140 - float mana_regen_aura; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t lifesteal_aura; // 0x11b8 + int32_t damage_aura; // 0x11bc + float armor_aura; // 0x11c0 + float mana_regen_aura; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 0 @@ -75392,24 +76308,24 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t bonus_aoe_radius; // 0x113c - float armor; // 0x1140 + int32_t bonus_aoe_radius; // 0x11bc + float armor; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x1138 + float bonus_aoe_armor; // 0x11b8 }; // Alignment: 0 @@ -75437,20 +76353,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - float mana_regen; // 0x113c + int32_t aura_radius; // 0x11b8 + float mana_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 0 @@ -75470,37 +76386,37 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float health_regen; // 0x113c - int32_t magic_resistance; // 0x1140 - int32_t aura_radius; // 0x1144 + int32_t bonus_all_stats; // 0x11b8 + float health_regen; // 0x11bc + int32_t magic_resistance; // 0x11c0 + int32_t aura_radius; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 - int32_t magic_resistance_aura; // 0x113c + float aura_health_regen; // 0x11b8 + int32_t magic_resistance_aura; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: - int32_t barrier_amount; // 0x1138 - int32_t barrier_block; // 0x113c - int32_t barrier_block_creep; // 0x1140 + int32_t barrier_amount; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t barrier_block_creep; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: @@ -75524,30 +76440,30 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: - float mana_regen; // 0x1138 - int32_t bonus_all_stats; // 0x113c - float bonus_armor; // 0x1140 + float mana_regen; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc + float bonus_armor; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t soul_heal_amount; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: - int32_t soul_damage_amount; // 0x1138 + int32_t soul_damage_amount; // 0x11b8 }; // Alignment: 0 @@ -75567,20 +76483,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: - float health_regen; // 0x1138 - int32_t aura_radius; // 0x113c + float health_regen; // 0x11b8 + int32_t aura_radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 0 @@ -75600,23 +76516,23 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t lifesteal_percent; // 0x1140 - int32_t unholy_lifesteal_percent; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t lifesteal_percent; // 0x11c0 + int32_t unholy_lifesteal_percent; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: - int32_t unholy_lifesteal_percent; // 0x1138 + int32_t unholy_lifesteal_percent; // 0x11b8 }; // Alignment: 0 @@ -75668,17 +76584,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: - int32_t bonus_stats; // 0x1138 - int32_t bonus_armor; // 0x113c - float bonus_regen; // 0x1140 + int32_t bonus_stats; // 0x11b8 + int32_t bonus_armor; // 0x11bc + float bonus_regen; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: @@ -75686,18 +76602,18 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: - int32_t health_min; // 0x1138 - int32_t new_max; // 0x113c - int32_t health_bonus; // 0x1140 - int32_t model_scale; // 0x1144 - int32_t creep_bonus_damage; // 0x1148 - int32_t creep_bonus_hp_regen; // 0x114c - int32_t creep_bonus_mp_regen; // 0x1150 - int32_t creep_bonus_armor; // 0x1154 + int32_t health_min; // 0x11b8 + int32_t new_max; // 0x11bc + int32_t health_bonus; // 0x11c0 + int32_t model_scale; // 0x11c4 + int32_t creep_bonus_damage; // 0x11c8 + int32_t creep_bonus_hp_regen; // 0x11cc + int32_t creep_bonus_mp_regen; // 0x11d0 + int32_t creep_bonus_armor; // 0x11d4 }; // Alignment: 0 @@ -75717,27 +76633,27 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_damage_per_kill; // 0x113c - int32_t bonus_damage_per_assist; // 0x1140 - int32_t max_damage; // 0x1144 - float corruption_duration; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_per_kill; // 0x11bc + int32_t bonus_damage_per_assist; // 0x11c0 + int32_t max_damage; // 0x11c4 + float corruption_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 0 @@ -75757,24 +76673,24 @@ public: }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t projectile_speed; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t mana_cost; // 0x1148 - int32_t slow_duration; // 0x114c - int32_t damage_penalty; // 0x1150 - int32_t passive_cooldown; // 0x1154 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 - CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1170 + int32_t bonus_armor; // 0x11b8 + int32_t projectile_speed; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t mana_cost; // 0x11c8 + int32_t slow_duration; // 0x11cc + int32_t damage_penalty; // 0x11d0 + int32_t passive_cooldown; // 0x11d4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 + CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: @@ -75782,15 +76698,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: - float active_attack_speed; // 0x1138 + float active_attack_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: @@ -75817,12 +76733,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_agi; // 0x113c + int32_t radius; // 0x11b8 + int32_t bonus_agi; // 0x11bc }; // Alignment: 0 @@ -75842,29 +76758,29 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bash_chance_melee; // 0x1140 - int32_t bash_chance_ranged; // 0x1144 - float bash_duration; // 0x1148 - float bash_cooldown; // 0x114c - int32_t bonus_chance_damage; // 0x1150 - int32_t bonus_damage; // 0x1154 - int32_t weaken_per_hit; // 0x1158 - float weaken_duration; // 0x115c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bash_chance_melee; // 0x11c0 + int32_t bash_chance_ranged; // 0x11c4 + float bash_duration; // 0x11c8 + float bash_cooldown; // 0x11cc + int32_t bonus_chance_damage; // 0x11d0 + int32_t bonus_damage; // 0x11d4 + int32_t weaken_per_hit; // 0x11d8 + float weaken_duration; // 0x11dc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 }; // Alignment: 1 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: - int32_t weaken_per_hit; // 0x1158 + int32_t weaken_per_hit; // 0x11d8 }; // Alignment: 0 @@ -75884,33 +76800,33 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_movement_speed; // 0x113c - int32_t bonus_health_regen; // 0x1140 - int32_t bonus_str; // 0x1144 - int32_t bonus_int; // 0x1148 + int32_t radius; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc + int32_t bonus_health_regen; // 0x11c0 + int32_t bonus_str; // 0x11c4 + int32_t bonus_int; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x1138 + int32_t aura_movement_speed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c - float bonus_ms_duration; // 0x1140 + int32_t bonus_attack_speed_pct; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc + float bonus_ms_duration; // 0x11c0 }; // Alignment: 0 @@ -75930,38 +76846,38 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t attacks; // 0x113c - int32_t bonus_damage; // 0x1140 - float buff_duration; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - int32_t m_nCounter; // 0x1160 + int32_t bonus_agility; // 0x11b8 + int32_t attacks; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float buff_duration; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + int32_t m_nCounter; // 0x11e0 }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float max_damage_duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 + int32_t damage; // 0x11b8 + float max_damage_duration; // 0x11bc + int32_t attack_range_bonus; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 - bool bAttackRange; // 0x1160 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 + bool bAttackRange; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - float m_flStartTime; // 0x1164 - float m_flFadeTime; // 0x1168 - float m_flDamageScale; // 0x116c - float duration; // 0x1170 + float m_flStartTime; // 0x11e4 + float m_flFadeTime; // 0x11e8 + float m_flDamageScale; // 0x11ec + float duration; // 0x11f0 }; // Alignment: 0 @@ -75981,33 +76897,33 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_health; // 0x1140 + int32_t aura_radius; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_health; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff { public: - int32_t pact_aura_radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - float aura_dps; // 0x1140 + int32_t pact_aura_radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + float aura_dps; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff { public: - int32_t armor_penalty_aura; // 0x1138 - int32_t damage_penalty_aura; // 0x113c - float aura_dps; // 0x1140 + int32_t armor_penalty_aura; // 0x11b8 + int32_t damage_penalty_aura; // 0x11bc + float aura_dps; // 0x11c0 }; // Alignment: 0 @@ -76027,27 +76943,27 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - float cold_duration; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_mana; // 0x11c0 + float cold_duration; // 0x11c4 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff { public: - int32_t cold_slow_melee; // 0x1138 - int32_t cold_attack_slow_melee; // 0x113c - int32_t cold_slow_ranged; // 0x1140 - int32_t cold_attack_slow_ranged; // 0x1144 - int32_t heal_reduction; // 0x1148 + int32_t cold_slow_melee; // 0x11b8 + int32_t cold_attack_slow_melee; // 0x11bc + int32_t cold_slow_ranged; // 0x11c0 + int32_t cold_attack_slow_ranged; // 0x11c4 + int32_t heal_reduction; // 0x11c8 }; // Alignment: 0 @@ -76067,60 +76983,60 @@ public: }; // Alignment: 8 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t chain_damage_per_charge; // 0x1148 - int32_t m_iCurJumpCount; // 0x114c - Vector m_vCurTargetLoc; // 0x1150 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t chain_damage_per_charge; // 0x11c8 + int32_t m_iCurJumpCount; // 0x11cc + Vector m_vCurTargetLoc; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1160 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11e0 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t chain_chance; // 0x1140 - int32_t chain_strikes; // 0x1144 - int32_t chain_damage; // 0x1148 - int32_t chain_radius; // 0x114c - int32_t chain_damage_per_charge; // 0x1150 - int32_t max_charges; // 0x1154 - float chain_cooldown; // 0x1158 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t chain_chance; // 0x11c0 + int32_t chain_strikes; // 0x11c4 + int32_t chain_damage; // 0x11c8 + int32_t chain_radius; // 0x11cc + int32_t chain_damage_per_charge; // 0x11d0 + int32_t max_charges; // 0x11d4 + float chain_cooldown; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 - CountdownTimer m_ChainTimer; // 0x1178 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 + CountdownTimer m_ChainTimer; // 0x11f8 }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t static_chance; // 0x1140 - int32_t static_strikes; // 0x1144 - int32_t static_damage; // 0x1148 - int32_t static_primary_radius; // 0x114c - int32_t static_seconary_radius; // 0x1150 - int32_t static_radius; // 0x1154 - float static_cooldown; // 0x1158 - int32_t chain_damage_per_charge; // 0x115c - CountdownTimer m_StaticTimer; // 0x1160 + int32_t static_chance; // 0x11c0 + int32_t static_strikes; // 0x11c4 + int32_t static_damage; // 0x11c8 + int32_t static_primary_radius; // 0x11cc + int32_t static_seconary_radius; // 0x11d0 + int32_t static_radius; // 0x11d4 + float static_cooldown; // 0x11d8 + int32_t chain_damage_per_charge; // 0x11dc + CountdownTimer m_StaticTimer; // 0x11e0 }; // Alignment: 0 @@ -76140,32 +77056,32 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t chain_chance; // 0x113c - int32_t chain_strikes; // 0x1140 - int32_t chain_damage; // 0x1144 - int32_t chain_radius; // 0x1148 - float chain_cooldown; // 0x114c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 - CountdownTimer m_ChainTimer; // 0x1168 + int32_t bonus_damage; // 0x11b8 + int32_t chain_chance; // 0x11bc + int32_t chain_strikes; // 0x11c0 + int32_t chain_damage; // 0x11c4 + int32_t chain_radius; // 0x11c8 + float chain_cooldown; // 0x11cc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 + CountdownTimer m_ChainTimer; // 0x11e8 }; // Alignment: 0 @@ -76193,24 +77109,24 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_intellect; // 0x113c - float damage_per_burn; // 0x1140 - int32_t feedback_mana_burn; // 0x1144 - int32_t feedback_mana_burn_illusion_melee; // 0x1148 - int32_t feedback_mana_burn_illusion_ranged; // 0x114c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float damage_per_burn; // 0x11c0 + int32_t feedback_mana_burn; // 0x11c4 + int32_t feedback_mana_burn_illusion_melee; // 0x11c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 0 @@ -76238,32 +77154,32 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t spell_amp; // 0x1144 - int32_t spell_lifesteal_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t spell_amp; // 0x11c4 + int32_t spell_lifesteal_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff { public: - int32_t ethereal_damage_bonus; // 0x1138 + int32_t ethereal_damage_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff { public: - int32_t blast_movement_slow; // 0x1138 + int32_t blast_movement_slow; // 0x11b8 }; // Alignment: 0 @@ -76283,22 +77199,22 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_strength; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff { public: - int32_t m_iTempExtraMaxMana; // 0x1138 - int32_t m_iManaToRemove; // 0x113c - float duration; // 0x1140 + int32_t m_iTempExtraMaxMana; // 0x11b8 + int32_t m_iManaToRemove; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 0 @@ -76351,56 +77267,56 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_mana_regen; // 0x113c + int32_t bonus_strength; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t aura_radius; // 0x1140 + float bonus_mana_regen; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t aura_radius; // 0x1140 + float bonus_mana_regen; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t aura_radius; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 0 @@ -76412,11 +77328,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff { public: - int32_t burn_amount; // 0x1138 + int32_t burn_amount; // 0x11b8 }; // Alignment: 0 @@ -76428,11 +77344,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff { public: - int32_t explosion; // 0x1138 + int32_t explosion; // 0x11b8 }; // Alignment: 0 @@ -76444,11 +77360,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 @@ -76468,11 +77384,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 0 @@ -76484,19 +77400,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff { public: - int32_t ms_bonus; // 0x1138 + int32_t ms_bonus; // 0x11b8 }; // Alignment: 0 @@ -76523,6 +77439,28 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Royale_With_Cheese : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x11d8 +class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff +{ +public: + float shield; // 0x11b8 + float regen; // 0x11bc + float idle; // 0x11c0 + int32_t m_nDamageAbsorbed; // 0x11c4 + GameTime_t m_timeLastTick; // 0x11c8 + GameTime_t m_timeLastDamage; // 0x11cc + ParticleIndex_t nFXIndex; // 0x11d0 +}; + // Alignment: 0 // Size: 0x5f8 class CDOTA_Item_Recipe_Arcane_Boots : public CDOTA_Item @@ -76540,20 +77478,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_mana; // 0x113c + int32_t bonus_movement; // 0x11b8 + int32_t bonus_mana; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 0 @@ -76565,25 +77503,25 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x1138 - int32_t poison_movement_speed_range; // 0x113c - float poison_duration; // 0x1140 - float poison_damage_melee; // 0x1144 - float poison_damage_range; // 0x1148 + int32_t poison_movement_speed_melee; // 0x11b8 + int32_t poison_movement_speed_range; // 0x11bc + float poison_duration; // 0x11c0 + float poison_damage_melee; // 0x11c4 + float poison_damage_range; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t slow; // 0x113c - int32_t damage; // 0x1140 + float duration; // 0x11b8 + float slow; // 0x11bc + float damage; // 0x11c0 }; // Alignment: 0 @@ -76603,30 +77541,30 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item { public: - int32_t radius; // 0x1138 - int32_t bonus_str; // 0x113c - int32_t bonus_int; // 0x1140 + int32_t radius; // 0x11b8 + int32_t bonus_str; // 0x11bc + int32_t bonus_int; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff { public: - int32_t aura_movement_speed; // 0x1138 + int32_t aura_movement_speed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff { public: - int32_t bonus_attack_speed_pct; // 0x1138 - int32_t bonus_movement_speed_pct; // 0x113c + int32_t bonus_attack_speed_pct; // 0x11b8 + int32_t bonus_movement_speed_pct; // 0x11bc }; // Alignment: 0 @@ -76646,28 +77584,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float bonus_mana_regen_pct; // 0x113c + int32_t bonus_armor; // 0x11b8 + float bonus_mana_regen_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -76679,12 +77617,12 @@ public: }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible { public: - int32_t bonus_movement_speed; // 0x1148 - int32_t visibility_radius; // 0x114c + int32_t bonus_movement_speed; // 0x11c8 + int32_t visibility_radius; // 0x11cc }; // Alignment: 0 @@ -76703,29 +77641,42 @@ public: // No members available }; +// Alignment: 6 +// Size: 0x11d0 +class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t debuff_radius; // 0x11bc + float resist_debuff_duration; // 0x11c0 + int32_t m_nHeroesHit; // 0x11c4 + bool m_bHitInvisibleHero; // 0x11c8 + bool m_bFirstPulse; // 0x11c9 +}; + // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_all_stats; // 0x113c + int32_t aura_radius; // 0x11b8 + int32_t bonus_all_stats; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: - float aura_mana_regen; // 0x1138 + float aura_mana_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 + int32_t spell_amp; // 0x11b8 }; // Alignment: 0 @@ -76745,22 +77696,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t bonus_evasion; // 0x1140 - int32_t status_resistance; // 0x1144 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t bonus_evasion; // 0x11c0 + int32_t status_resistance; // 0x11c4 }; -// Alignment: 0 -// Size: 0x1138 +// Alignment: 1 +// Size: 0x11c0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: - // No members available + bool m_bPierceDebuffImmunity; // 0x11b8 }; // Alignment: 0 @@ -76772,24 +77723,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t aura_radius; // 0x113c + int32_t aura_radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: - int32_t aura_bonus_armor; // 0x1138 - float aura_mana_regen; // 0x113c + int32_t aura_bonus_armor; // 0x11b8 + float aura_mana_regen; // 0x11bc }; // Alignment: 0 @@ -76801,15 +77752,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_agility; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t bonus_armor; // 0x1148 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_agility; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t bonus_armor; // 0x11c8 }; // Alignment: 1 @@ -76821,13 +77772,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: - float fade_time; // 0x1138 - GameTime_t m_flFadeTime; // 0x113c - bool m_bFaded; // 0x1140 + float fade_time; // 0x11b8 + GameTime_t m_flFadeTime; // 0x11bc + bool m_bFaded; // 0x11c0 }; // Alignment: 0 @@ -76847,21 +77798,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_night_vision; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_night_vision; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: - int32_t consumed_bonus; // 0x1138 - int32_t consumed_bonus_night_vision; // 0x113c + int32_t consumed_bonus; // 0x11b8 + int32_t consumed_bonus_night_vision; // 0x11bc }; // Alignment: 0 @@ -76881,34 +77832,34 @@ public: }; // Alignment: 8 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_attack_speed; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t crit_chance; // 0x1148 - int32_t crit_multiplier; // 0x114c - float backstab_duration; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t crit_chance; // 0x11c8 + int32_t crit_multiplier; // 0x11cc + float backstab_duration; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1158 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8 }; // Alignment: 2 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: - int32_t windwalk_bonus_damage; // 0x1148 - int32_t windwalk_movement_speed; // 0x114c + int32_t windwalk_bonus_damage; // 0x11c8 + int32_t windwalk_movement_speed; // 0x11cc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: @@ -76932,7 +77883,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: @@ -76940,19 +77891,26 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; -// Alignment: 1 -// Size: 0x1150 -class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Modifier_PersistentInvisibility +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: - int32_t active_magical_armor; // 0x1148 + int32_t active_movement_speed; // 0x11b8 + int32_t barrier_block; // 0x11bc + int32_t barrier_amount; // 0x11c0 + float initial_fade_delay; // 0x11c4 + float secondary_fade_delay; // 0x11c8 + float m_flFadeTime; // 0x11cc + float m_flCurentFadeDelay; // 0x11d0 + GameTime_t m_flLastActionTime; // 0x11d4 }; // Alignment: 0 @@ -76972,35 +77930,35 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: - float bonus_mana_regen_pct; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_all_stats; // 0x1140 - int32_t self_movement_speed; // 0x1144 - ParticleIndex_t nFXIndex; // 0x1148 + float bonus_mana_regen_pct; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 + int32_t self_movement_speed; // 0x11c4 + ParticleIndex_t nFXIndex; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t target_attack_speed; // 0x113c - int32_t target_movement_speed; // 0x1140 + int32_t target_armor; // 0x11b8 + int32_t target_attack_speed; // 0x11bc + int32_t target_movement_speed; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 - int32_t target_attack_speed; // 0x113c - int32_t target_movement_speed; // 0x1140 + int32_t target_armor; // 0x11b8 + int32_t target_attack_speed; // 0x11bc + int32_t target_movement_speed; // 0x11c0 }; // Alignment: 0 @@ -77020,15 +77978,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: @@ -77047,11 +78005,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 @@ -77071,26 +78029,26 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t aura_radius; // 0x1144 + int32_t bonus_movement; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t aura_radius; // 0x11c4 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 - float aura_armor; // 0x113c - float aura_health_regen_bonus; // 0x1140 - float aura_armor_bonus; // 0x1144 - int32_t aura_bonus_threshold; // 0x1148 + float aura_health_regen; // 0x11b8 + float aura_armor; // 0x11bc + float aura_health_regen_bonus; // 0x11c0 + float aura_armor_bonus; // 0x11c4 + int32_t aura_bonus_threshold; // 0x11c8 }; // Alignment: 0 @@ -77102,11 +78060,51 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: - float hp_regen; // 0x1138 + float hp_regen; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Famango : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_GreatFamango : public CDOTA_Item_Famango +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_GreaterFamango : public CDOTA_Item_Famango +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_GreatFamango : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_GreaterFamango : public CDOTA_Item +{ +public: + // No members available }; // Alignment: 0 @@ -77126,27 +78124,27 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_armor; // 0x1140 - int32_t bonus_mana; // 0x1144 - float block_cooldown; // 0x1148 + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t bonus_mana; // 0x11c4 + float block_cooldown; // 0x11c8 }; // Alignment: 1 -// Size: 0x1300 +// Size: 0x1390 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: - CModifierParams m_LastParams; // 0x1138 + CModifierParams m_LastParams; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: @@ -77154,16 +78152,16 @@ public: }; // Alignment: 6 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hAbility; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - Vector m_vLocation; // 0x1140 - GameTime_t m_fChannelEnd; // 0x114c - bool m_bInterrupt; // 0x1150 - bool m_bExpired; // 0x1151 + CHandle< CBaseEntity > m_hAbility; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + Vector m_vLocation; // 0x11c0 + GameTime_t m_fChannelEnd; // 0x11cc + bool m_bInterrupt; // 0x11d0 + bool m_bExpired; // 0x11d1 }; // Alignment: 0 @@ -77183,15 +78181,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - float bonus_cooldown; // 0x1144 - int32_t cast_range_bonus; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_cooldown; // 0x11c0 + float bonus_health_regen; // 0x11c4 + float bonus_mana_regen; // 0x11c8 }; // Alignment: 0 @@ -77203,11 +78201,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -77227,13 +78225,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t base_attack_range; // 0x1140 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t base_attack_range; // 0x11c0 }; // Alignment: 0 @@ -77253,13 +78251,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t cast_range_bonus; // 0x1140 + int32_t bonus_mana; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t cast_range_bonus; // 0x11c0 }; // Alignment: 0 @@ -77279,12 +78277,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - float bonus_armor; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + float bonus_armor; // 0x11bc }; // Alignment: 0 @@ -77303,33 +78301,34 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x1158 +// Alignment: 9 +// Size: 0x11e0 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_attack_speed; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c - int32_t bonus_magic_resist; // 0x1150 - float duration; // 0x1154 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t bonus_attack_speed; // 0x11c4 + int32_t spell_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc + int32_t bonus_magic_resist; // 0x11d0 + float duration; // 0x11d4 + float bonus_health_regen; // 0x11d8 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: - float target_crit_multiplier; // 0x1138 - float silence_damage_percent; // 0x113c - float m_flDamageTaken; // 0x1140 + float target_crit_multiplier; // 0x11b8 + float silence_damage_percent; // 0x11bc + float m_flDamageTaken; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_vRecords; // 0x1148 + CUtlVector< int16 > m_vRecords; // 0x11c8 }; // Alignment: 0 @@ -77349,26 +78348,26 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float bonus_mana_regen; // 0x1144 - int32_t bonus_strength; // 0x1148 - float slow_duration; // 0x114c - bool bonus_speed; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + int32_t bonus_strength; // 0x11c8 + float slow_duration; // 0x11cc + bool bonus_speed; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_speed_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_speed_slow; // 0x11bc }; // Alignment: 0 @@ -77380,23 +78379,23 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: - float corruption_duration; // 0x1138 + float corruption_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 0 @@ -77408,11 +78407,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: - int32_t movement_speed; // 0x1138 + int32_t movement_speed; // 0x11b8 }; // Alignment: 0 @@ -77424,7 +78423,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: @@ -77432,7 +78431,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: @@ -77456,52 +78455,52 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_intellect; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t base_attack_range; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t base_attack_range; // 0x11c8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float push_length; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float push_length; // 0x11cc }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float enemy_length; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float enemy_length; // 0x11cc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t max_attacks; // 0x113c - int32_t m_iNumAttacks; // 0x1140 - bool bActive; // 0x1144 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t max_attacks; // 0x11bc + int32_t m_iNumAttacks; // 0x11c0 + bool bActive; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t bonus_attack_speed; // 0x1148 + int32_t bonus_attack_speed; // 0x11c8 }; // Alignment: 0 @@ -77513,15 +78512,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: - float mana_regen; // 0x1138 - float bonus_armor; // 0x113c - int32_t bonus_magical_armor; // 0x1140 - int32_t magic_damage_block; // 0x1144 - int32_t min_damage; // 0x1148 + float mana_regen; // 0x11b8 + float bonus_armor; // 0x11bc + int32_t bonus_magical_armor; // 0x11c0 + int32_t magic_damage_block; // 0x11c4 + int32_t min_damage; // 0x11c8 }; // Alignment: 1 @@ -77600,33 +78599,34 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - float bonus_health_regen; // 0x113c - float bonus_mana_regen; // 0x1140 + int32_t bonus_all_stats; // 0x11b8 + float bonus_health_regen; // 0x11bc + float bonus_mana_regen; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x1138 - int32_t burn_dps_units; // 0x113c - float burn_interval; // 0x1140 + int32_t burn_dps_buildings; // 0x11b8 + int32_t burn_dps_units; // 0x11bc + float burn_interval; // 0x11c0 + int32_t burn_slow; // 0x11c4 }; // Alignment: 0 @@ -77646,29 +78646,29 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_regen; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t bonus_armor; // 0x11b8 + int32_t bonus_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: - float slow_interval_duration; // 0x1138 + float slow_interval_duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: - int32_t slow_pct; // 0x1138 + int32_t slow_pct; // 0x11b8 }; // Alignment: 0 @@ -77688,33 +78688,33 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float bonus_mana_regen; // 0x113c - float bonus_armor; // 0x1140 - int32_t bonus_all_stats; // 0x1144 + int32_t bonus_health; // 0x11b8 + float bonus_mana_regen; // 0x11bc + float bonus_armor; // 0x11c0 + int32_t bonus_all_stats; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: - int32_t soul_heal_amount; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t soul_heal_amount; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: - int32_t hp_regen_reduction_enemy; // 0x1138 - int32_t soul_damage_amount; // 0x113c - float enemy_hp_drain; // 0x1140 + int32_t hp_regen_reduction_enemy; // 0x11b8 + int32_t soul_damage_amount; // 0x11bc + float enemy_hp_drain; // 0x11c0 }; // Alignment: 0 @@ -77735,22 +78735,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t health_threshold_pct; // 0x1140 - float buff_duration; // 0x1144 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t health_threshold_pct; // 0x11c0 + float buff_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 0 @@ -77770,14 +78770,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t mana_regen_multiplier; // 0x1140 - int32_t spell_lifesteal_amp; // 0x1144 + int32_t bonus_intellect; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t mana_regen_multiplier; // 0x11c0 + int32_t spell_lifesteal_amp; // 0x11c4 }; // Alignment: 0 @@ -77805,11 +78805,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 0 @@ -77829,26 +78829,26 @@ public: }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: - int32_t aura_radius; // 0x1138 - int32_t bonus_health; // 0x113c - int32_t bonus_mana; // 0x1140 - int32_t heal_increase; // 0x1144 - int32_t charge_radius; // 0x1148 - int32_t max_charges; // 0x114c - int32_t bonus_all_stats; // 0x1150 - int32_t charge_gain_timer; // 0x1154 + int32_t aura_radius; // 0x11b8 + int32_t bonus_health; // 0x11bc + int32_t bonus_mana; // 0x11c0 + int32_t heal_increase; // 0x11c4 + int32_t charge_radius; // 0x11c8 + int32_t max_charges; // 0x11cc + int32_t bonus_all_stats; // 0x11d0 + int32_t charge_gain_timer; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: - float aura_health_regen; // 0x1138 + float aura_health_regen; // 0x11b8 }; // Alignment: 0 @@ -77868,17 +78868,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t hp_regen_amp; // 0x113c - int32_t bonus_intellect; // 0x1140 - int32_t spell_amp; // 0x1144 - int32_t mana_regen_multiplier; // 0x1148 - int32_t status_resistance; // 0x114c - int32_t spell_lifesteal_amp; // 0x1150 + int32_t bonus_strength; // 0x11b8 + int32_t hp_regen_amp; // 0x11bc + int32_t bonus_intellect; // 0x11c0 + int32_t spell_amp; // 0x11c4 + int32_t mana_regen_multiplier; // 0x11c8 + int32_t status_resistance; // 0x11cc + int32_t spell_lifesteal_amp; // 0x11d0 }; // Alignment: 0 @@ -77898,28 +78898,28 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t spell_amp; // 0x1148 - int32_t mana_regen_multiplier; // 0x114c - int32_t spell_lifesteal_amp; // 0x1150 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t spell_amp; // 0x11c8 + int32_t mana_regen_multiplier; // 0x11cc + int32_t spell_lifesteal_amp; // 0x11d0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x1138 - int32_t maim_slow_attack; // 0x113c - int32_t maim_slow_movement_range; // 0x1140 - int32_t maim_slow_attack_range; // 0x1144 + int32_t maim_slow_movement; // 0x11b8 + int32_t maim_slow_attack; // 0x11bc + int32_t maim_slow_movement_range; // 0x11c0 + int32_t maim_slow_attack_range; // 0x11c4 }; // Alignment: 0 @@ -77931,12 +78931,232 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - int32_t bonus_health; // 0x113c + float bonus_health_regen; // 0x11b8 + int32_t bonus_health; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Diadem : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item +{ +public: + int32_t bonus_all_stats; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Blood_Grenade : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Blood_Grenade : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x11d8 +class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff +{ +public: + int32_t speed; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage_over_time; // 0x11c0 + int32_t impact_damage; // 0x11c4 + float debuff_duration; // 0x11c8 + int32_t movespeed_slow; // 0x11cc + float tick_rate; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11d4 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff +{ +public: + int32_t movespeed_slow; // 0x11b8 + float damage_over_time; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Phylactery : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Phylactery : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 7 +// Size: 0x11e8 +class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item +{ +public: + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t bonus_spell_damage; // 0x11c4 + float slow_duration; // 0x11c8 + int32_t bonus_all_stats; // 0x11cc + CUtlVector< CDOTABaseAbility* > vecActivatedAbilities; // 0x11d0 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff +{ +public: + int32_t slow; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Disperser : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Disperser : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 9 +// Size: 0x11e0 +class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item +{ +public: + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + int32_t bonus_attack_speed; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + float damage_per_burn; // 0x11cc + int32_t feedback_mana_burn; // 0x11d0 + int32_t feedback_mana_burn_illusion_melee; // 0x11d4 + int32_t feedback_mana_burn_illusion_ranged; // 0x11d8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff +{ +public: + int32_t purge_bonus_miss_rate; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff +{ +public: + int32_t attack_speed_slow; // 0x11b8 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff +{ +public: + int32_t movement_speed_buff_rate; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Cornucopia : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Cornucopia : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_damage; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Pavise : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Pavise : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item +{ +public: + int32_t bonus_armor; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_health; // 0x11c0 +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff +{ +public: + int32_t absorb_amount; // 0x11b8 + int32_t m_nAbsorbRemaining; // 0x11bc }; // Alignment: 0 @@ -77956,12 +79176,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: - float bonus_mana_regen; // 0x1138 - int32_t cast_range_bonus; // 0x113c + float bonus_mana_regen; // 0x11b8 + int32_t cast_range_bonus; // 0x11bc }; // Alignment: 0 @@ -77981,21 +79201,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x1138 - int32_t attack_speed_bonus; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t attack_range_bonus; // 0x11b8 + int32_t attack_speed_bonus; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: - int32_t magic_resistance_reduction; // 0x1138 + int32_t magic_resistance_reduction; // 0x11b8 }; // Alignment: 0 @@ -78015,12 +79235,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: - int32_t bonus_cooldown; // 0x1138 - int32_t bonus_health_regen; // 0x113c + int32_t bonus_cooldown; // 0x11b8 + int32_t bonus_health_regen; // 0x11bc }; // Alignment: 0 @@ -78032,13 +79252,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_gpm; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t bonus_mana; // 0x11b8 + int32_t bonus_gpm; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 0 @@ -78058,24 +79278,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - int32_t push_length; // 0x114c - float push_duration; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + int32_t push_length; // 0x11cc + float push_duration; // 0x11d0 }; // Alignment: 0 @@ -78095,21 +79315,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - float corruption_duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_damage; // 0x11b8 + float corruption_duration; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: - int32_t corruption_armor; // 0x1138 + int32_t corruption_armor; // 0x11b8 }; // Alignment: 0 @@ -78129,11 +79349,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: - int32_t health_pct; // 0x1138 + int32_t health_pct; // 0x11b8 }; // Alignment: 0 @@ -78153,22 +79373,22 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c + int32_t radius; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x1138 - int32_t vision_bonus; // 0x113c - int32_t mana_regen; // 0x1140 + int32_t cast_range_bonus; // 0x11b8 + int32_t vision_bonus; // 0x11bc + int32_t mana_regen; // 0x11c0 }; // Alignment: 0 @@ -78188,13 +79408,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c - float duration; // 0x1140 + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 0 @@ -78205,14 +79425,15 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item { public: - int32_t attack_lifesteal; // 0x1138 - int32_t spell_lifesteal; // 0x113c - int32_t night_vision; // 0x1140 + int32_t attack_lifesteal; // 0x11b8 + int32_t spell_lifesteal; // 0x11bc + int32_t night_vision; // 0x11c0 + int32_t creep_lifesteal_reduction_pct; // 0x11c4 }; // Alignment: 0 @@ -78224,13 +79445,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item { public: - int32_t armor_bonus; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t bonus_health; // 0x1140 + int32_t armor_bonus; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t bonus_health; // 0x11c0 }; // Alignment: 0 @@ -78242,11 +79463,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -78266,12 +79487,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item { public: - int32_t spell_amp; // 0x1138 - int32_t debuff_amp; // 0x113c + int32_t spell_amp; // 0x11b8 + int32_t debuff_amp; // 0x11bc }; // Alignment: 0 @@ -78283,18 +79504,18 @@ public: }; // Alignment: 4 -// Size: 0x1310 +// Size: 0x13a0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: - CModifierParams m_LastParams; // 0x1138 - int32_t all_stats; // 0x1300 - int32_t reflect_chance; // 0x1304 - bool m_bProcSuccessful; // 0x1308 + CModifierParams m_LastParams; // 0x11b8 + int32_t all_stats; // 0x1390 + int32_t reflect_chance; // 0x1394 + bool m_bProcSuccessful; // 0x1398 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: @@ -78318,11 +79539,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 + int32_t bonus_all_stats; // 0x11b8 }; // Alignment: 0 @@ -78334,12 +79555,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: - float health_regen; // 0x1138 - float mana_regen; // 0x113c + float health_regen; // 0x11b8 + float mana_regen; // 0x11bc }; // Alignment: 0 @@ -78359,11 +79580,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: - int32_t secondary_stats; // 0x1138 + int32_t secondary_stats; // 0x11b8 }; // Alignment: 0 @@ -78375,7 +79596,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: @@ -78391,21 +79612,21 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: - int32_t hp_regen; // 0x1138 + int32_t hp_regen; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: - float health_regen; // 0x1138 - int32_t armor_bonus; // 0x113c - int32_t multishot_count; // 0x1140 + float health_regen; // 0x11b8 + int32_t armor_bonus; // 0x11bc + int32_t multishot_count; // 0x11c0 }; // Alignment: 0 @@ -78433,13 +79654,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: - int32_t magic_damage; // 0x1138 - int32_t attack_speed; // 0x113c - float duration; // 0x1140 + int32_t magic_damage; // 0x11b8 + int32_t attack_speed; // 0x11bc + float duration; // 0x11c0 }; // Alignment: 0 @@ -78451,13 +79672,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: - int32_t truesight_radius; // 0x1138 - int32_t bonus_vision; // 0x113c - int32_t bonus_all_stats; // 0x1140 + int32_t truesight_radius; // 0x11b8 + int32_t bonus_vision; // 0x11bc + int32_t bonus_all_stats; // 0x11c0 }; // Alignment: 0 @@ -78469,17 +79690,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_cooldown; // 0x113c - float mana_regen; // 0x1140 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_cooldown; // 0x11bc + float mana_regen; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: @@ -78503,12 +79724,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - float m_fHealingDone; // 0x113c + int32_t health_regen; // 0x11b8 + float m_fHealingDone; // 0x11bc }; // Alignment: 0 @@ -78520,20 +79741,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: - float duration; // 0x1138 - int32_t projectile_bonus; // 0x113c + float duration; // 0x11b8 + int32_t projectile_bonus; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 0 @@ -78545,20 +79766,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t turn_rate; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t turn_rate; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: - int32_t bonus_movement_speed_active; // 0x1138 + int32_t bonus_movement_speed_active; // 0x11b8 }; // Alignment: 0 @@ -78570,12 +79791,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - float duration; // 0x113c + int32_t bonus_armor; // 0x11b8 + float duration; // 0x11bc }; // Alignment: 0 @@ -78587,31 +79808,56 @@ public: }; // Alignment: 3 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: - CHandle< CBaseEntity > m_hTree; // 0x1138 + CHandle< CBaseEntity > m_hTree; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CountdownTimer m_Timer; // 0x1140 - float seconds; // 0x1158 + CountdownTimer m_Timer; // 0x11c0 + float seconds; // 0x11d8 }; -// Alignment: 5 -// Size: 0x1178 +// Alignment: 7 +// Size: 0x1200 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTree; // 0x1138 - int32_t m_nMangoSeconds; // 0x113c - CountdownTimer m_MangoTimer; // 0x1140 - int32_t m_nRespawnSeconds; // 0x1158 + CHandle< CBaseEntity > m_hTree; // 0x11b8 + int32_t m_nMangoSeconds; // 0x11bc + CountdownTimer m_MangoTimer; // 0x11c0 + int32_t m_nRespawnSeconds; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CountdownTimer m_RespawnTimer; // 0x1160 + CountdownTimer m_RespawnTimer; // 0x11e0 + int32_t m_nMangosAvailable; // 0x11f8 + int32_t m_nChannelCount; // 0x11fc +}; + +// Alignment: 3 +// Size: 0x568 +class CDOTA_Ability_PluckFamango : public CDOTABaseAbility +{ +public: + // MNetworkEnable + CHandle< CBaseEntity > m_hTarget; // 0x550 +private: + [[maybe_unused]] uint8_t __pad0554[0x4]; // 0x554 +public: + CDOTA_Buff* m_pMyBuff; // 0x558 + float famango_rate; // 0x560 +}; + +// Alignment: 2 +// Size: 0x11c0 +class Modifier_Pluck_Famango_Channel : public CDOTA_Buff +{ +public: + float famango_rate; // 0x11b8 + CHandle< CBaseEntity > m_hMangoTree; // 0x11bc }; // Alignment: 0 @@ -78623,16 +79869,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: - int32_t bonus_primary_stat; // 0x1138 - int32_t bonus_secondary_stat; // 0x113c - int32_t bonus_magic_resistance; // 0x1140 - int32_t bonus_spell_amp; // 0x1144 - int32_t bonus_attack_speed; // 0x1148 - int32_t m_iStat; // 0x114c + int32_t bonus_primary_stat; // 0x11b8 + int32_t bonus_secondary_stat; // 0x11bc + int32_t bonus_magic_resistance; // 0x11c0 + int32_t bonus_spell_amp; // 0x11c4 + int32_t bonus_attack_speed; // 0x11c8 + int32_t m_iStat; // 0x11cc }; // Alignment: 1 @@ -78654,12 +79900,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: - int32_t max_health; // 0x1138 - int32_t max_mana; // 0x113c + int32_t max_health; // 0x11b8 + int32_t max_mana; // 0x11bc }; // Alignment: 0 @@ -78671,12 +79917,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x1138 - int32_t bonus_damage; // 0x113c + int32_t crit_multiplier; // 0x11b8 + int32_t bonus_damage; // 0x11bc }; // Alignment: 0 @@ -78688,15 +79934,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: @@ -78712,21 +79958,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: - int32_t scan_cooldown_reduction; // 0x1138 - int32_t aura_range; // 0x113c + int32_t scan_cooldown_reduction; // 0x11b8 + int32_t aura_range; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: - int32_t attack_range; // 0x1138 - int32_t cast_range; // 0x113c + int32_t attack_range; // 0x11b8 + int32_t cast_range; // 0x11bc }; // Alignment: 0 @@ -78746,14 +79992,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: - float water_hp_regen; // 0x1138 - float water_mp_regen; // 0x113c - int32_t all_stats; // 0x1140 - bool m_bInRiver; // 0x1144 + float water_hp_regen; // 0x11b8 + float water_mp_regen; // 0x11bc + int32_t all_stats; // 0x11c0 + bool m_bInRiver; // 0x11c4 }; // Alignment: 0 @@ -78773,13 +80019,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: - int32_t melee_attack_range; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t bonus_damage; // 0x1140 + int32_t melee_attack_range; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t bonus_damage; // 0x11c0 }; // Alignment: 0 @@ -78804,11 +80050,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 @@ -78828,13 +80074,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: - int32_t bonus_magic_resistance; // 0x1138 - int32_t bonus_spell_amp; // 0x113c - int32_t bonus_armor; // 0x1140 + int32_t bonus_magic_resistance; // 0x11b8 + int32_t bonus_spell_amp; // 0x11bc + int32_t bonus_armor; // 0x11c0 }; // Alignment: 0 @@ -78854,20 +80100,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_hp_regen; // 0x113c + int32_t bonus_armor; // 0x11b8 + int32_t bonus_hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: - int32_t damage_per_sec; // 0x1138 + int32_t damage_per_sec; // 0x11b8 }; // Alignment: 0 @@ -78887,20 +80133,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 - float mp_regen; // 0x113c + int32_t bonus_int; // 0x11b8 + float mp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: - int32_t health_gain; // 0x1138 + int32_t health_gain; // 0x11b8 }; // Alignment: 0 @@ -78920,7 +80166,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -78928,12 +80174,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t mana_regen; // 0x113c + int32_t all_stats; // 0x11b8 + int32_t mana_regen; // 0x11bc }; // Alignment: 0 @@ -78952,14 +80198,18 @@ public: // No members available }; -// Alignment: 3 -// Size: 0x1158 +// Alignment: 4 +// Size: 0x11e0 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: - int32_t bonus_attack_range; // 0x1138 - int32_t bonus_damage; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t bonus_attack_range; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t active_bonus_attack_range; // 0x11c0 +private: + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 +public: + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 0 @@ -78979,12 +80229,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t passive_movement_bonus; // 0x113c + int32_t bonus_agility; // 0x11b8 + int32_t passive_movement_bonus; // 0x11bc }; // Alignment: 0 @@ -79004,7 +80254,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: @@ -79012,20 +80262,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: - int32_t bonus_agi; // 0x1138 - int32_t bonus_str; // 0x113c + int32_t bonus_agi; // 0x11b8 + int32_t bonus_str; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: - int32_t attack_damage_aura; // 0x1138 + int32_t attack_damage_aura; // 0x11b8 }; // Alignment: 0 @@ -79045,20 +80295,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -79078,12 +80328,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float health_threshold; // 0x113c + int32_t bonus_health; // 0x11b8 + float health_threshold; // 0x11bc }; // Alignment: 0 @@ -79102,12 +80352,13 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: - int32_t primary_stat; // 0x1138 + int32_t primary_stat; // 0x11b8 + int32_t primary_stat_universal; // 0x11bc }; // Alignment: 0 @@ -79127,13 +80378,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: - int32_t attack_range_bonus; // 0x1138 - float knockback_distance; // 0x113c - float knockback_duration; // 0x1140 + int32_t attack_range_bonus; // 0x11b8 + float knockback_distance; // 0x11bc + float knockback_duration; // 0x11c0 }; // Alignment: 0 @@ -79153,20 +80404,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: - int32_t bonus_movement_speed; // 0x1138 - int32_t bonus_hp_regen; // 0x113c + int32_t bonus_movement_speed; // 0x11b8 + int32_t bonus_hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: - float tree_duration; // 0x1138 + float tree_duration; // 0x11b8 }; // Alignment: 0 @@ -79186,20 +80437,20 @@ public: }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t movement_speed_percent_bonus; // 0x1140 - int32_t bonus_strength; // 0x1144 - int32_t hp_regen_amp; // 0x1148 - int32_t status_resistance; // 0x114c - int32_t bonus_intellect; // 0x1150 - int32_t spell_amp; // 0x1154 - int32_t mana_regen_multiplier; // 0x1158 - int32_t magic_damage_attack; // 0x115c + int32_t bonus_agility; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t movement_speed_percent_bonus; // 0x11c0 + int32_t bonus_strength; // 0x11c4 + int32_t hp_regen_amp; // 0x11c8 + int32_t status_resistance; // 0x11cc + int32_t bonus_intellect; // 0x11d0 + int32_t spell_amp; // 0x11d4 + int32_t mana_regen_multiplier; // 0x11d8 + int32_t magic_damage_attack; // 0x11dc }; // Alignment: 0 @@ -79219,21 +80470,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_intellect; // 0x113c + int32_t bonus_strength; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: - int32_t hp_bonus; // 0x1138 - int32_t damage_bonus; // 0x113c + int32_t hp_bonus; // 0x11b8 + int32_t damage_bonus; // 0x11bc }; // Alignment: 0 @@ -79253,35 +80504,35 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t bonus_intellect; // 0x113c - float bonus_health_regen; // 0x1140 - float bonus_mana_regen; // 0x1144 - float blink_damage_cooldown; // 0x1148 + int32_t bonus_strength; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float bonus_health_regen; // 0x11c0 + float bonus_mana_regen; // 0x11c4 + float blink_damage_cooldown; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: - int32_t burn_dps_buildings; // 0x1138 - int32_t burn_dps_units; // 0x113c - float burn_interval; // 0x1140 + int32_t burn_dps_buildings; // 0x11b8 + int32_t burn_dps_units; // 0x11bc + float burn_interval; // 0x11c0 }; // Alignment: 0 @@ -79306,12 +80557,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_ms; // 0x113c + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_ms; // 0x11bc }; // Alignment: 0 @@ -79347,11 +80598,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 0 @@ -79371,12 +80622,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_movement_speed; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_movement_speed; // 0x11bc }; // Alignment: 0 @@ -79396,15 +80647,15 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_lifesteal; // 0x113c - int32_t bonus_spell_lifesteal; // 0x1140 - int32_t bonus_amp; // 0x1144 - int32_t creep_lifesteal_reduction_pct; // 0x1148 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_lifesteal; // 0x11bc + int32_t bonus_spell_lifesteal; // 0x11c0 + int32_t bonus_amp; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 }; // Alignment: 0 @@ -79424,19 +80675,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: - int32_t model_scale; // 0x1138 + int32_t model_scale; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 0 @@ -79456,26 +80707,26 @@ public: }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: - float duration; // 0x1138 + float duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 - int32_t slow_melee; // 0x113c - int32_t slow_range; // 0x1140 - bool bCasterRanged; // 0x1144 + int32_t armor_reduction; // 0x11b8 + int32_t slow_melee; // 0x11bc + int32_t slow_range; // 0x11c0 + bool bCasterRanged; // 0x11c4 }; // Alignment: 0 @@ -79495,13 +80746,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 - int32_t bonus_armor; // 0x113c - int32_t demolish; // 0x1140 + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_armor; // 0x11bc + int32_t demolish; // 0x11c0 }; // Alignment: 0 @@ -79521,12 +80772,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t bonus_intelligence; // 0x113c + int32_t bonus_armor; // 0x11b8 + int32_t bonus_intelligence; // 0x11bc }; // Alignment: 0 @@ -79546,13 +80797,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: - int32_t base_attack_damage; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t status_resistance; // 0x1140 + int32_t base_attack_damage; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t status_resistance; // 0x11c0 }; // Alignment: 0 @@ -79564,11 +80815,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: - float spell_lifesteal; // 0x1138 + float spell_lifesteal; // 0x11b8 }; // Alignment: 0 @@ -79580,11 +80831,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 0 @@ -79604,28 +80855,28 @@ public: }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_armor; // 0x1140 - float slow_duration; // 0x1144 - int32_t projectile_speed; // 0x1148 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float slow_duration; // 0x11c4 + int32_t projectile_speed; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x4]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x4]; // 0x11cc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 - float int_damage_multiplier; // 0x113c + int32_t slow; // 0x11b8 + float int_damage_multiplier; // 0x11bc }; // Alignment: 0 @@ -79645,23 +80896,23 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float bonus_armor; // 0x113c - int32_t spell_lifesteal; // 0x1140 + int32_t bonus_strength; // 0x11b8 + float bonus_armor; // 0x11bc + int32_t spell_lifesteal; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: - int32_t berserk_spell_amp; // 0x1138 - int32_t berserk_manacost_reduction; // 0x113c - int32_t berserk_magic_resistance; // 0x1140 + int32_t berserk_spell_amp; // 0x11b8 + int32_t berserk_manacost_reduction; // 0x11bc + int32_t berserk_magic_resistance; // 0x11c0 }; // Alignment: 0 @@ -79681,13 +80932,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: - float hp_regen; // 0x1138 - int32_t damage_return_hero; // 0x113c - int32_t damage_return_creep; // 0x1140 + float hp_regen; // 0x11b8 + int32_t damage_return_hero; // 0x11bc + int32_t damage_return_creep; // 0x11c0 }; // Alignment: 0 @@ -79707,22 +80958,22 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: - int32_t armor; // 0x1138 - int32_t magic_resistance; // 0x113c - int32_t radius; // 0x1140 + int32_t armor; // 0x11b8 + int32_t magic_resistance; // 0x11bc + int32_t radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t damage_illusions; // 0x113c + int32_t damage; // 0x11b8 + int32_t damage_illusions; // 0x11bc }; // Alignment: 0 @@ -79742,13 +80993,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x1138 - int32_t evasion; // 0x113c - int32_t movment; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t evasion; // 0x11bc + int32_t movment; // 0x11c0 }; // Alignment: 0 @@ -79768,11 +81019,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: - int32_t attack_speed; // 0x1138 + int32_t attack_speed; // 0x11b8 }; // Alignment: 0 @@ -79792,28 +81043,28 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: - int32_t health_bonus; // 0x1138 - float duration; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t health_bonus; // 0x11b8 + float duration; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: - int32_t armor; // 0x1138 - int32_t slow_melee; // 0x113c - int32_t slow_range; // 0x1140 - bool bCasterRanged; // 0x1144 + int32_t armor; // 0x11b8 + int32_t slow_melee; // 0x11bc + int32_t slow_range; // 0x11c0 + bool bCasterRanged; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t damage; // 0x1148 + int32_t damage; // 0x11c8 }; // Alignment: 0 @@ -79833,12 +81084,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: - int32_t mana_regen_amp; // 0x1138 - int32_t spell_amp_creeps; // 0x113c + int32_t mana_regen_amp; // 0x11b8 + int32_t spell_amp_creeps; // 0x11bc }; // Alignment: 0 @@ -79858,17 +81109,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: - int32_t evasion; // 0x1138 - int32_t magic_resistance; // 0x113c - float debuff_limit; // 0x1140 + int32_t evasion; // 0x11b8 + int32_t magic_resistance; // 0x11bc + float debuff_limit; // 0x11c0 }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: @@ -79892,26 +81143,26 @@ public: }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x1138 - int32_t debuff_amp; // 0x113c - float duration; // 0x1140 + int32_t primary_attribute; // 0x11b8 + int32_t debuff_amp; // 0x11bc + float duration; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t degen; // 0x113c + int32_t damage; // 0x11b8 + int32_t degen; // 0x11bc }; // Alignment: 0 @@ -79931,12 +81182,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: - int32_t debuff_amp; // 0x1138 - int32_t cooldown_reduction; // 0x113c + int32_t debuff_amp; // 0x11b8 + int32_t cooldown_reduction; // 0x11bc }; // Alignment: 0 @@ -79956,7 +81207,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: @@ -79964,13 +81215,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t armor; // 0x113c - int32_t movement_speed; // 0x1140 + int32_t damage; // 0x11b8 + int32_t armor; // 0x11bc + int32_t movement_speed; // 0x11c0 }; // Alignment: 0 @@ -79990,12 +81241,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: - int32_t primary_attribute; // 0x1138 - int32_t lifesteal; // 0x113c + int32_t primary_attribute; // 0x11b8 + int32_t lifesteal; // 0x11bc }; // Alignment: 0 @@ -80007,21 +81258,21 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - int32_t debuff_duration; // 0x1150 - int32_t bonus_attack_speed; // 0x1154 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + int32_t debuff_duration; // 0x11d0 + int32_t bonus_attack_speed; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: - int32_t armor_debuff; // 0x1138 + int32_t armor_debuff; // 0x11b8 }; // Alignment: 0 @@ -80033,20 +81284,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float hp_regen; // 0x113c + int32_t bonus_health; // 0x11b8 + float hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 0 @@ -80058,13 +81309,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: - int32_t base_gold; // 0x1138 - int32_t gold_per_level; // 0x113c - int32_t strength_penalty; // 0x1140 + int32_t base_gold; // 0x11b8 + int32_t gold_per_level; // 0x11bc + int32_t strength_penalty; // 0x11c0 }; // Alignment: 0 @@ -80076,27 +81327,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: - float move_speed; // 0x1138 + float move_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: - int32_t status_resistance; // 0x1138 + int32_t status_resistance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -80108,22 +81359,22 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: - int32_t bonus_armor; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - float blind_duration; // 0x1144 + int32_t bonus_armor; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + float blind_duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: - float blind_pct; // 0x1138 + float blind_pct; // 0x11b8 }; // Alignment: 0 @@ -80135,20 +81386,20 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: - int32_t bonus_int; // 0x1138 + int32_t bonus_int; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: - int32_t health_per_tree; // 0x1138 - int32_t hp_bonus; // 0x113c + int32_t health_per_tree; // 0x11b8 + int32_t hp_bonus; // 0x11bc }; // Alignment: 0 @@ -80160,27 +81411,27 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: - float damage; // 0x1138 - int32_t attack_speed; // 0x113c + float damage; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - float bat; // 0x113c - float stun_duration; // 0x1140 - int32_t stun_chance; // 0x1144 - int32_t m_nAttack; // 0x1148 + float bat; // 0x11bc + float stun_duration; // 0x11c0 + int32_t stun_chance; // 0x11c4 + int32_t m_nAttack; // 0x11c8 }; // Alignment: 0 @@ -80192,7 +81443,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: @@ -80216,20 +81467,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - float hp_regen; // 0x113c + int32_t bonus_health; // 0x11b8 + float hp_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 0 @@ -80241,36 +81492,36 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t bonus_intellect; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t bonus_intellect; // 0x11c0 }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t leap_distance; // 0x1164 - float leap_speed; // 0x1168 - float leap_acceleration; // 0x116c - int32_t leap_radius; // 0x1170 - float leap_bonus_duration; // 0x1174 - bool m_bLaunched; // 0x1178 + int32_t leap_distance; // 0x11e4 + float leap_speed; // 0x11e8 + float leap_acceleration; // 0x11ec + int32_t leap_radius; // 0x11f0 + float leap_bonus_duration; // 0x11f4 + bool m_bLaunched; // 0x11f8 }; // Alignment: 0 @@ -80282,19 +81533,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: - int32_t movespeed; // 0x1138 + int32_t movespeed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: - int32_t dps; // 0x1138 + int32_t dps; // 0x11b8 }; // Alignment: 0 @@ -80306,15 +81557,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 + int32_t all_stats; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: @@ -80330,24 +81581,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: - int32_t health_penalty; // 0x1138 - int32_t attack_speed; // 0x113c + int32_t health_penalty; // 0x11b8 + int32_t attack_speed; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: - int32_t bonus_aoe_radius; // 0x1138 + int32_t bonus_aoe_radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: @@ -80355,30 +81606,30 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: - bool m_bAppliesToCreeps; // 0x1138 + bool m_bAppliesToCreeps; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - int32_t bonus_aoe_radius; // 0x113c - int32_t self_armor; // 0x1140 - int32_t self_mres; // 0x1144 + int32_t bonus_aoe_radius; // 0x11bc + int32_t self_armor; // 0x11c0 + int32_t self_mres; // 0x11c4 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: - float bonus_aoe_armor; // 0x1138 - float bonus_aoe_ms; // 0x113c - float bonus_aoe_mres; // 0x1140 - float self_mres; // 0x1144 - float self_armor; // 0x1148 - int32_t active_reflection_pct; // 0x114c + float bonus_aoe_armor; // 0x11b8 + float bonus_aoe_ms; // 0x11bc + float bonus_aoe_mres; // 0x11c0 + float self_mres; // 0x11c4 + float self_armor; // 0x11c8 + int32_t active_reflection_pct; // 0x11cc }; // Alignment: 0 @@ -80398,14 +81649,14 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t missing_hp; // 0x113c - int32_t damage; // 0x1140 - int32_t aspd; // 0x1144 + int32_t bonus_damage; // 0x11b8 + int32_t missing_hp; // 0x11bc + int32_t damage; // 0x11c0 + int32_t aspd; // 0x11c4 }; // Alignment: 0 @@ -80425,13 +81676,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: - int32_t damage; // 0x1138 - int32_t hp_regen; // 0x113c - int32_t mana_regen_amp; // 0x1140 + int32_t damage; // 0x11b8 + int32_t hp_regen; // 0x11bc + int32_t mana_regen_amp; // 0x11c0 }; // Alignment: 0 @@ -80451,21 +81702,21 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: - int32_t strength; // 0x1138 + int32_t strength; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: - int32_t heal; // 0x1138 - float duration; // 0x113c - float regen; // 0x1140 + int32_t heal; // 0x11b8 + float duration; // 0x11bc + float regen; // 0x11c0 }; // Alignment: 0 @@ -80484,25 +81735,27 @@ public: // No members available }; -// Alignment: 6 -// Size: 0x1150 +// Alignment: 8 +// Size: 0x11d8 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: - GameTime_t m_flNextHit; // 0x1138 - int32_t range; // 0x113c - float interval; // 0x1140 - int32_t damage; // 0x1144 - float slow_duration; // 0x1148 - float bonus_mana_regen; // 0x114c + GameTime_t m_flNextHit; // 0x11b8 + int32_t passive_movement_bonus; // 0x11bc + int32_t range; // 0x11c0 + float interval; // 0x11c4 + int32_t damage; // 0x11c8 + float slow_duration; // 0x11cc + float bonus_mana_regen; // 0x11d0 + int32_t max_targets; // 0x11d4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -80523,12 +81776,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc }; // Alignment: 0 @@ -80548,13 +81801,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t spell_amp; // 0x113c - int32_t manacost_reduction; // 0x1140 + int32_t bonus_health; // 0x11b8 + int32_t spell_amp; // 0x11bc + int32_t manacost_reduction; // 0x11c0 }; // Alignment: 0 @@ -80574,26 +81827,26 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item { public: - int32_t poison_movement_speed_melee; // 0x1138 - int32_t poison_movement_speed_range; // 0x113c - float poison_duration; // 0x1140 - float poison_damage; // 0x1144 - int32_t armor; // 0x1148 - float hp_regen; // 0x114c + int32_t poison_movement_speed_melee; // 0x11b8 + int32_t poison_movement_speed_range; // 0x11bc + float poison_duration; // 0x11c0 + float poison_damage; // 0x11c4 + int32_t armor; // 0x11c8 + float hp_regen; // 0x11cc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t slow; // 0x113c - float damage; // 0x1140 + float duration; // 0x11b8 + int32_t slow; // 0x11bc + float damage; // 0x11c0 }; // Alignment: 0 @@ -80613,11 +81866,11 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 0 @@ -80637,16 +81890,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_damage_per_kill; // 0x113c - int32_t bonus_damage_per_assist; // 0x1140 - int32_t bonus_health; // 0x1144 - int32_t max_damage; // 0x1148 - float bonus_mana_regen; // 0x114c + int32_t bonus_damage; // 0x11b8 + int32_t bonus_damage_per_kill; // 0x11bc + int32_t bonus_damage_per_assist; // 0x11c0 + int32_t bonus_health; // 0x11c4 + int32_t max_damage; // 0x11c8 + float bonus_mana_regen; // 0x11cc }; // Alignment: 0 @@ -80666,24 +81919,24 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: - int32_t bonus_magical_armor; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - float duration; // 0x1144 - float bonus_mana_regen; // 0x1148 - int32_t bonus_intellect; // 0x114c + int32_t bonus_magical_armor; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + float duration; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + int32_t bonus_intellect; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: - int32_t spell_amp_debuff; // 0x1138 + int32_t spell_amp_debuff; // 0x11b8 }; // Alignment: 0 @@ -80711,16 +81964,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - float blink_damage_cooldown; // 0x113c + int32_t bonus_strength; // 0x11b8 + float blink_damage_cooldown; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: @@ -80728,12 +81981,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t attack_slow; // 0x113c + int32_t movement_slow; // 0x11b8 + int32_t attack_slow; // 0x11bc }; // Alignment: 0 @@ -80761,16 +82014,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 - int32_t bonus_agility; // 0x113c + float blink_damage_cooldown; // 0x11b8 + int32_t bonus_agility; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: @@ -80778,12 +82031,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: - int32_t bonus_movement; // 0x1138 - int32_t bonus_agi_active; // 0x113c + int32_t bonus_movement; // 0x11b8 + int32_t bonus_agi_active; // 0x11bc }; // Alignment: 0 @@ -80811,16 +82064,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: - float blink_damage_cooldown; // 0x1138 - int32_t bonus_intellect; // 0x113c + float blink_damage_cooldown; // 0x11b8 + int32_t bonus_intellect; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: @@ -80828,13 +82081,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: - int32_t cast_pct_improvement; // 0x1138 - int32_t manacost_reduction; // 0x113c - int32_t debuff_amp; // 0x1140 + int32_t cast_pct_improvement; // 0x11b8 + int32_t manacost_reduction; // 0x11bc + int32_t debuff_amp; // 0x11c0 }; // Alignment: 0 @@ -80854,32 +82107,32 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t bonus_movement_speed; // 0x1140 - int32_t bonus_mana; // 0x1144 - int32_t cast_range_bonus; // 0x1148 + int32_t bonus_intellect; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_movement_speed; // 0x11c0 + int32_t bonus_mana; // 0x11c4 + int32_t cast_range_bonus; // 0x11c8 }; // Alignment: 6 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hBlocker; // 0x1138 - GameTime_t m_flStartTime; // 0x113c - Vector m_vStartPos; // 0x1140 - float m_flCurTime; // 0x114c - float m_flHeightT; // 0x1150 - Vector m_vMoveToPos; // 0x1154 + CHandle< CBaseEntity > m_hBlocker; // 0x11b8 + GameTime_t m_flStartTime; // 0x11bc + Vector m_vStartPos; // 0x11c0 + float m_flCurTime; // 0x11cc + float m_flHeightT; // 0x11d0 + Vector m_vMoveToPos; // 0x11d4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: @@ -80903,7 +82156,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: @@ -80926,22 +82179,25 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc }; -// Alignment: 3 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: - int32_t bonus_spell_resist; // 0x1138 - float bonus_health_regen; // 0x113c - float spell_lifesteal; // 0x1140 + int32_t bonus_spell_resist; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_armor; // 0x11c0 + float bonus_health_regen; // 0x11c4 + int32_t mana_restore_pct; // 0x11c8 }; // Alignment: 0 @@ -80961,16 +82217,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: - int32_t movement_speed_pct; // 0x1138 - float bonus_mana_regen; // 0x113c - int32_t cleave_damage_percent; // 0x1140 - int32_t cleave_starting_width; // 0x1144 - int32_t cleave_ending_width; // 0x1148 - int32_t cleave_distance; // 0x114c + int32_t movement_speed_pct; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t cleave_damage_percent; // 0x11c0 + int32_t cleave_starting_width; // 0x11c4 + int32_t cleave_ending_width; // 0x11c8 + int32_t cleave_distance; // 0x11cc }; // Alignment: 0 @@ -80990,23 +82246,23 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: - int32_t damage; // 0x1138 - int32_t maim_chance; // 0x113c - float maim_duration; // 0x1140 - int32_t melee_attack_range; // 0x1144 + int32_t damage; // 0x11b8 + int32_t maim_chance; // 0x11bc + float maim_duration; // 0x11c0 + int32_t melee_attack_range; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: - int32_t maim_slow_movement; // 0x1138 - int32_t maim_slow_attack; // 0x113c + int32_t maim_slow_movement; // 0x11b8 + int32_t maim_slow_attack; // 0x11bc }; // Alignment: 0 @@ -81026,42 +82282,42 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_GungirChain : public CDOTA_Buff { public: - int32_t chain_radius; // 0x1138 - int32_t chain_strikes; // 0x113c - int32_t chain_damage; // 0x1140 - float chain_delay; // 0x1144 - int32_t m_iCurJumpCount; // 0x1148 - Vector m_vCurTargetLoc; // 0x114c - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + int32_t chain_radius; // 0x11b8 + int32_t chain_strikes; // 0x11bc + int32_t chain_damage; // 0x11c0 + float chain_delay; // 0x11c4 + int32_t m_iCurJumpCount; // 0x11c8 + Vector m_vCurTargetLoc; // 0x11cc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: - int32_t bonus_damage; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t bonus_agility; // 0x1140 - int32_t bonus_intellect; // 0x1144 - int32_t chain_chance; // 0x1148 - int32_t chain_strikes; // 0x114c - int32_t chain_damage; // 0x1150 - int32_t chain_radius; // 0x1154 - float chain_cooldown; // 0x1158 + int32_t bonus_damage; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t bonus_agility; // 0x11c0 + int32_t bonus_intellect; // 0x11c4 + int32_t chain_chance; // 0x11c8 + int32_t chain_strikes; // 0x11cc + int32_t chain_damage; // 0x11d0 + int32_t chain_radius; // 0x11d4 + float chain_cooldown; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad115c[0x4]; // 0x115c + [[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1160 - CountdownTimer m_ChainTimer; // 0x1178 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0 + CountdownTimer m_ChainTimer; // 0x11f8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: @@ -81086,24 +82342,24 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - float bonus_mana_regen; // 0x1140 - int32_t cast_range_bonus; // 0x1144 - int32_t bonus_magical_armor; // 0x1148 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + float bonus_mana_regen; // 0x11c0 + int32_t cast_range_bonus; // 0x11c4 + int32_t bonus_magical_armor; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: - int32_t movespeed; // 0x1138 - bool m_bCastOnInvisibleHero; // 0x113c + int32_t movespeed; // 0x11b8 + bool m_bCastOnInvisibleHero; // 0x11bc }; // Alignment: 0 @@ -81115,12 +82371,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t xp_gain; // 0x113c + int32_t bonus_all_stats; // 0x11b8 + int32_t xp_gain; // 0x11bc }; // Alignment: 0 @@ -81132,29 +82388,29 @@ public: }; // Alignment: 19 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: - int32_t sange_bonus_strength; // 0x1138 - int32_t sange_status_resistance; // 0x113c - int32_t sange_hp_regen_amp; // 0x1140 - int32_t kaya_bonus_intellect; // 0x1144 - int32_t kaya_spell_amp; // 0x1148 - int32_t kaya_mana_regen_multiplier; // 0x114c - int32_t kaya_magic_damage_attack; // 0x1150 - int32_t yasha_bonus_agility; // 0x1154 - int32_t yasha_bonus_attack_speed; // 0x1158 - int32_t yasha_movement_speed_percent_bonus; // 0x115c - int32_t m_iCurrentStance; // 0x1160 - int32_t bonus_strength; // 0x1164 - int32_t bash_chance_melee; // 0x1168 - int32_t bash_chance_ranged; // 0x116c - float bash_duration; // 0x1170 - float bash_cooldown; // 0x1174 - int32_t bonus_chance_damage; // 0x1178 - int32_t bonus_damage; // 0x117c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1180 + int32_t sange_bonus_strength; // 0x11b8 + int32_t sange_status_resistance; // 0x11bc + int32_t sange_hp_regen_amp; // 0x11c0 + int32_t kaya_bonus_intellect; // 0x11c4 + int32_t kaya_spell_amp; // 0x11c8 + int32_t kaya_mana_regen_multiplier; // 0x11cc + int32_t kaya_magic_damage_attack; // 0x11d0 + int32_t yasha_bonus_agility; // 0x11d4 + int32_t yasha_bonus_attack_speed; // 0x11d8 + int32_t yasha_movement_speed_percent_bonus; // 0x11dc + int32_t m_iCurrentStance; // 0x11e0 + int32_t bonus_strength; // 0x11e4 + int32_t bash_chance_melee; // 0x11e8 + int32_t bash_chance_ranged; // 0x11ec + float bash_duration; // 0x11f0 + float bash_cooldown; // 0x11f4 + int32_t bonus_chance_damage; // 0x11f8 + int32_t bonus_damage; // 0x11fc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 1 @@ -81168,27 +82424,27 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: - int32_t agi_stance; // 0x1138 + int32_t agi_stance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: - int32_t str_stance; // 0x1138 + int32_t str_stance; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: - int32_t int_stance; // 0x1138 + int32_t int_stance; // 0x11b8 }; // Alignment: 0 @@ -81208,19 +82464,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 0 @@ -81240,24 +82496,24 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: - int32_t intelligence_pct; // 0x1138 - int32_t cast_range; // 0x113c + int32_t intelligence_pct; // 0x11b8 + int32_t cast_range; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - int32_t push_length; // 0x114c - float push_duration; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + int32_t push_length; // 0x11cc + float push_duration; // 0x11d0 }; // Alignment: 0 @@ -81277,21 +82533,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t aura_radius; // 0x113c + int32_t bonus_mana; // 0x11b8 + int32_t aura_radius; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: - int32_t status_resistance; // 0x1138 - int32_t magic_resistance; // 0x113c + int32_t status_resistance; // 0x11b8 + int32_t magic_resistance; // 0x11bc }; // Alignment: 0 @@ -81311,16 +82567,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t night_vision; // 0x113c + int32_t bonus_all_stats; // 0x11b8 + int32_t night_vision; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: @@ -81344,16 +82600,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t model_scale; // 0x1140 - int32_t damage_radius; // 0x1144 - int32_t pct_str_damage_per_second; // 0x1148 - float tick_rate; // 0x114c + int32_t bonus_strength; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t model_scale; // 0x11c0 + int32_t damage_radius; // 0x11c4 + int32_t pct_str_damage_per_second; // 0x11c8 + float tick_rate; // 0x11cc }; // Alignment: 0 @@ -81373,20 +82629,20 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t damage_return; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t damage_return; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: - bool m_bLeftoverHybrid; // 0x1138 + bool m_bLeftoverHybrid; // 0x11b8 }; // Alignment: 0 @@ -81406,31 +82662,31 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - CHandle< CBaseEntity > m_hTarget; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + int32_t speed; // 0x11b8 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: - int32_t speed; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t speed; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -81450,16 +82706,16 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: - int32_t base_attack; // 0x1138 - int32_t bonus_attack; // 0x113c - int32_t base_movement; // 0x1140 - int32_t bonus_movement; // 0x1144 - int32_t projectile_increase; // 0x1148 - int32_t anim_increase; // 0x114c + int32_t base_attack; // 0x11b8 + int32_t bonus_attack; // 0x11bc + int32_t base_movement; // 0x11c0 + int32_t bonus_movement; // 0x11c4 + int32_t projectile_increase; // 0x11c8 + int32_t anim_increase; // 0x11cc }; // Alignment: 0 @@ -81479,17 +82735,17 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: - int32_t bonus_intellect; // 0x1138 - int32_t bonus_attack_speed; // 0x113c - int32_t bonus_damage; // 0x1140 - int32_t bonus_health; // 0x1144 - float bonus_mana_regen; // 0x1148 - int32_t cooldown_reduction_percent; // 0x114c - int32_t bonus_chance; // 0x1150 + int32_t bonus_intellect; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + int32_t bonus_damage; // 0x11c0 + int32_t bonus_health; // 0x11c4 + float bonus_mana_regen; // 0x11c8 + int32_t cooldown_reduction_percent; // 0x11cc + int32_t bonus_chance; // 0x11d0 }; // Alignment: 0 @@ -81501,28 +82757,28 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 + int32_t bonus_health; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: - int32_t aura_health_regen; // 0x1138 + int32_t aura_health_regen; // 0x11b8 }; // Alignment: 0 @@ -81534,25 +82790,25 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_strength; // 0x113c - int32_t backstab_damage; // 0x1140 - int32_t backstab_angle; // 0x1144 - float slow_duration; // 0x1148 - bool m_bBackstab; // 0x114c + int32_t bonus_mana; // 0x11b8 + int32_t bonus_strength; // 0x11bc + int32_t backstab_damage; // 0x11c0 + int32_t backstab_angle; // 0x11c4 + float slow_duration; // 0x11c8 + bool m_bBackstab; // 0x11cc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: - int32_t slow_pct_melee; // 0x1138 - int32_t slow_pct_ranged; // 0x113c + int32_t slow_pct_melee; // 0x11b8 + int32_t slow_pct_ranged; // 0x11bc }; // Alignment: 0 @@ -81563,23 +82819,24 @@ public: // No members available }; -// Alignment: 4 -// Size: 0x1148 +// Alignment: 5 +// Size: 0x11d0 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: - int32_t bonus_all_stats; // 0x1138 - int32_t stack_limit; // 0x113c - float stack_duration; // 0x1140 - GameTime_t m_flStackDieTime; // 0x1144 + int32_t bonus_all_stats; // 0x11b8 + int32_t stack_limit; // 0x11bc + float stack_duration; // 0x11c0 + GameTime_t m_flStackDieTime; // 0x11c4 + int32_t magic_resistance; // 0x11c8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: - float mana_regen; // 0x1138 + float mana_regen; // 0x11b8 }; // Alignment: 0 @@ -81591,13 +82848,13 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: - int32_t bonus_mana; // 0x1138 - int32_t bonus_xpm; // 0x113c - int32_t bonus_armor; // 0x1140 + int32_t bonus_mana; // 0x11b8 + int32_t bonus_xpm; // 0x11bc + int32_t bonus_armor; // 0x11c0 }; // Alignment: 0 @@ -81609,43 +82866,43 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nCurrentBounce; // 0x1164 - int32_t leap_distance; // 0x1168 - float leap_speed; // 0x116c - float leap_acceleration; // 0x1170 - int32_t leap_radius; // 0x1174 - float leap_bonus_duration; // 0x1178 - bool m_bLaunched; // 0x117c + int32_t m_nCurrentBounce; // 0x11e4 + int32_t leap_distance; // 0x11e8 + float leap_speed; // 0x11ec + float leap_acceleration; // 0x11f0 + int32_t leap_radius; // 0x11f4 + float leap_bonus_duration; // 0x11f8 + bool m_bLaunched; // 0x11fc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 @@ -81657,23 +82914,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: - int32_t heal_increase; // 0x1138 + int32_t heal_increase; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - float interval; // 0x113c - int32_t damage_reduction; // 0x1140 - int32_t heal; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t movement_speed; // 0x11b8 + float interval; // 0x11bc + int32_t damage_reduction; // 0x11c0 + int32_t heal; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 0 @@ -81685,36 +82942,44 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: - int32_t health_regen; // 0x1138 + int32_t health_regen; // 0x11b8 }; // Alignment: 8 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - CountdownTimer m_ViewerTimer; // 0x1158 - int32_t spill_speed; // 0x1170 - int32_t spill_radius; // 0x1174 - int32_t spill_damage; // 0x1178 - float spill_debuff_duration; // 0x117c + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + CountdownTimer m_ViewerTimer; // 0x11d8 + int32_t spill_speed; // 0x11f0 + int32_t spill_radius; // 0x11f4 + int32_t spill_damage; // 0x11f8 + float spill_debuff_duration; // 0x11fc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: - int32_t spill_movement_speed; // 0x1138 - int32_t spill_attack_speed; // 0x113c - int32_t spill_self_bonus_armor; // 0x1140 + int32_t spill_movement_speed; // 0x11b8 + int32_t spill_attack_speed; // 0x11bc + int32_t spill_self_bonus_armor; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Harpoon : public CDOTA_Item +{ +public: + // No members available }; // Alignment: 0 @@ -81725,35 +82990,62 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x1160 +// Alignment: 10 +// Size: 0x11f8 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: - int32_t crit_multiplier; // 0x1138 - float duration; // 0x113c - int32_t attack_range_bonus; // 0x1140 - int32_t bonus_damage; // 0x1144 - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1148 + int32_t bonus_chance; // 0x11b8 + int32_t bonus_chance_damage; // 0x11bc + int32_t bonus_strength; // 0x11c0 + int32_t bonus_agility; // 0x11c4 + int32_t bonus_intellect; // 0x11c8 + float bonus_mana_regen; // 0x11cc + int32_t bonus_damage; // 0x11d0 + int32_t bonus_speed; // 0x11d4 + CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x11d8 + int32_t m_nBonusProcAttackRecord; // 0x11f0 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item +{ +public: + float slow_duration; // 0x11b8 + int32_t bonus_attack_speed; // 0x11bc + bool bonus_speed; // 0x11c0 +private: + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 +public: + float passive_cooldown; // 0x11c4 +}; + +// Alignment: 4 +// Size: 0x11d0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - float m_flDistance; // 0x114c + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + float m_flDistance; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x11b8 +class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff +{ +public: + // No members available }; // Alignment: 0 @@ -81764,20 +83056,23 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x1140 +// Alignment: 4 +// Size: 0x11c8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 + int32_t all_stats; // 0x11b8 + int32_t bonus_armor; // 0x11bc + float counter_cooldown; // 0x11c0 + GameTime_t m_flLastCounterTime; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 + ParticleIndex_t m_nFXIndex; // 0x11b8 }; // Alignment: 1 @@ -81789,16 +83084,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: - int32_t vision_bonus; // 0x1138 - int32_t magic_resist; // 0x113c + int32_t vision_bonus; // 0x11b8 + int32_t magic_resist; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: @@ -81806,12 +83101,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: - int32_t scout_movespeed; // 0x1138 - int32_t sight_range; // 0x113c + int32_t scout_movespeed; // 0x11b8 + int32_t sight_range; // 0x11bc }; // Alignment: 1 @@ -81823,19 +83118,19 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: - int32_t length; // 0x1138 - int32_t width; // 0x113c - int32_t max_hits; // 0x1140 - int32_t m_iCurrentHits; // 0x1144 - int32_t m_hObstruction; // 0x1148 + int32_t length; // 0x11b8 + int32_t width; // 0x11bc + int32_t max_hits; // 0x11c0 + int32_t m_iCurrentHits; // 0x11c4 + int32_t m_hObstruction; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: @@ -81843,12 +83138,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_armor; // 0x113c + int32_t bonus_health; // 0x11b8 + int32_t bonus_armor; // 0x11bc }; // Alignment: 0 @@ -81860,12 +83155,12 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: - int32_t cast_range_bonus; // 0x1138 - int32_t mana_reduction_pct; // 0x113c + int32_t cast_range_bonus; // 0x11b8 + int32_t mana_reduction_pct; // 0x11bc }; // Alignment: 0 @@ -81877,23 +83172,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: - int32_t bonus_strength; // 0x1138 + int32_t bonus_strength; // 0x11b8 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hPartner; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c - float leash_distance; // 0x1140 - float leash_limit_multiplier; // 0x1144 - CHandle< CBaseEntity > m_hAnchor; // 0x1148 + CHandle< CBaseEntity > m_hPartner; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc + float leash_distance; // 0x11c0 + float leash_limit_multiplier; // 0x11c4 + CHandle< CBaseEntity > m_hAnchor; // 0x11c8 }; // Alignment: 3 @@ -81909,27 +83204,27 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: - int32_t health; // 0x1138 - int32_t mana; // 0x113c + int32_t health; // 0x11b8 + int32_t mana; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: - int32_t max_charges_per_kill; // 0x1138 - float recharge_time; // 0x113c - bool m_bFull; // 0x1140 + int32_t max_charges_per_kill; // 0x11b8 + float recharge_time; // 0x11bc + bool m_bFull; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 + [[maybe_unused]] uint8_t __pad11c1[0x3]; // 0x11c1 public: - int32_t bonus_intellect; // 0x1144 - int32_t movement_speed; // 0x1148 + int32_t bonus_intellect; // 0x11c4 + int32_t movement_speed; // 0x11c8 }; // Alignment: 0 @@ -81941,21 +83236,21 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t cast_range_bonus; // 0x113c + int32_t all_stats; // 0x11b8 + int32_t cast_range_bonus; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 0 @@ -81967,13 +83262,13 @@ public: }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: - int32_t all_stats; // 0x1138 - int32_t bonus_damage; // 0x113c - int32_t count; // 0x1140 + int32_t all_stats; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t count; // 0x11c0 }; // Alignment: 0 @@ -81985,19 +83280,19 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: - int32_t aspd; // 0x1138 + int32_t aspd; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: - int32_t bonus_damage; // 0x1138 + int32_t bonus_damage; // 0x11b8 }; // Alignment: 0 @@ -82017,66 +83312,31 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: - float bonus_health_regen; // 0x1138 - int32_t bonus_mana_regen; // 0x113c - int32_t bonus_spell_resist; // 0x1140 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff -{ -public: - int32_t barrier_block; // 0x1138 + int32_t bonus_health; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t bonus_spell_resist; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff +{ +public: + int32_t barrier_block; // 0x11b8 + int32_t barrier_amount; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: - int32_t barrier_block; // 0x1138 - float m_flDamageTotal; // 0x113c -}; - -// Alignment: 0 -// Size: 0x5f8 -class CDOTA_Item_Recipe_Phylactery : public CDOTA_Item -{ -public: - // No members available -}; - -// Alignment: 0 -// Size: 0x5f8 -class CDOTA_Item_Phylactery : public CDOTA_Item -{ -public: - // No members available -}; - -// Alignment: 5 -// Size: 0x1150 -class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item -{ -public: - float bonus_health_regen; // 0x1138 - float bonus_mana_regen; // 0x113c - float spell_lifesteal; // 0x1140 - int32_t bonus_spell_damage; // 0x1144 - float slow_duration; // 0x1148 -}; - -// Alignment: 1 -// Size: 0x1140 -class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff -{ -public: - int32_t slow; // 0x1138 + int32_t barrier_block; // 0x11b8 + float m_flDamageTotal; // 0x11bc }; // Alignment: 0 @@ -82096,34 +83356,267 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item { public: - int32_t bonus_agility; // 0x1138 - int32_t bonus_intellect; // 0x113c - float damage_per_burn; // 0x1140 - int32_t feedback_mana_burn; // 0x1144 - int32_t feedback_mana_burn_illusion_melee; // 0x1148 - int32_t feedback_mana_burn_illusion_ranged; // 0x114c - int32_t aura_radius; // 0x1150 + int32_t bonus_agility; // 0x11b8 + int32_t bonus_intellect; // 0x11bc + float damage_per_burn; // 0x11c0 + int32_t feedback_mana_burn; // 0x11c4 + int32_t feedback_mana_burn_illusion_melee; // 0x11c8 + int32_t feedback_mana_burn_illusion_ranged; // 0x11cc + int32_t aura_radius; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: - int32_t max_slow_pct; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t max_slow_pct; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Recipe_Witches_Switch : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Witches_Switch : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item +{ +public: + float bonus_health_regen; // 0x11b8 + float bonus_mana_regen; // 0x11bc + int32_t bonus_armor; // 0x11c0 + int32_t aura_radius; // 0x11c4 +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff +{ +public: + float aura_mana_regen; // 0x11b8 + float aura_health_regen; // 0x11bc + int32_t aura_armor; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Spark_Of_Courage : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0x11c8 +class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item +{ +public: + int32_t damage; // 0x11b8 + int32_t armor; // 0x11bc + int32_t health_pct; // 0x11c0 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_VindicatorsAxe : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + int32_t bonus_armor; // 0x11c0 + ParticleIndex_t m_nFxIndex; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_DandelionAmulet : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item +{ +public: + int32_t move_speed; // 0x11b8 + int32_t mana; // 0x11bc + int32_t magic_block; // 0x11c0 + int32_t min_damage; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_BlightedSpirit : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item +{ +public: + int32_t magic_resist; // 0x11b8 + float duration; // 0x11bc +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff +{ +public: + int32_t damage_per_second; // 0x11b8 + int32_t heal_reduction; // 0x11bc +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_DuelistGloves : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 4 +// Size: 0x11c8 +class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item +{ +public: + int32_t bonus_attack_speed; // 0x11b8 + int32_t bonus_damage; // 0x11bc + float radius; // 0x11c0 + int32_t actual_attack_speed; // 0x11c4 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_HorizonsEquilibrium : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item +{ +public: + int32_t distance; // 0x11b8 + int32_t damage_reduction; // 0x11bc + int32_t attack_lifesteal; // 0x11c0 + int32_t spell_lifesteal; // 0x11c4 + int32_t creep_lifesteal_reduction_pct; // 0x11c8 +}; + +// Alignment: 1 +// Size: 0x600 +class CDOTA_Item_TurtleShell : public CDOTA_Item +{ +public: + float duration; // 0x5f8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item +{ +public: + int32_t armor; // 0x11b8 +}; + +// Alignment: 3 +// Size: 0x11d0 +class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item +{ +public: + int32_t damage_reduction; // 0x11b8 + Vector m_vecPosition; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c8 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_MartyrsPlate : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item +{ +public: + float duration; // 0x11b8 + int32_t magic_resist; // 0x11bc +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item +{ +public: + int32_t aura_radius; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item +{ +public: + int32_t damage_redirection; // 0x11b8 +}; + +// Alignment: 0 +// Size: 0x5f8 +class CDOTA_Item_Gossamer_Cape : public CDOTA_Item +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item +{ +public: + float movement_speed; // 0x11b8 }; // Alignment: 5 @@ -82370,6 +83863,19 @@ public: bool m_bNextRuneIsWater; // 0x768 }; +// Alignment: 4 +// Size: 0x770 +class CDOTA_Item_RuneSpawner_XP : public CBaseAnimatingActivity +{ +public: + CUtlSymbolLarge m_szPosition; // 0x758 + int32_t m_nDotaTeam; // 0x760 + // MNetworkEnable + float m_flLastSpawnTime; // 0x764 + // MNetworkEnable + float m_flNextSpawnTime; // 0x768 +}; + // Alignment: 4 // Size: 0x770 class CDOTA_Item_RuneSpawner_Bounty : public CBaseAnimatingActivity @@ -82419,26 +83925,26 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_TutorialNPCBlocker_Thinker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x1138 - Vector m_vecEnd; // 0x1144 - float m_flRadius; // 0x1150 - bool m_bHidden; // 0x1154 + Vector m_vecStart; // 0x11b8 + Vector m_vecEnd; // 0x11c4 + float m_flRadius; // 0x11d0 + bool m_bHidden; // 0x11d4 }; // Alignment: 5 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_TutorialNPCBlocker : public CDOTA_Buff { public: - Vector m_vecStart; // 0x1138 - Vector m_vecEnd; // 0x1144 - Vector m_vecCenter; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x115c - bool m_bHidden; // 0x1160 + Vector m_vecStart; // 0x11b8 + Vector m_vecEnd; // 0x11c4 + Vector m_vecCenter; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11dc + bool m_bHidden; // 0x11e0 }; // Alignment: 10 @@ -82468,7 +83974,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: @@ -82476,271 +83982,271 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: @@ -82748,7 +84254,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: @@ -82756,25 +84262,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: - float value; // 0x1138 - float value2; // 0x113c + float value; // 0x11b8 + float value2; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: - float crit_chance; // 0x1138 - float crit_multiplier; // 0x113c + float crit_chance; // 0x11b8 + float crit_multiplier; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: @@ -82782,62 +84288,62 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: - int32_t value; // 0x1138 - int32_t burn_illusions_ranged; // 0x113c - int32_t burn_illusions_melee; // 0x1140 - float damage_per_burn; // 0x1144 + int32_t value; // 0x11b8 + int32_t burn_illusions_ranged; // 0x11bc + int32_t burn_illusions_melee; // 0x11c0 + float damage_per_burn; // 0x11c4 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: - float block_cooldown; // 0x1138 + float block_cooldown; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CountdownTimer m_CooldownTimer; // 0x1140 + CountdownTimer m_CooldownTimer; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: @@ -82845,15 +84351,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: @@ -82861,33 +84367,33 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: - float value; // 0x1138 - float reincarnate_time; // 0x113c - GameTime_t m_fLastReincarnationTime; // 0x1140 + float value; // 0x11b8 + float reincarnate_time; // 0x11bc + GameTime_t m_fLastReincarnationTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: - float value; // 0x1138 + float value; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: - int32_t value; // 0x1138 + int32_t value; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: @@ -82895,7 +84401,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: @@ -82903,17 +84409,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: @@ -82921,69 +84427,69 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: - int32_t heal_amount; // 0x1138 + int32_t heal_amount; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 31 -// Size: 0x11e0 +// Size: 0x1260 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: - float m_fLifetimeGained; // 0x1138 - Vector m_vTargetPos; // 0x113c - int32_t m_nCurrentSpeed; // 0x1148 - GameTime_t m_fLastBumpTime; // 0x114c - Vector m_vLastPos; // 0x1150 - CHandle< CBaseEntity > m_hLastHit; // 0x115c - Vector m_vDir; // 0x1160 - Vector m_vRunEndPos; // 0x116c - bool m_bIsInInitialRun; // 0x1178 + float m_fLifetimeGained; // 0x11b8 + Vector m_vTargetPos; // 0x11bc + int32_t m_nCurrentSpeed; // 0x11c8 + GameTime_t m_fLastBumpTime; // 0x11cc + Vector m_vLastPos; // 0x11d0 + CHandle< CBaseEntity > m_hLastHit; // 0x11dc + Vector m_vDir; // 0x11e0 + Vector m_vRunEndPos; // 0x11ec + bool m_bIsInInitialRun; // 0x11f8 private: - [[maybe_unused]] uint8_t __pad1179[0x3]; // 0x1179 + [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: - Vector m_vJumpEndPos; // 0x117c - bool m_bPlayedVroomSinceLastCrash; // 0x1188 + Vector m_vJumpEndPos; // 0x11fc + bool m_bPlayedVroomSinceLastCrash; // 0x1208 private: - [[maybe_unused]] uint8_t __pad1189[0x3]; // 0x1189 + [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: - ParticleIndex_t m_nVroomFX; // 0x118c - GameTime_t m_fLastSpeedStepTime; // 0x1190 - GameTime_t m_fLastSpeechTime; // 0x1194 - ParticleIndex_t m_nFXStackIndex; // 0x1198 - int32_t m_nBumpsSinceLastCrash; // 0x119c - CHandle< CBaseEntity > m_hLastBumpingHero; // 0x11a0 - int32_t initial_speed; // 0x11a4 - int32_t max_speed; // 0x11a8 - int32_t speed_step; // 0x11ac - float speed_step_interval; // 0x11b0 - float bump_delay; // 0x11b4 - float bump_delay_absolute; // 0x11b8 - int32_t bump_collision_radius; // 0x11bc - int32_t run_distance; // 0x11c0 - int32_t jump_distance; // 0x11c4 - int32_t speed_after_crash; // 0x11c8 - int32_t speed_gain_per_hero_bump; // 0x11cc - float max_gainable_lifetime; // 0x11d0 - float lifetime_gain_per_hero_bump; // 0x11d4 - float min_speech_repeat_time; // 0x11d8 + ParticleIndex_t m_nVroomFX; // 0x120c + GameTime_t m_fLastSpeedStepTime; // 0x1210 + GameTime_t m_fLastSpeechTime; // 0x1214 + ParticleIndex_t m_nFXStackIndex; // 0x1218 + int32_t m_nBumpsSinceLastCrash; // 0x121c + CHandle< CBaseEntity > m_hLastBumpingHero; // 0x1220 + int32_t initial_speed; // 0x1224 + int32_t max_speed; // 0x1228 + int32_t speed_step; // 0x122c + float speed_step_interval; // 0x1230 + float bump_delay; // 0x1234 + float bump_delay_absolute; // 0x1238 + int32_t bump_collision_radius; // 0x123c + int32_t run_distance; // 0x1240 + int32_t jump_distance; // 0x1244 + int32_t speed_after_crash; // 0x1248 + int32_t speed_gain_per_hero_bump; // 0x124c + float max_gainable_lifetime; // 0x1250 + float lifetime_gain_per_hero_bump; // 0x1254 + float min_speech_repeat_time; // 0x1258 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: @@ -82991,7 +84497,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: @@ -82999,145 +84505,145 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: - float grace_period; // 0x1138 - int32_t search_distance; // 0x113c - float think_interval; // 0x1140 + float grace_period; // 0x11b8 + int32_t search_distance; // 0x11bc + float think_interval; // 0x11c0 }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - Vector m_vLastPos; // 0x1158 - Vector m_vDir; // 0x1164 - float m_flSpeed; // 0x1170 - float m_flDistRemaining; // 0x1174 - float m_flTreeTimeRemaining; // 0x1178 - CHandle< CBaseEntity > m_hLastHit; // 0x117c + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + Vector m_vLastPos; // 0x11d8 + Vector m_vDir; // 0x11e4 + float m_flSpeed; // 0x11f0 + float m_flDistRemaining; // 0x11f4 + float m_flTreeTimeRemaining; // 0x11f8 + CHandle< CBaseEntity > m_hLastHit; // 0x11fc }; // Alignment: 14 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - Vector m_vLastPos; // 0x1158 - Vector m_vDir; // 0x1164 - float m_flSpeed; // 0x1170 - float m_flDistRemaining; // 0x1174 - float m_flTreeTimeRemaining; // 0x1178 - CHandle< CBaseEntity > m_hLastHit; // 0x117c + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + Vector m_vLastPos; // 0x11d8 + Vector m_vDir; // 0x11e4 + float m_flSpeed; // 0x11f0 + float m_flDistRemaining; // 0x11f4 + float m_flTreeTimeRemaining; // 0x11f8 + CHandle< CBaseEntity > m_hLastHit; // 0x11fc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x10]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x10]; // 0x11b8 public: - int32_t m_nNextSoundIndex; // 0x1148 + int32_t m_nNextSoundIndex; // 0x11c8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: - CHandle< CBaseEntity > m_hHero; // 0x1148 + CHandle< CBaseEntity > m_hHero; // 0x11c8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: - bool m_bFirstThink; // 0x1138 + bool m_bFirstThink; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flStartTime; // 0x113c - Vector m_vecStartingPos; // 0x1140 + GameTime_t m_flStartTime; // 0x11bc + Vector m_vecStartingPos; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_TI9_Shovel_Ghost_Haunt : public CDOTA_Buff { public: - int32_t nDamageInstances; // 0x1138 - GameTime_t m_flLastAttackTime; // 0x113c - GameTime_t m_flLastMoveTime; // 0x1140 - CHandle< CBaseEntity > m_hGhost; // 0x1144 + int32_t nDamageInstances; // 0x11b8 + GameTime_t m_flLastAttackTime; // 0x11bc + GameTime_t m_flLastMoveTime; // 0x11c0 + CHandle< CBaseEntity > m_hGhost; // 0x11c4 }; // Alignment: 4 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Seasonal_TI9_Shovel_Pudgling : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - int32_t m_nActionCount; // 0x113c - Vector m_vecStartingPos; // 0x1140 - Vector m_vecDestinationOffset; // 0x114c + GameTime_t m_flStartTime; // 0x11b8 + int32_t m_nActionCount; // 0x11bc + Vector m_vecStartingPos; // 0x11c0 + Vector m_vecDestinationOffset; // 0x11cc }; // Alignment: 17 -// Size: 0x11c0 +// Size: 0x1240 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: - float attack_range; // 0x1138 - float attack_time; // 0x113c - float attack_projectile_time; // 0x1140 - int32_t projectile_speed; // 0x1144 - float turn_time; // 0x1148 - float turn_angle; // 0x114c - float shoot_angle; // 0x1150 - float m_flTurnRate; // 0x1154 - float m_flTargetYaw; // 0x1158 - float m_flLastTurnTime; // 0x115c - GameTick_t m_nLastTickCount; // 0x1160 + float attack_range; // 0x11b8 + float attack_time; // 0x11bc + float attack_projectile_time; // 0x11c0 + int32_t projectile_speed; // 0x11c4 + float turn_time; // 0x11c8 + float turn_angle; // 0x11cc + float shoot_angle; // 0x11d0 + float m_flTurnRate; // 0x11d4 + float m_flTargetYaw; // 0x11d8 + float m_flLastTurnTime; // 0x11dc + GameTick_t m_nLastTickCount; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - bool m_bHappyMonkeyCondition; // 0x1168 + bool m_bHappyMonkeyCondition; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1169[0x3]; // 0x1169 + [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: - CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x116c - CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x1170 + CHandle< CDOTA_BaseNPC > m_hAngryTarget; // 0x11ec + CHandle< CDOTA_BaseNPC > m_hAttackTarget; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CountdownTimer m_AttackTimer; // 0x1178 - CountdownTimer m_AttackProjectileTimer; // 0x1190 - CountdownTimer m_HappyTimer; // 0x11a8 + CountdownTimer m_AttackTimer; // 0x11f8 + CountdownTimer m_AttackProjectileTimer; // 0x1210 + CountdownTimer m_HappyTimer; // 0x1228 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: @@ -83145,182 +84651,182 @@ public: }; // Alignment: 13 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t pounce_distance; // 0x1164 - float pounce_speed; // 0x1168 - float pounce_acceleration; // 0x116c - int32_t pounce_radius; // 0x1170 - int32_t pounce_damage; // 0x1174 - float leash_duration; // 0x1178 + int32_t pounce_distance; // 0x11e4 + float pounce_speed; // 0x11e8 + float pounce_acceleration; // 0x11ec + int32_t pounce_radius; // 0x11f0 + int32_t pounce_damage; // 0x11f4 + float leash_duration; // 0x11f8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: - int32_t berserk_bonus_attack_speed; // 0x1138 - int32_t berserk_bonus_movement_speed; // 0x113c + int32_t berserk_bonus_attack_speed; // 0x11b8 + int32_t berserk_bonus_movement_speed; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t ticks_to_revive; // 0x113c - float tick_interval; // 0x1140 - CHandle< CDOTA_BaseNPC > m_pReviveTarget; // 0x1144 - int32_t m_nCurrentTicks; // 0x1148 + int32_t radius; // 0x11b8 + int32_t ticks_to_revive; // 0x11bc + float tick_interval; // 0x11c0 + CHandle< CDOTA_BaseNPC > m_pReviveTarget; // 0x11c4 + int32_t m_nCurrentTicks; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - ParticleIndex_t m_nPathEffectIndex; // 0x113c + int32_t radius; // 0x11b8 + ParticleIndex_t m_nPathEffectIndex; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: - int32_t total_mana; // 0x1138 + int32_t total_mana; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: - int32_t bonus_per_upgrade; // 0x1138 + int32_t bonus_per_upgrade; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: - int32_t armor_bonus_per_upgrade; // 0x1138 - int32_t hp_bonus_per_upgrade; // 0x113c + int32_t armor_bonus_per_upgrade; // 0x11b8 + int32_t hp_bonus_per_upgrade; // 0x11bc }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: - CountdownTimer m_ctTimer; // 0x1138 + CountdownTimer m_ctTimer; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: - float m_flOriginalAvoidance; // 0x1138 + float m_flOriginalAvoidance; // 0x11b8 }; // Alignment: 16 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: - bool m_bAutoPickup; // 0x1138 - bool m_bOnlyPlayerHeroPickup; // 0x1139 - bool m_bCreepHeroPickup; // 0x113a - bool m_bAutoUse; // 0x113b - bool m_bFlying; // 0x113c - bool m_bUseSpawnAnim; // 0x113d + bool m_bAutoPickup; // 0x11b8 + bool m_bOnlyPlayerHeroPickup; // 0x11b9 + bool m_bCreepHeroPickup; // 0x11ba + bool m_bAutoUse; // 0x11bb + bool m_bFlying; // 0x11bc + bool m_bUseSpawnAnim; // 0x11bd private: - [[maybe_unused]] uint8_t __pad113e[0x2]; // 0x113e + [[maybe_unused]] uint8_t __pad11be[0x2]; // 0x11be public: - GameTime_t m_flKnockbackStartTime; // 0x1140 - GameTime_t m_flKnockbackEndTime; // 0x1144 - float m_flKnockbackHeight; // 0x1148 - float m_flInitialHeight; // 0x114c - float m_flKnockbackDuration; // 0x1150 - float m_flEndHeight; // 0x1154 - Vector m_vStartPos; // 0x1158 - Vector m_vEndPos; // 0x1164 - float m_fPickupRadius; // 0x1170 + GameTime_t m_flKnockbackStartTime; // 0x11c0 + GameTime_t m_flKnockbackEndTime; // 0x11c4 + float m_flKnockbackHeight; // 0x11c8 + float m_flInitialHeight; // 0x11cc + float m_flKnockbackDuration; // 0x11d0 + float m_flEndHeight; // 0x11d4 + Vector m_vStartPos; // 0x11d8 + Vector m_vEndPos; // 0x11e4 + float m_fPickupRadius; // 0x11f0 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlString m_strTransitionEffect; // 0x1178 + CUtlString m_strTransitionEffect; // 0x11f8 }; // Alignment: 13 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: - Vector m_vOriginalPosition; // 0x1138 - float m_flOriginalScale; // 0x1144 - GameTime_t m_flLastChangeTime; // 0x1148 - Vector m_vLastChangePosition; // 0x114c - float m_flLastChangeScale; // 0x1158 - Vector m_vTargetPosition; // 0x115c - float m_flTargetScale; // 0x1168 - bool m_bFirstThink; // 0x116c + Vector m_vOriginalPosition; // 0x11b8 + float m_flOriginalScale; // 0x11c4 + GameTime_t m_flLastChangeTime; // 0x11c8 + Vector m_vLastChangePosition; // 0x11cc + float m_flLastChangeScale; // 0x11d8 + Vector m_vTargetPosition; // 0x11dc + float m_flTargetScale; // 0x11e8 + bool m_bFirstThink; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - float m_flStartAmplitude; // 0x1170 - float m_flEndAmplitude; // 0x1174 - float m_flScaleAmplitude; // 0x1178 - float m_flStartFrequency; // 0x117c - float m_flEndFrequency; // 0x1180 + float m_flStartAmplitude; // 0x11f0 + float m_flEndAmplitude; // 0x11f4 + float m_flScaleAmplitude; // 0x11f8 + float m_flStartFrequency; // 0x11fc + float m_flEndFrequency; // 0x1200 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: - float tick_rate; // 0x1138 - int32_t taunt_radius; // 0x113c - float taunt_duration; // 0x1140 + float tick_rate; // 0x11b8 + int32_t taunt_radius; // 0x11bc + float taunt_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hZombieTarget; // 0x1138 - bool m_bDidSetAttackTarget; // 0x113c + CHandle< CBaseEntity > m_hZombieTarget; // 0x11b8 + bool m_bDidSetAttackTarget; // 0x11bc }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: - int32_t num_explosions; // 0x1138 - int32_t radius; // 0x113c - float m_fExplosions; // 0x1140 + int32_t num_explosions; // 0x11b8 + int32_t radius; // 0x11bc + float m_fExplosions; // 0x11c0 }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: @@ -83328,51 +84834,51 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: - int32_t miss_rate; // 0x1138 + int32_t miss_rate; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - float tick_interval; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + float tick_interval; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: - int32_t damage_per_tick; // 0x1138 - float tick_interval; // 0x113c + int32_t damage_per_tick; // 0x11b8 + float tick_interval; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: - float duration; // 0x1138 - float duration_creep; // 0x113c - int32_t chance_pct; // 0x1140 - int32_t bonus_damage; // 0x1144 - int32_t radius; // 0x1148 + float duration; // 0x11b8 + float duration_creep; // 0x11bc + int32_t chance_pct; // 0x11c0 + int32_t bonus_damage; // 0x11c4 + int32_t radius; // 0x11c8 }; // Alignment: 1 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: - CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x1138 + CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11b8 }; // Alignment: 6 @@ -83391,268 +84897,268 @@ public: }; // Alignment: 15 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t radius; // 0x113c - int32_t beams; // 0x1140 - int32_t hit_count; // 0x1144 - int32_t m_iBeamDamage; // 0x1148 - float m_flBeamStun; // 0x114c - Vector vPosition; // 0x1150 - int32_t lucent_beam_radius; // 0x115c - bool bAreaTarget; // 0x1160 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t radius; // 0x11bc + int32_t beams; // 0x11c0 + int32_t hit_count; // 0x11c4 + int32_t m_iBeamDamage; // 0x11c8 + float m_flBeamStun; // 0x11cc + Vector vPosition; // 0x11d0 + int32_t lucent_beam_radius; // 0x11dc + bool bAreaTarget; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_iTickCount; // 0x1164 - ParticleIndex_t m_nMoonlightFXIndex; // 0x1168 + int32_t m_iTickCount; // 0x11e4 + ParticleIndex_t m_nMoonlightFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x1170 - float beam_interval; // 0x1188 - float beam_interval_scepter; // 0x118c - float m_flInterval; // 0x1190 + CUtlVector< CHandle< CBaseEntity > > m_HitTargets; // 0x11f0 + float beam_interval; // 0x1208 + float beam_interval_scepter; // 0x120c + float m_flInterval; // 0x1210 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 - int32_t attack_spill_width; // 0x113c - int32_t attack_spill_range; // 0x1140 - float spill_damage_multiplier; // 0x1144 + int32_t attack_speed_bonus_pct; // 0x11b8 + int32_t attack_spill_width; // 0x11bc + int32_t attack_spill_range; // 0x11c0 + float spill_damage_multiplier; // 0x11c4 }; // Alignment: 6 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1138 - bool m_bBonusAttack; // 0x1150 + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11b8 + bool m_bBonusAttack; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - int32_t damage_bonus; // 0x1154 - int32_t attack_spill_width; // 0x1158 - int32_t attack_spill_range; // 0x115c - float spill_damage_multiplier; // 0x1160 + int32_t damage_bonus; // 0x11d4 + int32_t attack_spill_width; // 0x11d8 + int32_t attack_spill_range; // 0x11dc + float spill_damage_multiplier; // 0x11e0 }; // Alignment: 7 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1148 - bool m_bFreePathing; // 0x1160 + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11c8 + bool m_bFreePathing; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t move_speed_bonus_pct; // 0x1164 - int32_t radius; // 0x1168 - int32_t attack_steal_amount; // 0x116c - float attack_steal_duration; // 0x1170 - int32_t max_stacks; // 0x1174 + int32_t move_speed_bonus_pct; // 0x11e4 + int32_t radius; // 0x11e8 + int32_t attack_steal_amount; // 0x11ec + float attack_steal_duration; // 0x11f0 + int32_t max_stacks; // 0x11f4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: - int32_t bonus_base_dmg_per_stack; // 0x1138 + int32_t bonus_base_dmg_per_stack; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: - int32_t attack_steal_amount; // 0x1138 + int32_t attack_steal_amount; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: - int32_t m_iCount; // 0x1138 - Vector m_vFacePosition; // 0x113c + int32_t m_iCount; // 0x11b8 + Vector m_vFacePosition; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: - float attack_rate; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + float attack_rate; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 11 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: - Vector m_vLoc; // 0x1138 - float m_flPredictedTotalTime; // 0x1144 - Vector m_vStartPosition; // 0x1148 - float m_flCurrentTimeHoriz; // 0x1154 - float m_flCurrentTimeVert; // 0x1158 - bool m_bHorizontalMotionInterrupted; // 0x115c - bool m_bDamageApplied; // 0x115d - bool m_bTargetTeleported; // 0x115e + Vector m_vLoc; // 0x11b8 + float m_flPredictedTotalTime; // 0x11c4 + Vector m_vStartPosition; // 0x11c8 + float m_flCurrentTimeHoriz; // 0x11d4 + float m_flCurrentTimeVert; // 0x11d8 + bool m_bHorizontalMotionInterrupted; // 0x11dc + bool m_bDamageApplied; // 0x11dd + bool m_bTargetTeleported; // 0x11de private: - [[maybe_unused]] uint8_t __pad115f[0x1]; // 0x115f + [[maybe_unused]] uint8_t __pad11df[0x1]; // 0x11df public: - Vector m_vHorizontalVelocity; // 0x1160 - Vector m_vLastKnownTargetPosition; // 0x116c - float m_flInitialVelocityZ; // 0x1178 + Vector m_vHorizontalVelocity; // 0x11e0 + Vector m_vLastKnownTargetPosition; // 0x11ec + float m_flInitialVelocityZ; // 0x11f8 }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: - Vector m_vDir; // 0x1138 - int32_t travel_speed; // 0x1144 - int32_t travel_distance; // 0x1148 - int32_t vision_distance; // 0x114c + Vector m_vDir; // 0x11b8 + int32_t travel_speed; // 0x11c4 + int32_t travel_distance; // 0x11c8 + int32_t vision_distance; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: - float m_flDamagePerSecond; // 0x1138 + float m_flDamagePerSecond; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: - int32_t move_slow; // 0x1138 + int32_t move_slow; // 0x11b8 }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: - int32_t hp_threshold; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - float m_flOldPitch; // 0x1144 - QAngle m_qRotation; // 0x1148 - int32_t m_nRotations; // 0x1154 - Vector m_vDirection; // 0x1158 - float m_flEndTime; // 0x1164 - int32_t push_length; // 0x1168 + int32_t hp_threshold; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + float m_flOldPitch; // 0x11c4 + QAngle m_qRotation; // 0x11c8 + int32_t m_nRotations; // 0x11d4 + Vector m_vDirection; // 0x11d8 + float m_flEndTime; // 0x11e4 + int32_t push_length; // 0x11e8 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - float damage; // 0x113c - float max_damage_duration; // 0x1140 - float slow_radius; // 0x1144 - float burn_duration; // 0x1148 - float burn_damage; // 0x114c - float slow_attack_speed_pct; // 0x1150 + GameTime_t m_flStartTime; // 0x11b8 + float damage; // 0x11bc + float max_damage_duration; // 0x11c0 + float slow_radius; // 0x11c4 + float burn_duration; // 0x11c8 + float burn_damage; // 0x11cc + float slow_attack_speed_pct; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - int32_t move_slow; // 0x113c - float m_flDamageScale; // 0x1140 + float burn_damage; // 0x11b8 + int32_t move_slow; // 0x11bc + float m_flDamageScale; // 0x11c0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: - float latch_creation_interval; // 0x1138 - float initial_creation_delay; // 0x113c - int32_t placement_count; // 0x1140 - float placement_duration; // 0x1144 - int32_t m_iBramblesIndex; // 0x1148 + float latch_creation_interval; // 0x11b8 + float initial_creation_delay; // 0x11bc + int32_t placement_count; // 0x11c0 + float placement_duration; // 0x11c4 + int32_t m_iBramblesIndex; // 0x11c8 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: - int32_t latch_count; // 0x1138 - int32_t latch_range; // 0x113c - int32_t latch_vision; // 0x1140 - float latch_creation_delay; // 0x1144 - float latch_duration; // 0x1148 + int32_t latch_count; // 0x11b8 + int32_t latch_range; // 0x11bc + int32_t latch_vision; // 0x11c0 + float latch_creation_delay; // 0x11c4 + float latch_duration; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - bool m_bActive; // 0x1154 + bool m_bActive; // 0x11d4 private: - [[maybe_unused]] uint8_t __pad1155[0x3]; // 0x1155 + [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 public: - int32_t m_nLatchedEnemies; // 0x1158 + int32_t m_nLatchedEnemies; // 0x11d8 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< CBaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - int32_t roaming_radius; // 0x1144 - int32_t attack_radius; // 0x1148 - float roaming_seconds_per_rotation; // 0x114c - float attack_interval; // 0x1150 - int32_t attack_targets; // 0x1154 + float m_flRotation; // 0x11b8 + CHandle< CBaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + int32_t roaming_radius; // 0x11c4 + int32_t attack_radius; // 0x11c8 + float roaming_seconds_per_rotation; // 0x11cc + float attack_interval; // 0x11d0 + int32_t attack_targets; // 0x11d4 }; // Alignment: 10 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x1138 - int32_t coil_radius; // 0x1150 - int32_t coil_break_radius; // 0x1154 - float coil_stun_duration; // 0x1158 - float coil_stun_duration_scepter; // 0x115c - float coil_slow; // 0x1160 - int32_t coil_break_damage; // 0x1164 - int32_t coil_break_damage_scepter; // 0x1168 - bool m_bHasScepter; // 0x116c + CUtlVector< CHandle< CBaseEntity > > m_hLinkedEntities; // 0x11b8 + int32_t coil_radius; // 0x11d0 + int32_t coil_break_radius; // 0x11d4 + float coil_stun_duration; // 0x11d8 + float coil_stun_duration_scepter; // 0x11dc + float coil_slow; // 0x11e0 + int32_t coil_break_damage; // 0x11e4 + int32_t coil_break_damage_scepter; // 0x11e8 + bool m_bHasScepter; // 0x11ec private: - [[maybe_unused]] uint8_t __pad116d[0x3]; // 0x116d + [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1170 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11f0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: @@ -83660,91 +85166,91 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 + int32_t damage_reflection_pct; // 0x11b8 }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x1138 - float m_fLastRadius; // 0x113c - float m_fCurRadius; // 0x1140 - GameTime_t m_fLastThink; // 0x1144 - bool m_bContracting; // 0x1148 + float m_fDamage; // 0x11b8 + float m_fLastRadius; // 0x11bc + float m_fCurRadius; // 0x11c0 + GameTime_t m_fLastThink; // 0x11c4 + bool m_bContracting; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_ViewerTimer; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1168 + CountdownTimer m_ViewerTimer; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1170 - int32_t speed; // 0x1188 - int32_t radius; // 0x118c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11f0 + int32_t speed; // 0x1208 + int32_t radius; // 0x120c }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: - int32_t slow_movement_speed; // 0x1138 + int32_t slow_movement_speed; // 0x11b8 }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_reduction; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x1140 + int32_t radius; // 0x11b8 + int32_t damage_reduction; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_hEntitiesAffected; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: - int32_t bonus_base_armor_per_stack; // 0x1138 + int32_t bonus_base_armor_per_stack; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 + int32_t aura_radius; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: - int32_t return_damage; // 0x1138 - float strength_gain_duration; // 0x113c - int32_t max_stacks; // 0x1140 - int32_t ally_factor; // 0x1144 + int32_t return_damage; // 0x11b8 + float strength_gain_duration; // 0x11bc + int32_t max_stacks; // 0x11c0 + int32_t ally_factor; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: @@ -83752,30 +85258,30 @@ public: }; // Alignment: 3 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: - int32_t health_cost; // 0x1138 - int32_t spear_aoe; // 0x113c - CUtlVector< int16 > m_InFlightAttackRecords; // 0x1140 + int32_t health_cost; // 0x11b8 + int32_t spear_aoe; // 0x11bc + CUtlVector< int16 > m_InFlightAttackRecords; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - float tick_rate; // 0x113c + int32_t burn_damage; // 0x11b8 + float tick_rate; // 0x11bc }; // Alignment: 4 @@ -83795,316 +85301,316 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t bonus_health_regen; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t bonus_health_regen; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: - int32_t strength_gain; // 0x1138 + int32_t strength_gain; // 0x11b8 }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: - float jump_duration; // 0x1138 - float jump_duration_gyroshell; // 0x113c - int32_t jump_height; // 0x1140 - int32_t jump_height_gyroshell; // 0x1144 - float m_flStartZ; // 0x1148 - float m_flCurTime; // 0x114c - float m_flJumpDuration; // 0x1150 - float m_flJumpHeight; // 0x1154 - int32_t jump_horizontal_distance; // 0x1158 - Vector m_vTargetHorizontalDirection; // 0x115c + float jump_duration; // 0x11b8 + float jump_duration_gyroshell; // 0x11bc + int32_t jump_height; // 0x11c0 + int32_t jump_height_gyroshell; // 0x11c4 + float m_flStartZ; // 0x11c8 + float m_flCurTime; // 0x11cc + float m_flJumpDuration; // 0x11d0 + float m_flJumpHeight; // 0x11d4 + int32_t jump_horizontal_distance; // 0x11d8 + Vector m_vTargetHorizontalDirection; // 0x11dc }; // Alignment: 11 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t lifesteal; // 0x1140 - int32_t bonus_damage_pct; // 0x1144 - float cleave_damage_pct; // 0x1148 - int32_t cleave_starting_width; // 0x114c - int32_t cleave_ending_width; // 0x1150 - int32_t cleave_distance; // 0x1154 - float splash_damage_pct; // 0x1158 - int32_t splash_radius; // 0x115c - CHandle< CBaseEntity > m_hTarget; // 0x1160 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t lifesteal; // 0x11c0 + int32_t bonus_damage_pct; // 0x11c4 + float cleave_damage_pct; // 0x11c8 + int32_t cleave_starting_width; // 0x11cc + int32_t cleave_ending_width; // 0x11d0 + int32_t cleave_distance; // 0x11d4 + float splash_damage_pct; // 0x11d8 + int32_t splash_radius; // 0x11dc + CHandle< CBaseEntity > m_hTarget; // 0x11e0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: - int32_t attack_speed; // 0x1138 - int32_t max_stacks; // 0x113c - CHandle< CBaseEntity > m_hUnit; // 0x1140 + int32_t attack_speed; // 0x11b8 + int32_t max_stacks; // 0x11bc + CHandle< CBaseEntity > m_hUnit; // 0x11c0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: - int32_t aftershock_range; // 0x1138 - float stun_duration; // 0x113c - int32_t ability_damage; // 0x1140 + int32_t aftershock_range; // 0x11b8 + float stun_duration; // 0x11bc + int32_t ability_damage; // 0x11c0 }; // Alignment: 4 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_iAttacksRemaining; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_iAttacksRemaining; // 0x11bc private: - [[maybe_unused]] uint8_t __pad1140[0x38]; // 0x1140 + [[maybe_unused]] uint8_t __pad11c0[0x38]; // 0x11c0 public: - int32_t arrow_count; // 0x1178 - int32_t bonus_range; // 0x117c + int32_t arrow_count; // 0x11f8 + int32_t bonus_range; // 0x11fc }; // Alignment: 8 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: - float damage_pct; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 + float damage_pct; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1144[0x4]; // 0x1144 + [[maybe_unused]] uint8_t __pad11c4[0x4]; // 0x11c4 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: - int32_t corpse_explosion_radius; // 0x1138 - int32_t corpse_explosion_damage_pct; // 0x113c - int32_t corpse_explosion_chance_pct; // 0x1140 + int32_t corpse_explosion_radius; // 0x11b8 + int32_t corpse_explosion_damage_pct; // 0x11bc + int32_t corpse_explosion_chance_pct; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x1138 + float bonus_hp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: - int32_t crit_chance; // 0x1138 - int32_t crit_multiplier; // 0x113c + int32_t crit_chance; // 0x11b8 + int32_t crit_multiplier; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x1138 + int32_t bonus_magical_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 15 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage_min; // 0x1188 - int32_t damage_max; // 0x118c - int32_t slow_min; // 0x1190 - int32_t slow_max; // 0x1194 - float slow_duration; // 0x1198 - float windup_time; // 0x119c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + int32_t damage_min; // 0x1208 + int32_t damage_max; // 0x120c + int32_t slow_min; // 0x1210 + int32_t slow_max; // 0x1214 + float slow_duration; // 0x1218 + float windup_time; // 0x121c }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: - int32_t slow_amount; // 0x1138 + int32_t slow_amount; // 0x11b8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: - float physical_damage_reduction; // 0x1138 - float physical_damage_reduction_side; // 0x113c - float forward_angle; // 0x1140 - float side_angle; // 0x1144 + float physical_damage_reduction; // 0x11b8 + float physical_damage_reduction_side; // 0x11bc + float forward_angle; // 0x11c0 + float side_angle; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - int32_t radius; // 0x113c - ParticleIndex_t m_nFXIndex; // 0x1140 + int32_t damage; // 0x11b8 + int32_t radius; // 0x11bc + ParticleIndex_t m_nFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 14 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: - float pool_duration; // 0x1138 - int32_t radius; // 0x113c - int32_t m_ifirefly_Active; // 0x1140 - int32_t tree_radius; // 0x1144 - int32_t damage_pct_per_second; // 0x1148 - int32_t movement_speed; // 0x114c - float trail_placement_duration; // 0x1150 - float burn_linger_duration; // 0x1154 - bool m_bActive; // 0x1158 + float pool_duration; // 0x11b8 + int32_t radius; // 0x11bc + int32_t m_ifirefly_Active; // 0x11c0 + int32_t tree_radius; // 0x11c4 + int32_t damage_pct_per_second; // 0x11c8 + int32_t movement_speed; // 0x11cc + float trail_placement_duration; // 0x11d0 + float burn_linger_duration; // 0x11d4 + bool m_bActive; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nFXIndex; // 0x115c - ParticleIndex_t m_nFXIndexB; // 0x1160 - GameTime_t m_flStartTime; // 0x1164 - Vector m_vLastFirePoolLoc; // 0x1168 + ParticleIndex_t m_nFXIndex; // 0x11dc + ParticleIndex_t m_nFXIndexB; // 0x11e0 + GameTime_t m_flStartTime; // 0x11e4 + Vector m_vLastFirePoolLoc; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad1174[0x4]; // 0x1174 + [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: - CUtlVector< Vector > m_vFirePoolLocations; // 0x1178 + CUtlVector< Vector > m_vFirePoolLocations; // 0x11f8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: - int32_t damage_pct_per_second; // 0x1138 - int32_t movement_speed; // 0x113c - float tick_interval; // 0x1140 - GameTime_t m_fNextDamageTick; // 0x1144 + int32_t damage_pct_per_second; // 0x11b8 + int32_t movement_speed; // 0x11bc + float tick_interval; // 0x11c0 + GameTime_t m_fNextDamageTick; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: @@ -84112,7 +85618,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: @@ -84120,7 +85626,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: @@ -84128,26 +85634,26 @@ public: }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: - [[maybe_unused]] uint8_t __pad1138[0x8]; // 0x1138 + [[maybe_unused]] uint8_t __pad11b8[0x8]; // 0x11b8 public: - int32_t radius; // 0x1140 + int32_t radius; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance; // 0x1138 - int32_t radius; // 0x113c + int32_t evasion_chance; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: @@ -84155,7 +85661,7 @@ public: }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: @@ -84163,17 +85669,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float land_time; // 0x113c - float burn_duration; // 0x1140 + int32_t impact_radius; // 0x11b8 + float land_time; // 0x11bc + float burn_duration; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: @@ -84181,109 +85687,109 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: - Vector m_vStartPosition; // 0x1138 - Vector m_vTargetPosition; // 0x1144 - float m_flCurrentTimeHoriz; // 0x1150 - float m_flCurrentTimeVert; // 0x1154 - float m_flZCoefficientA; // 0x1158 - float m_flZCoefficientB; // 0x115c - bool m_bInterrupted; // 0x1160 + Vector m_vStartPosition; // 0x11b8 + Vector m_vTargetPosition; // 0x11c4 + float m_flCurrentTimeHoriz; // 0x11d0 + float m_flCurrentTimeVert; // 0x11d4 + float m_flZCoefficientA; // 0x11d8 + float m_flZCoefficientB; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - float duration; // 0x1164 - int32_t height; // 0x1168 - int32_t damage; // 0x116c - int32_t damage_radius; // 0x1170 + float duration; // 0x11e4 + int32_t height; // 0x11e8 + int32_t damage; // 0x11ec + int32_t damage_radius; // 0x11f0 }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: - ParticleIndex_t m_nPreviewFX; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 - int32_t vision_radius; // 0x1144 - float vision_duration; // 0x1148 - int32_t model_scale; // 0x114c - bool bExploding; // 0x1150 + ParticleIndex_t m_nPreviewFX; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 + int32_t vision_radius; // 0x11c4 + float vision_duration; // 0x11c8 + int32_t model_scale; // 0x11cc + bool bExploding; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1151[0x3]; // 0x1151 + [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 public: - float stun_duration; // 0x1154 + float stun_duration; // 0x11d4 }; // Alignment: 10 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: - itemid_t m_nCourierItemId; // 0x1138 - CUtlString m_ModelNameOfDisguise; // 0x1140 + itemid_t m_nCourierItemId; // 0x11b8 + CUtlString m_ModelNameOfDisguise; // 0x11c0 private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - int32_t m_nMoveSpeed; // 0x1150 - int32_t m_nDisguisedSpeed; // 0x1154 - ParticleIndex_t m_nDisguiseEffectIndex; // 0x1158 - CHandle< CBaseEntity > m_hCourier; // 0x115c - bool m_bIsFlyingCourier; // 0x1160 + int32_t m_nMoveSpeed; // 0x11d0 + int32_t m_nDisguisedSpeed; // 0x11d4 + ParticleIndex_t m_nDisguiseEffectIndex; // 0x11d8 + CHandle< CBaseEntity > m_hCourier; // 0x11dc + bool m_bIsFlyingCourier; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x7]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x7]; // 0x11e1 public: - char* s_pszDonkeyDisguise; // 0x1168 - float invul_duration; // 0x1170 - bool m_bParticlesSpawned; // 0x1174 + char* s_pszDonkeyDisguise; // 0x11e8 + float invul_duration; // 0x11f0 + bool m_bParticlesSpawned; // 0x11f4 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: - int32_t damage; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 - bool m_bDamageApplied; // 0x1144 + int32_t damage; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 + bool m_bDamageApplied; // 0x11c4 }; // Alignment: 10 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: - int32_t m_iOriginalAttackCapabilities; // 0x1138 + int32_t m_iOriginalAttackCapabilities; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1140 - int32_t bonus_movement_speed; // 0x1148 - int32_t bonus_attack_damage; // 0x114c - int32_t bonus_attack_range; // 0x1150 - int32_t attack_projectile_speed; // 0x1154 - int32_t magic_resistance; // 0x1158 - int32_t model_scale; // 0x115c - int32_t skin_number; // 0x1160 - bool flying_movement; // 0x1164 + CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11c0 + int32_t bonus_movement_speed; // 0x11c8 + int32_t bonus_attack_damage; // 0x11cc + int32_t bonus_attack_range; // 0x11d0 + int32_t attack_projectile_speed; // 0x11d4 + int32_t magic_resistance; // 0x11d8 + int32_t model_scale; // 0x11dc + int32_t skin_number; // 0x11e0 + bool flying_movement; // 0x11e4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: - int32_t m_nCooldownReductionPct; // 0x1138 - int32_t m_nManaCostReductionPct; // 0x113c + int32_t m_nCooldownReductionPct; // 0x11b8 + int32_t m_nManaCostReductionPct; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: @@ -84291,7 +85797,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: @@ -84299,78 +85805,78 @@ public: }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: - float m_fProcChance; // 0x1138 - int32_t m_nRadius; // 0x113c - int32_t m_nMovespeedBonus; // 0x1140 - float m_fStunDuration; // 0x1144 - float m_fSlowDuration; // 0x1148 - float m_fDelay; // 0x114c - int32_t m_nTorrentDamage; // 0x1150 + float m_fProcChance; // 0x11b8 + int32_t m_nRadius; // 0x11bc + int32_t m_nMovespeedBonus; // 0x11c0 + float m_fStunDuration; // 0x11c4 + float m_fSlowDuration; // 0x11c8 + float m_fDelay; // 0x11cc + int32_t m_nTorrentDamage; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: - int32_t m_nTorrentDamage; // 0x1138 - float m_flStartZ; // 0x113c - float m_flCurTime; // 0x1140 + int32_t m_nTorrentDamage; // 0x11b8 + float m_flStartZ; // 0x11bc + float m_flCurTime; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: - int32_t m_nMovespeedBonus; // 0x1138 + int32_t m_nMovespeedBonus; // 0x11b8 }; // Alignment: 9 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: - int32_t m_iCurJumpCount; // 0x1138 - Vector m_vCurTargetLoc; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1148 - float m_fProcChance; // 0x1160 - int32_t m_nCastRange; // 0x1164 - int32_t m_nBounceRadius; // 0x1168 - int32_t m_nDamageRadius; // 0x116c - int32_t m_nDamage; // 0x1170 - int32_t m_nMaxTargets; // 0x1174 + int32_t m_iCurJumpCount; // 0x11b8 + Vector m_vCurTargetLoc; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11c8 + float m_fProcChance; // 0x11e0 + int32_t m_nCastRange; // 0x11e4 + int32_t m_nBounceRadius; // 0x11e8 + int32_t m_nDamageRadius; // 0x11ec + int32_t m_nDamage; // 0x11f0 + int32_t m_nMaxTargets; // 0x11f4 }; // Alignment: 16 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: - int32_t bonus_all_stats; // 0x1138 - int32_t bonus_primary_stat; // 0x113c - int32_t bonus_movespeed; // 0x1140 - int32_t bonus_hp_regen; // 0x1144 - int32_t bonus_armor; // 0x1148 - int32_t bonus_attack_damage; // 0x114c - int32_t bonus_cast_range; // 0x1150 - int32_t bonus_spell_amp; // 0x1154 - int32_t bonus_health; // 0x1158 - int32_t bonus_mana; // 0x115c - int32_t bonus_attack_speed; // 0x1160 - int32_t bonus_heal_amp; // 0x1164 - int32_t bonus_mana_regen; // 0x1168 - int32_t bonus_evasion; // 0x116c - int32_t bonus_magic_resist; // 0x1170 - int32_t bonus_lifesteal; // 0x1174 + int32_t bonus_all_stats; // 0x11b8 + int32_t bonus_primary_stat; // 0x11bc + int32_t bonus_movespeed; // 0x11c0 + int32_t bonus_hp_regen; // 0x11c4 + int32_t bonus_armor; // 0x11c8 + int32_t bonus_attack_damage; // 0x11cc + int32_t bonus_cast_range; // 0x11d0 + int32_t bonus_spell_amp; // 0x11d4 + int32_t bonus_health; // 0x11d8 + int32_t bonus_mana; // 0x11dc + int32_t bonus_attack_speed; // 0x11e0 + int32_t bonus_heal_amp; // 0x11e4 + int32_t bonus_mana_regen; // 0x11e8 + int32_t bonus_evasion; // 0x11ec + int32_t bonus_magic_resist; // 0x11f0 + int32_t bonus_lifesteal; // 0x11f4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: @@ -84378,71 +85884,71 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: - int32_t slow_percent; // 0x1138 - bool m_bInRiver; // 0x113c + int32_t slow_percent; // 0x11b8 + bool m_bInRiver; // 0x11bc }; // Alignment: 8 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t heal; // 0x113c - int32_t vision_radius; // 0x1140 - float vision_duration; // 0x1144 - int32_t model_scale; // 0x1148 - bool bExploding; // 0x114c + int32_t radius; // 0x11b8 + int32_t heal; // 0x11bc + int32_t vision_radius; // 0x11c0 + float vision_duration; // 0x11c4 + int32_t model_scale; // 0x11c8 + bool bExploding; // 0x11cc private: - [[maybe_unused]] uint8_t __pad114d[0x3]; // 0x114d + [[maybe_unused]] uint8_t __pad11cd[0x3]; // 0x11cd public: - float stun_duration; // 0x1150 - ParticleIndex_t m_nFXAmbient; // 0x1154 + float stun_duration; // 0x11d0 + ParticleIndex_t m_nFXAmbient; // 0x11d4 }; // Alignment: 7 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t max_steps; // 0x113c - float damage_interval; // 0x1140 - int32_t m_nNumSteps; // 0x1144 - int32_t m_nRadiusStep; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x114c - Vector m_vDir; // 0x1150 + int32_t radius; // 0x11b8 + int32_t max_steps; // 0x11bc + float damage_interval; // 0x11c0 + int32_t m_nNumSteps; // 0x11c4 + int32_t m_nRadiusStep; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11cc + Vector m_vDir; // 0x11d0 }; // Alignment: 10 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: - float m_flRotation; // 0x1138 - CHandle< CBaseEntity > m_hWisp; // 0x113c - GameTime_t m_flLastAttack; // 0x1140 - bool reversed; // 0x1144 + float m_flRotation; // 0x11b8 + CHandle< CBaseEntity > m_hWisp; // 0x11bc + GameTime_t m_flLastAttack; // 0x11c0 + bool reversed; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - int32_t roaming_radius; // 0x1148 - int32_t attack_radius; // 0x114c - float roaming_seconds_per_rotation; // 0x1150 - float attack_interval; // 0x1154 - bool m_bSetupWarning; // 0x1158 + int32_t roaming_radius; // 0x11c8 + int32_t attack_radius; // 0x11cc + float roaming_seconds_per_rotation; // 0x11d0 + float attack_interval; // 0x11d4 + bool m_bSetupWarning; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - ParticleIndex_t m_nPreviewFX; // 0x115c + ParticleIndex_t m_nPreviewFX; // 0x11dc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: @@ -84450,38 +85956,38 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: - int32_t damage_reflection_pct; // 0x1138 + int32_t damage_reflection_pct; // 0x11b8 }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: - float m_fDamage; // 0x1138 - float m_fLastRadius; // 0x113c - float m_fCurRadius; // 0x1140 - GameTime_t m_fLastThink; // 0x1144 - bool m_bContracting; // 0x1148 + float m_fDamage; // 0x11b8 + float m_fLastRadius; // 0x11bc + float m_fCurRadius; // 0x11c0 + GameTime_t m_fLastThink; // 0x11c4 + bool m_bContracting; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x7]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x7]; // 0x11c9 public: - CountdownTimer m_ViewerTimer; // 0x1150 - ParticleIndex_t m_nFXIndex; // 0x1168 + CountdownTimer m_ViewerTimer; // 0x11d0 + ParticleIndex_t m_nFXIndex; // 0x11e8 private: - [[maybe_unused]] uint8_t __pad116c[0x4]; // 0x116c + [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1170 - int32_t speed; // 0x1188 - int32_t radius; // 0x118c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11f0 + int32_t speed; // 0x1208 + int32_t radius; // 0x120c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: @@ -84489,75 +85995,75 @@ public: }; // Alignment: 7 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: - CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x1138 - int32_t radius; // 0x1150 - float total_duration; // 0x1154 - float stun_duration; // 0x1158 - int32_t tick_count; // 0x115c - int32_t m_damage; // 0x1160 - int32_t m_nTicks; // 0x1164 + CUtlVector< CDOTA_BaseNPC* > m_pHeroesHit; // 0x11b8 + int32_t radius; // 0x11d0 + float total_duration; // 0x11d4 + float stun_duration; // 0x11d8 + int32_t tick_count; // 0x11dc + int32_t m_damage; // 0x11e0 + int32_t m_nTicks; // 0x11e4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: - int32_t spirit_count; // 0x1138 - ParticleIndex_t m_nFXIndex; // 0x113c + int32_t spirit_count; // 0x11b8 + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: - int32_t aura_radius; // 0x1138 - float stun_duration; // 0x113c - int32_t max_hero_attacks; // 0x1140 - int32_t max_hero_attacks_scepter; // 0x1144 - int32_t max_hero_attacks_required; // 0x1148 - float caster_life_pct; // 0x114c - CHandle< CBaseEntity > m_hSecondaryTarget; // 0x1150 - int32_t m_iAttackCount; // 0x1154 - int32_t creep_attacks_count; // 0x1158 + int32_t aura_radius; // 0x11b8 + float stun_duration; // 0x11bc + int32_t max_hero_attacks; // 0x11c0 + int32_t max_hero_attacks_scepter; // 0x11c4 + int32_t max_hero_attacks_required; // 0x11c8 + float caster_life_pct; // 0x11cc + CHandle< CBaseEntity > m_hSecondaryTarget; // 0x11d0 + int32_t m_iAttackCount; // 0x11d4 + int32_t creep_attacks_count; // 0x11d8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t maxhp_percent_damage; // 0x113c - int32_t every_n_attacks; // 0x1140 - bool crit_active; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t maxhp_percent_damage; // 0x11bc + int32_t every_n_attacks; // 0x11c0 + bool crit_active; // 0x11c4 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x1138 - float stack_duration; // 0x113c + float armor_reduction_per_stack; // 0x11b8 + float stack_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: - float armor_reduction_per_stack; // 0x1138 - float stack_duration; // 0x113c + float armor_reduction_per_stack; // 0x11b8 + float stack_duration; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: @@ -84565,17 +86071,17 @@ public: }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: - float disarm_duration; // 0x1138 - Vector m_vPushDir; // 0x113c - GameTime_t m_flStartTime; // 0x1148 + float disarm_duration; // 0x11b8 + Vector m_vPushDir; // 0x11bc + GameTime_t m_flStartTime; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: @@ -84583,22 +86089,22 @@ public: }; // Alignment: 9 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - float leap_speed; // 0x1164 - float leap_acceleration; // 0x1168 + float leap_speed; // 0x11e4 + float leap_acceleration; // 0x11e8 }; // Alignment: 5 @@ -84619,7 +86125,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: @@ -84627,26 +86133,26 @@ public: }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: - float m_flStartZ; // 0x1138 - float m_flCurTime; // 0x113c - float m_flDuration; // 0x1140 - bool m_bDamageApplied; // 0x1144 + float m_flStartZ; // 0x11b8 + float m_flCurTime; // 0x11bc + float m_flDuration; // 0x11c0 + bool m_bDamageApplied; // 0x11c4 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: - float stun_duration; // 0x1138 + float stun_duration; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x1140 + CUtlVector< CHandle< CBaseEntity > > m_vecAlreadyAppliedDebuff; // 0x11c0 }; // Alignment: 15 @@ -84680,7 +86186,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: @@ -84688,7 +86194,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: @@ -84696,29 +86202,29 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: - int32_t impact_radius; // 0x1138 - float ground_burn_duration; // 0x113c - float damage; // 0x1140 - int32_t vision_distance; // 0x1144 - float vision_duration; // 0x1148 + int32_t impact_radius; // 0x11b8 + float ground_burn_duration; // 0x11bc + float damage; // 0x11c0 + int32_t vision_distance; // 0x11c4 + float vision_duration; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t burn_radius; // 0x113c - int32_t burn_dps; // 0x1140 + float burn_interval; // 0x11b8 + int32_t burn_radius; // 0x11bc + int32_t burn_dps; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: @@ -84726,83 +86232,83 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: - int32_t knockback_slow; // 0x1138 + int32_t knockback_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 + int32_t crit_mult; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - int32_t m_nSourceProjectileHandle; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + int32_t m_nSourceProjectileHandle; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: - CHandle< CDOTA_TempTree > m_hTree; // 0x1138 - int32_t fow_viewer; // 0x113c + CHandle< CDOTA_TempTree > m_hTree; // 0x11b8 + int32_t fow_viewer; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: - int32_t acorn_shot_damage; // 0x1138 - int32_t base_damage_pct; // 0x113c + int32_t acorn_shot_damage; // 0x11b8 + int32_t base_damage_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: - int32_t m_iSlow; // 0x1138 + int32_t m_iSlow; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: - float reincarnate_time; // 0x1138 - GameTime_t m_fLastReincarnationTime; // 0x113c + float reincarnate_time; // 0x11b8 + GameTime_t m_fLastReincarnationTime; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: @@ -84810,25 +86316,25 @@ public: }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: - float stack_damage; // 0x1138 - float bonus_stack_damage; // 0x113c - int32_t max_multiply_stacks; // 0x1140 - int32_t release_at_max_stacks; // 0x1144 - ParticleIndex_t m_nFXStackIndex; // 0x1148 + float stack_damage; // 0x11b8 + float bonus_stack_damage; // 0x11bc + int32_t max_multiply_stacks; // 0x11c0 + int32_t release_at_max_stacks; // 0x11c4 + ParticleIndex_t m_nFXStackIndex; // 0x11c8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: - float tick_interval; // 0x1138 - float total_damage; // 0x113c - float channel_time; // 0x1140 + float tick_interval; // 0x11b8 + float total_damage; // 0x11bc + float channel_time; // 0x11c0 }; // Alignment: 5 @@ -84850,83 +86356,83 @@ public: }; // Alignment: 14 -// Size: 0x1188 +// Size: 0x1208 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: - bool m_bInManaGained; // 0x1138 + bool m_bInManaGained; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - CHandle< CBaseEntity > m_hTarget; // 0x113c - CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x1140 - float slow_duration; // 0x1158 - int32_t movespeed; // 0x115c - int32_t self_bonus; // 0x1160 - bool m_bIsInRange; // 0x1164 + CHandle< CBaseEntity > m_hTarget; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > hStunnedEntities; // 0x11c0 + float slow_duration; // 0x11d8 + int32_t movespeed; // 0x11dc + int32_t self_bonus; // 0x11e0 + bool m_bIsInRange; // 0x11e4 private: - [[maybe_unused]] uint8_t __pad1165[0x3]; // 0x1165 + [[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5 public: - int32_t radius; // 0x1168 - int32_t latch_distance; // 0x116c - float m_flHealthHealed; // 0x1170 - float m_flManaHealed; // 0x1174 - float tether_heal_amp; // 0x1178 - GameTime_t m_flHealMessageTime; // 0x117c - GameTime_t m_flManaMessageTime; // 0x1180 + int32_t radius; // 0x11e8 + int32_t latch_distance; // 0x11ec + float m_flHealthHealed; // 0x11f0 + float m_flManaHealed; // 0x11f4 + float tether_heal_amp; // 0x11f8 + GameTime_t m_flHealMessageTime; // 0x11fc + GameTime_t m_flManaMessageTime; // 0x1200 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: - int32_t movement_speed; // 0x1138 - int32_t attack_speed; // 0x113c - int32_t health_regen; // 0x1140 - int32_t status_resist; // 0x1144 + int32_t movement_speed; // 0x11b8 + int32_t attack_speed; // 0x11bc + int32_t health_regen; // 0x11c0 + int32_t status_resist; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - Vector m_vStartPos; // 0x113c - float m_flCurTime; // 0x1148 - float m_flHeightT; // 0x114c + GameTime_t m_flStartTime; // 0x11b8 + Vector m_vStartPos; // 0x11bc + float m_flCurTime; // 0x11c8 + float m_flHeightT; // 0x11cc }; // Alignment: 3 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: - CountdownTimer m_RevealTimer; // 0x1138 - CountdownTimer m_InvisAttackTimer; // 0x1150 - CountdownTimer m_CooldownTimer; // 0x1168 + CountdownTimer m_RevealTimer; // 0x11b8 + CountdownTimer m_InvisAttackTimer; // 0x11d0 + CountdownTimer m_CooldownTimer; // 0x11e8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: - int32_t movement_bonus; // 0x1138 - int32_t regen_amp; // 0x113c + int32_t movement_bonus; // 0x11b8 + int32_t regen_amp; // 0x11bc }; // Alignment: 0 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: @@ -84934,7 +86440,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: @@ -84942,80 +86448,80 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: - float m_iEntangleDamage; // 0x1138 + float m_iEntangleDamage; // 0x11b8 }; // Alignment: 7 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: - float m_fCurRadius; // 0x1138 - GameTime_t m_fLastThink; // 0x113c - CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x1140 - int32_t speed; // 0x1158 - int32_t radius; // 0x115c - int32_t start_radius; // 0x1160 - float duration; // 0x1164 + float m_fCurRadius; // 0x11b8 + GameTime_t m_fLastThink; // 0x11bc + CUtlVector< CHandle< CBaseEntity > > m_entitiesHit; // 0x11c0 + int32_t speed; // 0x11d8 + int32_t radius; // 0x11dc + int32_t start_radius; // 0x11e0 + float duration; // 0x11e4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: - int32_t damage; // 0x1138 + int32_t damage; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t damage; // 0x113c + float duration; // 0x11b8 + int32_t damage; // 0x11bc }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - int32_t movement_speed; // 0x113c - int32_t m_nTicksRemaining; // 0x1140 - float m_flAttackDamage; // 0x1144 + int32_t m_iDamage; // 0x11b8 + int32_t movement_speed; // 0x11bc + int32_t m_nTicksRemaining; // 0x11c0 + float m_flAttackDamage; // 0x11c4 }; // Alignment: 7 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: - int32_t wave_damage; // 0x1138 - int32_t wave_count; // 0x113c - int32_t radius; // 0x1140 - int32_t summon_count; // 0x1144 - float wave_interval; // 0x1148 - float burn_duration; // 0x114c - float first_wave_delay; // 0x1150 + int32_t wave_damage; // 0x11b8 + int32_t wave_count; // 0x11bc + int32_t radius; // 0x11c0 + int32_t summon_count; // 0x11c4 + float wave_interval; // 0x11c8 + float burn_duration; // 0x11cc + float first_wave_delay; // 0x11d0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: - float burn_damage; // 0x1138 - float burn_interval; // 0x113c + float burn_damage; // 0x11b8 + float burn_interval; // 0x11bc }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: @@ -85023,32 +86529,32 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: - ParticleIndex_t m_nfxTargetTp; // 0x1138 - ParticleIndex_t m_nfxTargetTp2; // 0x113c - ParticleIndex_t m_nfxAmbientFx; // 0x1140 - ParticleIndex_t m_nfxPortal1; // 0x1144 - ParticleIndex_t m_nfxPortal2; // 0x1148 + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad114c[0x8]; // 0x114c + [[maybe_unused]] uint8_t __pad11cc[0x8]; // 0x11cc public: - CHandle< CBaseEntity > m_hPortal; // 0x1154 - Vector m_vStartPosition; // 0x1158 - float m_flTotalTime; // 0x1164 - float m_flElapsedTimePortion; // 0x1168 - float animation_rate; // 0x116c - int32_t stop_distance; // 0x1170 + CHandle< CBaseEntity > m_hPortal; // 0x11d4 + Vector m_vStartPosition; // 0x11d8 + float m_flTotalTime; // 0x11e4 + float m_flElapsedTimePortion; // 0x11e8 + float animation_rate; // 0x11ec + int32_t stop_distance; // 0x11f0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: - ParticleIndex_t m_nPortalAmbientFX; // 0x1138 + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 }; // Alignment: 16 @@ -85084,7 +86590,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: @@ -85092,7 +86598,7 @@ public: }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: @@ -85100,110 +86606,110 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: - int32_t m_nProjectileID; // 0x1138 + int32_t m_nProjectileID; // 0x11b8 }; // Alignment: 18 -// Size: 0x11c8 +// Size: 0x1248 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: - Vector m_vLeftControl; // 0x1138 - Vector m_vRightControl; // 0x1144 - Vector m_vTargetLoc; // 0x1150 - Vector m_vOriginalTargetLoc; // 0x115c - Vector m_vSourceLoc; // 0x1168 - float m_flDuration; // 0x1174 - GameTime_t m_flDieTime; // 0x1178 - bool m_bReturning; // 0x117c + Vector m_vLeftControl; // 0x11b8 + Vector m_vRightControl; // 0x11c4 + Vector m_vTargetLoc; // 0x11d0 + Vector m_vOriginalTargetLoc; // 0x11dc + Vector m_vSourceLoc; // 0x11e8 + float m_flDuration; // 0x11f4 + GameTime_t m_flDieTime; // 0x11f8 + bool m_bReturning; // 0x11fc private: - [[maybe_unused]] uint8_t __pad117d[0x3]; // 0x117d + [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: - int32_t m_nFramesToWait; // 0x1180 - CHandle< CBaseEntity > m_hBoomerang; // 0x1184 - ParticleIndex_t m_nBoomerangFXIndex; // 0x1188 - ParticleIndex_t m_nOldBoomerangFXindex; // 0x118c - CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1190 - int32_t radius; // 0x11a8 - int32_t spread; // 0x11ac - int32_t damage; // 0x11b0 - float min_throw_duration; // 0x11b4 - float max_throw_duration; // 0x11b8 + int32_t m_nFramesToWait; // 0x1200 + CHandle< CBaseEntity > m_hBoomerang; // 0x1204 + ParticleIndex_t m_nBoomerangFXIndex; // 0x1208 + ParticleIndex_t m_nOldBoomerangFXindex; // 0x120c + CUtlVector< CHandle< CBaseEntity > > m_vecUniqueHitList; // 0x1210 + int32_t radius; // 0x1228 + int32_t spread; // 0x122c + int32_t damage; // 0x1230 + float min_throw_duration; // 0x1234 + float max_throw_duration; // 0x1238 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float mana_multiplier; // 0x113c - float mana_drained_per_attack; // 0x1140 + int32_t radius; // 0x11b8 + float mana_multiplier; // 0x11bc + float mana_drained_per_attack; // 0x11c0 }; // Alignment: 23 -// Size: 0x11b0 +// Size: 0x1230 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: - int32_t hp_cost_perc_per_second; // 0x1138 - int32_t beam_range; // 0x113c - int32_t base_damage; // 0x1140 - int32_t base_heal; // 0x1144 - float tick_interval; // 0x1148 - float forward_move_speed; // 0x114c - float turn_rate_initial; // 0x1150 - float turn_rate; // 0x1154 - int32_t radius; // 0x1158 - int32_t self_turn_rate_percent; // 0x115c - float m_flCurrentTime; // 0x1160 - GameTime_t m_flLastDamageTime; // 0x1164 - float m_flAccumulatedSelfDamage; // 0x1168 - bool m_bMovingForward; // 0x116c - bool m_bTurningFast; // 0x116d + int32_t hp_cost_perc_per_second; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t base_damage; // 0x11c0 + int32_t base_heal; // 0x11c4 + float tick_interval; // 0x11c8 + float forward_move_speed; // 0x11cc + float turn_rate_initial; // 0x11d0 + float turn_rate; // 0x11d4 + int32_t radius; // 0x11d8 + int32_t self_turn_rate_percent; // 0x11dc + float m_flCurrentTime; // 0x11e0 + GameTime_t m_flLastDamageTime; // 0x11e4 + float m_flAccumulatedSelfDamage; // 0x11e8 + bool m_bMovingForward; // 0x11ec + bool m_bTurningFast; // 0x11ed private: - [[maybe_unused]] uint8_t __pad116e[0x2]; // 0x116e + [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: - float m_flFacingTarget; // 0x1170 - float hp_perc_damage; // 0x1174 - float hp_perc_heal; // 0x1178 - ParticleIndex_t m_nBeamFXIndex; // 0x117c - CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1180 - CHandle< CBaseEntity > m_hBeamEnd; // 0x11a0 - bool m_bCreatedVisionThinkers; // 0x11a4 + float m_flFacingTarget; // 0x11f0 + float hp_perc_damage; // 0x11f4 + float hp_perc_heal; // 0x11f8 + ParticleIndex_t m_nBeamFXIndex; // 0x11fc + CHandle< CBaseEntity > m_hVisionThinkers[8]; // 0x1200 + CHandle< CBaseEntity > m_hBeamEnd; // 0x1220 + bool m_bCreatedVisionThinkers; // 0x1224 private: - [[maybe_unused]] uint8_t __pad11a5[0x3]; // 0x11a5 + [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 public: - CHandle< CBaseEntity > m_hBeamEndSound; // 0x11a8 + CHandle< CBaseEntity > m_hBeamEndSound; // 0x1228 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: - int32_t freeze_radius; // 0x1138 - int32_t freeze_damage; // 0x113c - float freeze_debuff_duration; // 0x1140 - float freeze_delay; // 0x1144 - ParticleIndex_t m_nFXIndex; // 0x1148 + int32_t freeze_radius; // 0x11b8 + int32_t freeze_damage; // 0x11bc + float freeze_debuff_duration; // 0x11c0 + float freeze_delay; // 0x11c4 + ParticleIndex_t m_nFXIndex; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: - int32_t linger_movement_slow; // 0x1138 - int32_t linger_damage; // 0x113c + int32_t linger_movement_slow; // 0x11b8 + int32_t linger_damage; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: @@ -85211,17 +86717,17 @@ public: }; // Alignment: 4 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - Vector m_vStartPosition; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + Vector m_vStartPosition; // 0x11bc private: - [[maybe_unused]] uint8_t __pad1148[0x8]; // 0x1148 + [[maybe_unused]] uint8_t __pad11c8[0x8]; // 0x11c8 public: - int32_t speed; // 0x1150 - float duration; // 0x1154 + int32_t speed; // 0x11d0 + float duration; // 0x11d4 }; // Alignment: 15 @@ -85255,7 +86761,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: @@ -85263,7 +86769,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: @@ -85271,7 +86777,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: @@ -85279,7 +86785,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -85287,115 +86793,115 @@ public: }; // Alignment: 15 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: - TowerState_t m_nState; // 0x1138 - float m_flYaw; // 0x113c - int32_t m_nCaptureDuration; // 0x1140 - GameTime_t m_flEffectiveCaptureStartTime; // 0x1144 - int32_t m_nCapturingPlayerCount; // 0x1148 - float m_flCaptureProgress; // 0x114c - int32_t m_iCapturingTeam; // 0x1150 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1154 - GameTime_t m_flDestroyTime; // 0x1158 - GameTime_t m_flAutoChannelCompleteTime; // 0x115c - bool m_bAscensionLevelPicker; // 0x1160 + TowerState_t m_nState; // 0x11b8 + float m_flYaw; // 0x11bc + int32_t m_nCaptureDuration; // 0x11c0 + GameTime_t m_flEffectiveCaptureStartTime; // 0x11c4 + int32_t m_nCapturingPlayerCount; // 0x11c8 + float m_flCaptureProgress; // 0x11cc + int32_t m_iCapturingTeam; // 0x11d0 + ParticleIndex_t m_nFxOutpostAmbient; // 0x11d4 + GameTime_t m_flDestroyTime; // 0x11d8 + GameTime_t m_flAutoChannelCompleteTime; // 0x11dc + bool m_bAscensionLevelPicker; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nEliteChallengeLevel; // 0x1164 - CUtlString m_strNextRoomName; // 0x1168 - CUtlString m_strNextEncounterName; // 0x1170 - bool m_bStartedBeamFacing; // 0x1178 + int32_t m_nEliteChallengeLevel; // 0x11e4 + CUtlString m_strNextRoomName; // 0x11e8 + CUtlString m_strNextEncounterName; // 0x11f0 + bool m_bStartedBeamFacing; // 0x11f8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 2 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x1138 - bool bAcceptingGems; // 0x1150 + CUtlVector< CHandle< CBaseEntity > > hCasterList; // 0x11b8 + bool bAcceptingGems; // 0x11d0 }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: - float m_flOriginalModelScale; // 0x1138 - int32_t m_nHealthBarOffsetOverride; // 0x113c - ParticleIndex_t m_nFXStackIndex; // 0x1140 - float m_fScaleGainPerGem; // 0x1144 - int32_t m_nLevel; // 0x1148 + float m_flOriginalModelScale; // 0x11b8 + int32_t m_nHealthBarOffsetOverride; // 0x11bc + ParticleIndex_t m_nFXStackIndex; // 0x11c0 + float m_fScaleGainPerGem; // 0x11c4 + int32_t m_nLevel; // 0x11c8 }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: - CUtlVector< CHandle< CBaseEntity > > m_vecAlliesNearby; // 0x1138 - int32_t m_nAlliesNearby; // 0x1150 - int32_t stat_reduction_pct; // 0x1154 - int32_t armor_reduction; // 0x1158 - int32_t radius; // 0x115c + CUtlVector< CHandle< CBaseEntity > > m_vecAlliesNearby; // 0x11b8 + int32_t m_nAlliesNearby; // 0x11d0 + int32_t stat_reduction_pct; // 0x11d4 + int32_t armor_reduction; // 0x11d8 + int32_t radius; // 0x11dc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: - GameTime_t m_flLastHowl; // 0x1138 + GameTime_t m_flLastHowl; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: - int32_t distance_from_shrine; // 0x1138 + int32_t distance_from_shrine; // 0x11b8 }; // Alignment: 3 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: - int32_t health_restore; // 0x1138 - int32_t mana_restore; // 0x113c - float regen_interval; // 0x1140 + int32_t health_restore; // 0x11b8 + int32_t mana_restore; // 0x11bc + float regen_interval; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: @@ -85403,27 +86909,27 @@ public: }; // Alignment: 10 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: - int32_t beam_count; // 0x1138 - int32_t beam_range; // 0x113c - int32_t beam_radius; // 0x1140 - int32_t beam_buffer; // 0x1144 - int32_t turn_rate; // 0x1148 - int32_t hp_per_second; // 0x114c - GameTime_t m_flLastThinkTime; // 0x1150 + int32_t beam_count; // 0x11b8 + int32_t beam_range; // 0x11bc + int32_t beam_radius; // 0x11c0 + int32_t beam_buffer; // 0x11c4 + int32_t turn_rate; // 0x11c8 + int32_t hp_per_second; // 0x11cc + GameTime_t m_flLastThinkTime; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x1c]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x1c]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x1170 - float flLastTreeDestroyed; // 0x1188 - float flTreeDestructionCooldown; // 0x118c + CUtlVector< CHandle< CBaseEntity > > m_vecTargetedEntities; // 0x11f0 + float flLastTreeDestroyed; // 0x1208 + float flTreeDestructionCooldown; // 0x120c }; // Alignment: 0 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: @@ -85431,51 +86937,51 @@ public: }; // Alignment: 12 -// Size: 0x11c8 +// Size: 0x1248 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: - CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1138 - CUtlVector< CHandle< CBaseEntity > > m_hCyclones; // 0x1150 - int32_t projectile_distance; // 0x1168 - int32_t projectile_radius; // 0x116c - int32_t projectile_amount; // 0x1170 - float projectile_duration; // 0x1174 - float delay; // 0x1178 - GameTime_t m_flDieTime; // 0x117c - GameTime_t m_flStartTime; // 0x1180 + CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11b8 + CUtlVector< CHandle< CBaseEntity > > m_hCyclones; // 0x11d0 + int32_t projectile_distance; // 0x11e8 + int32_t projectile_radius; // 0x11ec + int32_t projectile_amount; // 0x11f0 + float projectile_duration; // 0x11f4 + float delay; // 0x11f8 + GameTime_t m_flDieTime; // 0x11fc + GameTime_t m_flStartTime; // 0x1200 private: - [[maybe_unused]] uint8_t __pad1184[0x4]; // 0x1184 + [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: - CUtlVector< Vector > m_vLeftControl; // 0x1188 - CUtlVector< Vector > m_vSourceLoc; // 0x11a0 - Vector m_vTargetLoc; // 0x11b8 + CUtlVector< Vector > m_vLeftControl; // 0x1208 + CUtlVector< Vector > m_vSourceLoc; // 0x1220 + Vector m_vTargetLoc; // 0x1238 }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: - GameTime_t m_flStartTime; // 0x1138 - Vector m_vStartPos; // 0x113c - float m_flCurTime; // 0x1148 - float m_flHeightT; // 0x114c - int32_t cyclone_damage; // 0x1150 + GameTime_t m_flStartTime; // 0x11b8 + Vector m_vStartPos; // 0x11bc + float m_flCurTime; // 0x11c8 + float m_flHeightT; // 0x11cc + int32_t cyclone_damage; // 0x11d0 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: - ParticleIndex_t nFXIndex; // 0x1138 - int32_t projectile_radius; // 0x113c - int32_t projectile_destruction_radius; // 0x1140 + ParticleIndex_t nFXIndex; // 0x11b8 + int32_t projectile_radius; // 0x11bc + int32_t projectile_destruction_radius; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: @@ -85483,7 +86989,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: @@ -85491,7 +86997,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: @@ -85499,7 +87005,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: @@ -85507,7 +87013,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: @@ -85515,58 +87021,58 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: - int32_t damage_modifier; // 0x1138 + int32_t damage_modifier; // 0x11b8 }; // Alignment: 4 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t projectile_speed; // 0x113c - float turn_rate; // 0x1140 - CHandle< CBaseEntity > m_hAttachTarget; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t projectile_speed; // 0x11bc + float turn_rate; // 0x11c0 + CHandle< CBaseEntity > m_hAttachTarget; // 0x11c4 }; // Alignment: 16 -// Size: 0x11a0 +// Size: 0x1220 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: - ParticleIndex_t m_nPhaseStartFXIndex; // 0x1138 - Vector m_vSpawnPos; // 0x113c - CUtlVector< Vector > m_vecEmissions; // 0x1148 - bool m_bChatSent; // 0x1160 + ParticleIndex_t m_nPhaseStartFXIndex; // 0x11b8 + Vector m_vSpawnPos; // 0x11bc + CUtlVector< Vector > m_vecEmissions; // 0x11c8 + bool m_bChatSent; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t m_nPhase; // 0x1164 - int32_t m_nNumEmitted; // 0x1168 - int32_t m_nNumDrops; // 0x116c - GameTime_t m_flStartTime; // 0x1170 - GameTime_t m_flLastEmitTime; // 0x1174 - bool m_bIsOnRadiant; // 0x1178 - bool m_bUseLargeEmit; // 0x1179 + int32_t m_nPhase; // 0x11e4 + int32_t m_nNumEmitted; // 0x11e8 + int32_t m_nNumDrops; // 0x11ec + GameTime_t m_flStartTime; // 0x11f0 + GameTime_t m_flLastEmitTime; // 0x11f4 + bool m_bIsOnRadiant; // 0x11f8 + bool m_bUseLargeEmit; // 0x11f9 private: - [[maybe_unused]] uint8_t __pad117a[0x2]; // 0x117a + [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa public: - int32_t m_nOutcome; // 0x117c + int32_t m_nOutcome; // 0x11fc private: - [[maybe_unused]] uint8_t __pad1180[0x10]; // 0x1180 + [[maybe_unused]] uint8_t __pad1200[0x10]; // 0x1200 public: - int32_t PHASE_OPEN; // 0x1190 - int32_t PHASE_EMIT; // 0x1194 - int32_t PHASE_EMIT_DONE; // 0x1198 - int32_t PHASE_CLOSE; // 0x119c + int32_t PHASE_OPEN; // 0x1210 + int32_t PHASE_EMIT; // 0x1214 + int32_t PHASE_EMIT_DONE; // 0x1218 + int32_t PHASE_CLOSE; // 0x121c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: @@ -85574,76 +87080,76 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t m_nGesture; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t m_nGesture; // 0x11bc }; // Alignment: 39 -// Size: 0x1200 +// Size: 0x1280 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: - Vector m_vPost1; // 0x1138 - Vector m_vPost2; // 0x1144 - Vector m_vPostForward; // 0x1150 - ParticleIndex_t m_nPost1FXIndex; // 0x115c - ParticleIndex_t m_nPost2FXIndex; // 0x1160 - ParticleIndex_t m_nPost3FXIndex; // 0x1164 - int32_t PHASE_START; // 0x1168 - int32_t PHASE_GESTURE; // 0x116c - int32_t PHASE_FX; // 0x1170 - int32_t PHASE_MOTION; // 0x1174 - int32_t PHASE_IMPACT; // 0x1178 - int32_t PHASE_FAIL; // 0x117c - int32_t PHASE_CROSSED_GOAL; // 0x1180 - int32_t PHASE_GOAL; // 0x1184 - float tick_interval; // 0x1188 - float forward_move_speed; // 0x118c - float magnus_coefficient; // 0x1190 - float magnus_falloff; // 0x1194 - float drag_coefficient; // 0x1198 - float min_delay; // 0x119c - float max_delay; // 0x11a0 - int32_t hit_radius; // 0x11a4 - ParticleIndex_t m_nFXIndex; // 0x11a8 - Vector m_vVelocity; // 0x11ac - Vector m_vSpawnPos; // 0x11b8 - Vector m_vTargetPos; // 0x11c4 - int32_t m_nPhase; // 0x11d0 - int32_t m_nHits; // 0x11d4 - float m_flMagnusValue; // 0x11d8 - GameTime_t m_flStartTime; // 0x11dc - float m_flDelay; // 0x11e0 - GameTime_t m_flStateChangeTime; // 0x11e4 - bool m_bFirstThink; // 0x11e8 - bool m_bGroundHit; // 0x11e9 + Vector m_vPost1; // 0x11b8 + Vector m_vPost2; // 0x11c4 + Vector m_vPostForward; // 0x11d0 + ParticleIndex_t m_nPost1FXIndex; // 0x11dc + ParticleIndex_t m_nPost2FXIndex; // 0x11e0 + ParticleIndex_t m_nPost3FXIndex; // 0x11e4 + int32_t PHASE_START; // 0x11e8 + int32_t PHASE_GESTURE; // 0x11ec + int32_t PHASE_FX; // 0x11f0 + int32_t PHASE_MOTION; // 0x11f4 + int32_t PHASE_IMPACT; // 0x11f8 + int32_t PHASE_FAIL; // 0x11fc + int32_t PHASE_CROSSED_GOAL; // 0x1200 + int32_t PHASE_GOAL; // 0x1204 + float tick_interval; // 0x1208 + float forward_move_speed; // 0x120c + float magnus_coefficient; // 0x1210 + float magnus_falloff; // 0x1214 + float drag_coefficient; // 0x1218 + float min_delay; // 0x121c + float max_delay; // 0x1220 + int32_t hit_radius; // 0x1224 + ParticleIndex_t m_nFXIndex; // 0x1228 + Vector m_vVelocity; // 0x122c + Vector m_vSpawnPos; // 0x1238 + Vector m_vTargetPos; // 0x1244 + int32_t m_nPhase; // 0x1250 + int32_t m_nHits; // 0x1254 + float m_flMagnusValue; // 0x1258 + GameTime_t m_flStartTime; // 0x125c + float m_flDelay; // 0x1260 + GameTime_t m_flStateChangeTime; // 0x1264 + bool m_bFirstThink; // 0x1268 + bool m_bGroundHit; // 0x1269 private: - [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea + [[maybe_unused]] uint8_t __pad126a[0x2]; // 0x126a public: - PlayerID_t m_nTargetPlayerID; // 0x11ec - float m_flCurTime; // 0x11f0 - float m_flStartZ; // 0x11f4 - float m_flAirTime; // 0x11f8 - float m_flHeight; // 0x11fc + PlayerID_t m_nTargetPlayerID; // 0x126c + float m_flCurTime; // 0x1270 + float m_flStartZ; // 0x1274 + float m_flAirTime; // 0x1278 + float m_flHeight; // 0x127c }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: - float debuff_duration; // 0x1138 - float time_to_explode; // 0x113c - float throw_time; // 0x1140 - GameTime_t m_fLastThink; // 0x1144 + float debuff_duration; // 0x11b8 + float time_to_explode; // 0x11bc + float throw_time; // 0x11c0 + GameTime_t m_fLastThink; // 0x11c4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: @@ -85651,7 +87157,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: @@ -85659,130 +87165,130 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: - float input_duration; // 0x1138 - float think_interval; // 0x113c - bool m_bChoseOption; // 0x1140 + float input_duration; // 0x11b8 + float think_interval; // 0x11bc + bool m_bChoseOption; // 0x11c0 }; // Alignment: 9 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: - float challenge_duration; // 0x1138 - float reveal_duration; // 0x113c - float reveal_delay; // 0x1140 - float completed_cooldown; // 0x1144 - float think_interval; // 0x1148 - float acknowledge_range; // 0x114c + float challenge_duration; // 0x11b8 + float reveal_duration; // 0x11bc + float reveal_delay; // 0x11c0 + float completed_cooldown; // 0x11c4 + float think_interval; // 0x11c8 + float acknowledge_range; // 0x11cc private: - [[maybe_unused]] uint8_t __pad1150[0x4]; // 0x1150 + [[maybe_unused]] uint8_t __pad11d0[0x4]; // 0x11d0 public: - GameTime_t m_flRevealTime; // 0x1154 - bool m_bFirstThink; // 0x1158 + GameTime_t m_flRevealTime; // 0x11d4 + bool m_bFirstThink; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1159[0x3]; // 0x1159 + [[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9 public: - PlayerID_t m_nRevealOpponentPlayerID; // 0x115c + PlayerID_t m_nRevealOpponentPlayerID; // 0x11dc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: - float think_interval; // 0x1138 - int32_t max_charges; // 0x113c - int32_t m_nChargesUsed; // 0x1140 + float think_interval; // 0x11b8 + int32_t max_charges; // 0x11bc + int32_t m_nChargesUsed; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: - float model_scale_per_stack; // 0x1138 - bool m_bIsRadiant; // 0x113c + float model_scale_per_stack; // 0x11b8 + bool m_bIsRadiant; // 0x11bc }; // Alignment: 19 -// Size: 0x1198 +// Size: 0x1218 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: - float speed; // 0x1138 - int32_t min_distance_before_bounce; // 0x113c - float drag; // 0x1140 - float max_height; // 0x1144 - float max_vertical_move_time; // 0x1148 - float bounce_turn_angle; // 0x114c - float bounce_turn_angle_tree; // 0x1150 - float bounce_delay; // 0x1154 - int32_t max_bounces; // 0x1158 - float max_model_scale; // 0x115c - float power_growth_exponent; // 0x1160 - Vector m_vLastPos; // 0x1164 - Vector m_vDir; // 0x1170 - float m_flSpeed; // 0x117c - float m_flDistRemaining; // 0x1180 - float m_flTreeTimeRemaining; // 0x1184 - int32_t m_nTimesBounced; // 0x1188 - float m_flModelScale; // 0x118c - CHandle< CBaseEntity > m_hLastHit; // 0x1190 + float speed; // 0x11b8 + int32_t min_distance_before_bounce; // 0x11bc + float drag; // 0x11c0 + float max_height; // 0x11c4 + float max_vertical_move_time; // 0x11c8 + float bounce_turn_angle; // 0x11cc + float bounce_turn_angle_tree; // 0x11d0 + float bounce_delay; // 0x11d4 + int32_t max_bounces; // 0x11d8 + float max_model_scale; // 0x11dc + float power_growth_exponent; // 0x11e0 + Vector m_vLastPos; // 0x11e4 + Vector m_vDir; // 0x11f0 + float m_flSpeed; // 0x11fc + float m_flDistRemaining; // 0x1200 + float m_flTreeTimeRemaining; // 0x1204 + int32_t m_nTimesBounced; // 0x1208 + float m_flModelScale; // 0x120c + CHandle< CBaseEntity > m_hLastHit; // 0x1210 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: - PlayerID_t m_nDuelOpponent; // 0x1138 + PlayerID_t m_nDuelOpponent; // 0x11b8 }; // Alignment: 9 -// Size: 0x11a8 +// Size: 0x1228 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: - int32_t NUM_SOUNDS; // 0x1138 - float dance_interval; // 0x113c - float gesture_duration; // 0x1140 - float catch_up_distance; // 0x1144 - float slow_duration; // 0x1148 - float slow_amount; // 0x114c - int32_t m_nGesture; // 0x1150 + int32_t NUM_SOUNDS; // 0x11b8 + float dance_interval; // 0x11bc + float gesture_duration; // 0x11c0 + float catch_up_distance; // 0x11c4 + float slow_duration; // 0x11c8 + float slow_amount; // 0x11cc + int32_t m_nGesture; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x1158 + CUtlVector< CHandle< CDOTA_BaseNPC > > m_vecDancers; // 0x11d8 private: - [[maybe_unused]] uint8_t __pad1170[0x30]; // 0x1170 + [[maybe_unused]] uint8_t __pad11f0[0x30]; // 0x11f0 public: - bool m_bIsGesturing; // 0x11a0 + bool m_bIsGesturing; // 0x1220 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: @@ -85790,15 +87296,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: - float m_flMaxSpeed; // 0x1138 + float m_flMaxSpeed; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: @@ -85806,31 +87312,31 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hInvader; // 0x1138 + CHandle< CBaseEntity > m_hInvader; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: @@ -85838,7 +87344,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: @@ -85846,41 +87352,41 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: - float BOMB_DURATION; // 0x1138 - float BOMB_FAST_TICK_START; // 0x113c - float BOMB_DEFAULT_TICK; // 0x1140 + float BOMB_DURATION; // 0x11b8 + float BOMB_FAST_TICK_START; // 0x11bc + float BOMB_DEFAULT_TICK; // 0x11c0 }; // Alignment: 11 -// Size: 0x1190 +// Size: 0x1210 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: - float m_fLastRadius; // 0x1138 - float m_fCurRadius; // 0x113c - GameTime_t m_fLastThink; // 0x1140 - bool m_bWindingUp; // 0x1144 + float m_fLastRadius; // 0x11b8 + float m_fCurRadius; // 0x11bc + GameTime_t m_fLastThink; // 0x11c0 + bool m_bWindingUp; // 0x11c4 private: - [[maybe_unused]] uint8_t __pad1145[0x3]; // 0x1145 + [[maybe_unused]] uint8_t __pad11c5[0x3]; // 0x11c5 public: - CountdownTimer m_ViewerTimer; // 0x1148 - ParticleIndex_t m_nFXIndex; // 0x1160 + CountdownTimer m_ViewerTimer; // 0x11c8 + ParticleIndex_t m_nFXIndex; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1164[0x4]; // 0x1164 + [[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4 public: - CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x1168 - int32_t speed; // 0x1180 - int32_t radius; // 0x1184 - int32_t damage; // 0x1188 - float windup_time; // 0x118c + CUtlVector< CHandle< CBaseEntity > > m_EntitiesHit; // 0x11e8 + int32_t speed; // 0x1200 + int32_t radius; // 0x1204 + int32_t damage; // 0x1208 + float windup_time; // 0x120c }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: @@ -85888,46 +87394,46 @@ public: }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: - int32_t acknowledge_range; // 0x1138 - float think_interval; // 0x113c - float acknowledged_cooldown; // 0x1140 - bool m_bAcknowledged; // 0x1144 - bool m_bFirstThink; // 0x1145 + int32_t acknowledge_range; // 0x11b8 + float think_interval; // 0x11bc + float acknowledged_cooldown; // 0x11c0 + bool m_bAcknowledged; // 0x11c4 + bool m_bFirstThink; // 0x11c5 private: - [[maybe_unused]] uint8_t __pad1146[0x2]; // 0x1146 + [[maybe_unused]] uint8_t __pad11c6[0x2]; // 0x11c6 public: - int32_t high_five_level; // 0x1148 + int32_t high_five_level; // 0x11c8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: - ParticleIndex_t m_nFXIndex; // 0x1138 - int32_t bonus_cast_pct; // 0x113c - int32_t bonus_spell_amp; // 0x1140 - int32_t health_pct_penalty; // 0x1144 + ParticleIndex_t m_nFXIndex; // 0x11b8 + int32_t bonus_cast_pct; // 0x11bc + int32_t bonus_spell_amp; // 0x11c0 + int32_t health_pct_penalty; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: - int32_t impact_slow_percent; // 0x1138 + int32_t impact_slow_percent; // 0x11b8 }; // Alignment: 1 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: - Vector m_vFearDir; // 0x1138 + Vector m_vFearDir; // 0x11b8 }; // Alignment: 0 @@ -85939,7 +87445,7 @@ public: }; // Alignment: 0 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: @@ -85947,36 +87453,36 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: - int32_t mana_cost_percentage; // 0x1138 - float restore_duration; // 0x113c - float m_flDrainAmount; // 0x1140 + int32_t mana_cost_percentage; // 0x11b8 + float restore_duration; // 0x11bc + float m_flDrainAmount; // 0x11c0 }; // Alignment: 12 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: - int32_t bonus_health; // 0x1138 - int32_t bonus_mana; // 0x113c - int32_t mana_regen_multiplier; // 0x1140 - float regen_per_charge; // 0x1144 - float amp_per_charge; // 0x1148 - int32_t death_charges; // 0x114c - int32_t kill_charges; // 0x1150 - float hero_lifesteal; // 0x1154 - float creep_lifesteal; // 0x1158 - int32_t bonus_intellect; // 0x115c - int32_t spell_amp; // 0x1160 - int32_t spell_lifesteal_amp; // 0x1164 + int32_t bonus_health; // 0x11b8 + int32_t bonus_mana; // 0x11bc + int32_t mana_regen_multiplier; // 0x11c0 + float regen_per_charge; // 0x11c4 + float amp_per_charge; // 0x11c8 + int32_t death_charges; // 0x11cc + int32_t kill_charges; // 0x11d0 + float hero_lifesteal; // 0x11d4 + float creep_lifesteal; // 0x11d8 + int32_t bonus_intellect; // 0x11dc + int32_t spell_amp; // 0x11e0 + int32_t spell_lifesteal_amp; // 0x11e4 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: @@ -85984,7 +87490,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Diabled_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -86097,8 +87603,8 @@ public: int32_t m_AggroType; // 0x590 }; -// Alignment: 9 -// Size: 0x4b8 +// Alignment: 11 +// Size: 0x4c8 class CDOTA_RoshanSpawner : public CPointEntity { public: @@ -86114,7 +87620,29 @@ public: float m_fRoshanRespawnDuration; // 0x4ac // MNetworkEnable int32_t m_iKillCount; // 0x4b0 - ParticleIndex_t m_nFXIndex; // 0x4b4 + // MNetworkEnable + Vector m_vRoshanAltLocation; // 0x4b4 + ParticleIndex_t m_nFXIndex; // 0x4c0 + ParticleIndex_t m_nFXIndex2; // 0x4c4 +}; + +// Alignment: 9 +// Size: 0x4b8 +class CDOTA_MinibossSpawner : public CPointEntity +{ +public: + bool m_bIsMinibossAlive; // 0x498 + bool m_bSpawnRequested; // 0x499 +private: + [[maybe_unused]] uint8_t __pad049a[0x2]; // 0x49a +public: + CHandle< CBaseEntity > m_hMiniboss; // 0x49c + GameTime_t m_fMinibossKillTime; // 0x4a0 + int32_t m_nSentMinibossReclaim; // 0x4a4 + int32_t m_nSentMinibossRespawn; // 0x4a8 + int32_t m_nTimesSpawned; // 0x4ac + float m_fMinibossRespawnDuration; // 0x4b0 + bool m_bIsRadiantMiniboss; // 0x4b4 }; // Alignment: 18 @@ -86431,38 +87959,51 @@ public: // No members available }; -// Alignment: 11 -// Size: 0x878 +// Alignment: 13 +// Size: 0x928 class CBaseAnimGraph : public CBaseModelEntity { private: - [[maybe_unused]] uint8_t __pad0748[0x10]; // 0x748 + [[maybe_unused]] uint8_t __pad0748[0x8]; // 0x748 public: // MNetworkEnable - PhysicsRagdollPose_t* m_pRagdollPose; // 0x758 + bool m_bInitiallyPopulateInterpHistory; // 0x750 + // MNetworkEnable + bool m_bShouldAnimateDuringGameplayPause; // 0x751 +private: + [[maybe_unused]] uint8_t __pad0752[0x6]; // 0x752 +public: + IChoreoServices* m_pChoreoServices; // 0x758 + // MNetworkEnable + bool m_bAnimGraphUpdateEnabled; // 0x760 +private: + [[maybe_unused]] uint8_t __pad0761[0x93]; // 0x761 +public: + // MNetworkDisable + float m_flLastEventAnimTime; // 0x7f4 +private: + [[maybe_unused]] uint8_t __pad07f8[0x4]; // 0x7f8 +public: + // MNetworkDisable + AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x7fc + float m_flMaxSlopeDistance; // 0x800 + Vector m_vLastSlopeCheckPos; // 0x804 + bool m_bAnimGraphDirty; // 0x810 +private: + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 +public: + // MNetworkEnable + Vector m_vecForce; // 0x814 + // MNetworkEnable + int32_t m_nForceBone; // 0x820 +private: + [[maybe_unused]] uint8_t __pad0824[0x14]; // 0x824 +public: + // MNetworkEnable + PhysicsRagdollPose_t* m_pRagdollPose; // 0x838 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" - bool m_bClientRagdoll; // 0x760 -private: - [[maybe_unused]] uint8_t __pad0761[0x3]; // 0x761 -public: - // MNetworkEnable - Vector m_vecForce; // 0x764 - // MNetworkEnable - int32_t m_nForceBone; // 0x770 - // MNetworkEnable - bool m_bShouldAnimateDuringGameplayPause; // 0x774 - // MNetworkEnable - bool m_bAnimGraphUpdateEnabled; // 0x775 - // MNetworkEnable - bool m_bInitiallyPopulateInterpHistory; // 0x776 -private: - [[maybe_unused]] uint8_t __pad0777[0x1]; // 0x777 -public: - float m_flMaxSlopeDistance; // 0x778 - Vector m_vLastSlopeCheckPos; // 0x77c - IChoreoServices* m_pChoreoServices; // 0x788 - bool m_bAnimGraphDirty; // 0x790 + bool m_bClientRagdoll; // 0x840 }; // Alignment: 4 @@ -86541,8 +88082,8 @@ public: bool m_noGhostCollision; // 0x8c8 }; -// Alignment: 28 -// Size: 0x9e8 +// Alignment: 27 +// Size: 0x9e0 class CDynamicProp : public CBreakableProp { public: @@ -86571,24 +88112,23 @@ public: CEntityIOOutput m_OnAnimReachedEnd; // 0x990 CUtlSymbolLarge m_iszDefaultAnim; // 0x9b8 AnimLoopMode_t m_nDefaultAnimLoopMode; // 0x9c0 - AnimLoopMode_t m_nAnimLoopMode; // 0x9c4 - bool m_bAnimateOnServer; // 0x9c8 - bool m_bRandomizeCycle; // 0x9c9 - bool m_bStartDisabled; // 0x9ca - bool m_bScriptedMovement; // 0x9cb - bool m_bFiredStartEndOutput; // 0x9cc - bool m_bForceNpcExclude; // 0x9cd - bool m_bCreateNonSolid; // 0x9ce - bool m_bIsOverrideProp; // 0x9cf - int32_t m_iInitialGlowState; // 0x9d0 - int32_t m_nGlowRange; // 0x9d4 - int32_t m_nGlowRangeMin; // 0x9d8 - Color m_glowColor; // 0x9dc - int32_t m_nGlowTeam; // 0x9e0 + bool m_bAnimateOnServer; // 0x9c4 + bool m_bRandomizeCycle; // 0x9c5 + bool m_bStartDisabled; // 0x9c6 + bool m_bScriptedMovement; // 0x9c7 + bool m_bFiredStartEndOutput; // 0x9c8 + bool m_bForceNpcExclude; // 0x9c9 + bool m_bCreateNonSolid; // 0x9ca + bool m_bIsOverrideProp; // 0x9cb + int32_t m_iInitialGlowState; // 0x9cc + int32_t m_nGlowRange; // 0x9d0 + int32_t m_nGlowRangeMin; // 0x9d4 + Color m_glowColor; // 0x9d8 + int32_t m_nGlowTeam; // 0x9dc }; // Alignment: 0 -// Size: 0x9e8 +// Size: 0x9e0 class CDynamicPropAlias_dynamic_prop : public CDynamicProp { public: @@ -86596,7 +88136,7 @@ public: }; // Alignment: 0 -// Size: 0x9e8 +// Size: 0x9e0 class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp { public: @@ -86604,7 +88144,7 @@ public: }; // Alignment: 0 -// Size: 0x9e8 +// Size: 0x9e0 class CDynamicPropAlias_cable_dynamic : public CDynamicProp { public: @@ -86760,14 +88300,6 @@ public: // No members available }; -// Alignment: 0 -// Size: 0x878 -class CFuncWaterAnalog : public CFuncMoveLinear -{ -public: - // No members available -}; - // Alignment: 3 // Size: 0x7f8 class CGunTarget : public CBaseToggle @@ -86831,7 +88363,7 @@ public: }; // Alignment: 0 -// Size: 0x4d0 +// Size: 0x4c8 class CPathCornerCrash : public CPathCorner { public: @@ -86847,11 +88379,11 @@ public: }; // Alignment: 1 -// Size: 0x9f0 +// Size: 0x9e8 class COrnamentProp : public CDynamicProp { public: - CUtlSymbolLarge m_initialOwner; // 0x9e8 + CUtlSymbolLarge m_initialOwner; // 0x9e0 }; // Alignment: 0 @@ -87246,70 +88778,70 @@ public: }; // Alignment: 28 -// Size: 0xa20 +// Size: 0xad0 class CRagdollProp : public CBaseAnimGraph { private: - [[maybe_unused]] uint8_t __pad0878[0x8]; // 0x878 + [[maybe_unused]] uint8_t __pad0928[0x8]; // 0x928 public: - ragdoll_t m_ragdoll; // 0x880 - bool m_bStartDisabled; // 0x8b8 + ragdoll_t m_ragdoll; // 0x930 + bool m_bStartDisabled; // 0x968 private: - [[maybe_unused]] uint8_t __pad08b9[0x7]; // 0x8b9 + [[maybe_unused]] uint8_t __pad0969[0x7]; // 0x969 public: // MNetworkEnable // MNetworkEncoder - CNetworkUtlVectorBase< Vector > m_ragPos; // 0x8c0 + CNetworkUtlVectorBase< Vector > m_ragPos; // 0x970 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" - CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x8d8 + CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x988 // MNetworkEnable - CHandle< CBaseEntity > m_hRagdollSource; // 0x8f0 - uint32_t m_lastUpdateTickCount; // 0x8f4 - bool m_allAsleep; // 0x8f8 - bool m_bFirstCollisionAfterLaunch; // 0x8f9 + CHandle< CBaseEntity > m_hRagdollSource; // 0x9a0 + uint32_t m_lastUpdateTickCount; // 0x9a4 + bool m_allAsleep; // 0x9a8 + bool m_bFirstCollisionAfterLaunch; // 0x9a9 private: - [[maybe_unused]] uint8_t __pad08fa[0x2]; // 0x8fa + [[maybe_unused]] uint8_t __pad09aa[0x2]; // 0x9aa public: - CHandle< CBaseEntity > m_hDamageEntity; // 0x8fc - CHandle< CBaseEntity > m_hKiller; // 0x900 - CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x904 - GameTime_t m_flLastPhysicsInfluenceTime; // 0x908 - GameTime_t m_flFadeOutStartTime; // 0x90c - float m_flFadeTime; // 0x910 + CHandle< CBaseEntity > m_hDamageEntity; // 0x9ac + CHandle< CBaseEntity > m_hKiller; // 0x9b0 + CHandle< CBasePlayerPawn > m_hPhysicsAttacker; // 0x9b4 + GameTime_t m_flLastPhysicsInfluenceTime; // 0x9b8 + GameTime_t m_flFadeOutStartTime; // 0x9bc + float m_flFadeTime; // 0x9c0 // MNetworkDisable - Vector m_vecLastOrigin; // 0x914 - GameTime_t m_flAwakeTime; // 0x920 - GameTime_t m_flLastOriginChangeTime; // 0x924 - int32_t m_nBloodColor; // 0x928 + Vector m_vecLastOrigin; // 0x9c4 + GameTime_t m_flAwakeTime; // 0x9d0 + GameTime_t m_flLastOriginChangeTime; // 0x9d4 + int32_t m_nBloodColor; // 0x9d8 private: - [[maybe_unused]] uint8_t __pad092c[0x4]; // 0x92c + [[maybe_unused]] uint8_t __pad09dc[0x4]; // 0x9dc public: - CUtlSymbolLarge m_strOriginClassName; // 0x930 - CUtlSymbolLarge m_strSourceClassName; // 0x938 - bool m_bHasBeenPhysgunned; // 0x940 - bool m_bShouldTeleportPhysics; // 0x941 + CUtlSymbolLarge m_strOriginClassName; // 0x9e0 + CUtlSymbolLarge m_strSourceClassName; // 0x9e8 + bool m_bHasBeenPhysgunned; // 0x9f0 + bool m_bShouldTeleportPhysics; // 0x9f1 private: - [[maybe_unused]] uint8_t __pad0942[0x2]; // 0x942 + [[maybe_unused]] uint8_t __pad09f2[0x2]; // 0x9f2 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags - float m_flBlendWeight; // 0x944 - float m_flDefaultFadeScale; // 0x948 + float m_flBlendWeight; // 0x9f4 + float m_flDefaultFadeScale; // 0x9f8 private: - [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c + [[maybe_unused]] uint8_t __pad09fc[0x4]; // 0x9fc public: - CUtlVector< Vector > m_ragdollMins; // 0x950 - CUtlVector< Vector > m_ragdollMaxs; // 0x968 - bool m_bShouldDeleteActivationRecord; // 0x980 + CUtlVector< Vector > m_ragdollMins; // 0xa00 + CUtlVector< Vector > m_ragdollMaxs; // 0xa18 + bool m_bShouldDeleteActivationRecord; // 0xa30 private: - [[maybe_unused]] uint8_t __pad0981[0x5f]; // 0x981 + [[maybe_unused]] uint8_t __pad0a31[0x5f]; // 0xa31 public: - bool m_bValidatePoweredRagdollPose; // 0x9e0 + bool m_bValidatePoweredRagdollPose; // 0xa90 }; // Alignment: 12 @@ -87447,7 +88979,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: @@ -87455,17 +88987,17 @@ public: }; // Alignment: 3 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - bool m_bEverFound; // 0x113c - bool m_bBonus; // 0x113d + int32_t radius; // 0x11b8 + bool m_bEverFound; // 0x11bc + bool m_bBonus; // 0x11bd }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: @@ -87473,7 +89005,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: @@ -87481,7 +89013,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -87489,7 +89021,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: @@ -87497,63 +89029,63 @@ public: }; // Alignment: 11 -// Size: 0x1178 +// Size: 0x11f8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: - float m_flTotalTime; // 0x1138 - float m_flInitialVelocity; // 0x113c - Vector m_vStartPosition; // 0x1140 - Vector m_vTargetHorizontalDirection; // 0x114c - float m_flCurrentTimeHoriz; // 0x1158 - float m_flCurrentTimeVert; // 0x115c - bool m_bInterrupted; // 0x1160 + float m_flTotalTime; // 0x11b8 + float m_flInitialVelocity; // 0x11bc + Vector m_vStartPosition; // 0x11c0 + Vector m_vTargetHorizontalDirection; // 0x11cc + float m_flCurrentTimeHoriz; // 0x11d8 + float m_flCurrentTimeVert; // 0x11dc + bool m_bInterrupted; // 0x11e0 private: - [[maybe_unused]] uint8_t __pad1161[0x3]; // 0x1161 + [[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1 public: - int32_t distance; // 0x1164 - float speed; // 0x1168 - float acceleration; // 0x116c - int32_t radius; // 0x1170 + int32_t distance; // 0x11e4 + float speed; // 0x11e8 + float acceleration; // 0x11ec + int32_t radius; // 0x11f0 }; // Alignment: 5 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: - int32_t scepter_move_speed_pct; // 0x1138 - int32_t scepter_attack_speed; // 0x113c - CHandle< CBaseEntity > m_hTarget; // 0x1140 - bool m_bPassive; // 0x1144 - bool m_bKillAtEnd; // 0x1145 + int32_t scepter_move_speed_pct; // 0x11b8 + int32_t scepter_attack_speed; // 0x11bc + CHandle< CBaseEntity > m_hTarget; // 0x11c0 + bool m_bPassive; // 0x11c4 + bool m_bKillAtEnd; // 0x11c5 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 - bool m_bPassive; // 0x113c + CHandle< CBaseEntity > m_hTarget; // 0x11b8 + bool m_bPassive; // 0x11bc }; // Alignment: 8 -// Size: 0x1168 +// Size: 0x11e8 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: - int32_t reward_damage; // 0x1138 - int32_t scepter_damage_reduction_pct; // 0x113c - bool m_bAttacked; // 0x1140 - bool m_bHadAVictor; // 0x1141 + int32_t reward_damage; // 0x11b8 + int32_t scepter_damage_reduction_pct; // 0x11bc + bool m_bAttacked; // 0x11c0 + bool m_bHadAVictor; // 0x11c1 private: - [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 + [[maybe_unused]] uint8_t __pad11c2[0x2]; // 0x11c2 public: - GameTime_t m_flTimeDuelStart; // 0x1144 - CHandle< CBaseEntity > m_hPartner; // 0x1148 - float m_flNextTime; // 0x114c - CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x1150 + GameTime_t m_flTimeDuelStart; // 0x11c4 + CHandle< CBaseEntity > m_hPartner; // 0x11c8 + float m_flNextTime; // 0x11cc + CUtlVector< CHandle< CBaseEntity > > hAlreadyHitList; // 0x11d0 }; // Alignment: 2 @@ -87566,15 +89098,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hVarmint; // 0x1138 + CHandle< CBaseEntity > m_hVarmint; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: @@ -87582,7 +89114,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: @@ -87590,32 +89122,32 @@ public: }; // Alignment: 12 -// Size: 0x1180 +// Size: 0x1200 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: - int32_t m_nTeamNumber; // 0x1138 - int32_t m_iCapturingTeam; // 0x113c - float m_flCaptureProgress; // 0x1140 - float m_flBonusTime; // 0x1144 - bool m_bInitialSetupDone; // 0x1148 + int32_t m_nTeamNumber; // 0x11b8 + int32_t m_iCapturingTeam; // 0x11bc + float m_flCaptureProgress; // 0x11c0 + float m_flBonusTime; // 0x11c4 + bool m_bInitialSetupDone; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1149[0x3]; // 0x1149 + [[maybe_unused]] uint8_t __pad11c9[0x3]; // 0x11c9 public: - int32_t m_iOriginalTeam; // 0x114c - CHandle< CBaseEntity > m_hPreviousHero; // 0x1150 + int32_t m_iOriginalTeam; // 0x11cc + CHandle< CBaseEntity > m_hPreviousHero; // 0x11d0 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x1158 - float m_flAccumulatedCaptureTime; // 0x1170 - int32_t m_iBonusCount; // 0x1174 - ParticleIndex_t m_nFxOutpostAmbient; // 0x1178 - ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x117c + CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x11d8 + float m_flAccumulatedCaptureTime; // 0x11f0 + int32_t m_iBonusCount; // 0x11f4 + ParticleIndex_t m_nFxOutpostAmbient; // 0x11f8 + ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x11fc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -87623,7 +89155,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: @@ -87631,7 +89163,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: @@ -87639,7 +89171,62 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 +class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x11c0 +class CDOTA_Modifier_Lamp_On : public CDOTA_Buff +{ +public: + ParticleIndex_t m_iFxIndex; // 0x11b8 +}; + +// Alignment: 1 +// Size: 0x11d0 +class CDOTA_Modifier_Lamp_Off : public CDOTA_Modifier_Invisible +{ +public: + int32_t m_iTempViewer; // 0x11c8 +}; + +// Alignment: 5 +// Size: 0x11d0 +class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nPortalAmbientFX; // 0x11b8 + float m_fPortalRadius; // 0x11bc + ParticleIndex_t m_nChannelFX; // 0x11c0 + int32_t m_nChannelCount; // 0x11c4 + ParticleIndex_t m_nCountdownFX; // 0x11c8 +}; + +// Alignment: 12 +// Size: 0x11f0 +class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff +{ +public: + ParticleIndex_t m_nfxTargetTp; // 0x11b8 + ParticleIndex_t m_nfxTargetTp2; // 0x11bc + ParticleIndex_t m_nfxAmbientFx; // 0x11c0 + ParticleIndex_t m_nfxPortal1; // 0x11c4 + ParticleIndex_t m_nfxPortal2; // 0x11c8 + CHandle< CBaseEntity > m_hPortal; // 0x11cc + CHandle< CBaseEntity > m_hOtherPortal; // 0x11d0 + Vector m_vStartPosition; // 0x11d4 + float m_flTotalTime; // 0x11e0 + float m_flElapsedTimePortion; // 0x11e4 + float animation_rate; // 0x11e8 + int32_t stop_distance; // 0x11ec +}; + +// Alignment: 0 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: @@ -87647,28 +89234,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: - int32_t m_iLifeStealPct; // 0x1138 - int32_t m_iHealthDrain; // 0x113c + int32_t m_iLifeStealPct; // 0x11b8 + int32_t m_iHealthDrain; // 0x11bc }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: - CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x1138 - float m_fNextCastTime; // 0x1150 - float m_fCastInterval; // 0x1154 - float m_fWarningTime; // 0x1158 - int32_t m_iNextAbility; // 0x115c + CUtlVector< CDOTABaseAbility* > m_vecAbilities; // 0x11b8 + float m_fNextCastTime; // 0x11d0 + float m_fCastInterval; // 0x11d4 + float m_fWarningTime; // 0x11d8 + int32_t m_iNextAbility; // 0x11dc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: @@ -87676,7 +89263,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: @@ -87684,7 +89271,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: @@ -87692,17 +89279,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: - int32_t m_iDamageBase; // 0x1138 - int32_t m_iDamagePerLevel; // 0x113c - int32_t m_iRadius; // 0x1140 + int32_t m_iDamageBase; // 0x11b8 + int32_t m_iDamagePerLevel; // 0x11bc + int32_t m_iRadius; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: @@ -87710,7 +89297,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: @@ -87718,15 +89305,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: - int32_t m_iReductionPct; // 0x1138 + int32_t m_iReductionPct; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: @@ -87734,7 +89321,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: @@ -87742,7 +89329,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: @@ -87750,7 +89337,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: @@ -87758,17 +89345,17 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: - int32_t m_iDamageDonePct; // 0x1138 - int32_t m_iDamageTakenPct; // 0x113c - int32_t m_iModelScale; // 0x1140 + int32_t m_iDamageDonePct; // 0x11b8 + int32_t m_iDamageTakenPct; // 0x11bc + int32_t m_iModelScale; // 0x11c0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: @@ -87776,23 +89363,23 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: - int32_t m_iRadius; // 0x1138 + int32_t m_iRadius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_FreeRapiers_Team : public CDOTA_Buff { public: - int32_t m_nLastInterval; // 0x1138 + int32_t m_nLastInterval; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: @@ -87800,15 +89387,15 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: - int32_t m_iCooldownReduction; // 0x1138 + int32_t m_iCooldownReduction; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: @@ -87816,16 +89403,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: - int32_t m_iChance; // 0x1138 - int32_t m_iDamageMultiplier; // 0x113c + int32_t m_iChance; // 0x11b8 + int32_t m_iDamageMultiplier; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_PocketRoshan_Team : public CDOTA_Buff { public: @@ -87833,7 +89420,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Mutation_DropItemOnDeath_Team : public CDOTA_Buff { public: @@ -87841,17 +89428,17 @@ public: }; // Alignment: 4 -// Size: 0x11b8 +// Size: 0x1238 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: - bool m_bAllEnemiesBots; // 0x1138 + bool m_bAllEnemiesBots; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flGloblLastTipSendTime; // 0x113c - GameTime_t m_flLastEnemyHeroDamageTime; // 0x1140 - GameTime_t m_flLastEnemyHeroVisibleTime; // 0x1144 + GameTime_t m_flGloblLastTipSendTime; // 0x11bc + GameTime_t m_flLastEnemyHeroDamageTime; // 0x11c0 + GameTime_t m_flLastEnemyHeroVisibleTime; // 0x11c4 // Static fields: static float &Get_k_flParentDamageTrackingWindow(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_Modifier_ContextualTips")->m_static_fields[0]->m_instance);}; @@ -87859,7 +89446,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: @@ -87867,7 +89454,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: @@ -87875,153 +89462,153 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: - ParticleIndex_t m_iFXIndex; // 0x1138 + ParticleIndex_t m_iFXIndex; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: - bool m_bActive; // 0x1138 + bool m_bActive; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - GameTime_t m_flCreationTime; // 0x113c - ParticleIndex_t m_iFXIndex; // 0x1140 + GameTime_t m_flCreationTime; // 0x11bc + ParticleIndex_t m_iFXIndex; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_movement_speed; // 0x1138 + int32_t bonus_movement_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_attack_speed; // 0x1138 + int32_t bonus_attack_speed; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: - int32_t armor_reduction_pct; // 0x1138 - float m_flArmorReduction; // 0x113c + int32_t armor_reduction_pct; // 0x11b8 + float m_flArmorReduction; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: - bool m_bFreezeAttack; // 0x1138 + bool m_bFreezeAttack; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad1139[0x3]; // 0x1139 + [[maybe_unused]] uint8_t __pad11b9[0x3]; // 0x11b9 public: - ParticleIndex_t m_nFXIndex; // 0x113c + ParticleIndex_t m_nFXIndex; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: - int32_t max_ticks; // 0x1138 - float damage; // 0x113c + int32_t max_ticks; // 0x11b8 + float damage; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - float non_hero_duration; // 0x113c - float hero_duration; // 0x1140 + int32_t damage_per_second; // 0x11b8 + float non_hero_duration; // 0x11bc + float hero_duration; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 - int32_t regen_reduction; // 0x113c + int32_t damage_per_second; // 0x11b8 + int32_t regen_reduction; // 0x11bc }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t movespeed_slow; // 0x113c - int32_t attackspeed_slow; // 0x1140 + float duration; // 0x11b8 + int32_t movespeed_slow; // 0x11bc + int32_t attackspeed_slow; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: - CHandle< CBaseEntity > m_hTarget; // 0x1138 + CHandle< CBaseEntity > m_hTarget; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: - int32_t slow; // 0x1138 + int32_t slow; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: @@ -88029,7 +89616,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: @@ -88037,25 +89624,25 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: - int32_t armor_bonus; // 0x1138 - float slow_duration; // 0x113c + int32_t armor_bonus; // 0x11b8 + float slow_duration; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: @@ -88063,28 +89650,28 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 - int32_t crit_chance; // 0x113c + int32_t crit_mult; // 0x11b8 + int32_t crit_chance; // 0x11bc }; // Alignment: 5 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - float duration; // 0x113c - int32_t shard_health_tooltip; // 0x1140 - int32_t shard_damage_tooltip; // 0x1144 - int32_t shard_duration_tooltip; // 0x1148 + int32_t radius; // 0x11b8 + float duration; // 0x11bc + int32_t shard_health; // 0x11c0 + int32_t shard_damage; // 0x11c4 + int32_t shard_duration; // 0x11c8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: @@ -88092,7 +89679,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: @@ -88100,7 +89687,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: @@ -88108,7 +89695,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: @@ -88116,118 +89703,118 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: - int32_t crit_mult; // 0x1138 - int32_t crit_chance; // 0x113c + int32_t crit_mult; // 0x11b8 + int32_t crit_chance; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: - int32_t armor_reduction; // 0x1138 + int32_t armor_reduction; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: - int32_t spell_amp; // 0x1138 + int32_t spell_amp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_damage_pct; // 0x1138 + int32_t bonus_damage_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_cdr; // 0x1138 + int32_t bonus_cdr; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: - int32_t burn_damage; // 0x1138 - int32_t building_damage_pct; // 0x113c + int32_t burn_damage; // 0x11b8 + int32_t building_damage_pct; // 0x11bc }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: - int32_t near_radius; // 0x1138 - int32_t near_damage; // 0x113c - int32_t far_radius; // 0x1140 - int32_t far_damage; // 0x1144 - float tick_rate; // 0x1148 + int32_t near_radius; // 0x11b8 + int32_t near_damage; // 0x11bc + int32_t far_radius; // 0x11c0 + int32_t far_damage; // 0x11c4 + float tick_rate; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 - int32_t attackspeed_slow; // 0x113c + int32_t movespeed_slow; // 0x11b8 + int32_t attackspeed_slow; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: @@ -88235,241 +89822,241 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: - Vector m_vDirection; // 0x1138 - float m_flEndTime; // 0x1144 - float m_flCurTime; // 0x1148 - ParticleIndex_t m_FX; // 0x114c - int32_t distance; // 0x1150 + Vector m_vDirection; // 0x11b8 + float m_flEndTime; // 0x11c4 + float m_flCurTime; // 0x11c8 + ParticleIndex_t m_FX; // 0x11cc + int32_t distance; // 0x11d0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: - float duration; // 0x1138 + float duration; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: - float bonus_hp; // 0x1138 + float bonus_hp; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: - int32_t purge_rate; // 0x1138 + int32_t purge_rate; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: - float health_regen; // 0x1138 + float health_regen; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: - int32_t lifesteal; // 0x1138 - int32_t hp_regen; // 0x113c + int32_t lifesteal; // 0x11b8 + int32_t hp_regen; // 0x11bc }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: - int32_t health; // 0x1138 - CHandle< CBaseEntity > m_hHealTarget; // 0x113c + int32_t health; // 0x11b8 + CHandle< CBaseEntity > m_hHealTarget; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: - float mana_regen; // 0x1138 - int32_t allow_multiple; // 0x113c - int32_t m_nAttributes; // 0x1140 + float mana_regen; // 0x11b8 + int32_t allow_multiple; // 0x11bc + int32_t m_nAttributes; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: - float heal_amp; // 0x1138 + float heal_amp; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t radius; // 0x113c + float duration; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: - int32_t bonus_aspd; // 0x1138 + int32_t bonus_aspd; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: - float duration; // 0x1138 - int32_t radius; // 0x113c + float duration; // 0x11b8 + int32_t radius; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: - int32_t projectile_speed; // 0x1138 + int32_t projectile_speed; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: - int32_t damage_per_second; // 0x1138 + int32_t damage_per_second; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: - int32_t bonus_dmg_pct; // 0x1138 + int32_t bonus_dmg_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: - int32_t gpm_aura; // 0x1138 + int32_t gpm_aura; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: - int32_t damage_bonus; // 0x1138 + int32_t damage_bonus; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: @@ -88477,16 +90064,16 @@ public: }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: - int32_t move_speed_penalty; // 0x1138 - float cost_per_second; // 0x113c + int32_t move_speed_penalty; // 0x11b8 + float cost_per_second; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: @@ -88494,164 +90081,164 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: - int32_t damage_reduction; // 0x1138 + int32_t damage_reduction; // 0x11b8 }; // Alignment: 6 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: - int32_t jump_range; // 0x1138 - int32_t max_targets; // 0x113c - float damage_percent_loss; // 0x1140 - float m_flCurDamage; // 0x1144 - Vector m_vJumpPosition; // 0x1148 + int32_t jump_range; // 0x11b8 + int32_t max_targets; // 0x11bc + float damage_percent_loss; // 0x11c0 + float m_flCurDamage; // 0x11c4 + Vector m_vJumpPosition; // 0x11c8 private: - [[maybe_unused]] uint8_t __pad1154[0x4]; // 0x1154 + [[maybe_unused]] uint8_t __pad11d4[0x4]; // 0x11d4 public: - CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x1158 + CUtlVector< CHandle< CBaseEntity > > m_hHitEntities; // 0x11d8 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: - float burn_interval; // 0x1138 - int32_t radius; // 0x113c - int32_t damage; // 0x1140 + float burn_interval; // 0x11b8 + int32_t radius; // 0x11bc + int32_t damage; // 0x11c0 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: - int32_t range; // 0x1138 - float damage_percent; // 0x113c + int32_t range; // 0x11b8 + float damage_percent; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_magical_armor; // 0x1138 - int32_t bonus_magical_armor_creeps; // 0x113c + int32_t bonus_magical_armor; // 0x11b8 + int32_t bonus_magical_armor_creeps; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x1138 + int32_t evasion_chance_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: - int32_t evasion_chance_pct; // 0x1138 + int32_t evasion_chance_pct; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: - int32_t bonus_armor; // 0x1138 + int32_t bonus_armor; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 - int32_t accuracy; // 0x113c + int32_t speed_bonus; // 0x11b8 + int32_t accuracy; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: - int32_t movespeed_slow; // 0x1138 + int32_t movespeed_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: - int32_t attackspeed_bonus; // 0x1138 + int32_t attackspeed_bonus; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: - int32_t cast_animation; // 0x1138 + int32_t cast_animation; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: - float animation_rate; // 0x1138 + float animation_rate; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: @@ -88659,19 +90246,19 @@ public: }; // Alignment: 5 -// Size: 0x1158 +// Size: 0x11d8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: - Vector m_vecStartPosition; // 0x1138 - int32_t m_nCurrentTick; // 0x1144 - float damage; // 0x1148 - int32_t break_distance; // 0x114c - float stun_duration; // 0x1150 + Vector m_vecStartPosition; // 0x11b8 + int32_t m_nCurrentTick; // 0x11c4 + float damage; // 0x11c8 + int32_t break_distance; // 0x11cc + float stun_duration; // 0x11d0 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: @@ -88679,53 +90266,53 @@ public: }; // Alignment: 5 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t movement_speed_pct; // 0x113c - int32_t spell_resist_pct; // 0x1140 - ParticleIndex_t m_nFXIndex; // 0x1144 - CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x1148 + int32_t radius; // 0x11b8 + int32_t movement_speed_pct; // 0x11bc + int32_t spell_resist_pct; // 0x11c0 + ParticleIndex_t m_nFXIndex; // 0x11c4 + CUtlVector< CHandle< CBaseEntity > > m_hChilledEntities; // 0x11c8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: - int32_t movement_speed_pct; // 0x1138 - int32_t spell_resist_pct; // 0x113c + int32_t movement_speed_pct; // 0x11b8 + int32_t spell_resist_pct; // 0x11bc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 + int32_t movement_slow; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: - int32_t attack_speed_bonus_pct; // 0x1138 + int32_t attack_speed_bonus_pct; // 0x11b8 }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t damage_per_second; // 0x113c + int32_t radius; // 0x11b8 + int32_t damage_per_second; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: @@ -88733,32 +90320,32 @@ public: }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: - int32_t speed_bonus; // 0x1138 + int32_t speed_bonus; // 0x11b8 }; // Alignment: 2 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: - int32_t health_regen; // 0x1138 - int32_t damage_block; // 0x113c + int32_t health_regen; // 0x11b8 + int32_t damage_block; // 0x11bc }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: @@ -88766,102 +90353,102 @@ public: }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: - int32_t m_iDamage; // 0x1138 - float m_flStunDuration; // 0x113c - int32_t light_strike_array_aoe; // 0x1140 + int32_t m_iDamage; // 0x11b8 + float m_flStunDuration; // 0x11bc + int32_t light_strike_array_aoe; // 0x11c0 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: - int32_t movement_slow; // 0x1138 - int32_t tick_damage; // 0x113c - float tick_interval; // 0x1140 - float duration; // 0x1144 + int32_t movement_slow; // 0x11b8 + int32_t tick_damage; // 0x11bc + float tick_interval; // 0x11c0 + float duration; // 0x11c4 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: - int32_t radius; // 0x1138 + int32_t radius; // 0x11b8 }; // Alignment: 9 -// Size: 0x1160 +// Size: 0x11e0 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: - float increase_time; // 0x1138 - int32_t increase_damage; // 0x113c - int32_t increase_health; // 0x1140 - float increase_armor; // 0x1144 - int32_t increase_aspd; // 0x1148 - int32_t increase_gold; // 0x114c - int32_t increase_xp; // 0x1150 - int32_t current_level; // 0x1154 - int32_t max_level; // 0x1158 + float increase_time; // 0x11b8 + int32_t increase_damage; // 0x11bc + int32_t increase_health; // 0x11c0 + float increase_armor; // 0x11c4 + int32_t increase_aspd; // 0x11c8 + int32_t increase_gold; // 0x11cc + int32_t increase_xp; // 0x11d0 + int32_t current_level; // 0x11d4 + int32_t max_level; // 0x11d8 }; // Alignment: 4 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: - int32_t bonus_building_damage; // 0x1138 - int32_t incoming_hero_damage_penalty; // 0x113c - int32_t incoming_basic_damage_penalty; // 0x1140 - int32_t incoming_controlled_unit_penalty; // 0x1144 + int32_t bonus_building_damage; // 0x11b8 + int32_t incoming_hero_damage_penalty; // 0x11bc + int32_t incoming_basic_damage_penalty; // 0x11c0 + int32_t incoming_controlled_unit_penalty; // 0x11c4 }; // Alignment: 3 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: - int32_t creep_damage_bonus; // 0x1138 - int32_t hero_damage_penalty; // 0x113c - int32_t heavy_damage_penalty; // 0x1140 + int32_t creep_damage_bonus; // 0x11b8 + int32_t hero_damage_penalty; // 0x11bc + int32_t heavy_damage_penalty; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: - int32_t hero_damage_penalty; // 0x1138 + int32_t hero_damage_penalty; // 0x11b8 }; // Alignment: 6 -// Size: 0x1150 +// Size: 0x11d0 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: - int32_t radius; // 0x1138 - int32_t hero_damage_penalty; // 0x113c - int32_t bonus_gold; // 0x1140 - int32_t m_iGoldBounty; // 0x1144 - ParticleIndex_t iBannerEffect; // 0x1148 - ParticleIndex_t iRingEffect; // 0x114c + int32_t radius; // 0x11b8 + int32_t hero_damage_penalty; // 0x11bc + int32_t bonus_gold; // 0x11c0 + int32_t m_iGoldBounty; // 0x11c4 + ParticleIndex_t iBannerEffect; // 0x11c8 + ParticleIndex_t iRingEffect; // 0x11cc }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: - int32_t bonus_health_regen; // 0x1138 + int32_t bonus_health_regen; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: @@ -88869,27 +90456,27 @@ public: }; // Alignment: 2 -// Size: 0x1148 +// Size: 0x11c8 class CDOTA_Modifier_MuertaReleaseEvent_RemoveGravestone : public CDOTA_Buff { public: - ParticleIndex_t m_nParticleIndex; // 0x1138 + ParticleIndex_t m_nParticleIndex; // 0x11b8 private: - [[maybe_unused]] uint8_t __pad113c[0x4]; // 0x113c + [[maybe_unused]] uint8_t __pad11bc[0x4]; // 0x11bc public: - CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x1140 + CUtlVector< ParticleIndex_t >* m_pActiveGravestones; // 0x11c0 }; // Alignment: 1 -// Size: 0x1140 +// Size: 0x11c0 class CDOTA_Modifier_MuertaReleaseEvent : public CDOTA_Buff { public: - CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x1138 + CHandle< CIngameEvent_MuertaReleaseSpring2023 > m_hEvent; // 0x11b8 }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: @@ -88897,7 +90484,7 @@ public: }; // Alignment: 0 -// Size: 0x1138 +// Size: 0x11b8 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: @@ -88905,15 +90492,55 @@ public: }; // Alignment: 1 -// Size: 0x1170 +// Size: 0x11f0 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: - int32_t gold_amount; // 0x1168 + int32_t gold_amount; // 0x11e8 }; // Alignment: 0 -// Size: 0x9e8 +// Size: 0x610 +class CDOTA_Item_Tier1Token : public CDOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Tier2Token : public CDOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Tier3Token : public CDOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Tier4Token : public CDOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x610 +class CDOTA_Item_Tier5Token : public CDOTA_Item_TierToken +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x9e0 class CAdditionalWearable : public CDynamicProp { public: @@ -88947,69 +90574,69 @@ public: }; // Alignment: 10 -// Size: 0xa08 +// Size: 0xa00 class CDOTA_GuildBannerDynamic : public CDynamicProp { public: // MNetworkEnable - bool m_bRespawnClientEntity; // 0x9e8 + bool m_bRespawnClientEntity; // 0x9e0 // MNetworkEnable - bool m_bPlaySpawnAnimation; // 0x9e9 + bool m_bPlaySpawnAnimation; // 0x9e1 // MNetworkEnable - uint8_t m_unGuildTier; // 0x9ea + uint8_t m_unGuildTier; // 0x9e2 // MNetworkEnable - uint8_t m_unPrimaryColor; // 0x9eb + uint8_t m_unPrimaryColor; // 0x9e3 // MNetworkEnable - uint8_t m_unSecondaryColor; // 0x9ec + uint8_t m_unSecondaryColor; // 0x9e4 // MNetworkEnable - uint8_t m_unPattern; // 0x9ed + uint8_t m_unPattern; // 0x9e5 private: - [[maybe_unused]] uint8_t __pad09ee[0x2]; // 0x9ee + [[maybe_unused]] uint8_t __pad09e6[0x2]; // 0x9e6 public: // MNetworkEnable - uint64_t m_unLogo; // 0x9f0 + uint64_t m_unLogo; // 0x9e8 // MNetworkEnable - GuildID_t m_unGuildID; // 0x9f8 + GuildID_t m_unGuildID; // 0x9f0 // MNetworkEnable - uint32_t m_unGuildFlags; // 0x9fc + uint32_t m_unGuildFlags; // 0x9f4 // MNetworkEnable - bool m_bUsePanelCache; // 0xa00 + bool m_bUsePanelCache; // 0x9f8 }; // Alignment: 1 -// Size: 0x9f0 +// Size: 0x9e8 class CDOTAPropCustomTexture : public CDynamicProp { public: // MNetworkEnable - uint32_t m_unTeamID; // 0x9e8 + uint32_t m_unTeamID; // 0x9e0 }; // Alignment: 1 -// Size: 0x9f0 +// Size: 0x9e8 class CDOTAPropConsumableBanner : public CDynamicProp { public: // MNetworkEnable - bool m_bUseAvatar; // 0x9e8 + bool m_bUseAvatar; // 0x9e0 }; // Alignment: 1 -// Size: 0xa10 +// Size: 0xa08 class CDOTAPropTI10PlayerGuildBanner : public CDOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xa08 + int32_t m_nPlayerID; // 0xa00 }; // Alignment: 1 -// Size: 0xa10 +// Size: 0xa08 class CDOTAPropPlusPlayerGuildBanner : public CDOTA_GuildBannerDynamic { public: // MNetworkEnable - int32_t m_nPlayerID; // 0xa08 + int32_t m_nPlayerID; // 0xa00 }; // Alignment: 0 @@ -89076,80 +90703,6 @@ public: // No members available }; -// Alignment: 5 -// Size: 0x840 -class CBaseVehicle : public CBaseProp -{ -private: - [[maybe_unused]] uint8_t __pad0798[0x10]; // 0x798 -public: - CUtlVector< VehiclePassengerInternalInfo_t > m_vecPassengerInfo; // 0x7a8 -private: - [[maybe_unused]] uint8_t __pad07c0[0x20]; // 0x7c0 -public: - CEntityOutputTemplate< int32 > m_PassengerEntered; // 0x7e0 - CEntityOutputTemplate< int32 > m_PassengerExited; // 0x808 - bool m_bLocked; // 0x830 -private: - [[maybe_unused]] uint8_t __pad0831[0x3]; // 0x831 -public: - // MNetworkEnable - Vector m_vecSmoothedVelocity; // 0x834 -}; - -// Alignment: 3 -// Size: 0xb00 -class CVehicleEntityIO : public CBaseVehicle -{ -public: - InputBitMask_t m_pButtons[8]; // 0x840 - CEntityOutputTemplate< int32 > m_ButtonStart[8]; // 0x880 - CEntityOutputTemplate< int32 > m_ButtonEnd[8]; // 0x9c0 -}; - -// Alignment: 16 -// Size: 0x900 -class CWheeledPhysicsVehicle : public CBaseVehicle -{ -public: - // MNetworkEnable - bool m_bIsUsingLookSteering; // 0x840 -private: - [[maybe_unused]] uint8_t __pad0841[0x7]; // 0x841 -public: - CUtlVector< float32 > m_vecWheelStockAngularDamping; // 0x848 - CUtlVector< Vector > m_vecPreSolveVelocities; // 0x860 - float m_flOverturnedTime; // 0x878 - float m_flTimeOfLastFlipAttempt; // 0x87c - float m_flCameraPitchOffset; // 0x880 - float m_flTargetCameraPitch; // 0x884 - float m_flSmoothedCameraPitch; // 0x888 - float m_flTimeCameraPitchViolated; // 0x88c - float m_flAirborneModeSwitchAccumulator; // 0x890 -private: - [[maybe_unused]] uint8_t __pad0894[0x4]; // 0x894 -public: - // MNetworkEnable - CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x898 - // MNetworkEnable - // MNetworkChangeCallback "OnSpeedChanged" - float m_flSpeedKPH; // 0x8b0 -private: - [[maybe_unused]] uint8_t __pad08b4[0x4]; // 0x8b4 -public: - // MNetworkEnable - CNetworkUtlVectorBase< Vector > m_vecWheelContactPointEntitySpace; // 0x8b8 - // MNetworkEnable - CNetworkUtlVectorBase< float32 > m_vecWheelSmokeIntensity; // 0x8d0 - // MNetworkEnable - bool m_bIsAirborne; // 0x8e8 -private: - [[maybe_unused]] uint8_t __pad08e9[0x7]; // 0x8e9 -public: - // MNetworkEnable - CUtlString m_sNonAirborneSubclassName; // 0x8f0 -}; - // Alignment: 0 // Size: 0x7e8 class CBaseFlexAlias_funCBaseFlex : public CBaseFlex @@ -89168,7 +90721,7 @@ public: }; // Alignment: 0 -// Size: 0xa20 +// Size: 0xad0 class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp { public: @@ -89176,25 +90729,25 @@ public: }; // Alignment: 6 -// Size: 0xa60 +// Size: 0xb10 class CRagdollPropAttached : public CRagdollProp { public: // MNetworkEnable - uint32_t m_boneIndexAttached; // 0xa20 + uint32_t m_boneIndexAttached; // 0xad0 // MNetworkEnable - uint32_t m_ragdollAttachedObjectIndex; // 0xa24 + uint32_t m_ragdollAttachedObjectIndex; // 0xad4 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointBoneSpace; // 0xa28 + Vector m_attachmentPointBoneSpace; // 0xad8 // MNetworkEnable // MNetworkEncoder - Vector m_attachmentPointRagdollSpace; // 0xa34 - bool m_bShouldDetach; // 0xa40 + Vector m_attachmentPointRagdollSpace; // 0xae4 + bool m_bShouldDetach; // 0xaf0 private: - [[maybe_unused]] uint8_t __pad0a41[0xf]; // 0xa41 + [[maybe_unused]] uint8_t __pad0af1[0xf]; // 0xaf1 public: - bool m_bShouldDeleteAttachedActivationRecord; // 0xa50 + bool m_bShouldDeleteAttachedActivationRecord; // 0xb00 }; // Alignment: 14 @@ -89291,8 +90844,8 @@ public: CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0x998 }; -// Alignment: 22 -// Size: 0x9d8 +// Alignment: 21 +// Size: 0x9c0 class CBasePlayerPawn : public CBaseCombatCharacter { public: @@ -89319,37 +90872,30 @@ private: [[maybe_unused]] uint8_t __pad08e8[0x8]; // 0x8e8 public: QAngle v_angle; // 0x8f0 -private: - [[maybe_unused]] uint8_t __pad08fc[0x10]; // 0x8fc -public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0x90c + uint32_t m_iHideHUD; // 0x8fc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0x910 - GameTime_t m_fTimeLastHurt; // 0x9a0 + sky3dparams_t m_skybox3d; // 0x900 + GameTime_t m_fTimeLastHurt; // 0x990 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - GameTime_t m_flDeathTime; // 0x9a4 - GameTime_t m_fNextSuicideTime; // 0x9a8 - bool m_fInitHUD; // 0x9ac + GameTime_t m_flDeathTime; // 0x994 + GameTime_t m_fNextSuicideTime; // 0x998 + bool m_fInitHUD; // 0x99c private: - [[maybe_unused]] uint8_t __pad09ad[0x3]; // 0x9ad + [[maybe_unused]] uint8_t __pad099d[0x3]; // 0x99d public: - GameTime_t m_flNextDecalTime; // 0x9b0 -private: - [[maybe_unused]] uint8_t __pad09b4[0x4]; // 0x9b4 -public: - CAI_Expresser* m_pExpresser; // 0x9b8 + CAI_Expresser* m_pExpresser; // 0x9a0 // MNetworkEnable - CHandle< CBasePlayerController > m_hController; // 0x9c0 + CHandle< CBasePlayerController > m_hController; // 0x9a8 private: - [[maybe_unused]] uint8_t __pad09c4[0x4]; // 0x9c4 + [[maybe_unused]] uint8_t __pad09ac[0x4]; // 0x9ac public: - float m_fHltvReplayDelay; // 0x9c8 - float m_fHltvReplayEnd; // 0x9cc - CEntityIndex m_iHltvReplayEntity; // 0x9d0 + float m_fHltvReplayDelay; // 0x9b0 + float m_fHltvReplayEnd; // 0x9b4 + CEntityIndex m_iHltvReplayEntity; // 0x9b8 }; // Alignment: 2 @@ -89373,15 +90919,15 @@ public: }; // Alignment: 0 -// Size: 0x9d8 +// Size: 0x9c0 class CDOTAPlayerPawn : public CBasePlayerPawn { public: // No members available }; -// Alignment: 252 -// Size: 0x1718 +// Alignment: 250 +// Size: 0x1730 class CDOTA_BaseNPC : public NextBotCombatCharacter { private: @@ -89464,154 +91010,150 @@ public: // MNetworkEnable bool m_bIsMoving; // 0x9c0 private: - [[maybe_unused]] uint8_t __pad09c1[0x197]; // 0x9c1 + [[maybe_unused]] uint8_t __pad09c1[0x19f]; // 0x9c1 public: // MNetworkEnable - bool m_bCanUseWards; // 0xb58 + bool m_bCanUseWards; // 0xb60 // MNetworkEnable - bool m_bCanUseAllItems; // 0xb59 + bool m_bCanUseAllItems; // 0xb61 private: - [[maybe_unused]] uint8_t __pad0b5a[0x2]; // 0xb5a + [[maybe_unused]] uint8_t __pad0b62[0x2]; // 0xb62 public: - PlayerID_t m_iLastAbilityPlayer; // 0xb5c - bool m_bIsPhantomBlocker; // 0xb60 - bool m_bBlocksCreepSpawn; // 0xb61 - bool m_bCanSellItems; // 0xb62 + PlayerID_t m_iLastAbilityPlayer; // 0xb64 + bool m_bIsPhantomBlocker; // 0xb68 + bool m_bBlocksCreepSpawn; // 0xb69 + bool m_bCanSellItems; // 0xb6a private: - [[maybe_unused]] uint8_t __pad0b63[0x1]; // 0xb63 + [[maybe_unused]] uint8_t __pad0b6b[0x1]; // 0xb6b public: // MNetworkEnable - CHandle< CDOTA_NeutralSpawner > m_hNeutralSpawner; // 0xb64 - bool m_bTrackDamageTaken; // 0xb68 + CHandle< CDOTA_NeutralSpawner > m_hNeutralSpawner; // 0xb6c + bool m_bTrackDamageTaken; // 0xb70 private: - [[maybe_unused]] uint8_t __pad0b69[0x3]; // 0xb69 + [[maybe_unused]] uint8_t __pad0b71[0x3]; // 0xb71 public: - GameTick_t m_nNextRegenThink; // 0xb6c - GameTick_t m_nNextModifierThink; // 0xb70 - GameTick_t m_nNextModelScaleThink; // 0xb74 - GameTick_t m_nNextUnitThink; // 0xb78 + GameTick_t m_nNextRegenThink; // 0xb74 + GameTick_t m_nNextModifierThink; // 0xb78 + GameTick_t m_nNextModelScaleThink; // 0xb7c + GameTick_t m_nNextUnitThink; // 0xb80 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flManaRegen; // 0xb7c + float m_flManaRegen; // 0xb84 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" - float m_flHealthRegen; // 0xb80 + float m_flHealthRegen; // 0xb88 private: - [[maybe_unused]] uint8_t __pad0b84[0x4]; // 0xb84 + [[maybe_unused]] uint8_t __pad0b8c[0x4]; // 0xb8c public: // MNetworkEnable // MNetworkPriority "32" - int64_t m_nTotalDamageTaken; // 0xb88 - float m_flHealthRegenCounter; // 0xb90 - float m_flManaRegenCounter; // 0xb94 - float m_flAccumulatedHeal; // 0xb98 - int32_t m_iBaseAttackSpeed; // 0xb9c - int32_t m_iBaseDamageMin; // 0xba0 - int32_t m_iBaseDamageMax; // 0xba4 - int32_t m_iAttackRange; // 0xba8 - int32_t m_iAttackRangeBuffer; // 0xbac + int64_t m_nTotalDamageTaken; // 0xb90 + float m_flHealthRegenCounter; // 0xb98 + float m_flManaRegenCounter; // 0xb9c + float m_flAccumulatedHeal; // 0xba0 + int32_t m_iBaseAttackSpeed; // 0xba4 + int32_t m_iBaseDamageMin; // 0xba8 + int32_t m_iBaseDamageMax; // 0xbac + int32_t m_iAttackRange; // 0xbb0 + int32_t m_iAttackRangeBuffer; // 0xbb4 // MNetworkEnable - int32_t m_iMoveSpeed; // 0xbb0 - float m_flTurnRate; // 0xbb4 - int32_t m_iHasAggressiveStance; // 0xbb8 - bool m_bInAggressiveStance; // 0xbbc - bool m_bInInjuredAggressiveStance; // 0xbbd + int32_t m_iMoveSpeed; // 0xbb8 + float m_flTurnRate; // 0xbbc + int32_t m_iHasAggressiveStance; // 0xbc0 + bool m_bInAggressiveStance; // 0xbc4 + bool m_bInInjuredAggressiveStance; // 0xbc5 private: - [[maybe_unused]] uint8_t __pad0bbe[0x2]; // 0xbbe + [[maybe_unused]] uint8_t __pad0bc6[0x2]; // 0xbc6 public: - float m_flFollowRange; // 0xbc0 - int32_t m_iAcquisitionRange; // 0xbc4 - float m_flAttackAnimationPoint; // 0xbc8 - float m_flHullRadius; // 0xbcc - float m_flCollisionPadding; // 0xbd0 + float m_flFollowRange; // 0xbc8 + int32_t m_iAcquisitionRange; // 0xbcc + float m_flAttackAnimationPoint; // 0xbd0 + float m_flHullRadius; // 0xbd4 + float m_flCollisionPadding; // 0xbd8 // MNetworkEnable - GameTime_t m_flTauntCooldown; // 0xbd4 + GameTime_t m_flTauntCooldown; // 0xbdc // MNetworkEnable - GameTime_t m_flTauntCooldown2; // 0xbd8 + GameTime_t m_flTauntCooldown2; // 0xbe0 // MNetworkEnable - float m_fRevealRadius; // 0xbdc - float m_flProjectileCollisionSize; // 0xbe0 - ObstructionRelationshipClass_t m_ObstructionRelationshipClass; // 0xbe4 - CUtlSymbolLarge m_iszParticleFolder; // 0xbe8 - CUtlSymbolLarge m_iszGameSoundsFile; // 0xbf0 - CUtlSymbolLarge m_iszVoiceFile; // 0xbf8 - CUtlSymbolLarge m_iszSoundSet; // 0xc00 - CUtlSymbolLarge m_iszSelectionGroup; // 0xc08 - CUtlSymbolLarge m_iszAnimationModifier; // 0xc10 + float m_fRevealRadius; // 0xbe4 + float m_flProjectileCollisionSize; // 0xbe8 + ObstructionRelationshipClass_t m_ObstructionRelationshipClass; // 0xbec + CUtlSymbolLarge m_iszParticleFolder; // 0xbf0 + CUtlSymbolLarge m_iszGameSoundsFile; // 0xbf8 + CUtlSymbolLarge m_iszVoiceFile; // 0xc00 + CUtlSymbolLarge m_iszSoundSet; // 0xc08 + CUtlSymbolLarge m_iszSelectionGroup; // 0xc10 + CUtlSymbolLarge m_iszAnimationModifier; // 0xc18 private: - [[maybe_unused]] uint8_t __pad0c18[0x8]; // 0xc18 + [[maybe_unused]] uint8_t __pad0c20[0x8]; // 0xc20 public: - float m_flBaseAttackTime; // 0xc20 + float m_flBaseAttackTime; // 0xc28 // MNetworkEnable - int32_t m_iDayTimeVisionRange; // 0xc24 + int32_t m_iDayTimeVisionRange; // 0xc2c // MNetworkEnable - int32_t m_iNightTimeVisionRange; // 0xc28 - float m_fBotAttackDesire; // 0xc2c - int32_t m_iCombatClass; // 0xc30 - int32_t m_iCombatClassAttack; // 0xc34 - int32_t m_iCombatClassDefend; // 0xc38 - int32_t m_iUnitRelationshipClass; // 0xc3c + int32_t m_iNightTimeVisionRange; // 0xc30 + float m_fBotAttackDesire; // 0xc34 + int32_t m_iUnitRelationshipClass; // 0xc38 // MNetworkEnable - float m_flPhysicalArmorValue; // 0xc40 + float m_flPhysicalArmorValue; // 0xc3c // MNetworkEnable - float m_flMagicalResistanceValue; // 0xc44 - int32_t m_iTeamName; // 0xc48 + float m_flMagicalResistanceValue; // 0xc40 + int32_t m_iTeamName; // 0xc44 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iAttackCapabilities; // 0xc4c + int32_t m_iAttackCapabilities; // 0xc48 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iSpecialAbility; // 0xc50 - int32_t m_iMoveCapabilities; // 0xc54 - int32_t m_iOriginalAttackCapabilities; // 0xc58 + int32_t m_iSpecialAbility; // 0xc4c + int32_t m_iMoveCapabilities; // 0xc50 + int32_t m_iOriginalAttackCapabilities; // 0xc54 // MNetworkEnable - int32_t m_iXPBounty; // 0xc5c + int32_t m_iXPBounty; // 0xc58 // MNetworkEnable - int32_t m_iXPBountyExtra; // 0xc60 + int32_t m_iXPBountyExtra; // 0xc5c // MNetworkEnable - int32_t m_iGoldBountyMin; // 0xc64 + int32_t m_iGoldBountyMin; // 0xc60 // MNetworkEnable - int32_t m_iGoldBountyMax; // 0xc68 - PlayerID_t m_nFarmClaimPlayerID; // 0xc6c + int32_t m_iGoldBountyMax; // 0xc64 + PlayerID_t m_nFarmClaimPlayerID; // 0xc68 // MNetworkEnable - PlayerID_t m_nPlayerOwnerID; // 0xc70 + PlayerID_t m_nPlayerOwnerID; // 0xc6c + CUtlSymbolLarge m_iszAbilityList[35]; // 0xc70 + int32_t m_iAttackDamageType; // 0xd88 + bool m_bIsIdle; // 0xd8c + bool m_bHold; // 0xd8d + bool m_bWasKilledPassively; // 0xd8e private: - [[maybe_unused]] uint8_t __pad0c74[0x4]; // 0xc74 + [[maybe_unused]] uint8_t __pad0d8f[0x1]; // 0xd8f public: - CUtlSymbolLarge m_iszAbilityList[35]; // 0xc78 - int32_t m_iAttackDamageType; // 0xd90 - bool m_bIsIdle; // 0xd94 - bool m_bHold; // 0xd95 - bool m_bWasKilledPassively; // 0xd96 + CountdownTimer m_AngerTimer; // 0xd90 + CountdownTimer m_AlertTimer; // 0xda8 + CHandle< CBaseEntity > m_hAngerTarget; // 0xdc0 + CHandle< CBaseEntity > m_hAlertTarget; // 0xdc4 + CHandle< CBaseEntity > m_hForceAttackTarget; // 0xdc8 + bool m_bAllowAllyForceAttack; // 0xdcc private: - [[maybe_unused]] uint8_t __pad0d97[0x1]; // 0xd97 + [[maybe_unused]] uint8_t __pad0dcd[0x3]; // 0xdcd public: - CountdownTimer m_AngerTimer; // 0xd98 - CountdownTimer m_AlertTimer; // 0xdb0 - CHandle< CBaseEntity > m_hAngerTarget; // 0xdc8 - CHandle< CBaseEntity > m_hAlertTarget; // 0xdcc - CHandle< CBaseEntity > m_hForceAttackTarget; // 0xdd0 - bool m_bAllowAllyForceAttack; // 0xdd4 + Vector m_vTargetLastKnownPosition; // 0xdd0 private: - [[maybe_unused]] uint8_t __pad0dd5[0x3]; // 0xdd5 + [[maybe_unused]] uint8_t __pad0ddc[0x1c]; // 0xddc public: - Vector m_vTargetLastKnownPosition; // 0xdd8 -private: - [[maybe_unused]] uint8_t __pad0de4[0x1c]; // 0xde4 -public: - GameTime_t m_flLastDamageTime; // 0xe00 - GameTime_t m_flLastAttackTime; // 0xe04 - GameTime_t m_flTimeSinceLastAbilityNag; // 0xe08 - GameTime_t m_flLastTeleportTime; // 0xe0c // MNetworkEnable - uint64_t m_nUnitState64; // 0xe10 - GameTime_t m_vLastVisibilityChange[14]; // 0xe18 + GameTime_t m_flLastDamageTime; // 0xdf8 + // MNetworkEnable + GameTime_t m_flLastAttackTime; // 0xdfc + GameTime_t m_flTimeSinceLastAbilityNag; // 0xe00 + GameTime_t m_flLastTeleportTime; // 0xe04 + // MNetworkEnable + uint64_t m_nUnitState64; // 0xe08 + GameTime_t m_vLastVisibilityChange[15]; // 0xe10 private: - [[maybe_unused]] uint8_t __pad0e50[0x18]; // 0xe50 + [[maybe_unused]] uint8_t __pad0e4c[0x1c]; // 0xe4c public: bool m_bFirstSpawn; // 0xe68 private: @@ -89664,223 +91206,222 @@ public: // MNetworkEnable CDOTA_ModifierManager m_ModifierManager; // 0xf98 private: - [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 + [[maybe_unused]] uint8_t __pad1208[0x8]; // 0x1208 public: - float m_flInvisibilityLevel; // 0x1200 + float m_flInvisibilityLevel; // 0x1210 private: - [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 + [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: - CUtlSymbolLarge m_iszMapUnitName; // 0x1208 + CUtlSymbolLarge m_iszMapUnitName; // 0x1218 // MNetworkEnable // MNetworkDisable - CUtlSymbolLarge m_iszUnitName; // 0x1210 + CUtlSymbolLarge m_iszUnitName; // 0x1220 // MNetworkEnable - int32_t m_iUnitNameIndex; // 0x1218 + int32_t m_iUnitNameIndex; // 0x1228 // MNetworkEnable - int32_t m_iDamageMin; // 0x121c + int32_t m_iDamageMin; // 0x122c // MNetworkEnable - int32_t m_iDamageMax; // 0x1220 + int32_t m_iDamageMax; // 0x1230 // MNetworkEnable - int32_t m_iDamageBonus; // 0x1224 + int32_t m_iDamageBonus; // 0x1234 // MNetworkEnable - bool m_bIsWaitingToSpawn; // 0x1228 + bool m_bIsWaitingToSpawn; // 0x1238 private: - [[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229 + [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 public: - int32_t m_iLeashType; // 0x122c - int32_t m_iAggroType; // 0x1230 - bool m_bCreepIgnoreAggro; // 0x1234 - bool m_bCreepFirstWave; // 0x1235 + int32_t m_iLeashType; // 0x123c + int32_t m_iAggroType; // 0x1240 + bool m_bCreepIgnoreAggro; // 0x1244 + bool m_bCreepFirstWave; // 0x1245 // MNetworkEnable - bool m_bIsIllusion; // 0x1236 + bool m_bIsIllusion; // 0x1246 // MNetworkEnable - uint8_t m_nUnitLabelIndex; // 0x1237 + uint8_t m_nUnitLabelIndex; // 0x1247 // MNetworkEnable - CUtlString m_szUnitLabel; // 0x1238 - CUtlString m_strAnimationModifier; // 0x1240 + CUtlString m_szScaleset; // 0x1248 + // MNetworkEnable + CUtlString m_szUnitLabel; // 0x1250 + CUtlString m_strAnimationModifier; // 0x1258 private: - [[maybe_unused]] uint8_t __pad1248[0x8]; // 0x1248 + [[maybe_unused]] uint8_t __pad1260[0x8]; // 0x1260 public: - CLocomotionBase* m_locomotor; // 0x1250 - IBody* m_body; // 0x1258 - bool m_bNeverMoveToClearSpace; // 0x1260 + CLocomotionBase* m_locomotor; // 0x1268 + IBody* m_body; // 0x1270 + bool m_bNeverMoveToClearSpace; // 0x1278 private: - [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 + [[maybe_unused]] uint8_t __pad1279[0x3]; // 0x1279 public: // MNetworkEnable // MNetworkUserGroup "SpectatorsOnly" - CHandle< CBaseEntity > m_hGoalEntity; // 0x1264 - bool m_bMustReachEachGoalEntity; // 0x1268 + CHandle< CBaseEntity > m_hGoalEntity; // 0x127c + bool m_bMustReachEachGoalEntity; // 0x1280 private: - [[maybe_unused]] uint8_t __pad1269[0x3]; // 0x1269 + [[maybe_unused]] uint8_t __pad1281[0x3]; // 0x1281 public: - Vector m_vInitialGoalPosition; // 0x126c + Vector m_vInitialGoalPosition; // 0x1284 private: - [[maybe_unused]] uint8_t __pad1278[0x18]; // 0x1278 + [[maybe_unused]] uint8_t __pad1290[0x18]; // 0x1290 public: - CUnitOrders m_CurrentQueuedOrder; // 0x1290 + CUnitOrders m_CurrentQueuedOrder; // 0x12a8 private: - [[maybe_unused]] uint8_t __pad12d0[0x18]; // 0x12d0 + [[maybe_unused]] uint8_t __pad12e8[0x18]; // 0x12e8 public: // MNetworkEnable - CDOTA_UnitInventory m_Inventory; // 0x12e8 - CHandle< CBaseEntity > m_hItemToDrop; // 0x13b8 + CDOTA_UnitInventory m_Inventory; // 0x1300 + CHandle< CBaseEntity > m_hItemToDrop; // 0x13d0 // MNetworkEnable - DOTA_SHOP_TYPE m_iCurShop; // 0x13bc - CHandle< CBaseEntity > m_hLastNearShop; // 0x13c0 + DOTA_SHOP_TYPE m_iCurShop; // 0x13d4 + CHandle< CBaseEntity > m_hLastNearShop; // 0x13d8 private: - [[maybe_unused]] uint8_t __pad13c4[0x4]; // 0x13c4 + [[maybe_unused]] uint8_t __pad13dc[0x4]; // 0x13dc public: // MNetworkEnable - CUtlSymbolLarge m_szCurShopEntName; // 0x13c8 - bool m_bHasInventory; // 0x13d0 + CUtlSymbolLarge m_szCurShopEntName; // 0x13e0 + bool m_bHasInventory; // 0x13e8 private: - [[maybe_unused]] uint8_t __pad13d1[0x3]; // 0x13d1 + [[maybe_unused]] uint8_t __pad13e9[0x3]; // 0x13e9 public: - float m_flBaselineModelScale; // 0x13d4 - float m_fModelScaleMultiplier; // 0x13d8 - float m_fModelScaleMultiplierChangeStart; // 0x13dc - GameTime_t m_fModelScaleMultiplierChangeTime; // 0x13e0 - float m_flPreviousModelScale; // 0x13e4 - float m_fMaxModelScaleMultiplier; // 0x13e8 - bool m_bIsCamped; // 0x13ec - bool m_bIsReturningHome; // 0x13ed - bool m_bWantsToFlee; // 0x13ee - bool m_bWakesNeutrals; // 0x13ef - bool m_bNeutralIgnore; // 0x13f0 - bool m_bIdleAcquire; // 0x13f1 - bool m_bCanFollowUnseenUnits; // 0x13f2 - bool m_bExpired; // 0x13f3 - Vector m_vCurrentMovementOrderDestination; // 0x13f4 - Vector m_vPreviousMovementOrderDestination; // 0x1400 - Vector m_vResumePreviousMovementRequestLocation; // 0x140c - bool m_bCurrentOrderIsMovement; // 0x1418 - bool m_bPreviousOrderIsMovement; // 0x1419 - bool m_bResumePreviousMovement; // 0x141a - bool m_bIsPatrolling; // 0x141b - GameTime_t m_flCreationTime; // 0x141c - bool m_bTargetMovedOutOfRange; // 0x1420 - bool m_bChaseTargetMoves; // 0x1421 + float m_flBaselineModelScale; // 0x13ec + float m_fModelScaleMultiplier; // 0x13f0 + float m_fModelScaleMultiplierChangeStart; // 0x13f4 + GameTime_t m_fModelScaleMultiplierChangeTime; // 0x13f8 + float m_flPreviousModelScale; // 0x13fc + float m_fMaxModelScaleMultiplier; // 0x1400 + bool m_bIsCamped; // 0x1404 + bool m_bIsReturningHome; // 0x1405 + bool m_bWantsToFlee; // 0x1406 + bool m_bWakesNeutrals; // 0x1407 + bool m_bNeutralIgnore; // 0x1408 + bool m_bIdleAcquire; // 0x1409 + bool m_bCanFollowUnseenUnits; // 0x140a + bool m_bExpired; // 0x140b + Vector m_vCurrentMovementOrderDestination; // 0x140c + Vector m_vPreviousMovementOrderDestination; // 0x1418 + Vector m_vResumePreviousMovementRequestLocation; // 0x1424 + bool m_bCurrentOrderIsMovement; // 0x1430 + bool m_bPreviousOrderIsMovement; // 0x1431 + bool m_bResumePreviousMovement; // 0x1432 + bool m_bIsPatrolling; // 0x1433 + GameTime_t m_flCreationTime; // 0x1434 + bool m_bTargetMovedOutOfRange; // 0x1438 + bool m_bChaseTargetMoves; // 0x1439 private: - [[maybe_unused]] uint8_t __pad1422[0x2]; // 0x1422 + [[maybe_unused]] uint8_t __pad143a[0x2]; // 0x143a public: - float m_flChaseDistance; // 0x1424 - CHandle< CBaseEntity > m_hChaseEntity; // 0x1428 + float m_flChaseDistance; // 0x143c + CHandle< CBaseEntity > m_hChaseEntity; // 0x1440 private: - [[maybe_unused]] uint8_t __pad142c[0x4]; // 0x142c + [[maybe_unused]] uint8_t __pad1444[0x4]; // 0x1444 public: - CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1430 - bool m_bActivityModifiersDirty; // 0x1448 + CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1448 + bool m_bActivityModifiersDirty; // 0x1460 private: - [[maybe_unused]] uint8_t __pad1449[0x7]; // 0x1449 + [[maybe_unused]] uint8_t __pad1461[0x7]; // 0x1461 public: - CUtlVector< CUtlSymbol > m_ActivityModifiersFromScript; // 0x1450 - GameTime_t m_flBlinkDaggerTime; // 0x1468 - float m_flAdditionalBattleMusicWeight; // 0x146c + CUtlVector< CUtlSymbol > m_ActivityModifiersFromScript; // 0x1468 + GameTime_t m_flBlinkDaggerTime; // 0x1480 + float m_flAdditionalBattleMusicWeight; // 0x1484 // MNetworkEnable - bool m_bStolenScepter; // 0x1470 - bool m_bHasScepterCached; // 0x1471 - bool m_bHasShardCached; // 0x1472 + bool m_bStolenScepter; // 0x1488 + bool m_bHasScepterCached; // 0x1489 + bool m_bHasShardCached; // 0x148a private: - [[maybe_unused]] uint8_t __pad1473[0x5]; // 0x1473 + [[maybe_unused]] uint8_t __pad148b[0x5]; // 0x148b public: - CLocalNPCObstructionsCache m_LocalNPCObstructionsCache; // 0x1478 + CLocalNPCObstructionsCache m_LocalNPCObstructionsCache; // 0x1490 private: - [[maybe_unused]] uint8_t __pad1498[0x20]; // 0x1498 + [[maybe_unused]] uint8_t __pad14b0[0x20]; // 0x14b0 public: - GameTime_t m_flCritBashFailUntil; // 0x14b8 - float m_flAttackTimeLostToLastTick; // 0x14bc - float m_flAttackTimeAtLastTick; // 0x14c0 - float m_flCompanionDistance; // 0x14c4 - bool m_bIsPartyCompanion; // 0x14c8 - bool m_bCanPartyCompanionAttack; // 0x14c9 + GameTime_t m_flCritBashFailUntil; // 0x14d0 + float m_flAttackTimeLostToLastTick; // 0x14d4 + float m_flAttackTimeAtLastTick; // 0x14d8 + float m_flCompanionDistance; // 0x14dc + bool m_bIsPartyCompanion; // 0x14e0 + bool m_bCanPartyCompanionAttack; // 0x14e1 private: - [[maybe_unused]] uint8_t __pad14ca[0x2]; // 0x14ca + [[maybe_unused]] uint8_t __pad14e2[0x2]; // 0x14e2 public: - CHandle< CBaseEntity > m_CompanionEntity; // 0x14cc - bool m_bFacePlayer; // 0x14d0 + CHandle< CBaseEntity > m_CompanionEntity; // 0x14e4 + bool m_bFacePlayer; // 0x14e8 private: - [[maybe_unused]] uint8_t __pad14d1[0x3]; // 0x14d1 + [[maybe_unused]] uint8_t __pad14e9[0x3]; // 0x14e9 public: - GameTime_t m_flLastIdleChangeTime; // 0x14d4 - bool m_bUseNeutralCreepBehavior; // 0x14d8 + GameTime_t m_flLastIdleChangeTime; // 0x14ec + bool m_bUseNeutralCreepBehavior; // 0x14f0 private: - [[maybe_unused]] uint8_t __pad14d9[0x27]; // 0x14d9 + [[maybe_unused]] uint8_t __pad14f1[0x27]; // 0x14f1 public: - bool m_bHasBuiltWearableSpawnList; // 0x1500 + bool m_bHasBuiltWearableSpawnList; // 0x1518 private: - [[maybe_unused]] uint8_t __pad1501[0x3]; // 0x1501 + [[maybe_unused]] uint8_t __pad1519[0x3]; // 0x1519 public: - GameTick_t m_nFoWFadeStartTime[14]; // 0x1504 - int32_t m_nFOWVisibilityRadius; // 0x153c - Vector m_vFOWOriginOverride; // 0x1540 -private: - [[maybe_unused]] uint8_t __pad154c[0x4]; // 0x154c -public: - CUtlString m_strLastKillerAbility; // 0x1550 + GameTick_t m_nFoWFadeStartTime[15]; // 0x151c + int32_t m_nFOWVisibilityRadius; // 0x1558 + Vector m_vFOWOriginOverride; // 0x155c + CUtlString m_strLastKillerAbility; // 0x1568 // MNetworkEnable // MNetworkPriority "32" - int32_t m_anglediff; // 0x1558 + int32_t m_anglediff; // 0x1570 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkActivity; // 0x155c + int32_t m_NetworkActivity; // 0x1574 // MNetworkEnable // MNetworkPriority "32" - int32_t m_NetworkSequenceIndex; // 0x1560 + int32_t m_NetworkSequenceIndex; // 0x1578 // MNetworkEnable - bool m_bShouldDoFlyHeightVisual; // 0x1564 + bool m_bShouldDoFlyHeightVisual; // 0x157c private: - [[maybe_unused]] uint8_t __pad1565[0x3]; // 0x1565 + [[maybe_unused]] uint8_t __pad157d[0x3]; // 0x157d public: // MNetworkEnable - float m_flStartSequenceCycle; // 0x1568 - bool m_bMidLoading; // 0x156c + float m_flStartSequenceCycle; // 0x1580 + bool m_bMidLoading; // 0x1584 private: - [[maybe_unused]] uint8_t __pad156d[0x3]; // 0x156d + [[maybe_unused]] uint8_t __pad1585[0x3]; // 0x1585 public: - CHandle< CDOTA_ScriptedSpawner > m_hTutorialSpawner; // 0x1570 + CHandle< CDOTA_ScriptedSpawner > m_hTutorialSpawner; // 0x1588 private: - [[maybe_unused]] uint8_t __pad1574[0x4]; // 0x1574 + [[maybe_unused]] uint8_t __pad158c[0x4]; // 0x158c public: - CountdownTimer m_AngerCooldownTimer; // 0x1578 - int32_t m_iProjectileMoveSpeed; // 0x1590 + CountdownTimer m_AngerCooldownTimer; // 0x1590 + int32_t m_iProjectileMoveSpeed; // 0x15a8 private: - [[maybe_unused]] uint8_t __pad1594[0x4]; // 0x1594 + [[maybe_unused]] uint8_t __pad15ac[0x4]; // 0x15ac public: - CUtlSymbolLarge m_iszAutoAttackRangedParticle; // 0x1598 - int32_t m_nPoseParameterTurn; // 0x15a0 - int32_t m_nPoseParameterRun; // 0x15a4 - float m_flLean; // 0x15a8 - float m_flRun; // 0x15ac + CUtlSymbolLarge m_iszAutoAttackRangedParticle; // 0x15b0 + int32_t m_nPoseParameterTurn; // 0x15b8 + int32_t m_nPoseParameterRun; // 0x15bc + float m_flLean; // 0x15c0 + float m_flRun; // 0x15c4 // MNetworkEnable - char m_CustomHealthLabel[256]; // 0x15b0 + char m_CustomHealthLabel[256]; // 0x15c8 // MNetworkEnable - Color m_CustomHealthLabelColor; // 0x16b0 - item_definition_index_t m_nWearableDefIndex; // 0x16b4 - int8_t m_nArcanaLevel; // 0x16b8 - int8_t m_nDefaultArcanaLevel; // 0x16b9 - Color m_defaultColorGemColor; // 0x16ba - bool m_bDisableDamageDisplay; // 0x16be + Color m_CustomHealthLabelColor; // 0x16c8 + item_definition_index_t m_nWearableDefIndex; // 0x16cc + int8_t m_nArcanaLevel; // 0x16d0 + int8_t m_nDefaultArcanaLevel; // 0x16d1 + Color m_defaultColorGemColor; // 0x16d2 + bool m_bDisableDamageDisplay; // 0x16d6 private: - [[maybe_unused]] uint8_t __pad16bf[0x1]; // 0x16bf + [[maybe_unused]] uint8_t __pad16d7[0x1]; // 0x16d7 public: - Color m_gibTintColor; // 0x16c0 - float m_flPathfindingSearchDepthScale; // 0x16c4 - CUtlVector< int32 > m_ActivitiesStarted; // 0x16c8 - CHandle< CBaseEntity > m_hIllusionOriginal; // 0x16e0 - CHandle< CDOTA_BaseNPC > m_hDirectionalRangedFakeTarget; // 0x16e4 + Color m_gibTintColor; // 0x16d8 + float m_flPathfindingSearchDepthScale; // 0x16dc + CUtlVector< int32 > m_ActivitiesStarted; // 0x16e0 + CHandle< CBaseEntity > m_hIllusionOriginal; // 0x16f8 + CHandle< CDOTA_BaseNPC > m_hDirectionalRangedFakeTarget; // 0x16fc private: - [[maybe_unused]] uint8_t __pad16e8[0x28]; // 0x16e8 + [[maybe_unused]] uint8_t __pad1700[0x28]; // 0x1700 public: - bool m_bShouldComputeRemainingPathLength; // 0x1710 + bool m_bShouldComputeRemainingPathLength; // 0x1728 private: - [[maybe_unused]] uint8_t __pad1711[0x3]; // 0x1711 + [[maybe_unused]] uint8_t __pad1729[0x3]; // 0x1729 public: - float m_flRemainingPathLength; // 0x1714 + float m_flRemainingPathLength; // 0x172c }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Additive : public CDOTA_BaseNPC { public: @@ -89888,31 +91429,31 @@ public: }; // Alignment: 4 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_BaseNPC_Creep : public CDOTA_BaseNPC_Additive { public: - CDOTA_CreepKillInfo m_KillInfo; // 0x1718 - DOTA_LANE m_Lane; // 0x1738 - bool m_bPushback; // 0x173c + CDOTA_CreepKillInfo m_KillInfo; // 0x1730 + DOTA_LANE m_Lane; // 0x1750 + bool m_bPushback; // 0x1754 private: - [[maybe_unused]] uint8_t __pad173d[0x3]; // 0x173d + [[maybe_unused]] uint8_t __pad1755[0x3]; // 0x1755 public: // MNetworkEnable - float m_flAim; // 0x1740 + float m_flAim; // 0x1758 }; // Alignment: 2 -// Size: 0x1768 +// Size: 0x1780 class CDOTA_BaseNPC_Creep_Lane : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ThinkTimer; // 0x1748 - bool m_bInEnemyBase; // 0x1760 + CountdownTimer m_ThinkTimer; // 0x1760 + bool m_bInEnemyBase; // 0x1778 }; // Alignment: 0 -// Size: 0x1768 +// Size: 0x1780 class CDOTA_BaseNPC_Creep_Siege : public CDOTA_BaseNPC_Creep_Lane { public: @@ -89920,15 +91461,15 @@ public: }; // Alignment: 1 -// Size: 0x1760 +// Size: 0x1778 class CDOTA_BaseNPC_Creep_Neutral : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ThinkTimer; // 0x1748 + CountdownTimer m_ThinkTimer; // 0x1760 }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_BaseNPC_Creep_Talking : public CDOTA_BaseNPC_Creep { public: @@ -89936,106 +91477,131 @@ public: }; // Alignment: 36 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Building : public CDOTA_BaseNPC { public: // MNetworkEnable - int32_t m_iDamageLevel; // 0x1718 + int32_t m_iDamageLevel; // 0x1730 private: - [[maybe_unused]] uint8_t __pad171c[0x4]; // 0x171c + [[maybe_unused]] uint8_t __pad1734[0x4]; // 0x1734 public: // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1720 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1738 // MNetworkEnable - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1728 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1740 // MNetworkEnable - QAngle m_angInitialAngles; // 0x1730 + QAngle m_angInitialAngles; // 0x1748 // MNetworkEnable - HSequence m_hHeroStatueSequence; // 0x173c + HSequence m_hHeroStatueSequence; // 0x1754 // MNetworkEnable - HSequence m_hConstantLayerSequence; // 0x1740 + HSequence m_hConstantLayerSequence; // 0x1758 // MNetworkEnable - float m_fHeroStatueCycle; // 0x1744 + float m_fHeroStatueCycle; // 0x175c // MNetworkEnable - int32_t m_iHeroStatueStatusEffectIndex; // 0x1748 + int32_t m_iHeroStatueStatusEffectIndex; // 0x1760 // MNetworkEnable - bool m_bHeroStatue; // 0x174c + bool m_bHeroStatue; // 0x1764 // MNetworkEnable - bool m_bBattleCup; // 0x174d + bool m_bBattleCup; // 0x1765 // MNetworkEnable - char m_HeroStatueInscription[32]; // 0x174e + char m_HeroStatueInscription[32]; // 0x1766 private: - [[maybe_unused]] uint8_t __pad176e[0x2]; // 0x176e + [[maybe_unused]] uint8_t __pad1786[0x2]; // 0x1786 public: // MNetworkEnable - PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1770 + PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1788 // MNetworkEnable - Color m_ParticleTintColor; // 0x1774 - CUtlSymbolLarge m_sDestroySnd; // 0x1778 - CUtlSymbolLarge m_sDmgLvl1Snd; // 0x1780 - CUtlSymbolLarge m_sDmgLvl2Snd; // 0x1788 - CUtlSymbolLarge m_iszLinkedUnit; // 0x1790 - CUtlSymbolLarge m_iszAmbientEffectName; // 0x1798 - CUtlSymbolLarge m_iszDestructionEffectName; // 0x17a0 - CUtlSymbolLarge m_iszDamageModelLevel1; // 0x17a8 - CUtlSymbolLarge m_iszDamageModelLevel2; // 0x17b0 - CUtlSymbolLarge m_iszDamageEffectLevel1; // 0x17b8 - CUtlSymbolLarge m_iszDamageEffectLevel2; // 0x17c0 - float m_flDamageThresholdLevel1; // 0x17c8 - float m_flDamageThresholdLevel2; // 0x17cc - bool m_bVulnerableOnCreepSpawn; // 0x17d0 - bool m_bHasOverriddenDestructionEffect; // 0x17d1 + Color m_ParticleTintColor; // 0x178c + CUtlSymbolLarge m_sDestroySnd; // 0x1790 + CUtlSymbolLarge m_sDmgLvl1Snd; // 0x1798 + CUtlSymbolLarge m_sDmgLvl2Snd; // 0x17a0 + CUtlSymbolLarge m_iszLinkedUnit; // 0x17a8 + CUtlSymbolLarge m_iszAmbientEffectName; // 0x17b0 + CUtlSymbolLarge m_iszDestructionEffectName; // 0x17b8 + CUtlSymbolLarge m_iszDamageModelLevel1; // 0x17c0 + CUtlSymbolLarge m_iszDamageModelLevel2; // 0x17c8 + CUtlSymbolLarge m_iszDamageEffectLevel1; // 0x17d0 + CUtlSymbolLarge m_iszDamageEffectLevel2; // 0x17d8 + float m_flDamageThresholdLevel1; // 0x17e0 + float m_flDamageThresholdLevel2; // 0x17e4 + bool m_bVulnerableOnCreepSpawn; // 0x17e8 + bool m_bHasOverriddenDestructionEffect; // 0x17e9 private: - [[maybe_unused]] uint8_t __pad17d2[0x2]; // 0x17d2 + [[maybe_unused]] uint8_t __pad17ea[0x2]; // 0x17ea public: - int32_t m_iUpgradeIdentifier; // 0x17d4 - int32_t m_iInvulnCount; // 0x17d8 - int32_t m_iPlayerOwner; // 0x17dc - DOTA_LANE m_Lane; // 0x17e0 - float m_fAmountAlongLane[2]; // 0x17e4 - Vector m_vOverrideInitialAngles; // 0x17ec - Vector m_vOverrideInitialAnglesBG; // 0x17f8 - int32_t m_nOverrideInitialAngles; // 0x1804 - CountdownTimer m_IdleRareAnimationTime; // 0x1808 + int32_t m_iUpgradeIdentifier; // 0x17ec + int32_t m_iInvulnCount; // 0x17f0 + int32_t m_iPlayerOwner; // 0x17f4 + DOTA_LANE m_Lane; // 0x17f8 + float m_fAmountAlongLane[2]; // 0x17fc + Vector m_vOverrideInitialAngles; // 0x1804 + Vector m_vOverrideInitialAnglesBG; // 0x1810 + int32_t m_nOverrideInitialAngles; // 0x181c + CountdownTimer m_IdleRareAnimationTime; // 0x1820 // Static fields: static GameTime_t &Get_m_fLastAttackWarnTimers(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_BaseNPC_Building")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 -// Size: 0x1858 +// Size: 0x1870 class CDOTA_BaseNPC_Tower : public CDOTA_BaseNPC_Building { public: - CEntityIOOutput m_OnTowerKilled; // 0x1820 + CEntityIOOutput m_OnTowerKilled; // 0x1838 // MNetworkEnable - CHandle< CBaseEntity > m_hTowerAttackTarget; // 0x1848 + CHandle< CBaseEntity > m_hTowerAttackTarget; // 0x1860 // MNetworkEnable - CHandle< CBaseEntity > m_hTowerHighFiveTarget; // 0x184c + CHandle< CBaseEntity > m_hTowerHighFiveTarget; // 0x1864 }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Filler : public CDOTA_BaseNPC_Building { public: // No members available }; +// Alignment: 0 +// Size: 0x1730 +class CDOTA_NPC_BaseBlocker : public CDOTA_BaseNPC_Additive +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x1840 +class CDOTA_NPC_Lantern : public CDOTA_BaseNPC_Building +{ +public: + // MNetworkEnable + CUtlSymbolLarge m_szInteractAbilityName; // 0x1838 +}; + +// Alignment: 0 +// Size: 0x1838 +class CDOTA_BaseNPC_MangoTree : public CDOTA_BaseNPC_Building +{ +public: + // No members available +}; + // Alignment: 2 -// Size: 0x1830 +// Size: 0x1848 class CDOTA_BaseNPC_Watch_Tower : public CDOTA_BaseNPC_Building { public: // MNetworkEnable - CUtlSymbolLarge m_szOutpostName; // 0x1820 + CUtlSymbolLarge m_szOutpostName; // 0x1838 // MNetworkEnable - CUtlSymbolLarge m_szInteractAbilityName; // 0x1828 + CUtlSymbolLarge m_szInteractAbilityName; // 0x1840 }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Healer : public CDOTA_BaseNPC_Building { public: @@ -90043,7 +91609,7 @@ public: }; // Alignment: 0 -// Size: 0x1858 +// Size: 0x1870 class CDOTA_BaseNPC_RespawningTower : public CDOTA_BaseNPC_Tower { public: @@ -90051,7 +91617,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Fort : public CDOTA_BaseNPC_Building { public: @@ -90059,7 +91625,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Barracks : public CDOTA_BaseNPC_Building { public: @@ -90067,7 +91633,7 @@ public: }; // Alignment: 0 -// Size: 0x1858 +// Size: 0x1870 class CDOTA_BaseNPC_SDKTower : public CDOTA_BaseNPC_Tower { public: @@ -90075,15 +91641,15 @@ public: }; // Alignment: 1 -// Size: 0x1860 +// Size: 0x1878 class CDOTA_BaseNPC_HoldoutTower : public CDOTA_BaseNPC_Tower { public: - DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1858 + DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1870 }; // Alignment: 0 -// Size: 0x1860 +// Size: 0x1878 class CDOTA_BaseNPC_HoldoutTower_LightFast : public CDOTA_BaseNPC_HoldoutTower { public: @@ -90091,7 +91657,7 @@ public: }; // Alignment: 0 -// Size: 0x1860 +// Size: 0x1878 class CDOTA_BaseNPC_HoldoutTower_HeavySlow : public CDOTA_BaseNPC_HoldoutTower { public: @@ -90099,7 +91665,7 @@ public: }; // Alignment: 0 -// Size: 0x1860 +// Size: 0x1878 class CDOTA_BaseNPC_HoldoutTower_ReduceSpeed : public CDOTA_BaseNPC_HoldoutTower { public: @@ -90107,7 +91673,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Effigy_Statue : public CDOTA_BaseNPC_Building { public: @@ -90115,7 +91681,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Effigy_BattleCup : public CDOTA_BaseNPC_Building { public: @@ -90123,7 +91689,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_RotatableBuilding : public CDOTA_BaseNPC { public: @@ -90131,204 +91697,204 @@ public: }; // Alignment: 80 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_BaseNPC_Hero : public CDOTA_BaseNPC_Additive { private: - [[maybe_unused]] uint8_t __pad1718[0x98]; // 0x1718 + [[maybe_unused]] uint8_t __pad1730[0x98]; // 0x1730 public: // MNetworkEnable - float m_flStrength; // 0x17b0 + float m_flStrength; // 0x17c8 // MNetworkEnable - float m_flAgility; // 0x17b4 + float m_flAgility; // 0x17cc // MNetworkEnable - float m_flIntellect; // 0x17b8 + float m_flIntellect; // 0x17d0 // MNetworkEnable - float m_flStrengthTotal; // 0x17bc + float m_flStrengthTotal; // 0x17d4 // MNetworkEnable - float m_flAgilityTotal; // 0x17c0 + float m_flAgilityTotal; // 0x17d8 // MNetworkEnable - float m_flIntellectTotal; // 0x17c4 + float m_flIntellectTotal; // 0x17dc // MNetworkEnable - int32_t m_iRecentDamage; // 0x17c8 + int32_t m_iRecentDamage; // 0x17e0 // MNetworkEnable - int32_t m_iPrimaryAttribute; // 0x17cc + int32_t m_iPrimaryAttribute; // 0x17e4 // MNetworkEnable - GameTime_t m_flDeathTime; // 0x17d0 - float m_flStrengthGain; // 0x17d4 - float m_flAgilityGain; // 0x17d8 - float m_flIntellectGain; // 0x17dc - float m_flLastSuggestionTime; // 0x17e0 - int32_t m_nSuggestionHandle; // 0x17e4 - bool m_bItemsAddedToLoadout; // 0x17e8 + GameTime_t m_flDeathTime; // 0x17e8 + float m_flStrengthGain; // 0x17ec + float m_flAgilityGain; // 0x17f0 + float m_flIntellectGain; // 0x17f4 + float m_flLastSuggestionTime; // 0x17f8 + int32_t m_nSuggestionHandle; // 0x17fc + bool m_bItemsAddedToLoadout; // 0x1800 private: - [[maybe_unused]] uint8_t __pad17e9[0x3]; // 0x17e9 + [[maybe_unused]] uint8_t __pad1801[0x3]; // 0x1801 public: - int32_t m_nSuggestPregameHandle; // 0x17ec - bool m_bPregameItemsAddedToLoadout; // 0x17f0 + int32_t m_nSuggestPregameHandle; // 0x1804 + bool m_bPregameItemsAddedToLoadout; // 0x1808 private: - [[maybe_unused]] uint8_t __pad17f1[0x3]; // 0x17f1 + [[maybe_unused]] uint8_t __pad1809[0x3]; // 0x1809 public: - CHandle< CBaseEntity > m_hNewARDMHero; // 0x17f4 - GameTime_t m_fBuybackCooldown; // 0x17f8 - GameTime_t m_fBuybackGoldLimit; // 0x17fc - int32_t m_nLastHealedAmount; // 0x1800 - float m_flLastHealedTime; // 0x1804 - CHandle< CBaseEntity > m_hLastHealEntity; // 0x1808 - Vector m_vRespawnPosition; // 0x180c - CUtlVector< CDOTA_BaseNPC_Hero::sHeroDamageInfo > m_HeroDamageInfoArray; // 0x1818 - CUtlVector< CDOTA_BaseNPC_Hero::sHeroRecentModifierInfo > m_vecRecentModifiers; // 0x1830 - GameTime_t m_fMostRecentDamageTime; // 0x1848 + CHandle< CBaseEntity > m_hNewARDMHero; // 0x180c + GameTime_t m_fBuybackCooldown; // 0x1810 + GameTime_t m_fBuybackGoldLimit; // 0x1814 + int32_t m_nLastHealedAmount; // 0x1818 + float m_flLastHealedTime; // 0x181c + CHandle< CBaseEntity > m_hLastHealEntity; // 0x1820 + Vector m_vRespawnPosition; // 0x1824 + CUtlVector< CDOTA_BaseNPC_Hero::sHeroDamageInfo > m_HeroDamageInfoArray; // 0x1830 + CUtlVector< CDOTA_BaseNPC_Hero::sHeroRecentModifierInfo > m_vecRecentModifiers; // 0x1848 + GameTime_t m_fMostRecentDamageTime; // 0x1860 // MNetworkEnable - int32_t m_iAbilityPoints; // 0x184c + int32_t m_iAbilityPoints; // 0x1864 // MNetworkEnable // MNetworkPriority "32" - int32_t m_iCurrentXP; // 0x1850 + int32_t m_iCurrentXP; // 0x1868 // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1854 + GameTime_t m_flRespawnTime; // 0x186c // MNetworkEnable - float m_flRespawnTimePenalty; // 0x1858 - float m_flTimeUntilRespawn; // 0x185c - float m_flScriptRespawnTime; // 0x1860 - float m_flPendingRespawnTime; // 0x1864 + float m_flRespawnTimePenalty; // 0x1870 + float m_flTimeUntilRespawn; // 0x1874 + float m_flScriptRespawnTime; // 0x1878 + float m_flPendingRespawnTime; // 0x187c // MNetworkEnable - bool m_bScriptDisableRespawns; // 0x1868 + bool m_bScriptDisableRespawns; // 0x1880 private: - [[maybe_unused]] uint8_t __pad1869[0x3]; // 0x1869 + [[maybe_unused]] uint8_t __pad1881[0x3]; // 0x1881 public: // MNetworkEnable - PlayerID_t m_iPlayerID; // 0x186c - PlayerID_t m_iIllusionOriginalPlayerID; // 0x1870 - int32_t m_iHeroID; // 0x1874 + PlayerID_t m_iPlayerID; // 0x1884 + PlayerID_t m_iIllusionOriginalPlayerID; // 0x1888 + int32_t m_iHeroID; // 0x188c // MNetworkEnable - CHandle< CDOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x1878 + CHandle< CDOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x1890 private: - [[maybe_unused]] uint8_t __pad187c[0x3c]; // 0x187c + [[maybe_unused]] uint8_t __pad1894[0x3c]; // 0x1894 public: - CountdownTimer m_RespawnMusicTimer; // 0x18b8 - CountdownTimer m_HeroKillTimer; // 0x18d0 - CountdownTimer m_MultipleHeroKillTimer; // 0x18e8 - CountdownTimer m_MultipleLastHitTimer; // 0x1900 - int32_t m_iMultipleKillCount; // 0x1918 - bool m_bDisableWearables; // 0x191c + CountdownTimer m_RespawnMusicTimer; // 0x18d0 + CountdownTimer m_HeroKillTimer; // 0x18e8 + CountdownTimer m_MultipleHeroKillTimer; // 0x1900 + CountdownTimer m_MultipleLastHitTimer; // 0x1918 + int32_t m_iMultipleKillCount; // 0x1930 + bool m_bDisableWearables; // 0x1934 private: - [[maybe_unused]] uint8_t __pad191d[0x3]; // 0x191d + [[maybe_unused]] uint8_t __pad1935[0x3]; // 0x1935 public: - CHandle< CDOTAWearableItem > m_hTogglableWearable[97]; // 0x1920 + CHandle< CDOTAWearableItem > m_hTogglableWearable[97]; // 0x1938 private: - [[maybe_unused]] uint8_t __pad1aa4[0x4]; // 0x1aa4 + [[maybe_unused]] uint8_t __pad1abc[0x4]; // 0x1abc public: - CDOTA_BaseNPC_Hero::KillInfo_t m_KillInfo; // 0x1aa8 - CountdownTimer m_DirectorAbilityActivity; // 0x1ac8 + CDOTA_BaseNPC_Hero::KillInfo_t m_KillInfo; // 0x1ac0 + CountdownTimer m_DirectorAbilityActivity; // 0x1ae0 // MNetworkEnable - bool m_bReincarnating; // 0x1ae0 + bool m_bReincarnating; // 0x1af8 // MNetworkEnable - bool m_bCustomKillEffect; // 0x1ae1 + bool m_bCustomKillEffect; // 0x1af9 private: - [[maybe_unused]] uint8_t __pad1ae2[0x2]; // 0x1ae2 + [[maybe_unused]] uint8_t __pad1afa[0x2]; // 0x1afa public: // MNetworkEnable - GameTime_t m_flSpawnedAt; // 0x1ae4 - CountdownTimer m_PurchaseItemTimer; // 0x1ae8 - CountdownTimer m_NeutralItemTimer; // 0x1b00 - CountdownTimer m_RetrieveItemsFromStashTimer; // 0x1b18 - CountdownTimer m_RequestGoToSecretShopTimer; // 0x1b30 - int32_t m_iNextItemToPurchase; // 0x1b48 - bool m_bDoesNextItemCompleteRecipe; // 0x1b4c + GameTime_t m_flSpawnedAt; // 0x1afc + CountdownTimer m_PurchaseItemTimer; // 0x1b00 + CountdownTimer m_NeutralItemTimer; // 0x1b18 + CountdownTimer m_RetrieveItemsFromStashTimer; // 0x1b30 + CountdownTimer m_RequestGoToSecretShopTimer; // 0x1b48 + int32_t m_iNextItemToPurchase; // 0x1b60 + bool m_bDoesNextItemCompleteRecipe; // 0x1b64 private: - [[maybe_unused]] uint8_t __pad1b4d[0x3]; // 0x1b4d + [[maybe_unused]] uint8_t __pad1b65[0x3]; // 0x1b65 public: - CUtlVector< sLoadoutItem > m_Loadout; // 0x1b50 - CUtlVector< CUtlPair< AbilityID_t, bool > > m_BuildingOrBuilt; // 0x1b68 - sLoadoutItem m_TPScroll; // 0x1b80 - sLoadoutItem m_Dust; // 0x1b98 - sLoadoutItem m_Gem; // 0x1bb0 - sLoadoutItem m_SentryWard; // 0x1bc8 - sLoadoutItem m_ObserverWard; // 0x1be0 - sLoadoutItem m_Courier; // 0x1bf8 - sLoadoutItem m_FlyingCourier; // 0x1c10 - bool m_bAutoPurchaseItems; // 0x1c28 - bool m_bBuybackDisabled; // 0x1c29 + CUtlVector< sLoadoutItem > m_Loadout; // 0x1b68 + CUtlVector< CUtlPair< AbilityID_t, bool > > m_BuildingOrBuilt; // 0x1b80 + sLoadoutItem m_TPScroll; // 0x1b98 + sLoadoutItem m_Dust; // 0x1bb0 + sLoadoutItem m_Gem; // 0x1bc8 + sLoadoutItem m_SentryWard; // 0x1be0 + sLoadoutItem m_ObserverWard; // 0x1bf8 + sLoadoutItem m_Courier; // 0x1c10 + sLoadoutItem m_FlyingCourier; // 0x1c28 + bool m_bAutoPurchaseItems; // 0x1c40 + bool m_bBuybackDisabled; // 0x1c41 private: - [[maybe_unused]] uint8_t __pad1c2a[0x6]; // 0x1c2a + [[maybe_unused]] uint8_t __pad1c42[0x6]; // 0x1c42 public: - CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hPets; // 0x1c30 - bool m_bPreventPetSpawn; // 0x1c48 + CUtlVector< CHandle< CDOTA_BaseNPC_Pet > > m_hPets; // 0x1c48 + bool m_bPreventPetSpawn; // 0x1c60 private: - [[maybe_unused]] uint8_t __pad1c49[0x7]; // 0x1c49 + [[maybe_unused]] uint8_t __pad1c61[0x7]; // 0x1c61 public: - CDOTAMusicProbabilityEntry m_MusicProbabilityGank; // 0x1c50 + CDOTAMusicProbabilityEntry m_MusicProbabilityGank; // 0x1c68 private: - [[maybe_unused]] uint8_t __pad1c78[0x28]; // 0x1c78 + [[maybe_unused]] uint8_t __pad1c90[0x28]; // 0x1c90 public: - CUtlString m_strCustomKillEffect; // 0x1ca0 - CUtlString m_strCustomHexModel; // 0x1ca8 - ParticleIndex_t m_nKillStreakFX; // 0x1cb0 + CUtlString m_strCustomKillEffect; // 0x1cb8 + CUtlString m_strCustomHexModel; // 0x1cc0 + ParticleIndex_t m_nKillStreakFX; // 0x1cc8 private: - [[maybe_unused]] uint8_t __pad1cb4[0x4]; // 0x1cb4 + [[maybe_unused]] uint8_t __pad1ccc[0x4]; // 0x1ccc public: - CUtlVector< CHandle< CBaseEntity > > m_AbilitiesPendingDelete; // 0x1cb8 - CUtlVector< sAcquireHistory > m_vecItemPurchaseHistory; // 0x1cd0 - CUtlVector< sAcquireHistory > m_vecAbilitySkillHistory; // 0x1ce8 - CUtlVector< sAcquireHistory > m_vecNeutralItemEquippedHistory; // 0x1d00 + CUtlVector< CHandle< CBaseEntity > > m_AbilitiesPendingDelete; // 0x1cd0 + CUtlVector< sAcquireHistory > m_vecItemPurchaseHistory; // 0x1ce8 + CUtlVector< sAcquireHistory > m_vecAbilitySkillHistory; // 0x1d00 + CUtlVector< sAcquireHistory > m_vecNeutralItemEquippedHistory; // 0x1d18 private: - [[maybe_unused]] uint8_t __pad1d18[0x18]; // 0x1d18 + [[maybe_unused]] uint8_t __pad1d30[0x18]; // 0x1d30 public: - CUtlVector< CHandle< CDOTA_BaseNPC_Hero > > m_vecExpiredIllusions; // 0x1d30 + CUtlVector< CHandle< CDOTA_BaseNPC_Hero > > m_vecExpiredIllusions; // 0x1d48 private: - [[maybe_unused]] uint8_t __pad1d48[0x4]; // 0x1d48 + [[maybe_unused]] uint8_t __pad1d60[0x4]; // 0x1d60 public: - float m_flLastTimeLookedAtByDirector; // 0x1d4c + float m_flLastTimeLookedAtByDirector; // 0x1d64 }; // Alignment: 10 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_BaseNPC_Pet : public CDOTA_BaseNPC { public: - CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x1718 - float m_flPetThreatLevel; // 0x171c - bool m_bReadyToPerformCoopTeleport; // 0x1720 - bool m_bSupportsCoopTeleport; // 0x1721 + CHandle< CDOTA_BaseNPC_Hero > m_hHeroHandle; // 0x1730 + float m_flPetThreatLevel; // 0x1734 + bool m_bReadyToPerformCoopTeleport; // 0x1738 + bool m_bSupportsCoopTeleport; // 0x1739 private: - [[maybe_unused]] uint8_t __pad1722[0x2]; // 0x1722 + [[maybe_unused]] uint8_t __pad173a[0x2]; // 0x173a public: - PetCoopStates_t m_nCoopState; // 0x1724 - CUtlString m_strPickupItemModel; // 0x1728 - CHandle< CDOTA_Pet_CarriedItem > m_hCarriedItem; // 0x1730 - int32_t m_nPetLevel; // 0x1734 - PetLevelup_Rule_t m_nLevelupRule; // 0x1738 + PetCoopStates_t m_nCoopState; // 0x173c + CUtlString m_strPickupItemModel; // 0x1740 + CHandle< CDOTA_Pet_CarriedItem > m_hCarriedItem; // 0x1748 + int32_t m_nPetLevel; // 0x174c + PetLevelup_Rule_t m_nLevelupRule; // 0x1750 private: - [[maybe_unused]] uint8_t __pad173c[0x4]; // 0x173c + [[maybe_unused]] uint8_t __pad1754[0x4]; // 0x1754 public: - int32_t m_nXPCompendiumEventID; // 0x1740 + int32_t m_nXPCompendiumEventID; // 0x1758 }; // Alignment: 1 -// Size: 0x1828 +// Size: 0x1840 class CDOTA_BaseNPC_Shop : public CDOTA_BaseNPC_Building { public: // MNetworkEnable - DOTA_SHOP_TYPE m_ShopType; // 0x1820 + DOTA_SHOP_TYPE m_ShopType; // 0x1838 }; // Alignment: 2 -// Size: 0x1850 +// Size: 0x1868 class CDOTA_BaseNPC_HallofFame : public CDOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad1820[0x10]; // 0x1820 + [[maybe_unused]] uint8_t __pad1838[0x10]; // 0x1838 public: - int32_t m_event_dota_player_team_changed; // 0x1830 + int32_t m_event_dota_player_team_changed; // 0x1848 private: - [[maybe_unused]] uint8_t __pad1834[0x4]; // 0x1834 + [[maybe_unused]] uint8_t __pad184c[0x4]; // 0x184c public: - CountdownTimer m_glowThinkTimer; // 0x1838 + CountdownTimer m_glowThinkTimer; // 0x1850 }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Promo : public CDOTA_BaseNPC_Building { public: @@ -90336,87 +91902,87 @@ public: }; // Alignment: 47 -// Size: 0x1898 +// Size: 0x18b0 class CDOTA_BaseNPC_Creature : public CDOTA_BaseNPC_Creep { public: - bool m_bInitialized; // 0x1748 - bool m_bCanRespawn; // 0x1749 - bool m_bUsesGestureBasedAttackAnimation; // 0x174a - bool m_bIsHybridFlyer; // 0x174b - bool m_bRequiresReachingEndPath; // 0x174c - bool m_bAggroOwnerOnDamage; // 0x174d - bool m_bReceivedAggroOnDamageOrder; // 0x174e + bool m_bInitialized; // 0x1760 + bool m_bCanRespawn; // 0x1761 + bool m_bUsesGestureBasedAttackAnimation; // 0x1762 + bool m_bIsHybridFlyer; // 0x1763 + bool m_bRequiresReachingEndPath; // 0x1764 + bool m_bAggroOwnerOnDamage; // 0x1765 + bool m_bReceivedAggroOnDamageOrder; // 0x1766 private: - [[maybe_unused]] uint8_t __pad174f[0x1]; // 0x174f + [[maybe_unused]] uint8_t __pad1767[0x1]; // 0x1767 public: - CUtlVector< CreatureStateData_t > m_vCreatureStates; // 0x1750 - char* m_pszDefaultState; // 0x1768 - char* m_pszCurrentState; // 0x1770 - int32_t m_nHPGain; // 0x1778 - int32_t m_nManaGain; // 0x177c - float m_flHPRegenGain; // 0x1780 - float m_flManaRegenGain; // 0x1784 - int32_t m_nDamageGain; // 0x1788 - float m_flArmorGain; // 0x178c - float m_flMagicResistGain; // 0x1790 - float m_flDisableResistGain; // 0x1794 - float m_flAttackTimeGain; // 0x1798 - int32_t m_nMoveSpeedGain; // 0x179c - int32_t m_nBountyGain; // 0x17a0 - int32_t m_nXPGain; // 0x17a4 - int32_t m_nPermanentDesire; // 0x17a8 - int32_t m_nCreatureDesire; // 0x17ac - int32_t m_nCurrentCastBehavior; // 0x17b0 - bool m_bIsBuildingAggressive; // 0x17b4 - bool m_bIsHeroAggressive; // 0x17b5 - bool m_bDisableClumpingBehavior; // 0x17b6 + CUtlVector< CreatureStateData_t > m_vCreatureStates; // 0x1768 + char* m_pszDefaultState; // 0x1780 + char* m_pszCurrentState; // 0x1788 + int32_t m_nHPGain; // 0x1790 + int32_t m_nManaGain; // 0x1794 + float m_flHPRegenGain; // 0x1798 + float m_flManaRegenGain; // 0x179c + int32_t m_nDamageGain; // 0x17a0 + float m_flArmorGain; // 0x17a4 + float m_flMagicResistGain; // 0x17a8 + float m_flDisableResistGain; // 0x17ac + float m_flAttackTimeGain; // 0x17b0 + int32_t m_nMoveSpeedGain; // 0x17b4 + int32_t m_nBountyGain; // 0x17b8 + int32_t m_nXPGain; // 0x17bc + int32_t m_nPermanentDesire; // 0x17c0 + int32_t m_nCreatureDesire; // 0x17c4 + int32_t m_nCurrentCastBehavior; // 0x17c8 + bool m_bIsBuildingAggressive; // 0x17cc + bool m_bIsHeroAggressive; // 0x17cd + bool m_bDisableClumpingBehavior; // 0x17ce private: - [[maybe_unused]] uint8_t __pad17b7[0x1]; // 0x17b7 + [[maybe_unused]] uint8_t __pad17cf[0x1]; // 0x17cf public: - float m_flDisableResistance; // 0x17b8 - float m_flUltimateDisableResistance; // 0x17bc - bool m_bHasOffensiveAbility; // 0x17c0 + float m_flDisableResistance; // 0x17d0 + float m_flUltimateDisableResistance; // 0x17d4 + bool m_bHasOffensiveAbility; // 0x17d8 private: - [[maybe_unused]] uint8_t __pad17c1[0x7]; // 0x17c1 + [[maybe_unused]] uint8_t __pad17d9[0x7]; // 0x17d9 public: - CUtlVector< CreatureAbilityData_t > m_vOffensiveAbilities; // 0x17c8 - bool m_bHasDefensiveAbility; // 0x17e0 + CUtlVector< CreatureAbilityData_t > m_vOffensiveAbilities; // 0x17e0 + bool m_bHasDefensiveAbility; // 0x17f8 private: - [[maybe_unused]] uint8_t __pad17e1[0x7]; // 0x17e1 + [[maybe_unused]] uint8_t __pad17f9[0x7]; // 0x17f9 public: - CUtlVector< CreatureAbilityData_t > m_vDefensiveAbilities; // 0x17e8 - bool m_bHasEscapeAbility; // 0x1800 + CUtlVector< CreatureAbilityData_t > m_vDefensiveAbilities; // 0x1800 + bool m_bHasEscapeAbility; // 0x1818 private: - [[maybe_unused]] uint8_t __pad1801[0x7]; // 0x1801 + [[maybe_unused]] uint8_t __pad1819[0x7]; // 0x1819 public: - CUtlVector< CreatureAbilityData_t > m_vEscapeAbilities; // 0x1808 - CDOTABaseAbility* m_pLastUsedAbility; // 0x1820 - Vector m_vDesiredCastLocation; // 0x1828 + CUtlVector< CreatureAbilityData_t > m_vEscapeAbilities; // 0x1820 + CDOTABaseAbility* m_pLastUsedAbility; // 0x1838 + Vector m_vDesiredCastLocation; // 0x1840 private: - [[maybe_unused]] uint8_t __pad1834[0x4]; // 0x1834 + [[maybe_unused]] uint8_t __pad184c[0x4]; // 0x184c public: - CDOTA_BaseNPC* m_pDesiredNPCTarget; // 0x1838 - CDOTA_BaseNPC* m_pEscortTarget; // 0x1840 - Vector m_vLastDamageSource; // 0x1848 - bool m_bIsChampion; // 0x1854 + CDOTA_BaseNPC* m_pDesiredNPCTarget; // 0x1850 + CDOTA_BaseNPC* m_pEscortTarget; // 0x1858 + Vector m_vLastDamageSource; // 0x1860 + bool m_bIsChampion; // 0x186c private: - [[maybe_unused]] uint8_t __pad1855[0x3]; // 0x1855 + [[maybe_unused]] uint8_t __pad186d[0x3]; // 0x186d public: - CUtlVector< ItemDropData_t* > m_vItemDropData; // 0x1858 - CUtlVector< item_definition_index_t > m_vecAttachWearableItemDefs; // 0x1870 - GameTime_t m_flRespawnTime; // 0x1888 + CUtlVector< ItemDropData_t* > m_vItemDropData; // 0x1870 + CUtlVector< item_definition_index_t > m_vecAttachWearableItemDefs; // 0x1888 + GameTime_t m_flRespawnTime; // 0x18a0 // MNetworkEnable - bool m_bIsCurrentlyChanneling; // 0x188c + bool m_bIsCurrentlyChanneling; // 0x18a4 private: - [[maybe_unused]] uint8_t __pad188d[0x3]; // 0x188d + [[maybe_unused]] uint8_t __pad18a5[0x3]; // 0x18a5 public: // MNetworkEnable - float m_flChannelCycle; // 0x1890 + float m_flChannelCycle; // 0x18a8 }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_NeutralItemStash : public CDOTA_BaseNPC_Building { public: @@ -90424,33 +91990,41 @@ public: }; // Alignment: 2 -// Size: 0x18b0 +// Size: 0x18c8 class CDOTA_BaseNPC_Trap_Ward : public CDOTA_BaseNPC_Creature { public: - CUtlSymbolLarge m_iszDefaultAnim; // 0x1898 - Vector m_vTrapTargetLocal; // 0x18a0 + CUtlSymbolLarge m_iszDefaultAnim; // 0x18b0 + Vector m_vTrapTargetLocal; // 0x18b8 }; // Alignment: 2 -// Size: 0x1828 +// Size: 0x1840 class CDOTA_BaseNPC_CustomEffigy : public CDOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1820 - CHandle< CBaseEntity > m_hPedestal; // 0x1824 + uint32_t m_unStatusEffectIndex; // 0x1838 + CHandle< CBaseEntity > m_hPedestal; // 0x183c }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_JungleVarmint : public CDOTA_BaseNPC_Additive { public: // No members available }; +// Alignment: 1 +// Size: 0x1840 +class CDOTA_Unit_Twin_Gate : public CDOTA_BaseNPC_Building +{ +public: + CHandle< CBaseEntity > m_hOtherPortal; // 0x1838 +}; + // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public CDOTA_BaseNPC_Additive { public: @@ -90458,7 +92032,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_DataDriven : public CDOTA_BaseNPC_Additive { public: @@ -90466,7 +92040,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public CDOTA_BaseNPC { public: @@ -90474,18 +92048,18 @@ public: }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_NPC_Aghsfort_WitchDoctor_Ward : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTargetType; // 0x1718 + int32_t m_nTargetType; // 0x1730 // MNetworkEnable - int32_t m_nTargetFlags; // 0x171c + int32_t m_nTargetFlags; // 0x1734 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_AghsFort_Unit_Undying_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -90493,16 +92067,16 @@ public: }; // Alignment: 2 -// Size: 0x1768 +// Size: 0x1780 class CDOTA_AghsFort_Unit_Undying_Zombie : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1748 - CDOTA_BaseNPC* m_pTombstone; // 0x1760 + CountdownTimer m_ctRespawn; // 0x1760 + CDOTA_BaseNPC* m_pTombstone; // 0x1778 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_AghsFort_Unit_Hero_Undying : public CDOTA_BaseNPC_Hero { public: @@ -90510,7 +92084,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_AghsFort_Lich_Ice_Spire : public CDOTA_BaseNPC_Additive { public: @@ -90518,7 +92092,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_AghsFort_Hero_Phoenix : public CDOTA_BaseNPC_Hero { public: @@ -90526,17 +92100,17 @@ public: }; // Alignment: 3 -// Size: 0x1d60 +// Size: 0x1d78 class CDOTA_AghsFort_Unit_ArcWarden_Boss : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1d50 - ParticleIndex_t m_nFXDeath; // 0x1d54 - ParticleIndex_t m_nTempestFX; // 0x1d58 + ParticleIndex_t m_nTalkFXIndex; // 0x1d68 + ParticleIndex_t m_nFXDeath; // 0x1d6c + ParticleIndex_t m_nTempestFX; // 0x1d70 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public CDOTA_BaseNPC_Hero { public: @@ -90544,7 +92118,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_AghsFort_Hero_Clinkz : public CDOTA_BaseNPC_Hero { public: @@ -90552,7 +92126,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public CDOTA_BaseNPC { public: @@ -90560,7 +92134,7 @@ public: }; // Alignment: 0 -// Size: 0x1898 +// Size: 0x18b0 class CDOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public CDOTA_BaseNPC_Creature { public: @@ -90568,7 +92142,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_AncientApparition : public CDOTA_BaseNPC_Hero { public: @@ -90576,7 +92150,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_AntiMage : public CDOTA_BaseNPC_Hero { public: @@ -90584,7 +92158,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Bane : public CDOTA_BaseNPC_Hero { public: @@ -90592,7 +92166,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Pudge : public CDOTA_BaseNPC_Hero { public: @@ -90600,23 +92174,23 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Juggernaut : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unOmniKills; // 0x1d50 + uint32_t m_unOmniKills; // 0x1d68 }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Nevermore : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_SandKing : public CDOTA_BaseNPC_Hero { public: @@ -90624,7 +92198,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Mirana : public CDOTA_BaseNPC_Hero { public: @@ -90632,7 +92206,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Sven : public CDOTA_BaseNPC_Hero { public: @@ -90640,21 +92214,21 @@ public: }; // Alignment: 3 -// Size: 0x1d80 +// Size: 0x1d98 class CDOTA_Unit_Hero_SkeletonKing : public CDOTA_BaseNPC_Hero { public: - int32_t m_nSkeletonWarriors; // 0x1d50 + int32_t m_nSkeletonWarriors; // 0x1d68 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInitialHeroKillBitmask[5]; // 0x1d54 + int32_t m_vecInitialHeroKillBitmask[5]; // 0x1d6c // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" - int32_t m_vecInGameHeroKillBitmask[5]; // 0x1d68 + int32_t m_vecInGameHeroKillBitmask[5]; // 0x1d80 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_StormSpirit : public CDOTA_BaseNPC_Hero { public: @@ -90662,7 +92236,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_DrowRanger : public CDOTA_BaseNPC_Hero { public: @@ -90670,32 +92244,32 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Earthshaker : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_VengefulSpirit : public CDOTA_BaseNPC_Hero { public: - bool m_bArcanaEquipped; // 0x1d50 + bool m_bArcanaEquipped; // 0x1d68 }; // Alignment: 2 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_CrystalMaiden : public CDOTA_BaseNPC_Hero { public: - int32_t m_iParticleMouthIndex; // 0x1d50 - int32_t m_iParticleHandRIndex; // 0x1d54 + int32_t m_iParticleMouthIndex; // 0x1d68 + int32_t m_iParticleHandRIndex; // 0x1d6c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Axe : public CDOTA_BaseNPC_Hero { public: @@ -90703,7 +92277,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Bloodseeker : public CDOTA_BaseNPC_Hero { public: @@ -90711,7 +92285,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_PhantomLancer : public CDOTA_BaseNPC_Hero { public: @@ -90719,20 +92293,20 @@ public: }; // Alignment: 2 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Razor : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1d50 + int32_t m_nTargetAngle; // 0x1d68 // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetRange; // 0x1d54 + int32_t m_nTargetRange; // 0x1d6c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Lina : public CDOTA_BaseNPC_Hero { public: @@ -90740,7 +92314,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Morphling : public CDOTA_BaseNPC_Hero { public: @@ -90748,7 +92322,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_ZeusCloud : public CDOTA_BaseNPC_Additive { public: @@ -90756,7 +92330,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Zuus : public CDOTA_BaseNPC_Hero { public: @@ -90764,28 +92338,28 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Kunkka : public CDOTA_BaseNPC_Hero { public: - int32_t m_nFXIndex; // 0x1d50 + int32_t m_nFXIndex; // 0x1d68 }; // Alignment: 4 -// Size: 0x1d60 +// Size: 0x1d78 class CDOTA_Unit_Hero_Tiny : public CDOTA_BaseNPC_Hero { public: - CHandle< CBaseEntity > m_hTreeWearable; // 0x1d50 - ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1d54 + CHandle< CBaseEntity > m_hTreeWearable; // 0x1d68 + ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1d6c // MNetworkEnable - CHandle< CDOTA_BaseNPC > m_hIllusionOwner; // 0x1d58 + CHandle< CDOTA_BaseNPC > m_hIllusionOwner; // 0x1d70 // MNetworkEnable - bool m_bIllusionHasTree; // 0x1d5c + bool m_bIllusionHasTree; // 0x1d74 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Puck : public CDOTA_BaseNPC_Hero { public: @@ -90793,18 +92367,18 @@ public: }; // Alignment: 2 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Windrunner : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - int32_t m_nTargetAngle; // 0x1d50 - ParticleIndex_t m_nFXDeath; // 0x1d54 + int32_t m_nTargetAngle; // 0x1d68 + ParticleIndex_t m_nFXDeath; // 0x1d6c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Lich : public CDOTA_BaseNPC_Hero { public: @@ -90812,7 +92386,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_Lich_Ice_Spire : public CDOTA_BaseNPC_Additive { public: @@ -90820,7 +92394,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Tidehunter : public CDOTA_BaseNPC_Hero { public: @@ -90828,16 +92402,16 @@ public: }; // Alignment: 2 -// Size: 0x1728 +// Size: 0x1740 class CDOTA_BaseNPC_ShadowShaman_SerpentWard : public CDOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1718 - int32_t m_iPoseParameterAim; // 0x1724 + QAngle m_angle; // 0x1730 + int32_t m_iPoseParameterAim; // 0x173c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_ShadowShaman : public CDOTA_BaseNPC_Hero { public: @@ -90845,7 +92419,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Riki : public CDOTA_BaseNPC_Hero { public: @@ -90853,7 +92427,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Enigma : public CDOTA_BaseNPC_Hero { public: @@ -90861,7 +92435,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Tinker : public CDOTA_BaseNPC_Hero { public: @@ -90869,7 +92443,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_WitchDoctor : public CDOTA_BaseNPC_Hero { public: @@ -90877,18 +92451,18 @@ public: }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_NPC_WitchDoctor_Ward : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - int32_t m_nTargetType; // 0x1718 + int32_t m_nTargetType; // 0x1730 // MNetworkEnable - int32_t m_nTargetFlags; // 0x171c + int32_t m_nTargetFlags; // 0x1734 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Sniper : public CDOTA_BaseNPC_Hero { public: @@ -90896,7 +92470,7 @@ public: }; // Alignment: 0 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Necrolyte : public CDOTA_BaseNPC_Hero { public: @@ -90904,7 +92478,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Slardar : public CDOTA_BaseNPC_Hero { public: @@ -90912,7 +92486,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Ursa : public CDOTA_BaseNPC_Hero { public: @@ -90920,23 +92494,23 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Lion : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unFingerPrestigeKills; // 0x1d50 + uint32_t m_unFingerPrestigeKills; // 0x1d68 }; // Alignment: 1 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_Unit_Announcer : public CDOTA_BaseNPC { public: - int32_t m_iAudienceTeam; // 0x1718 + int32_t m_iAudienceTeam; // 0x1730 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_CustomGameAnnouncer : public CDOTA_BaseNPC { public: @@ -90944,78 +92518,113 @@ public: }; // Alignment: 10 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_Unit_Courier : public CDOTA_BaseNPC_Additive { public: - bool m_bUnitRespawned; // 0x1718 - bool m_bPreUpdateFlyingCourier; // 0x1719 + bool m_bUnitRespawned; // 0x1730 + bool m_bPreUpdateFlyingCourier; // 0x1731 private: - [[maybe_unused]] uint8_t __pad171a[0x2]; // 0x171a + [[maybe_unused]] uint8_t __pad1732[0x2]; // 0x1732 public: // MNetworkEnable - PlayerID_t m_nSoleControllingPlayer; // 0x171c + PlayerID_t m_nSoleControllingPlayer; // 0x1734 // MNetworkEnable - bool m_bFlyingCourier; // 0x1720 + bool m_bFlyingCourier; // 0x1738 private: - [[maybe_unused]] uint8_t __pad1721[0x3]; // 0x1721 + [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 public: // MNetworkEnable - GameTime_t m_flRespawnTime; // 0x1724 + GameTime_t m_flRespawnTime; // 0x173c // MNetworkEnable - CourierState_t m_nCourierState; // 0x1728 + CourierState_t m_nCourierState; // 0x1740 // MNetworkEnable - CHandle< CBaseEntity > m_hCourierStateEntity; // 0x172c - CUtlString m_strCourierModel; // 0x1730 - CUtlString m_strFlyingCourierModel; // 0x1738 - Vector m_vSpawnLocation; // 0x1740 + CHandle< CBaseEntity > m_hCourierStateEntity; // 0x1744 + CUtlString m_strCourierModel; // 0x1748 + CUtlString m_strFlyingCourierModel; // 0x1750 + Vector m_vSpawnLocation; // 0x1758 +}; + +// Alignment: 7 +// Size: 0x1760 +class CDOTA_Unit_Scout : public CDOTA_BaseNPC_Additive +{ +public: + bool m_bUnitRespawned; // 0x1730 +private: + [[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731 +public: + // MNetworkEnable + PlayerID_t m_nSoleControllingPlayer; // 0x1734 + // MNetworkEnable + GameTime_t m_flRespawnTime; // 0x1738 + // MNetworkEnable + ScoutState_t m_nScoutState; // 0x173c + // MNetworkEnable + CHandle< CBaseEntity > m_hScoutStateEntity; // 0x1740 +private: + [[maybe_unused]] uint8_t __pad1744[0x4]; // 0x1744 +public: + CUtlString m_strScoutModel; // 0x1748 + Vector m_vSpawnLocation; // 0x1750 }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_Unit_Fountain : public CDOTA_BaseNPC_Building { public: // No members available }; -// Alignment: 4 -// Size: 0x1740 +// Alignment: 5 +// Size: 0x1758 class CDOTA_Unit_Roshan : public CDOTA_BaseNPC_Additive { public: - int32_t m_iLastHealthPercent; // 0x1718 - ParticleIndex_t m_nFXIndex; // 0x171c - CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1720 + int32_t m_iLastHealthPercent; // 0x1730 + ParticleIndex_t m_nFXIndex; // 0x1734 + CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1738 // MNetworkEnable - bool m_bGoldenRoshan; // 0x1738 + bool m_bGoldenRoshan; // 0x1750 + bool m_bIsNightTimeMode; // 0x1751 }; // Alignment: 3 -// Size: 0x1738 +// Size: 0x1750 +class CDOTA_Unit_Miniboss : public CDOTA_BaseNPC_Additive +{ +public: + int32_t m_nTimesSpawned; // 0x1730 + int32_t m_nTempViewer; // 0x1734 + CUtlVector< CHandle< CBaseEntity > > m_hAttackingHeroes; // 0x1738 +}; + +// Alignment: 3 +// Size: 0x1750 class CDOTA_Unit_Nian_Attachment : public CDOTA_BaseNPC_Additive { public: - bool m_bAttachmentBroken; // 0x1718 + bool m_bAttachmentBroken; // 0x1730 private: - [[maybe_unused]] uint8_t __pad1719[0x3]; // 0x1719 + [[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731 public: - ParticleIndex_t m_nfxIndex_tailgrow; // 0x171c - CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x1720 + ParticleIndex_t m_nfxIndex_tailgrow; // 0x1734 + CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x1738 }; // Alignment: 3 -// Size: 0x18b8 +// Size: 0x18d0 class CDOTA_Unit_Nian : public CDOTA_BaseNPC_Creature { public: - CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x1898 - CHandle< CBaseEntity > m_hTail; // 0x18b0 - CHandle< CBaseEntity > m_hHorn; // 0x18b4 + CUtlVector< NianDamageTaken_t > m_vecRecentDamage; // 0x18b0 + CHandle< CBaseEntity > m_hTail; // 0x18c8 + CHandle< CBaseEntity > m_hHorn; // 0x18cc }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_BaseNPC_Warlock_Golem : public CDOTA_BaseNPC_Creep { public: @@ -91023,7 +92632,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Warlock : public CDOTA_BaseNPC_Hero { public: @@ -91031,7 +92640,15 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1760 +class CODTA_Unit_Warlock_Imp : public CDOTA_BaseNPC_Creep +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1d68 class CDOTA_Unit_Hero_Beastmaster : public CDOTA_BaseNPC_Hero { public: @@ -91039,7 +92656,7 @@ public: }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_Unit_Hero_Beastmaster_Beasts : public CDOTA_BaseNPC_Creep_Talking { public: @@ -91047,7 +92664,7 @@ public: }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_Unit_Hero_Beastmaster_Hawk : public CDOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -91055,7 +92672,7 @@ public: }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_Unit_Hero_Beastmaster_Boar : public CDOTA_Unit_Hero_Beastmaster_Beasts { public: @@ -91063,7 +92680,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_QueenOfPain : public CDOTA_BaseNPC_Hero { public: @@ -91071,16 +92688,16 @@ public: }; // Alignment: 2 -// Size: 0x1728 +// Size: 0x1740 class CDOTA_BaseNPC_Venomancer_PlagueWard : public CDOTA_BaseNPC_Additive { public: - QAngle m_angle; // 0x1718 - int32_t m_iPoseParameterAim; // 0x1724 + QAngle m_angle; // 0x1730 + int32_t m_iPoseParameterAim; // 0x173c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Venomancer : public CDOTA_BaseNPC_Hero { public: @@ -91088,15 +92705,15 @@ public: }; // Alignment: 1 -// Size: 0x1d60 +// Size: 0x1d78 class CDOTA_Unit_Hero_FacelessVoid : public CDOTA_BaseNPC_Hero { public: - Vector m_vecStanceDestinationPoint; // 0x1d50 + Vector m_vecStanceDestinationPoint; // 0x1d68 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_DeathProphet : public CDOTA_BaseNPC_Hero { public: @@ -91104,7 +92721,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Pugna : public CDOTA_BaseNPC_Hero { public: @@ -91112,36 +92729,36 @@ public: }; // Alignment: 2 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_PhantomAssassin : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 // MNetworkEnable - uint32_t m_nArcanaLevel; // 0x1d54 + uint32_t m_nArcanaLevel; // 0x1d6c }; // Alignment: 1 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public CDOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1718 + ParticleIndex_t m_nFXIndex; // 0x1730 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_PhantomAssassin_Gravestone : public CDOTA_BaseNPC_Additive { public: - PlayerID_t m_nVictimPlayerID; // 0x1718 + PlayerID_t m_nVictimPlayerID; // 0x1730 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_TemplarAssassin : public CDOTA_BaseNPC_Hero { public: @@ -91149,7 +92766,15 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1730 +class CDOTA_Unit_TemplarAssassin_PsionicTrap : public CDOTA_BaseNPC +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1d68 class CDOTA_Unit_Hero_Viper : public CDOTA_BaseNPC_Hero { public: @@ -91157,34 +92782,34 @@ public: }; // Alignment: 5 -// Size: 0x1d68 +// Size: 0x1d80 class CDOTA_Unit_TargetDummy : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - float m_flDamageTaken; // 0x1d50 + float m_flDamageTaken; // 0x1d68 // MNetworkEnable - float m_flLastHit; // 0x1d54 + float m_flLastHit; // 0x1d6c // MNetworkEnable - GameTime_t m_flStartDamageTime; // 0x1d58 + GameTime_t m_flStartDamageTime; // 0x1d70 // MNetworkEnable - GameTime_t m_flLastDamageTime; // 0x1d5c - bool m_bIsMoving; // 0x1d60 + GameTime_t m_flLastDamageTime; // 0x1d74 + bool m_bIsMoving; // 0x1d78 }; // Alignment: 2 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_Unit_LoopingSound : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - char m_pszNetworkedSoundLoop[256]; // 0x1718 + char m_pszNetworkedSoundLoop[256]; // 0x1730 // MNetworkEnable - int32_t m_nLoopingSoundParity; // 0x1818 + int32_t m_nLoopingSoundParity; // 0x1830 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Luna : public CDOTA_BaseNPC_Hero { public: @@ -91192,7 +92817,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_DragonKnight : public CDOTA_BaseNPC_Hero { public: @@ -91200,7 +92825,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Dazzle : public CDOTA_BaseNPC_Hero { public: @@ -91208,7 +92833,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Leshrac : public CDOTA_BaseNPC_Hero { public: @@ -91216,7 +92841,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Rattletrap : public CDOTA_BaseNPC_Hero { public: @@ -91224,7 +92849,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_Rattletrap_Cog : public CDOTA_BaseNPC_Additive { public: @@ -91232,7 +92857,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Furion : public CDOTA_BaseNPC_Hero { public: @@ -91240,7 +92865,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Life_Stealer : public CDOTA_BaseNPC_Hero { public: @@ -91248,15 +92873,15 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_DarkSeer : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1d50 + ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1d68 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Clinkz_Skeleton_Army : public CDOTA_BaseNPC { public: @@ -91264,7 +92889,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Clinkz : public CDOTA_BaseNPC_Hero { public: @@ -91272,7 +92897,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Omniknight : public CDOTA_BaseNPC_Hero { public: @@ -91280,7 +92905,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Enchantress : public CDOTA_BaseNPC_Hero { public: @@ -91288,7 +92913,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Huskar : public CDOTA_BaseNPC_Hero { public: @@ -91296,7 +92921,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_NightStalker : public CDOTA_BaseNPC_Hero { public: @@ -91304,7 +92929,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Broodmother : public CDOTA_BaseNPC_Hero { public: @@ -91312,7 +92937,7 @@ public: }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_Unit_Broodmother_Spiderling : public CDOTA_BaseNPC_Creep_Talking { public: @@ -91320,16 +92945,16 @@ public: }; // Alignment: 2 -// Size: 0x1728 +// Size: 0x1740 class CDOTA_Unit_Broodmother_Web : public CDOTA_BaseNPC_Additive { public: - ParticleIndex_t m_nFXIndex; // 0x1718 - Vector m_vecOrigin; // 0x171c + ParticleIndex_t m_nFXIndex; // 0x1730 + Vector m_vecOrigin; // 0x1734 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_BroodmotherStickyWeb : public CDOTA_BaseNPC_Additive { public: @@ -91337,7 +92962,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_BountyHunter : public CDOTA_BaseNPC_Hero { public: @@ -91345,7 +92970,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Weaver : public CDOTA_BaseNPC_Hero { public: @@ -91353,7 +92978,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Jakiro : public CDOTA_BaseNPC_Hero { public: @@ -91361,7 +92986,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Batrider : public CDOTA_BaseNPC_Hero { public: @@ -91369,7 +92994,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Chen : public CDOTA_BaseNPC_Hero { public: @@ -91377,30 +93002,30 @@ public: }; // Alignment: 5 -// Size: 0x1d60 +// Size: 0x1d78 class CDOTA_Unit_Hero_Spectre : public CDOTA_BaseNPC_Hero { public: - bool m_bArcanaKillstreakCompleted; // 0x1d50 + bool m_bArcanaKillstreakCompleted; // 0x1d68 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unCurrentArcanaKillStreak; // 0x1d51 + uint8_t m_unCurrentArcanaKillStreak; // 0x1d69 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - uint8_t m_unBestArcanaKillStreak; // 0x1d52 + uint8_t m_unBestArcanaKillStreak; // 0x1d6a private: - [[maybe_unused]] uint8_t __pad1d53[0x1]; // 0x1d53 + [[maybe_unused]] uint8_t __pad1d6b[0x1]; // 0x1d6b public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - PlayerID_t m_nVictimPlayerID; // 0x1d54 + PlayerID_t m_nVictimPlayerID; // 0x1d6c // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" - bool m_bArcanaKillstreakRecordBroken; // 0x1d58 + bool m_bArcanaKillstreakRecordBroken; // 0x1d70 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_DoomBringer : public CDOTA_BaseNPC_Hero { public: @@ -91408,7 +93033,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_SpiritBreaker : public CDOTA_BaseNPC_Hero { public: @@ -91416,7 +93041,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Gyrocopter : public CDOTA_BaseNPC_Hero { public: @@ -91424,7 +93049,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Alchemist : public CDOTA_BaseNPC_Hero { public: @@ -91432,7 +93057,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Invoker : public CDOTA_BaseNPC_Hero { public: @@ -91440,7 +93065,7 @@ public: }; // Alignment: 0 -// Size: 0x1748 +// Size: 0x1760 class CDOTA_BaseNPC_Invoker_Forged_Spirit : public CDOTA_BaseNPC_Creep { public: @@ -91448,7 +93073,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Silencer : public CDOTA_BaseNPC_Hero { public: @@ -91456,15 +93081,15 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Obsidian_Destroyer : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Brewmaster : public CDOTA_BaseNPC_Hero { public: @@ -91472,41 +93097,41 @@ public: }; // Alignment: 2 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_Unit_Brewmaster_PrimalEarth : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXEarthAmbient1; // 0x1748 - ParticleIndex_t m_nFXEarthAmbient2; // 0x174c + ParticleIndex_t m_nFXEarthAmbient1; // 0x1760 + ParticleIndex_t m_nFXEarthAmbient2; // 0x1764 }; // Alignment: 2 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_Unit_Brewmaster_PrimalStorm : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXStormAmbient1; // 0x1748 - ParticleIndex_t m_nFXStormAmbient2; // 0x174c + ParticleIndex_t m_nFXStormAmbient1; // 0x1760 + ParticleIndex_t m_nFXStormAmbient2; // 0x1764 }; // Alignment: 1 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_Unit_Brewmaster_PrimalFire : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1748 + ParticleIndex_t m_nFXAmbient; // 0x1760 }; // Alignment: 1 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_Unit_Brewmaster_PrimalVoid : public CDOTA_BaseNPC_Creep { public: - ParticleIndex_t m_nFXAmbient; // 0x1748 + ParticleIndex_t m_nFXAmbient; // 0x1760 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Lycan : public CDOTA_BaseNPC_Hero { public: @@ -91514,7 +93139,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Shadow_Demon : public CDOTA_BaseNPC_Hero { public: @@ -91522,18 +93147,18 @@ public: }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_Unit_SpiritBear : public CDOTA_BaseNPC_Additive { public: // MNetworkEnable - bool m_bShouldRespawn; // 0x1718 + bool m_bShouldRespawn; // 0x1730 // MNetworkEnable - bool m_bStolen; // 0x1719 + bool m_bStolen; // 0x1731 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_LoneDruid : public CDOTA_BaseNPC_Hero { public: @@ -91541,7 +93166,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_ChaosKnight : public CDOTA_BaseNPC_Hero { public: @@ -91549,16 +93174,16 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Meepo : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nWhichMeepo; // 0x1d50 + int32_t m_nWhichMeepo; // 0x1d68 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Treant : public CDOTA_BaseNPC_Hero { public: @@ -91566,15 +93191,15 @@ public: }; // Alignment: 1 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_NPC_Treant_EyesInTheForest : public CDOTA_BaseNPC_Additive { public: - bool m_bIsBlind; // 0x1718 + bool m_bIsBlind; // 0x1730 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Ogre_Magi : public CDOTA_BaseNPC_Hero { public: @@ -91582,7 +93207,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_Undying_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -91590,16 +93215,16 @@ public: }; // Alignment: 2 -// Size: 0x1768 +// Size: 0x1780 class CDOTA_Unit_Undying_Zombie : public CDOTA_BaseNPC_Creep { public: - CountdownTimer m_ctRespawn; // 0x1748 - CDOTA_BaseNPC* m_pTombstone; // 0x1760 + CountdownTimer m_ctRespawn; // 0x1760 + CDOTA_BaseNPC* m_pTombstone; // 0x1778 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Undying : public CDOTA_BaseNPC_Hero { public: @@ -91607,25 +93232,25 @@ public: }; // Alignment: 4 -// Size: 0x1d78 +// Size: 0x1d90 class CDOTA_Unit_Hero_Rubick : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV1; // 0x1d50 + Vector m_stolenAbilityColorHSV1; // 0x1d68 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityColorHSV2; // 0x1d5c + Vector m_stolenAbilityColorHSV2; // 0x1d74 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" - Vector m_stolenAbilityFXColorHSV; // 0x1d68 + Vector m_stolenAbilityFXColorHSV; // 0x1d80 // MNetworkDisable - bool m_bHasInitializedAbilityColors; // 0x1d74 + bool m_bHasInitializedAbilityColors; // 0x1d8c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Disruptor : public CDOTA_BaseNPC_Hero { public: @@ -91633,7 +93258,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Nyx_Assassin : public CDOTA_BaseNPC_Hero { public: @@ -91641,7 +93266,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Naga_Siren : public CDOTA_BaseNPC_Hero { public: @@ -91649,7 +93274,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_IngisFatuus : public CDOTA_BaseNPC_Additive { public: @@ -91657,7 +93282,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_KeeperOfTheLight : public CDOTA_BaseNPC_Hero { public: @@ -91665,25 +93290,25 @@ public: }; // Alignment: 8 -// Size: 0x1d68 +// Size: 0x1d80 class CDOTA_Unit_Hero_Wisp : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nAmbientFXIndex; // 0x1d50 - ParticleIndex_t m_nStunnedFXIndex; // 0x1d54 - ParticleIndex_t m_nTalkFXIndex; // 0x1d58 - ParticleIndex_t m_nIllusionFXIndex; // 0x1d5c - bool m_bParticleHexed; // 0x1d60 - bool m_bParticleStunned; // 0x1d61 - bool m_bDetermineAmbientEffect; // 0x1d62 + ParticleIndex_t m_nAmbientFXIndex; // 0x1d68 + ParticleIndex_t m_nStunnedFXIndex; // 0x1d6c + ParticleIndex_t m_nTalkFXIndex; // 0x1d70 + ParticleIndex_t m_nIllusionFXIndex; // 0x1d74 + bool m_bParticleHexed; // 0x1d78 + bool m_bParticleStunned; // 0x1d79 + bool m_bDetermineAmbientEffect; // 0x1d7a private: - [[maybe_unused]] uint8_t __pad1d63[0x1]; // 0x1d63 + [[maybe_unused]] uint8_t __pad1d7b[0x1]; // 0x1d7b public: - float m_flPrevHealth; // 0x1d64 + float m_flPrevHealth; // 0x1d7c }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Wisp_Spirit : public CDOTA_BaseNPC { public: @@ -91691,7 +93316,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Visage : public CDOTA_BaseNPC_Hero { public: @@ -91699,16 +93324,16 @@ public: }; // Alignment: 2 -// Size: 0x1768 +// Size: 0x1780 class CDOTA_Unit_VisageFamiliar : public CDOTA_BaseNPC_Creep { public: - CountdownTimer ctTimer; // 0x1748 - ParticleIndex_t m_nFXAmbient; // 0x1760 + CountdownTimer ctTimer; // 0x1760 + ParticleIndex_t m_nFXAmbient; // 0x1778 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Slark : public CDOTA_BaseNPC_Hero { public: @@ -91716,7 +93341,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Medusa : public CDOTA_BaseNPC_Hero { public: @@ -91724,7 +93349,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_TrollWarlord : public CDOTA_BaseNPC_Hero { public: @@ -91732,7 +93357,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Centaur : public CDOTA_BaseNPC_Hero { public: @@ -91740,7 +93365,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Magnataur : public CDOTA_BaseNPC_Hero { public: @@ -91748,7 +93373,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Shredder : public CDOTA_BaseNPC_Hero { public: @@ -91756,7 +93381,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Bristleback : public CDOTA_BaseNPC_Hero { public: @@ -91764,7 +93389,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Tusk : public CDOTA_BaseNPC_Hero { public: @@ -91772,7 +93397,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Tusk_Sigil : public CDOTA_BaseNPC_Additive { public: @@ -91780,7 +93405,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Skywrath_Mage : public CDOTA_BaseNPC_Hero { public: @@ -91788,7 +93413,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Abaddon : public CDOTA_BaseNPC_Hero { public: @@ -91796,7 +93421,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_Elder_Titan_AncestralSpirit : public CDOTA_BaseNPC_Additive { public: @@ -91804,7 +93429,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Elder_Titan : public CDOTA_BaseNPC_Hero { public: @@ -91812,23 +93437,23 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Legion_Commander : public CDOTA_BaseNPC_Hero { public: - uint32_t m_unDuelsWon; // 0x1d50 + uint32_t m_unDuelsWon; // 0x1d68 }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Techies : public CDOTA_BaseNPC_Hero { public: - bool m_bLastDeathFromSuicide; // 0x1d50 + bool m_bLastDeathFromSuicide; // 0x1d68 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_TechiesMines : public CDOTA_BaseNPC_Additive { public: @@ -91836,7 +93461,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_NPC_Techies_Minefield_Sign : public CDOTA_BaseNPC_Additive { public: @@ -91844,7 +93469,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_EmberSpirit : public CDOTA_BaseNPC_Hero { public: @@ -91852,23 +93477,23 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_Earth_Spirit_Stone : public CDOTA_BaseNPC { public: // No members available }; -// Alignment: 1 -// Size: 0x1d58 +// Alignment: 0 +// Size: 0x1d68 class CDOTA_Unit_Hero_EarthSpirit : public CDOTA_BaseNPC_Hero { public: - bool m_bHasGainedShardCharges; // 0x1d50 + // No members available }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_AbyssalUnderlord : public CDOTA_BaseNPC_Hero { public: @@ -91876,29 +93501,29 @@ public: }; // Alignment: 1 -// Size: 0x1720 -class CDOTA_Unit_Underlord_Portal : public CDOTA_BaseNPC_Additive +// Size: 0x1840 +class CDOTA_Unit_Underlord_Portal : public CDOTA_BaseNPC_Building { public: - CHandle< CBaseEntity > m_hOtherPortal; // 0x1718 + CHandle< CBaseEntity > m_hOtherPortal; // 0x1838 }; // Alignment: 3 -// Size: 0x1d68 +// Size: 0x1d80 class CDOTA_Unit_Hero_Terrorblade : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 private: - [[maybe_unused]] uint8_t __pad1d54[0x4]; // 0x1d54 + [[maybe_unused]] uint8_t __pad1d6c[0x4]; // 0x1d6c public: - CUtlString m_szResponseCriteria; // 0x1d58 + CUtlString m_szResponseCriteria; // 0x1d70 // MNetworkEnable - uint32_t m_nArcanaColor; // 0x1d60 + uint32_t m_nArcanaColor; // 0x1d78 }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Phoenix : public CDOTA_BaseNPC_Hero { public: @@ -91906,56 +93531,56 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Oracle : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Winter_Wyvern : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 3 -// Size: 0x1d60 +// Size: 0x1d78 class CDOTA_Unit_Hero_ArcWarden : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nTalkFXIndex; // 0x1d50 - ParticleIndex_t m_nFXDeath; // 0x1d54 - ParticleIndex_t m_nTempestFX; // 0x1d58 + ParticleIndex_t m_nTalkFXIndex; // 0x1d68 + ParticleIndex_t m_nFXDeath; // 0x1d6c + ParticleIndex_t m_nTempestFX; // 0x1d70 }; // Alignment: 8 -// Size: 0x1d78 +// Size: 0x1d90 class CDOTA_Unit_Hero_MonkeyKing : public CDOTA_BaseNPC_Hero { public: - bool mb_MonkeyHasArcana; // 0x1d50 -private: - [[maybe_unused]] uint8_t __pad1d51[0x3]; // 0x1d51 -public: - // MNetworkEnable - uint32_t m_nTreeDisguise; // 0x1d54 - // MNetworkEnable - uint32_t m_nPerchedTree; // 0x1d58 - Vector m_vLastPos; // 0x1d5c - bool m_bIsOnCloud; // 0x1d68 + bool mb_MonkeyHasArcana; // 0x1d68 private: [[maybe_unused]] uint8_t __pad1d69[0x3]; // 0x1d69 public: - float m_fTotalDistOnCloud; // 0x1d6c - float m_fTotalDistoffCloud; // 0x1d70 - float m_fBackOnCloudThresh; // 0x1d74 + // MNetworkEnable + uint32_t m_nTreeDisguise; // 0x1d6c + // MNetworkEnable + uint32_t m_nPerchedTree; // 0x1d70 + Vector m_vLastPos; // 0x1d74 + bool m_bIsOnCloud; // 0x1d80 +private: + [[maybe_unused]] uint8_t __pad1d81[0x3]; // 0x1d81 +public: + float m_fTotalDistOnCloud; // 0x1d84 + float m_fTotalDistoffCloud; // 0x1d88 + float m_fBackOnCloudThresh; // 0x1d8c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Pangolier : public CDOTA_BaseNPC_Hero { public: @@ -91963,7 +93588,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_DarkWillow : public CDOTA_BaseNPC_Hero { public: @@ -91971,7 +93596,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_DarkWillow_Creature : public CDOTA_BaseNPC { public: @@ -91979,15 +93604,15 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Grimstroke : public CDOTA_BaseNPC_Hero { public: - ParticleIndex_t m_nFXDeath; // 0x1d50 + ParticleIndex_t m_nFXDeath; // 0x1d68 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_Grimstroke_InkCreature : public CDOTA_BaseNPC { public: @@ -91995,7 +93620,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Mars : public CDOTA_BaseNPC_Hero { public: @@ -92003,7 +93628,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Snapfire : public CDOTA_BaseNPC_Hero { public: @@ -92011,7 +93636,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Void_Spirit : public CDOTA_BaseNPC_Hero { public: @@ -92019,7 +93644,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Hoodwink : public CDOTA_BaseNPC_Hero { public: @@ -92027,17 +93652,17 @@ public: }; // Alignment: 2 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Dawnbreaker : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable - int32_t m_nAttackState; // 0x1d50 - GameTime_t m_flLastAttackAnimAdvanceTime; // 0x1d54 + int32_t m_nAttackState; // 0x1d68 + GameTime_t m_flLastAttackAnimAdvanceTime; // 0x1d6c }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_Marci : public CDOTA_BaseNPC_Hero { public: @@ -92045,7 +93670,7 @@ public: }; // Alignment: 0 -// Size: 0x1d50 +// Size: 0x1d68 class CDOTA_Unit_Hero_PrimalBeast : public CDOTA_BaseNPC_Hero { public: @@ -92053,17 +93678,17 @@ public: }; // Alignment: 1 -// Size: 0x1d58 +// Size: 0x1d70 class CDOTA_Unit_Hero_Muerta : public CDOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" - CHandle< CBaseEntity > m_hDoubleShotTarget; // 0x1d50 + CHandle< CBaseEntity > m_hDoubleShotTarget; // 0x1d68 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Muerta_Revenant : public CDOTA_BaseNPC { public: @@ -92071,39 +93696,39 @@ public: }; // Alignment: 3 -// Size: 0x1728 +// Size: 0x1740 class CDOTA_NPC_Observer_Ward : public CDOTA_BaseNPC_Additive { public: - int32_t m_iDuration; // 0x1718 - bool m_bPlacedInSpawnBox; // 0x171c + int32_t m_iDuration; // 0x1730 + bool m_bPlacedInSpawnBox; // 0x1734 private: - [[maybe_unused]] uint8_t __pad171d[0x3]; // 0x171d + [[maybe_unused]] uint8_t __pad1735[0x3]; // 0x1735 public: - GameTime_t m_flSpawnTime; // 0x1720 + GameTime_t m_flSpawnTime; // 0x1738 }; // Alignment: 3 -// Size: 0x1738 +// Size: 0x1750 class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward { public: - int32_t m_iTrueSight; // 0x1728 - CEntityHandle m_hCasterEntity; // 0x172c - CEntityHandle m_hAbilityEntity; // 0x1730 + int32_t m_iTrueSight; // 0x1740 + CEntityHandle m_hCasterEntity; // 0x1744 + CEntityHandle m_hAbilityEntity; // 0x1748 }; // Alignment: 2 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_BaseNPC_Thinker : public CDOTA_BaseNPC { public: - bool m_bSendToAllPlayers; // 0x1718 - bool m_bSendToClients; // 0x1719 + bool m_bSendToAllPlayers; // 0x1730 + bool m_bSendToClients; // 0x1731 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_Snowman : public CDOTA_BaseNPC_Additive { public: @@ -92111,7 +93736,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_Penguin : public CDOTA_BaseNPC_Additive { public: @@ -92119,7 +93744,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_Dragon : public CDOTA_BaseNPC_Additive { public: @@ -92127,7 +93752,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -92135,7 +93760,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -92143,7 +93768,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI9_Drums : public CDOTA_BaseNPC_Additive { public: @@ -92151,7 +93776,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public CDOTA_BaseNPC_Additive { public: @@ -92159,7 +93784,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Frostivus2018_Snowman : public CDOTA_BaseNPC_Additive { public: @@ -92167,7 +93792,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public CDOTA_BaseNPC { public: @@ -92175,7 +93800,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_SpectralTusk_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -92183,7 +93808,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public CDOTA_BaseNPC_Additive { public: @@ -92191,7 +93816,7 @@ public: }; // Alignment: 0 -// Size: 0x1898 +// Size: 0x18b0 class CDOTA_Unit_AghsFort_Creature_DragonKnight : public CDOTA_BaseNPC_Creature { public: @@ -92199,23 +93824,23 @@ public: }; // Alignment: 1 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public CDOTA_BaseNPC_Additive { public: - CHandle< CBaseEntity > m_hOtherPortal; // 0x1718 + CHandle< CBaseEntity > m_hOtherPortal; // 0x1730 }; // Alignment: 1 -// Size: 0x18a0 +// Size: 0x18b8 class CDOTA_Unit_AghsFort_Creature_DungeonBat : public CDOTA_BaseNPC_Creature { public: - ParticleIndex_t m_nFXAmbient; // 0x1898 + ParticleIndex_t m_nFXAmbient; // 0x18b0 }; // Alignment: 0 -// Size: 0x1898 +// Size: 0x18b0 class CDOTA_Unit_AghsFort_Creature_Batrider : public CDOTA_BaseNPC_Creature { public: @@ -92223,59 +93848,59 @@ public: }; // Alignment: 1 -// Size: 0x1828 +// Size: 0x1840 class CDOTA_BaseNPC_Effigy_AghsFort : public CDOTA_BaseNPC_Building { public: - uint32_t m_unStatusEffectIndex; // 0x1820 + uint32_t m_unStatusEffectIndex; // 0x1838 }; // Alignment: 17 -// Size: 0x1890 +// Size: 0x18a8 class CDOTA_BaseNPC_AghsFort_Watch_Tower : public CDOTA_BaseNPC_Building { private: - [[maybe_unused]] uint8_t __pad1820[0x10]; // 0x1820 + [[maybe_unused]] uint8_t __pad1838[0x10]; // 0x1838 public: - int32_t m_nOptionNumber; // 0x1830 - float m_flMovePlayersRadius; // 0x1834 - CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1838 - Vector m_vExitLocation; // 0x183c - int32_t m_nPathSelectedID; // 0x1848 + int32_t m_nOptionNumber; // 0x1848 + float m_flMovePlayersRadius; // 0x184c + CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1850 + Vector m_vExitLocation; // 0x1854 + int32_t m_nPathSelectedID; // 0x1860 // MNetworkEnable - int32_t m_nEncounterType; // 0x184c + int32_t m_nEncounterType; // 0x1864 // MNetworkEnable - bool m_bIsEliteEncounter; // 0x1850 + bool m_bIsEliteEncounter; // 0x1868 // MNetworkEnable - bool m_bIsAscensionLevelPicker; // 0x1851 + bool m_bIsAscensionLevelPicker; // 0x1869 private: - [[maybe_unused]] uint8_t __pad1852[0x6]; // 0x1852 + [[maybe_unused]] uint8_t __pad186a[0x6]; // 0x186a public: // MNetworkEnable - CUtlSymbolLarge m_strEncounterName; // 0x1858 + CUtlSymbolLarge m_strEncounterName; // 0x1870 // MNetworkEnable - CUtlSymbolLarge m_strAscensionAbilities; // 0x1860 + CUtlSymbolLarge m_strAscensionAbilities; // 0x1878 // MNetworkEnable - CHandle< CBaseEntity > m_hEffigy; // 0x1868 - int32_t m_nDepth; // 0x186c - CHandle< CDOTA_BaseNPC_Effigy_AghsFort > m_hPedestal; // 0x1870 - CHandle< CBaseEntity > m_hParticleSystem; // 0x1874 + CHandle< CBaseEntity > m_hEffigy; // 0x1880 + int32_t m_nDepth; // 0x1884 + CHandle< CDOTA_BaseNPC_Effigy_AghsFort > m_hPedestal; // 0x1888 + CHandle< CBaseEntity > m_hParticleSystem; // 0x188c private: - [[maybe_unused]] uint8_t __pad1878[0x8]; // 0x1878 + [[maybe_unused]] uint8_t __pad1890[0x8]; // 0x1890 public: // MNetworkEnable - CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x1880 + CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x1898 // MNetworkEnable - bool m_bIsBeingChanneled; // 0x1884 + bool m_bIsBeingChanneled; // 0x189c private: - [[maybe_unused]] uint8_t __pad1885[0x3]; // 0x1885 + [[maybe_unused]] uint8_t __pad189d[0x3]; // 0x189d public: // MNetworkEnable - float m_flGoalCaptureProgress; // 0x1888 + float m_flGoalCaptureProgress; // 0x18a0 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_Unit_CustomGameAnnouncerAghanim : public CDOTA_BaseNPC { public: @@ -92283,30 +93908,30 @@ public: }; // Alignment: 7 -// Size: 0x18b0 +// Size: 0x18c8 class CDOTA_Creature_Jungle_Spirit : public CDOTA_BaseNPC_Creature { public: - int32_t m_iCurrentXP; // 0x1898 - float m_fInitialScaleGain; // 0x189c - float m_fScaleGainMultiplierPerLevel; // 0x18a0 - float m_fLastModelScaleGained; // 0x18a4 - bool m_bGainedSecondPlatemail; // 0x18a8 - bool m_bGainedBonusHealth; // 0x18a9 + int32_t m_iCurrentXP; // 0x18b0 + float m_fInitialScaleGain; // 0x18b4 + float m_fScaleGainMultiplierPerLevel; // 0x18b8 + float m_fLastModelScaleGained; // 0x18bc + bool m_bGainedSecondPlatemail; // 0x18c0 + bool m_bGainedBonusHealth; // 0x18c1 private: - [[maybe_unused]] uint8_t __pad18aa[0x2]; // 0x18aa + [[maybe_unused]] uint8_t __pad18c2[0x2]; // 0x18c2 public: - ParticleIndex_t m_nAmbientFXIndex; // 0x18ac + ParticleIndex_t m_nAmbientFXIndex; // 0x18c4 }; // Alignment: 3 -// Size: 0x1750 +// Size: 0x1768 class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public CDOTA_BaseNPC_Additive { public: - int32_t NUM_SOUNDS; // 0x1718 - ParticleIndex_t m_nFXIndex; // 0x171c - CUtlVector< PlayerID_t > m_vecDancers; // 0x1720 + int32_t NUM_SOUNDS; // 0x1730 + ParticleIndex_t m_nFXIndex; // 0x1734 + CUtlVector< PlayerID_t > m_vecDancers; // 0x1738 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CDOTA_BaseNPC_Seasonal_TI10_DiscoBall")->m_static_fields[0]->m_instance);}; @@ -92315,7 +93940,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public CDOTA_BaseNPC_Additive { public: @@ -92323,7 +93948,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public CDOTA_BaseNPC_Additive { public: @@ -92331,7 +93956,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon { public: @@ -92339,19 +93964,19 @@ public: }; // Alignment: 5 -// Size: 0x1838 +// Size: 0x1850 class CDOTA_Unit_Diretide_Portal : public CDOTA_BaseNPC_Building { public: - CHandle< CBaseEntity > m_hPartnerPortal; // 0x1820 - int32_t m_nRuneType; // 0x1824 - int32_t m_nOriginalTeamNumber; // 0x1828 - ParticleIndex_t m_nActiveFXIndex; // 0x182c - ParticleIndex_t m_nRuneFXIndex; // 0x1830 + CHandle< CBaseEntity > m_hPartnerPortal; // 0x1838 + int32_t m_nRuneType; // 0x183c + int32_t m_nOriginalTeamNumber; // 0x1840 + ParticleIndex_t m_nActiveFXIndex; // 0x1844 + ParticleIndex_t m_nRuneFXIndex; // 0x1848 }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Spring2021_DefusalBomb : public CDOTA_BaseNPC_Additive { public: @@ -92359,7 +93984,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public CDOTA_BaseNPC_Additive { public: @@ -92367,7 +93992,7 @@ public: }; // Alignment: 0 -// Size: 0x1718 +// Size: 0x1730 class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public CDOTA_BaseNPC_Additive { public: @@ -92375,7 +94000,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CDOTA_BaseNPC_Winter2022_CandyBucket : public CDOTA_BaseNPC_Building { public: @@ -92383,7 +94008,7 @@ public: }; // Alignment: 0 -// Size: 0x1898 +// Size: 0x18b0 class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public CDOTA_BaseNPC_Creature { public: @@ -92391,7 +94016,7 @@ public: }; // Alignment: 0 -// Size: 0x1820 +// Size: 0x1838 class CInfoOfrendaStatue : public CDOTA_BaseNPC_Building { public: @@ -92399,7 +94024,7 @@ public: }; // Alignment: 0 -// Size: 0x1720 +// Size: 0x1738 class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer { public: diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index 70de448b..a8d2c852 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll -// Classes count: 23 +// Classes count: 24 // Enums count: 1 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -181,7 +181,7 @@ public: CUtlVector< uint8 > m_pData; // 0x20 }; -// Alignment: 12 +// Alignment: 13 // Size: 0x30 struct AggregateMeshInfo_t { @@ -190,21 +190,36 @@ public: uint8_t m_nVisClusterMemberCount; // 0x4 bool m_bHasTransform; // 0x5 int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc + int16_t m_nLODSetupIndex; // 0x8 + uint8_t m_nLODGroupMask; // 0xa + Color m_vTintColor; // 0xb private: - [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd + [[maybe_unused]] uint8_t __pad000f[0x1]; // 0xf public: ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 + Vector m_vLODOrigin; // 0x18 + float m_fLODStartDrawDistance; // 0x24 + float m_fLODEndDrawDistance; // 0x28 + float m_fMaxObjectScale; // 0x2c }; -// Alignment: 7 -// Size: 0x60 +// Alignment: 4 +// Size: 0x40 +struct AggregateLODSetup_t +{ +public: + Vector m_vLODOrigin; // 0x0 + float m_fMaxObjectScale; // 0xc + uint8_t m_nLODMask; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 +}; + +// Alignment: 8 +// Size: 0x78 struct AggregateSceneObject_t { public: @@ -215,9 +230,10 @@ private: [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa public: CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + CUtlVector< AggregateLODSetup_t > m_lodSetups; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x58 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; // Alignment: 12